Materials Consortia's OPTIMADE list of providers

[View on GitHub/List your provider]

OPTIMADE provider "Open Materials Database" (id: omdb)

< back to the full provider list

General information

Short description: The Open Materials Database (omdb) is a database of materials properties maintained by the developers of the High-Throughput Toolkit (httk). It enables easy access to useful materials data, in particular via programmatic interaction using this toolkit.

Project homepage: https://openmaterialsdb.se

Index Meta-Database URL: https://optimade-index.openmaterialsdb.se

Number of structures: 227,755

Detailed information

(information checked on Monday November 02, 2026 at 13:35 UTC)
Index metaDB (/info)State of the /info endpoint of the index meta-database found found Index metaDB versionVersion of the index meta-database v1 Index metaDB (/links)State of the /links endpoint of the index meta-database found found

Databases served by this provider

  • Open Materials Database (omdb) production database (omdb_production)

    http://optimade.openmaterialsdb.se

    This is the main production version of the Open Materials Database

    Properties served by this database:

    By entry type (click to expand):
    • structures
      • The full list of standard OPTIMADE properties.
      • _httk_basis_precision Description: The absolute precision of a stated length, in ångström. This describes how precisely a length was *stated* by the source it came from, rather than the precision of the number as stored. A cell edge written `5.6402` claims a precision of about `0.0001` ångström; one written `5.6402(3)` claims `0.0003`, since an explicitly stated uncertainty overrides what the digits alone would imply. **Requirements/Conventions**: - The value is an **absolute** bound on the deviation from the intended value, in the same units as the length it describes, and is neither a relative precision nor a count of significant figures. - Where a set of lengths is described by a single value, it SHOULD be the **coarsest** precision among them. - Where a source states both a number of digits and an explicit standard uncertainty, the value SHOULD be the larger of the two, that being the weaker and therefore the safer claim. - Precisions of quantities in other units, such as the angles of a unit cell, MUST NOT be combined into this value; they are not lengths and combining them would produce a quantity in no units at all. - The value MUST be strictly positive. A value of zero would assert exactness, which is a different claim; `null` MUST be used where the precision is unknown.
        Type: ['number', 'null']
      • _httk_centring_type Description: The lattice centring symbol for the crystallographic setting. This setting-dependent symbol identifies primitive, face-centred, body-centred, rhombohedral, or hexagonal centring as represented in the setting record. The value `Rrev` denotes the reverse rhombohedral setting. The symbol describes the recorded coordinate cell, whereas `bravais_type` describes its lattice type. A rhombohedral lattice in primitive rhombohedral axes has centring symbol `P`; in hexagonal axes it has rhombohedral centring. Null denotes unavailable classification, not an additional centring type.
        Type: ['string', 'null']
      • _httk_charge Description: The explicitly assigned net charge of the whole structure, as a dimensionless charge number, i.e., the charge in units of the elementary charge. **Requirements/Conventions**: - The value MUST only state a charge explicitly assigned to the structure by the data source. It MUST NOT be derived, e.g., by summing assigned constituent charges or oxidation states. - The value refers to the content of the unit cell described by the structure entry. - The value MUST be `null` where no charge is assigned. - An explicit charge of `0` differs from `null`: `0` states that the structure is assigned as neutral, while `null` states nothing.
        Type: ['number', 'null']
      • _httk_coordinate_precision Description: The absolute precision of a set of fractional coordinates, in fractional units. This describes how precisely the coordinates were *stated* by the source they came from, which is generally coarser than the precision of the numbers as stored. A source that writes a coordinate as `0.3333` claims it to about `0.0001` of a cell edge, however many binary digits the value later occupies. It is the natural basis for choosing a matching tolerance, a symmetry-detection parameter, or a grid spacing, in place of an arbitrary constant. **Requirements/Conventions**: - The value is an **absolute** bound on the deviation from the intended value, not a relative precision and not a count of significant figures. A coordinate near `0.0001` and one near `0.9999` written to the same number of decimals have the same precision. - The value is **dimensionless**, being a fraction of a cell edge. Multiplying by a cell length gives the corresponding precision as a distance; see [`length_precision`](https://schemas.httk.org/defs/v0.1/properties/core/length_precision). - Where a set of coordinates is described by a single value, it SHOULD be the **coarsest** precision among them, since the set as a whole is only as precisely stated as its least precisely stated member. - Where a source states both a number of digits and an explicit standard uncertainty, the value SHOULD be the larger of the two, that being the weaker and therefore the safer claim. - The value MUST be strictly positive. A value of zero would assert exactness, which is a different claim; `null` MUST be used where the precision is unknown or where the source states an exact value rather than a measured one.
        Type: ['number', 'null']
      • _httk_crystal_system Description: The crystal system of the space group or point group. Values use the conventional crystallographic system names. This classifies the crystallographic point symmetry, not a measured set of lattice lengths and angles. Trigonal groups remain trigonal whether described in hexagonal or rhombohedral axes; use `bravais_type` on a space-group record for the translational lattice type. Null denotes unavailable classification, not an additional crystal system.
        Type: ['string', 'null']
      • _httk_hall_entry Description: Normalized Hall-table entry key used internally by the generated datasets. The value is derived from the Hall symbol by using lowercase letters and underscores in place of spaces. It is stable for lookup within these data files, while the display Hall symbol is provided separately by `hall` and its formatted variants. **Requirements/Conventions**: - This field identifies a concrete Hall setting, not only an IT space-group type. - The same value is normally used as the key of the containing `spacegroups` map. The normalization is `hall.strip().replace(" ", "_").lower()`; signs, quotes, asterisks, and origin-shift notation are retained. The key is a coordinate-setting identifier, not a numeric spglib Hall number. Different conventional H-M entry labels can resolve to the same Hall-entry record.
        Type: ['string', 'null']
      • _httk_is_reference_setting Description: Whether cctbx identifies this Hall setting as its reference setting for the space-group type. This is the reference used by cctbx's change-of-basis machinery; it must not be inferred solely from the setting-specific Hermann-Mauguin symbol. For the pipeline's selected IT-standard setting, use `index_it_number_to_std_spacegroups` in the dataset's companion `indicies` structure.
        Type: ['boolean', 'null']
      • _httk_setting_it_nc Description: International Tables setting identifier in `n:c` notation. The part before the colon is the International Tables space-group number. The part after the colon is the coordinate-system or origin-choice qualifier used to distinguish settings that share the same IT number. **Requirements/Conventions**: - Triclinic, hexagonal, and many unique settings use only the IT number, for example `1`. - Monoclinic settings use qualifiers such as `b1`, `-b1`, `c2`, or `a3`. - Orthorhombic settings use qualifiers such as `abc`, `cab`, `1abc`, or `2bca` when needed. - Tetragonal and cubic origin choices use qualifiers such as `1` and `2`; trigonal axis choices use qualifiers such as `H` and `R`.
        Type: ['string', 'null']
      • _httk_setting_transform Description: An affine transformation acting on fractional crystallographic coordinates. An invertible affine transformation preserves collinearity and parallelism, but need not preserve Euclidean distances or angles. A singular affine map can collapse a line or plane to a lower-dimensional image. The transformation is represented by a 3 by 3 matrix and a 3-vector, both serialized with exact string entries. With column vectors, the map is `u_out = matrix * u_in + vector`; matrix rows specify the three output components. The containing property identifies whether `u_in` denotes fractional coordinates or abstract Wyckoff parameters and identifies the input and output settings. No wrapping modulo lattice translations is implicit in this equation; apply any required periodic reduction only in the specified output setting. The transformation may, for example, represent an operation within one setting, a setting transform, a subgroup embedding, a normalizer representative, or a parametric coordinate map for a Wyckoff-position orbit representative. When used as a parametric coordinate map, the matrix may be singular because special Wyckoff positions can constrain or identify parameters. **Requirements/Conventions**: - It MUST be a dictionary with the following keys: - **matrix**: REQUIRED; Exact 3x3 matrix. Matrix part of the affine transformation. It MUST be represented as a list of three row lists, each containing three exact rational entries represented as strings. - **vector**: REQUIRED; List of 3 Fractions (String). Translation or origin-shift vector of the affine transformation in fractional coordinates. - **xyz**: OPTIONAL; String. Coordinate expression for the affine transformation in `x,y,z` notation when available. It MUST express the same affine map as `matrix` and `vector`, using `x,y,z` for the input components. - **det**: OPTIONAL; Integer. Determinant of `matrix` when the generator emits it. - **is\_orthogonal**: OPTIONAL; Boolean. Whether the linear part preserves the crystallographic metric family specified by the containing setting; this is not a test of the fractional matrix against the Cartesian identity metric.
        Type: ['object', 'null']
      • _httk_site_moments Description: The magnetic moment vector of each site, in Cartesian coordinates and Bohr magnetons. **Requirements/Conventions**: - The outer list MUST have the same length and order as the sites of the structure, i.e., one inner list per member of `cartesian_site_positions`. - Each inner list is the magnetic moment vector of the corresponding site, given as three Cartesian components in Bohr magnetons. - The Cartesian frame MUST be the same frame in which `lattice_vectors` and `cartesian_site_positions` are expressed. - A site with no ordered magnetic moment MUST be given as the zero vector. - The value MUST be `null` where moments are unknown, and where only collinear moment magnitudes without a global axis are recorded, since no Cartesian direction can then be stated.
        Type: ['array', 'null']

    Validation

    ValidationResults of validation Passed 15 / 19
    ❌ http://optimade.openmaterialsdb.se/v1/info/structures

    ValidationError: 40 validation errors for EntryInfoResponse
    data.properties._httk_basis_precision.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['number', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties._httk_centring_type.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties._httk_charge.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['number', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties._httk_coordinate_precision.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['number', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties._httk_crystal_system.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties._httk_hall_entry.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties._httk_is_reference_setting.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['boolean', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties._httk_setting_it_nc.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties._httk_setting_transform.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['object', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties._httk_site_moments.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.assemblies.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['object', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.cartesian_site_positions.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.chemical_formula_anonymous.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.chemical_formula_descriptive.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.chemical_formula_hill.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.chemical_formula_reduced.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.dimension_types.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.elements.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.elements_ratios.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.fractional_site_positions.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.id.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.immutable_id.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.last_modified.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.lattice_vectors.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.nelements.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['integer', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.nperiodic_dimensions.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['integer', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.nsites.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['integer', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.optimization_type.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.site_coordinate_span.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.site_coordinate_span_description.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.space_group_it_number.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['integer', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.space_group_symbol_hall.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.space_group_symbol_hermann_mauguin.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.space_group_symbol_hermann_mauguin_extended.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.space_group_symmetry_operations_xyz.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.species.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.species_at_sites.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.structure_features.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.type.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['string'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum
    data.properties.wyckoff_positions.type
    Input should be 'string', 'integer', 'float', 'boolean', 'timestamp', 'list', 'dictionary' or 'unknown' [type=enum, input_value=['array', 'null'], input_type=list]
    For further information visit https://errors.pydantic.dev/2.14/v/enum


    ❌ https://optimade.openmaterialsdb.se/v1/structures?response_format=json&page_limit=4&page_offset=4&response_fields=species%2Cstructure_features%2Celements%2Cchemical_formula_hill%2Clattice_vectors%2Cdimension_types%2Celements_ratios%2Cchemical_formula_anonymous%2Cassemblies%2Cchemical_formula_reduced%2Ccartesian_site_positions%2Cchemical_formula_descriptive%2Cnperiodic_dimensions%2Clast_modified%2Cimmutable_id%2Cspecies_at_sites%2Cnsites%2Cnelements&_httk_as_of=1793629015457458999

    ResponseError: Hit max retries (5) on request 'https://optimade.openmaterialsdb.se/v1/structures?response_format=json&page_limit=4&page_offset=4&response_fields=species%2Cstructure_features%2Celements%2Cchemical_formula_hill%2Clattice_vectors%2Cdimension_types%2Celements_ratios%2Cchemical_formula_anonymous%2Cassemblies%2Cchemical_formula_reduced%2Ccartesian_site_positions%2Cchemical_formula_descriptive%2Cnperiodic_dimensions%2Clast_modified%2Cimmutable_id%2Cspecies_at_sites%2Cnsites%2Cnelements&_httk_as_of=1793629015457458999'.
    Errors:
    HTTPSConnectionPool(host='optimade.openmaterialsdb.se', port=443): Max retries exceeded with url: /v1/structures?response_format=json&page_limit=4&page_offset=4&response_fields=species%2Cstructure_features%2Celements%2Cchemical_formula_hill%2Clattice_vectors%2Cdimension_types%2Celements_ratios%2Cchemical_formula_anonymous%2Cassemblies%2Cchemical_formula_reduced%2Ccartesian_site_positions%2Cchemical_formula_descriptive%2Cnperiodic_dimensions%2Clast_modified%2Cimmutable_id%2Cspecies_at_sites%2Cnsites%2Cnelements&_httk_as_of=1793629015457458999 (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'optimade.openmaterialsdb.se'. (_ssl.c:1016)")))
    HTTPSConnectionPool(host='optimade.openmaterialsdb.se', port=443): Max retries exceeded with url: /v1/structures?response_format=json&page_limit=4&page_offset=4&response_fields=species%2Cstructure_features%2Celements%2Cchemical_formula_hill%2Clattice_vectors%2Cdimension_types%2Celements_ratios%2Cchemical_formula_anonymous%2Cassemblies%2Cchemical_formula_reduced%2Ccartesian_site_positions%2Cchemical_formula_descriptive%2Cnperiodic_dimensions%2Clast_modified%2Cimmutable_id%2Cspecies_at_sites%2Cnsites%2Cnelements&_httk_as_of=1793629015457458999 (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'optimade.openmaterialsdb.se'. (_ssl.c:1016)")))
    HTTPSConnectionPool(host='optimade.openmaterialsdb.se', port=443): Max retries exceeded with url: /v1/structures?response_format=json&page_limit=4&page_offset=4&response_fields=species%2Cstructure_features%2Celements%2Cchemical_formula_hill%2Clattice_vectors%2Cdimension_types%2Celements_ratios%2Cchemical_formula_anonymous%2Cassemblies%2Cchemical_formula_reduced%2Ccartesian_site_positions%2Cchemical_formula_descriptive%2Cnperiodic_dimensions%2Clast_modified%2Cimmutable_id%2Cspecies_at_sites%2Cnsites%2Cnelements&_httk_as_of=1793629015457458999 (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'optimade.openmaterialsdb.se'. (_ssl.c:1016)")))
    HTTPSConnectionPool(host='optimade.openmaterialsdb.se', port=443): Max retries exceeded with url: /v1/structures?response_format=json&page_limit=4&page_offset=4&response_fields=species%2Cstructure_features%2Celements%2Cchemical_formula_hill%2Clattice_vectors%2Cdimension_types%2Celements_ratios%2Cchemical_formula_anonymous%2Cassemblies%2Cchemical_formula_reduced%2Ccartesian_site_positions%2Cchemical_formula_descriptive%2Cnperiodic_dimensions%2Clast_modified%2Cimmutable_id%2Cspecies_at_sites%2Cnsites%2Cnelements&_httk_as_of=1793629015457458999 (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'optimade.openmaterialsdb.se'. (_ssl.c:1016)")))
    HTTPSConnectionPool(host='optimade.openmaterialsdb.se', port=443): Max retries exceeded with url: /v1/structures?response_format=json&page_limit=4&page_offset=4&response_fields=species%2Cstructure_features%2Celements%2Cchemical_formula_hill%2Clattice_vectors%2Cdimension_types%2Celements_ratios%2Cchemical_formula_anonymous%2Cassemblies%2Cchemical_formula_reduced%2Ccartesian_site_positions%2Cchemical_formula_descriptive%2Cnperiodic_dimensions%2Clast_modified%2Cimmutable_id%2Cspecies_at_sites%2Cnsites%2Cnelements&_httk_as_of=1793629015457458999 (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'optimade.openmaterialsdb.se'. (_ssl.c:1016)")))


    ❌ http://optimade.openmaterialsdb.se/v1

    ResponseError: Error when testing pagination: the response from `links->next` 'https://optimade.openmaterialsdb.se/v1/structures?response_format=json&page_limit=4&page_offset=4&response_fields=species%2Cstructure_features%2Celements%2Cchemical_formula_hill%2Clattice_vectors%2Cdimension_types%2Celements_ratios%2Cchemical_formula_anonymous%2Cassemblies%2Cchemical_formula_reduced%2Ccartesian_site_positions%2Cchemical_formula_descriptive%2Cnperiodic_dimensions%2Clast_modified%2Cimmutable_id%2Cspecies_at_sites%2Cnsites%2Cnelements&_httk_as_of=1793629015457458999' failed the previous test.


    ❌ http://optimade.openmaterialsdb.se/v1

    ResponseError: Unable to generate filters for endpoint structures: 'info/structures' response was malformed.