Documentation

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.