Files

117 lines
3.6 KiB
Markdown

---
title: "ChEBI (Chemical Entities of Biological Interest) API Reference"
task: ""
lineage_type: import
upstream_source: https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/database-lookup/references/chebi.md
upstream_sha: 9c9bd2e9
imported_at: 2026-06-26
prompt_class: prompt
upstream_changes: accepted
author: upstream
validated: false
---
# ChEBI (Chemical Entities of Biological Interest) API Reference
## Base URLs
- **OLS (Ontology Lookup Service) API**: `https://www.ebi.ac.uk/ols4/api`
- **ChEBI Web Services (SOAP)**: `https://www.ebi.ac.uk/webservices/chebi/2.0/test` (SOAP/XML only)
- **ChEBI LibChebi REST (limited)**: entity pages at `https://www.ebi.ac.uk/chebi`
## Authentication
None required. All endpoints are public.
## Rate Limits
No published hard limits. EBI general guidance: reasonable usage.
## Important Note
ChEBI's primary web service is **SOAP-based** (XML), not REST. For REST-style JSON access, use the **EBI OLS4 API** which indexes ChEBI as an ontology.
---
## OLS4 API Endpoints (Recommended for REST/JSON)
### 1. Search ChEBI Terms
```
GET https://www.ebi.ac.uk/ols4/api/search?q={query}&ontology=chebi
```
Example:
```
GET https://www.ebi.ac.uk/ols4/api/search?q=aspirin&ontology=chebi
```
Returns JSON with matching ChEBI terms, IDs, definitions, synonyms.
### 2. Lookup by ChEBI ID
```
GET https://www.ebi.ac.uk/ols4/api/ontologies/chebi/terms?iri=http://purl.obolibrary.org/obo/CHEBI_{id}
```
Example:
```
GET https://www.ebi.ac.uk/ols4/api/ontologies/chebi/terms?iri=http://purl.obolibrary.org/obo/CHEBI_15365
```
Returns full term details: name, definition, synonyms, xrefs, relationships.
### 3. Get Term by Short Form
```
GET https://www.ebi.ac.uk/ols4/api/ontologies/chebi/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCHEBI_{id}
```
(Double-encoded IRI in path.)
### 4. Term Hierarchy — Parents
```
GET https://www.ebi.ac.uk/ols4/api/ontologies/chebi/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCHEBI_{id}/parents
```
### 5. Term Hierarchy — Children
```
GET https://www.ebi.ac.uk/ols4/api/ontologies/chebi/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCHEBI_{id}/children
```
### 6. Ontology Metadata
```
GET https://www.ebi.ac.uk/ols4/api/ontologies/chebi
```
## OLS Search Response Format
```json
{
"response": {
"numFound": 5,
"docs": [
{
"id": "chebi:15365",
"iri": "http://purl.obolibrary.org/obo/CHEBI_15365",
"label": "aspirin",
"description": ["A member of the class of benzoic acids..."],
"short_form": "CHEBI_15365",
"obo_id": "CHEBI:15365",
"ontology_name": "chebi",
"type": "class"
}
]
}
}
```
## ChEBI SOAP Web Service (Alternative)
If you need chemical-specific data (formula, mass, structure, InChI), use the SOAP service:
- WSDL: `https://www.ebi.ac.uk/webservices/chebi/2.0/webservice?wsdl`
- Operations: `getCompleteEntity`, `getLiteEntity`, `getStructureSearch`, `getOntologyChildren`, `getOntologyParents`
- Returns XML only.
Example SOAP request for `getCompleteEntity`:
```xml
<soapenv:Body>
<chebi:getCompleteEntity>
<chebi:chebiId>CHEBI:15365</chebi:chebiId>
</chebi:getCompleteEntity>
</soapenv:Body>
```
Returns: formula, mass, charge, InChI, InChIKey, SMILES, synonyms, database links, ontology parents/children.
## Notes
- For programmatic REST access, OLS4 is the easiest path.
- For chemical structure searches (by InChI, SMILES, substructure), the SOAP service is required.
- ChEBI IDs are numeric (e.g., 15365) but referenced as "CHEBI:15365" in OBO format.
- PubChem and UniChem can cross-reference ChEBI IDs to other chemical databases.