ChemIntel API
Access chemical data, regulatory information, trade flows, and compliance intelligence programmatically.
Authentication
All API requests require an API key passed in the X-API-Key header. API access is available on the Enterprise plan.
https://chem-exchange.com/api/v1/chemicals?q=sodium
Rate Limits
Enterprise tier: 1,000 requests/day. Rate limit info is included in the response meta.rate_limit object.
Response Format
All responses follow a consistent JSON envelope:
{
"data": { ... },
"meta": {
"request_id": "uuid",
"timestamp": "ISO 8601",
"rate_limit": { "remaining": 950 }
}
}Endpoints
/api/v1/chemicalsList or search chemicals
Parameters: q (search query), limit, offset
/api/v1/chemicals/:casGet full chemical profile by CAS number
/api/v1/chemicals/:cas/regulatoryGet regulatory status across jurisdictions
/api/v1/chemicals/:cas/ghsGet GHS classification data
/api/v1/chemicals/:cas/trade-flowsGet trade flow data for a chemical
Parameters: year, flow (import|export)
/api/v1/trade-flowsQuery trade flows by HS code
Parameters: hs_code (required), reporter, year, flow, limit
/api/v1/sanctions/screenScreen entity against sanctions lists
Parameters: name (required)
Examples
JavaScript / Node.js
const response = await fetch(
'https://chem-exchange.com/api/v1/chemicals/1310-73-2',
{ headers: { 'X-API-Key': 'your-api-key' } }
);
const { data } = await response.json();
console.log(data.name); // "Sodium hydroxide"Python
import requests
response = requests.get(
'https://chem-exchange.com/api/v1/chemicals/1310-73-2',
headers={'X-API-Key': 'your-api-key'}
)
data = response.json()['data']
print(data['name']) # "Sodium hydroxide"cURL
curl -H "X-API-Key: your-api-key" \ "https://chem-exchange.com/api/v1/chemicals?q=acetone"