Skill Tracer
Skills › Scientific Agent Skills › database-lookup › chembl.md

chembl.md

85 lines · skills/database-lookup/references/chembl.md at 5f2bc03

Open on GitHub
1# ChEMBL REST API
2

ChEMBL REST API

Raw lines 1 to 2
3## Base URL
4```
5https://www.ebi.ac.uk/chembl/api/data
6```
7

Base URL

https://www.ebi.ac.uk/chembl/api/data
Raw lines 3 to 7
8## Auth
9No API key required. Fully open and free.

Auth

No API key required. Fully open and free.

Raw lines 8 to 10
11## Key Endpoints
13| Endpoint | Description |
14|----------|-------------|
15| `/molecule/{chembl_id}` | Get molecule by ChEMBL ID |
16| `/molecule/search?q={query}` | Free-text molecule search |
17| `/target/{chembl_id}` | Get target by ChEMBL ID |
18| `/target/search?q={query}` | Free-text target search |
19| `/activity?molecule_chembl_id={id}` | Activities for a molecule |
20| `/activity?target_chembl_id={id}` | Activities for a target |
21| `/mechanism?molecule_chembl_id={id}` | Mechanism of action |
22| `/drug_indication?molecule_chembl_id={id}` | Drug indications |
23| `/similarity/{smiles}/{threshold}` | Similarity search (threshold 40-100) |
24| `/substructure/{smiles}` | Substructure search |

Key Endpoints

EndpointDescription
/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
Raw lines 11 to 25
26## Common Parameters
28- `format=json` or `.json` — request JSON explicitly; do not assume the default negotiated format
29- `limit` — results per page (default 20, max 1000)
30- `offset` — pagination offset
31- `order_by` — sort field (prefix `-` for descending)
32- `only` — return only specified fields (comma-separated)

Common Parameters

  • format=json or .json — request JSON explicitly; do not assume the default negotiated format
  • limit — results per page (default 20, max 1000)
  • offset — pagination offset
  • order_by — sort field (prefix - for descending)
  • only — return only specified fields (comma-separated)
Raw lines 26 to 33
34### Filtering operators (append to field names)
35`__exact`, `__icontains`, `__gt`, `__gte`, `__lt`, `__lte`, `__in`, `__isnull`, `__startswith`, `__range`, `__regex`

Filtering operators (append to field names)

__exact, __icontains, __gt, __gte, __lt, __lte, __in, __isnull, __startswith, __range, __regex

Raw lines 34 to 36
37## Example Calls
39```
40# Get molecule by ID
41/molecule/CHEMBL25.json
43# Search molecules by name
44/molecule/search?q=aspirin&format=json
46# Activities for a target with potency filter
47/activity?target_chembl_id=CHEMBL240&pchembl_value__gte=6&format=json&limit=100
49# Similarity search (80% threshold)
50/similarity/CC(%3DO)Oc1ccccc1C(%3DO)O/80.json
52# Approved drugs only
53/molecule?max_phase=4&format=json
55# Mechanism of action
56/mechanism?molecule_chembl_id=CHEMBL25&format=json
57```

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
Raw lines 37 to 58
59## Response Format (molecule collection)
60```json
62 "page_meta": {"limit": 20, "offset": 0, "total_count": 150},
63 "molecules": [{
64 "molecule_chembl_id": "CHEMBL25",
65 "pref_name": "ASPIRIN",
66 "max_phase": 4,
67 "molecule_properties": {
68 "full_mwt": 180.16, "full_molformula": "C9H8O4",
69 "alogp": 1.31, "hba": 3, "hbd": 1, "psa": 63.60
70 },
71 "molecule_structures": {
72 "canonical_smiles": "CC(=O)Oc1ccccc1C(=O)O",
73 "standard_inchi_key": "BSYNRYMUTXBXSQ-UHFFFAOYSA-N"
74 }
75 }]
77```

Response Format (molecule collection)

{
  "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"
    }
  }]
}
Raw lines 59 to 78
79## Rate Limits
80No strict limit. Keep under ~10 req/sec. No auth required.
82Single `/molecule/{id}.json` returns the molecule object directly, while list/search
83responses include `page_meta` and `molecules`. Follow `page_meta.next`. Molecular
84weights can be numeric strings; retain activity units, relation qualifiers and assay
85type rather than treating every reported value as comparable binding affinity.

Rate Limits

No strict limit. Keep under ~10 req/sec. No auth required.

Single /molecule/{id}.json returns the molecule object directly, while list/search responses include page_meta and molecules. Follow page_meta.next. Molecular weights can be numeric strings; retain activity units, relation qualifiers and assay type rather than treating every reported value as comparable binding affinity.

Raw lines 79 to 85