Search crystal structures by formula or text
API · /cod-api
Crystallography API
Crystal structures as an API — powered by the Crystallography Open Database (COD), the open, public-domain collection of over 500,000 crystal structures of organic, inorganic, metal-organic compounds and minerals. Search the database by chemical formula (any standard casing — TiO2, Al2O3, H2O — is normalised automatically) or by free text over mineral names, titles and comments, then look up any structure to get its full crystallographic data: chemical and cell formula, space group (Hermann-Mauguin and Hall), the complete unit cell (a, b, c, alpha, beta, gamma and volume), the source publication (title, authors, journal, year, DOI) and a link to the CIF file. From quartz, calcite and diamond to anatase, corundum and diopside, it is ideal for materials science, solid-state chemistry, mineralogy, crystallography teaching and research tooling. This is a crystal-structure & materials database — distinct from molecule-property (chemistry / PubChem) and protein-structure (PDB) databases. Open data from the Crystallography Open Database (CC0 / public domain).
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 271 ms
- Server probes · 24h
- Subscribers
- 3,097
- active
- Total calls
- 6
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 2,200 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 2,200 calls/month
- 2 req/sec
- Formula + text search + structure
- No credit card
Starter
€6.90 /month
- 52,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 52k calls/month
- 8 req/sec
- Full unit cell + space group
- Email support
Pro
€21.50 /month
- 240,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 240k calls/month
- 20 req/sec
- Materials & chemistry apps
- Priority support
Mega
€58.50 /month
- 880,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 880k calls/month
- 50 req/sec
- Research data platform
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
PDB API
The RCSB Protein Data Bank as an API — 3D macromolecular structures of proteins, nucleic acids and complexes, powered by the official RCSB PDB data and search services. Fetch a structure entry by its 4-character PDB id for its title, experimental method (X-ray, cryo-EM, NMR), resolution, keywords, deposit and release dates, authors, primary citation and entity & assembly counts; run full-text search across the whole archive returning matching PDB ids and the total hit count; read a polymer entity for its protein or nucleic-acid name, one-letter sequence, length, source organism, chains and linked UniProt ids; read a biological assembly for its oligomeric state, symmetry and chain & atom counts; list the ligands bound in a structure with their component ids and names; and look up any chemical component (ligand) by code for its formula, weight, SMILES and InChIKey. Ideal for structural-biology and drug-discovery tools, molecular viewers, bioinformatics pipelines, education apps and research dashboards.
api.oanor.com/pdb-api
Chemistry API
Chemical compound data as an API, powered by NIH PubChem (>100 million compounds). Look up any compound by common name, PubChem CID or SMILES and get its molecular formula, molecular and exact mass, IUPAC name, canonical SMILES, InChI and InChIKey, plus physicochemical properties (XLogP, TPSA, formal charge, hydrogen-bond donor/acceptor counts, rotatable bonds, heavy-atom count). List a compound's synonyms and trade/registry names, or resolve a name to PubChem CIDs. Ideal for cheminformatics, lab software, education, drug-discovery tooling and scientific data pipelines.
api.oanor.com/chemistry-api
Chemical Elements API
The complete periodic table as an API — all 119 chemical elements with their atomic and physical properties: atomic number and mass, category, phase, melting and boiling point, density, electron configuration, electronegativity, ionization energies and a short summary. Look up an element by symbol, atomic number or name, search and filter by category/phase/block, or fetch the whole table. Ideal for chemistry tools, education apps and science projects.
api.oanor.com/elements-api
Protein Interactions API
Protein-protein interaction networks as an API — powered by STRING, the database of known and predicted protein associations that combines evidence from laboratory experiments, curated pathway databases, gene co-expression, genomic context and automated text mining into a single confidence score, across thousands of organisms. Get a protein's top interaction partners (each with the combined confidence score and the seven evidence-channel subscores), the interaction network among any set of proteins as scored edges, and functional enrichment for a gene set — the over-represented GO terms, KEGG pathways, Pfam domains and more, each with its p-value, FDR and member genes. Pass gene symbols (TP53) or STRING/Ensembl ids, for human (default) or any species by NCBI taxon id. It is a cornerstone of systems biology — ideal for network analysis, functional genomics, pathway and bioinformatics tools. A protein-interaction-network resource — distinct from biological pathways (Reactome), curated protein complexes (Complex Portal) and Gene Ontology annotations (QuickGO). Open data from STRING (CC BY 4.0).
api.oanor.com/stringdb-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Crystallography API?
What's the rate limit for Crystallography API?
How much does Crystallography API cost?
Can I cancel my subscription anytime?
Is Crystallography API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/cod-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/cod-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/cod-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/cod-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.