The first public molecular recognition database, BindingDB supports research, education and practice in drug discovery, pharmacology and related fields.

BindingDB contains 2.9M data for 1.2M Compounds and 9.3K Targets. Of those, 1,359K data for 631K Compounds and 4.5K Targets were curated by BindingDB curators. BindingDB is a FAIRsharing resource.

If BindingDB was of value to your research, please take a moment to donate to this nonprofit project. Your donation will let us provide you with more data and improved service.

Advanced Search

BindingDB Web Services

The following lists the BindingDB RESTful API. The returned results are in the JSON format (the default is XML format, i.e., without '&response=application/json').

getLigandsByPDBs:

https://bindingdb.org/axis2/services/BDBService/getLigandsByPDBs?pdb={PDBs}&cutoff={affinity_cutoff}&identity{identity}

This service accepts a PDB ID, an affinity cutoff in nM, and a sequence identify cutoff in percent, and returns all binding data for protein-ligand pairs where the protein has sequence identity at least as high as the requested cutoff to the protein in the requested PDB and the affinity is at least as good as the requested affinity cutoff. Results are provided in in XML or Json. The affinity can be in terms of IC50, Ki, or Kd.

Request Type:
GET

Parameters:
String - pdb
Integer - cutoff
Integer - identity

Output:
A list of monomerIDs with associated SMILES strings, affinity types, and affinity values

Example:
To get the BindingDB measurements for PDB targets 3ANM and 1Q0L at affinity cutoff IC50=100, use:
https://bindingdb.org/axis2/services/BDBService/getLigandsByPDBs?pdb=1Q0L,3ANM&cutoff=100&identity=92&response=application/json

getLigandsByUniprots:

https://bindingdb.org/axis2/services/BDBService/getLigandsByUniprots?uniprot={UNIPROTs}&cutoff={affinity_cutoff}

This service is designed to return all binding data for proteins of known UniProt identifiers separated by comma "," within some affinity cutoff. The user passes UniProt database identifiers combined with comma, along with optional affinity cutoff, and receives BindingDB results in XML or Json. If there is no matching for any UniProt in the database, it will return an empty string.

Request Type:
GET

Parameters:
String - uniprot
Integer - cutoff

Output:
A list of monomerIDs with associated SMILES strings, affinity types, and affinity values

Example:
To get the BindingDB measurements for UniProt targets P00176 and P00183 at affinity cutoff IC50=10000, use:
https://bindingdb.org/axis2/services/BDBService/getLigandsByUniprots?uniprot=P00176,P00183&cutoff=10000&response=application/json

getLigandsByUniprot:

https://bindingdb.org/axis2/services/BDBService/getLigandsByUniprot?uniprot={UNIPROT};{IC50cutoff}

This service is designed to return all binding data for a protein, within some affinity cutoff. The user passes a UNIPROT database identifier, along with optional affinity cutoff, and receives BindingDB results in XML. If there is no matching UNIPROT ID in the database, it will return an empty string.

Request Type:
GET

Parameters:
String - UNIPROT
Integer - affinity cutoff value

Output:
A list of monomerIDs with associated SMILES strings, affinity types, and affinity values

Example:
To get the BindingDB measurements for UNIPROT target P35355 at affinity cutoff IC50=100, use:
https://bindingdb.org/axis2/services/BDBService/getLigandsByUniprot?uniprot=P35355;100&response=application/json

getTargetByCompound:

https://bindingdb.org/axis2/services/BDBService/getTargetByCompound?smiles={SMILES}&cutoff={similarity_cutoff}

This service provides the ability to retrieve binding data for a particular small molecule compound. Specifically, a user-described compound is screened for other compounds in BindingDB of similar structure (within a given similarity cutoff) and this list of similar compounds is returned. For each of these compounds, binding targets and associated affinities are also included. To use, the user simply passes a compound structure in SMILES format, along with optional similarity cutoff, and receives the BindingDB results in XML. If there is no matching compound structure in the database, it will return an empty string.

Request Type:
GET

Parameters:
String - SMILES
Decimal - similarity cutoff value

Output:
List of similar compounds along with their protein targets, including associated affinity types and measurements

Example:
To get the measurements for a compound converted to SMILES, use:
https://bindingdb.org/axis2/services/BDBService/getTargetByCompound?smiles=CCC[Ni%2B]%28C%29%28C%29CCn1nncc1COc1cc%28=O%29n%28C%29c2ccccc12&cutoff=0.85&response=application/json