99 lines
3.2 KiB
Markdown
99 lines
3.2 KiB
Markdown
---
|
|
title: "BindingDB REST API"
|
|
task: ""
|
|
lineage_type: import
|
|
upstream_source: https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/database-lookup/references/bindingdb.md
|
|
upstream_sha: 9c9bd2e9
|
|
imported_at: 2026-06-26
|
|
prompt_class: prompt
|
|
upstream_changes: accepted
|
|
author: upstream
|
|
validated: false
|
|
---
|
|
|
|
# BindingDB REST API
|
|
|
|
## Base URLs
|
|
```
|
|
https://bindingdb.org/rest/
|
|
https://bindingdb.org/axis2/services/BDBService/
|
|
```
|
|
|
|
## Auth
|
|
No API key required. Fully open and free.
|
|
|
|
## Response Format
|
|
Default is XML. Append `&response=application/json` to any endpoint for JSON.
|
|
|
|
## Key Endpoints
|
|
|
|
| Endpoint | Description |
|
|
|----------|-------------|
|
|
| `/rest/getLigandsByUniprot` | Ligands for a single protein target |
|
|
| `/rest/getLigandsByUniprots` | Ligands for multiple protein targets |
|
|
| `/rest/getLigandsByPDBs` | Ligands by PDB structure IDs |
|
|
| `/rest/getTargetByCompound` | Targets for a compound (SMILES similarity) |
|
|
|
|
## Endpoint Details
|
|
|
|
### Get ligands for a single target
|
|
```
|
|
GET https://bindingdb.org/rest/getLigandsByUniprot?uniprot={UNIPROT_ID};{IC50_cutoff_nM}&response=application/json
|
|
```
|
|
- `uniprot` — UniProt ID followed by `;` and affinity cutoff in nM
|
|
- Returns monomerIDs, SMILES, affinity types (IC50, Ki, Kd), and values
|
|
- Returns empty string if UniProt ID not found
|
|
|
|
Example:
|
|
```
|
|
https://bindingdb.org/rest/getLigandsByUniprot?uniprot=P35355;100&response=application/json
|
|
```
|
|
|
|
### Get ligands for multiple targets
|
|
```
|
|
GET https://bindingdb.org/rest/getLigandsByUniprots?uniprot={IDs}&cutoff={nM}&response=application/json
|
|
```
|
|
- `uniprot` — Comma-separated UniProt IDs
|
|
- `cutoff` — Affinity cutoff in nM
|
|
- Returns empty string if no matching IDs
|
|
|
|
Example:
|
|
```
|
|
https://bindingdb.org/rest/getLigandsByUniprots?uniprot=P00176,P00183&cutoff=10000&response=application/json
|
|
```
|
|
|
|
### Get ligands by PDB structure
|
|
```
|
|
GET https://bindingdb.org/rest/getLigandsByPDBs?pdb={PDBs}&cutoff={nM}&identity={percent}&response=application/json
|
|
```
|
|
- `pdb` — Comma-separated PDB IDs
|
|
- `cutoff` — Affinity cutoff in nM
|
|
- `identity` — Sequence identity cutoff (percent, e.g. 92)
|
|
|
|
Example:
|
|
```
|
|
https://bindingdb.org/rest/getLigandsByPDBs?pdb=1Q0L,3ANM&cutoff=100&identity=92&response=application/json
|
|
```
|
|
|
|
### Find targets for a compound (similarity search)
|
|
```
|
|
GET https://bindingdb.org/rest/getTargetByCompound?smiles={SMILES}&cutoff={similarity}&response=application/json
|
|
```
|
|
- `smiles` — Compound SMILES (must be URL-encoded)
|
|
- `cutoff` — Tanimoto similarity cutoff (decimal, e.g. 0.85)
|
|
- Returns similar compounds with their protein targets and affinities
|
|
|
|
Example:
|
|
```
|
|
https://bindingdb.org/rest/getTargetByCompound?smiles=CCC%5BN%2B%5D%28C%29%28C%29CCn1nncc1COc1cc%28%3DO%29n%28C%29c2ccccc12&cutoff=0.85&response=application/json
|
|
```
|
|
|
|
## Rate Limits
|
|
No documented limit. Keep requests to ~1 per second as a courtesy.
|
|
|
|
## Notes
|
|
- The API surface is small (4 endpoints) but focused on binding affinity data
|
|
- For compound-name search, resolve to SMILES first via PubChem, then use `getTargetByCompound`
|
|
- For bulk data access, use downloadable TSV/SDF files from https://www.bindingdb.org/bind/chemsearch/marvin/Download.jsp
|
|
- Contains ~3.2M binding measurements for ~1.4M compounds and ~11.4K targets
|