Chemical Search

Search chemicals by identifier, name or value prefix

GET
/chemical/search/start-with/{word}

Multi-step chemical search.

  1. Pre-processing: trim + uppercase; EC numbers (NNN-NNN-N), CASRN (leading zeros stripped), InChIKeys and numeric values (e.g. partial CASRN 1912-24) keep their dashes; unicode dashes are normalized; otherwise - is replaced by a space.
  2. Exact step: rows whose modified value equals the word (or the word without spaces) for the configured identifier/name types.
  3. Prefix step (skipped for CASRN, CI chemical/compound ids, DTXSID/DTXCID, or when the first exact hit is a CASRN): rows whose modified value starts with the word, limited to top. InChIKey values are included only when the word is at least 14 characters long.
  4. Post-processing: exact rows first, de-duplicated by chemical (first row wins), limited to top.

No match returns 200 with empty data, explanatory messages and optional suggestions (e.g. a formatted CASRN for digits-only input, or related InChIKeys).

Path Parameters

word*string

Search word: name, synonym, CASRN, EC number, InChIKey, CI chemical/compound id, DTXSID/DTXCID or a prefix of these. Max 255 characters.

Query Parameters

projection?string

Response projection. Allowed values: standard, full.

Default"standard"
top?integer

Maximum number of records to return. Allowed range: 1..500 (configurable). Default: 100.

Formatint32

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/chemical/search/start-with/water?projection=standard&top=100"

found

{  "data": [    {      "id": 1,      "cichemId": "CICHEM000200014",      "casrn": "50-00-0",      "preferredName": "Formaldehyde",      "searchName": "cas_rn",      "searchValue": "50-00-0",      "rank": 5,      "hasStructureImage": true    }  ],  "total": 1,  "suggestions": [],  "messages": []}