BYTETOOLS

Crystallography Open Database API

Free Crystallography Open Database API with no key: search half a million published crystal structures by text, formula, cell parameters or space group. CIF downloads included.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Crystallography Open Database API?

The Crystallography Open Database offers a free, key-free search API over more than half a million published crystal structures. Queries by text, chemical formula, unit cell parameters, space group or element return structure records with cell constants, space group, refinement statistics and the source publication.

COD is the open counterpart to the commercial crystal structure databases, collecting published structures of organic, inorganic, metal-organic and mineral compounds under an explicit public domain dedication. That licensing is the whole reason it exists: crystallographic data underpins materials science and pharmaceutical development, and COD makes it reusable without a subscription. Each record links to a downloadable CIF, the standard crystallographic exchange format.

The search endpoint is deliberately old-fashioned — `result.php` with query parameters and `format=json` — but the payload is thorough. You get all six cell parameters with their estimated standard deviations, the Hall and Hermann-Mauguin space group symbols with the international number, the R factor, and full bibliographic details down to page numbers and DOI. Note that the text search is genuinely full-text over titles and chemical names, so a query for `quartz` returns papers that mention quartz, including structures of other materials compared against it. Search by formula or by cell parameters when you need precision.

Quick facts

Base URL
https://www.crystallography.net/cod
Authentication
No API key or account. COD data is explicitly placed in the public domain, so structures may be reused without restriction including commercially.
Rate limit
No published limit. COD is volunteer-run academic infrastructure — throttle bulk queries and prefer the downloadable database dumps for large-scale work.
Pricing
Free. All COD data is public domain.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the Crystallography Open Database API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Search the database for structures matching 'quartz'

GET https://www.crystallography.net/cod/result.php?text=quartz&format=json

curl
curl 'https://www.crystallography.net/cod/result.php?text=quartz&format=json'
JavaScript (fetch)
const res = await fetch("https://www.crystallography.net/cod/result.php?text=quartz&format=json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://www.crystallography.net/cod/result.php?text=quartz&format=json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
[
  {
    "file": "1009000",
    "a": "4.994",
    "siga": "0.0001",
    "b": "4.994",
    "sigb": "0.0001",
    "c": "11.3871",
    "sigc": "0.0004",
    "alpha": "90",
    "sigalpha": null,
    "beta": "90",
    "sigbeta": null,
    "gamma": "120",
    "siggamma": null,
    "vol": "245.9",
    "sigvol": null,
    "celltemp": null,
    "sigcelltemp": null,
    "diffrtemp": null,
    "sigdiffrtemp": null,
    "cellpressure": null,
    "sigcellpressure": null,
    "diffrpressure": null,
    "sigdiffrpressure": null,
    "thermalhist": null,
    "pressurehist": null,
    "compoundsource": null,
    "nel": "3",
    "sg": "P 31 2 1",
    "sgHall": "P 31 2\"",
    "sgNumber": "152",
    "commonname": null,
    "chemname": "Gallium arsenate(V)",
    "mineral": null,
    "formula": "- As Ga O4 -",
    "calcformula": "- As Ga O4 -",
    "cellformula": "- As3 Ga3 O12 -",
    "Z": "3",
    "Zprime": "0.5",
    "acce_code": null,
    "authors": "Philippot, E; Armand, P; Yot, P; Cambon, O; Goiffon, A; McIntyre, G J; Bordet, P",
    "title": "Neutron and x-ray structure refinements between 15 and 1083 K of piezoelectric gallium arsenate, Ga As O4: temperature and pressure behavior compared with other $-alpha-quartz materials",
    "journal": "Journal of Solid State Chemistry",
    "year": "1999",
    "volume": "146",
    "issue": null,
    "firstpage": "114",
    "lastpage": "123",
    "doi": "10.1006/jssc.1999.8316",
    "method": null,
    "radiation": null,
    "wavelength": null,
    "radType": null,
    "radSymbol": null,
    "Rall": "0.025",
    "Robs": null,
    "Rref": null,

Parameters

ParameterTypeRequiredDescription
textqueryOptionalFull-text search over titles, chemical names and mineral names. Matches loosely. quartz
formatqueryRequired`json`, `html`, `lst` or `urls`. Without it you get the HTML result page. json
formulaqueryOptionalChemical formula in COD's normalised form, for precise matching. Si O2
el1 / el2 / el3queryOptionalRequire the presence of specific elements. Si
a / b / c / alpha / beta / gammaqueryOptionalUnit cell parameters, with a tolerance, for cell-based identification. 4.994
space_groupqueryOptionalHermann-Mauguin space group symbol. P 31 2 1
journal / yearqueryOptionalRestrict by source publication. 1999

Response fields

filestring
The COD identifier, which is also the CIF filename — fetch the structure at the COD CIF URL built from it.
a / b / c / alpha / beta / gammastring
Unit cell edge lengths in angstroms and angles in degrees, each with a matching `sig*` estimated standard deviation.
sg / sgHall / sgNumberstring / integer
Space group in Hermann-Mauguin and Hall notation plus the International Tables number.
formula / calcformula / cellformulastring
Published, calculated and per-cell chemical formulae, which can legitimately differ.
Rall / Robsstring
Refinement R factors. Values above roughly 0.10 indicate a poorly refined structure worth treating cautiously.
authors / title / journal / year / doistring
Full bibliographic record of the publication the structure came from.
chemname / mineral / commonnamestring
Chemical, mineral and common names where the depositor supplied them. Frequently null.

What you can build with the Crystallography Open Database API

  • Find published crystal structures for a compound or mineral
  • Identify an unknown phase from measured unit cell parameters
  • Download CIF files for structure visualisation or refinement
  • Build a materials dataset from open crystallographic data
  • Check the refinement quality of a published structure before relying on it

Common errors and how to fix them

Irrelevant top hit

Text search matches anywhere in the record, including comparisons in a paper's title.

Fix: Search by `formula`, `el1`/`el2` or cell parameters when you need precision. Text search is for exploration.

HTML returned instead of JSON

The `format` parameter was omitted.

Fix: `format=json` is required; the endpoint defaults to the human result page.

Empty array

Formula normalisation did not match.

Fix: COD writes formulae with spaces between elements, as in `- As Ga O4 -`. Try element filters instead of a full formula string.

Slow response on broad queries

A wide search scans a large table.

Fix: Add filters, or download the full database dump for systematic work — COD publishes complete snapshots.

Crystallography Open Database API — frequently asked questions

Is the Crystallography Open Database free?

Yes, and unusually so: COD places its data explicitly in the public domain, meaning no attribution requirement and no restriction on commercial reuse. There is also no key or registration.

How do I download the actual CIF file?

Every record's `file` field is the COD identifier and the CIF filename. Build the CIF URL from it on the COD server; the search API returns metadata and points at the file rather than embedding it.

Can I identify an unknown material from its unit cell?

Yes, that is one of COD's core uses. Search on the cell parameters `a`, `b`, `c` and the angles with an appropriate tolerance, optionally combined with element filters. Matching cells across a database is a standard phase-identification technique.

How does COD compare with the commercial structure databases?

COD is smaller and less curated than the Cambridge Structural Database or ICSD, and record quality varies since it aggregates from many sources. Its advantages are that it is free, complete enough for most purposes, and carries no licensing restrictions at all.

Tools that pair with this API

Crystallography Open Database is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.