All skills
Skillintermediate
ChEMBL REST API
| Endpoint | Description | |----------|-------------| | `/molecule/{chembl_id}` | Get molecule by ChEMBL ID | | `/molecule/search?q={query}` | Free-text molecule search | | `/target/{chembl_id}` | Get target by ChEMBL ID | | `/target/search?q={query}` | Free-text target search | | `/activity?molecule_chembl_id={id}` | Activities for a molecule | | `/activity?target_chembl_id={id}` | Activities for
Claude Code Knowledge Pack7/10/2026
Overview
ChEMBL REST API
Base URL
https://www.ebi.ac.uk/chembl/api/data
Auth
No API key required. Fully open and free.
Key Endpoints
| Endpoint | Description |
|---|---|
/molecule/{chembl_id} | Get molecule by ChEMBL ID |
/molecule/search?q={query} | Free-text molecule search |
/target/{chembl_id} | Get target by ChEMBL ID |
/target/search?q={query} | Free-text target search |
/activity?molecule_chembl_id={id} | Activities for a molecule |
/activity?target_chembl_id={id} | Activities for a target |
/mechanism?molecule_chembl_id={id} | Mechanism of action |
/drug_indication?molecule_chembl_id={id} | Drug indications |
/similarity/{smiles}/{threshold} | Similarity search (threshold 40-100) |
/substructure/{smiles} | Substructure search |
Common Parameters
format=json— response format (default json)limit— results per page (default 20, max 1000)offset— pagination offsetorder_by— sort field (prefix-for descending)only— return only specified fields (comma-separated)
Filtering operators (append to field names)
__exact, __icontains, __gt, __gte, __lt, __lte, __in, __isnull, __startswith, __range, __regex
Example Calls
# Get molecule by ID
/molecule/CHEMBL25.json
# Search molecules by name
/molecule/search?q=aspirin&format=json
# Activities for a target with potency filter
/activity?target_chembl_id=CHEMBL240&pchembl_value__gte=6&format=json&limit=100
# Similarity search (80% threshold)
/similarity/CC(%3DO)Oc1ccccc1C(%3DO)O/80.json
# Approved drugs only
/molecule?max_phase=4&format=json
# Mechanism of action
/mechanism?molecule_chembl_id=CHEMBL25&format=json
Response Format (molecule)
{
"page_meta": {"limit": 20, "offset": 0, "total_count": 150},
"molecules": [{
"molecule_chembl_id": "CHEMBL25",
"pref_name": "ASPIRIN",
"max_phase": 4,
"molecule_properties": {
"full_mwt": 180.16, "full_molformula": "C9H8O4",
"alogp": 1.31, "hba": 3, "hbd": 1, "psa": 63.60
},
"molecule_structures": {
"canonical_smiles": "CC(=O)Oc1ccccc1C(=O)O",
"standard_inchi_key": "BSYNRYMUTXBXSQ-UHFFFAOYSA-N"
}
}]
}
Rate Limits
No strict limit. Keep under ~10 req/sec. No auth required.