Documentation / REST API
REST API
Cheméo has a REST API for programmatic search and retrieval: the same property data the website shows, with per-source provenance, over simple HTTP. This page is the orientation; the full, runnable reference is the API explorer.
Getting a key
A free account gives you an API key, from your profile page. Every request carries it as a bearer token:
Authorization: Bearer your_key_4198_871a_657e8dfb514b
A first request
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://www.chemeo.com/api/v1/search?q=ethanol"
The base path is /api/v1, and responses are JSON.
The endpoints
| Endpoint | Returns |
|---|---|
GET /api/v1/search?q=... |
search results for a query (the same search syntax as the site) |
GET /api/v1/cid/{cid} |
one compound with its properties and sources |
GET /api/v1/cid/{cid}/mixtures |
the mixtures a compound appears in |
GET /api/v1/mid/{mid} |
one mixture |
GET /api/v1/predict/{smiles} |
predicted properties for a structure (see prediction) |
GET /api/v1/convert/{fromfmt}/{compound} |
convert a structure between formats |
Each one is documented with an example you can run in the API explorer.
Rate limits
The API is rate limited per key: a burst of up to 30 requests, then a sustained
120 requests per minute (2 per second). Every response carries the standard
RateLimit headers with your remaining budget. Going over returns
429 Too Many Requests with a Retry-After header telling you how long to wait.
If you need a higher limit, that is a conversation with us rather than a self-service change: write to support@ceondo.com.
Bulk access
The API is for looking things up, not for downloading the database. Bulk access exists but is arranged with us directly; the same address reaches us.
For AI assistants
If you are connecting an AI assistant rather than writing a program, use the MCP server instead of this API: it exposes the same data shaped for a model to interpret, with the provenance and confidence a model needs to answer responsibly.
