NAV
shell

Introduction

Welcome to the DrugBank API! You can use our API to access DrugBank API endpoints, which can get information on drugs, drug products, and drug interactions in our database.

The DrugBank API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. JSON is returned by all API responses, including errors, although our API libraries convert responses to appropriate language-specific objects.

You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

Selecting your country/region

The DrugBank API is optionally scoped by region of availability (currently only U.S., Canada, and E.U. are available). The URL you use to access the API will determine the drugs, products, etc. that are returned.

If a product / drug appears in the results under a region scope, it means it is available in that region. Once a drug is no longer available (if a drug is withdrawn for example), it will no longer appear in the results.

For example, to search for available drug products by name in Canada, you would use the following URL:

https://api.drugbankplus.com/v1/ca/drug_names?q=abacavir

The following country/codes are available:

Country Code Base URL
United States us https://api.drugbankplus.com/v1/us
Canada ca https://api.drugbankplus.com/v1/ca
European Union eu https://api.drugbankplus.com/v1/eu

Searching without a region

You can search for all drugs / products by not providing a region scope. This will return all drugs / products that are available in ANY region.

Authentication

To authorize, use this code:

# With cURL, you can just pass the correct header with each request
curl -L 'https://api.drugbankplus.com/v1/endpoint' 
-H 'Authorization: mytoken'

Make sure to replace mytoken with your API key.

DrugBank uses API keys to allow access to the API. To request an API contact us.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

DrugBank expects for the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: mytoken

Pagination

curl -L 'https://api.drugbankplus.com/v1/drugs?page=2' 
-H 'Authorization: mytoken' -v
...
< Link: <https://api.drugbankplus.com/v1/drugs?page=3&per_page=50>; rel="next",https://api.drugbankplus.com/v1/drugs?page=1&per_page=50>; rel="prev"
< X-Total-Count: 8221
< X-Per-Page: 50
...

Many API endpoints in the DrugBank API support pagination. Furthermore, to ensure quick response times, it is enabled by default for these endpoints.

Query Parameters

Parameter Default Description
per_page 50 Number of results per page. Any value above 50 will be ignored.
page 1

Response Headers

Header Description
Link URLs for the next, and prev pages, in the standard Link header format.
X-Total-Count Total number of results available.
X-Per-Page Number of results returned per page.

Errors

The DrugBank API uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted), and codes in the 5xx range indicate an error with DrugBank servers (these are rare).

The DrugBank API uses the following error codes:

Error Code Meaning
400 Bad Request – Your request is invalid
401 Unauthorized – Your API key is wrong
404 Not Found – The specified resource could not be found
405 Method Not Allowed – You tried to access a resource with an invalid method
406 Not Acceptable – You requested a format that isn’t json
410 Gone – The resource requested has been removed from our servers
429 Too Many Requests – You’re making too many requests! Slow down!
500 Internal Server Error – We had a problem with our server. Try again later.
503 Service Unavailable – We’re temporarially offline for maintanance. Please try again later.

Content Types

Response Body

curl -L 'https://api.drugbankplus.com/v1/drugs.json' 
-H 'Authorization: mytoken'

curl -L 'https://api.drugbankplus.com/v1/drugs' 
-H 'Authorization: mytoken' -H 'Accept: application/json'

In the DrugBank V1 API, response format will default to JSON. At the moment, this is the only format available. To specify JSON format, you can set the Accept header to Accept: application/json. You can also use the .json file extension to specify that json encoding is desired.

Request Headers

Header Description
Accept Requested MIME type of response.

Response Headers

Header Description
Content-Type MIME type of the response body.

Request Body

curl -L -X POST "https://api.drugbankplus.com/v1/ddi" \
-H "Content-Type: application/json" \
-H 'Authorization: mytoken' \
-H "Cache-Control: no-cache" -d '{
  "names": [
    "advil",
    "Reopro",
    "Eliquis",
    "7-select Advil PM"
  ]
}'

For API calls which use a POST request to send data to the DrugBank API (such as when finding drug-drug interactions by name), the request must set an appropriate Content-Type header.

Request Headers

Header Description
Content-Type MIME type of request body.

Drug Names / Autocomplete

This endpoint returns a list of drugs/product information suitable for use with autocomplete forms, for quickly finding the right drugs/products.

curl -L 'https://api.drugbankplus.com/v1/drug_names?q=viagra' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only the first result shown):

{
  "products": [
    {
      "hits": [
        {
          "field": "name",
          "value": "<em>Viagra</em>"
        }
      ],
      "name": "Viagra",
      "prescribable_name": "Viagra 50 mg Oral Tablet",
      "rx_norm_prescribable_names": "Viagra 50 mg Oral Tablet",
      "country": "Canada",
      "ndc_product_codes": null,
      "dpd_codes": [
        "02239767"
      ],
      "dosage_form": "Tablet",
      "strength": {
        "number": "50",
        "unit": "mg"
      },
      "route": "Oral",
      "approved": true,
      "generic": false,
      "otc": false,
      "mixture": false,
      "ingredients": [
        {
          "drugbank_id": "DB00203",
          "name": "Sildenafil",
          "cas": "139755-83-2",
          "strength_number": "25",
          "strength_unit": "mg/1"
        }
      ],
      "images": [
        {
          "ndc_id": "55154-2727",
          "description": "sildenafil 25 MG Oral Tablet [Viagra]",
          "image_url_original": "...",
          "image_url_tiny": "...",
          "image_url_thumb": "...",
          "image_url_medium": "..."
        }
      ]
    }
  ]
}

HTTP Request

GET https://api.drugbankplus.com/v1/us/drug_names

Query Parameters

Parameter Default Description
search null The string you want to search with.
fuzzy false If set to true, enable fuzzy search (see fuzzy searching below)

Notice the hits array returned in the results. The hits contain highlighted snippets from the match. You can use these highlights in autocomplete applications. The matching part of the text is wrapped in an <em> tag, which you can style as you wish in your application. Note that the hits only contain the product name, and thus will not have a highlighted snippet if the query matches an ingredient not listed in the product name.

curl -L 'https://api.drugbankplus.com/v1/drug_names/simple?q=viagra' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only the first result shown):

{
  "products": [
    {
      "hits": [
        {
          "field": "name",
          "value": "<em>Viagra</em> 50 MG Oral Tablet"
        }
      ],
      "name": "Viagra 50 mg Oral Tablet",
      "rx_norm_name": "Viagra 50 mg Oral Tablet",
      "country": "Canada",
      "brands": [
          "Viagra"
      ],
      "ndc_product_codes": [
        "54868-4084",
        "..."
      ],
      "dpd_codes": null,
      "dosage_forms": [
          "Tablet, film coated"
      ],
      "strength_number": "50",
      "strength_unit": "mg/l",
      "dosage_form": [
          "Tablet"
      ],
      "route": "Oral",
      "approved": true,
      "generic": false,
      "otc": false,
      "mixture": false,
      "ingredients": [
        {
          "drugbank_id": "DB00203",
          "name": "Sildenafil",
          "cas": "139755-83-2",
          "strength_number": "50",
          "strength_unit": "mg"
        }
      ]
    }
  ]
}

Prescribable name (simple) search uses the concept of a prescribable name, the normalized, most common name used to describe a medication. The results of this search will not contain multiple brand names for a given drug. Instead the prescribable name will be unique for a dosage strength/form and a name. Product codes and brand names will be listed for each matched prescribable name.

This type of search is useful when logging medications a customer/patient may be taking. You can combine a name and a dosage strength to quickly filter your search. For example searching for viagra 25 mg will quickly return the most likely drug that the individual is taking.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drug_names/simple

Query Parameters

Parameter Default Description
search null The string you want to search with.
fuzzy false If set to true, enable fuzzy search (see fuzzy searching below)

Notice the hits array returned in the results. The hits contain highlighted snippets from the match. You can use these highlights in autocomplete applications. The matching part of the text is wrapped in an <em> tag, which you can style as you wish in your application. Note that the hits only contain the prescribable name, and thus will not have a highlighted snippet if the query matches an ingredient not listed in the prescribable name.

Fuzzy Searching

This example demonstrates a misspelling of “Advil”, with fuzzy search enabled you will still get a result (try it yourself!).

curl -L 'https://api.drugbankplus.com/v1/drug_names?q=addvil&fuzzy=true' 
-H 'Authorization: mytoken'

Fuzzy searching allows for misspellings, but is not enabled by default, you must set fuzzy=true. By setting fuzzy=true you are telling the API to allow a certain number of misspellings to still count as a match (defaults to 2). You can also pass a number of misspellings in to increase the likelyhood of a match (for example, fuzzy=4 will allow 4 misspelled letters).

Products

Get a specific U.S. product

curl -L 'https://api.drugbankplus.com/v1/us/products/55154-2727?drug_details=true' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

{
  "ndc_product_code": "55154-2727",
  "dpd_id": null,
  "ema_product_code": null,
  "ema_ma_number": null,
  "name": "Viagra",
  "started_marketing_on": "1998-03-27",
  "ended_marketing_on": "2017-12-22",
  "approved_on": null,
  "schedule": null,
  "dosage_form": "Tablet, film coated",
  "route": "Oral",
  "application_number": "NDA020895",
  "generic": false,
  "otc": false,
  "approved": true,
  "country": "US",
  "mixture": false,
  "ingredients": [
    {
      "drug": {
        "drugbank_id": "DB00203",
        "name": "Sildenafil",
        "description": "Sildenafil is a vasoactive agent used to treat erectile dysfunction...",
        "synonyms": [
          "1-((3-(4,7-Dihydro-1-methyl-7-oxo-3-propyl-1H-pyrazolo(4,3-d)pyrimidin-5-yl)-4-ethoxyphenyl)sulfonyl)-4-methylpiperazine"
        ],
        "pharmacology": {
          "indication_descripton": "For the treatment of erectile dysfunction...",
          "pharmacodynamic_description": "Erections are controlled by the parasympathetic nervous system...",
          "mechanism_of_action_description": "Sildenafil inhibits the cGMP-specific phosphodiesterase type 5 (PDE5)...",
          "absorption": ">90% absorbed with ~40% reaching systemic circulation unchanged following first-pass metabolism",
          "protein_binding": "96%",
          "volume_of_distribution": [
              "105 L"
          ],
          "clearance": [],
          "half_life": "4 hours",
          "route_of_elimination": "Sildenafil is cleared predominantly by the CYP3A (major route)...",
          "toxicity_description": ""
        },
        "food_interactions": [],
        "identifiers": {
          "drugbank_id": "DB00203",
          "inchi": "InChI=1S/C22H30N6O4S/c1-5-7-17-19-20(27(4)25-17)22(29)24-21(23-19)16-14-15(8-9-18(16)32-6-2)33(30,31)28-12-10-26(3)11-13-28/h8-9,14H,5-7,10-13H2,1-4H3,(H,23,24,29)",
          "inchikey": "BNRNXUUZRGQAQC-UHFFFAOYSA-N"
        }
      },
      "strength": {
        "number": "25",
        "unit": "mg/1"
      }
    }
  ],
  "therapeutic_categories": [
    {
      "drugbank_id": "DBCAT000518",
      "name": "Phosphodiesterase 5 Inhibitors",
      "mesh_id": "D058986",
      "mesh_tree_numbers": [
          "D27.505.519.389.735.500"
      ],
      "atc_code": null,
      "atc_level": null,
      "synonyms": [
        "Inhibitors, PDE-5",
        "Inhibitors, PDE5",
        "Inhibitors, Phosphodiesterase 5",
        "PDE 5 Inhibitors",
        "PDE-5 Inhibitors",
        "PDE5 Inhibitors",
        "Phosphodiesterase 5-Inhibitors",
        "Phosphodiesterase Type 5 Inhibitors"
      ],
      "description": "Compounds that specifically inhibit PHOSPHODIESTERASE 5."
    }
  ],
  "labeller": {
    "name": "Cardinal Health"
  },
  "images": [
    {
      "description": "sildenafil 50 MG Oral Tablet [Viagra]",
      "image_url_original": "...",
      "image_url_tiny": "...",
      "image_url_thumb": "...",
      "image_url_medium": "..."
    }
  ]
}

This endpoint retrieves a specific drug product based on NDC ID.

HTTP Request

GET https://api.drugbankplus.com/v1/us/products/<NDC_ID>

URL Parameters

Parameter Description
ID The NDC ID of the product to retrieve

Query Parameters

Parameter Default Description
drug_details false If true, returns the full details for the drug ingredients, otherwise just the drug name and DrugBank ID are returned. Requires access to the Drugs endpoint to use.

Get a specific Canadian product

curl -L 'https://api.drugbankplus.com/v1/ca/products/02474263' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

{
  "ndc_product_code": null,
  "dpd_id": "02474263",
  "ema_product_code": null,
  "ema_ma_number": null,
  "name": "Humira",
  "started_marketing_on": null,
  "ended_marketing_on": null,
  "approved_on": "2018-03-26",
  "schedule": "Prescription; Schedule D",
  "dosage_form": "Solution",
  "route": "Subcutaneous",
  "application_number": null,
  "generic": false,
  "otc": false,
  "approved": true,
  "country": "Canada",
  "mixture": false,
  "ingredients": [
    {
      "name": "Adalimumab",
      "drugbank_id": "DB00051",
      "strength": {
        "number": "20",
        "unit": "mg"
      }
    }
  ],
  "therapeutic_categories": [
    {
      "drugbank_id": "DBCAT003604",
      "name": "Disease-modifying Antirheumatic Agents",
      "mesh_id": null,
      "mesh_tree_numbers": [],
      "atc_code": null,
      "atc_level": null,
      "synonyms": [],
      "description": null
    },
  ],
  "labeller": {
    "name": "Abbvie"
  }
}

This endpoint retrieves a specific drug product based on DPD ID (Drug Product ID).

HTTP Request

GET https://api.drugbankplus.com/v1/ca/products/<DPD_ID>

URL Parameters

Parameter Description
ID The DPD ID of the product to retrieve

Query Parameters

Parameter Default Description
drug_details false If true, returns the full details for the drug ingredients, otherwise just the drug name and DrugBank ID are returned. Requires access to the Drugs endpoint to use.

Get a list of E.U. products by product code

curl -L 'https://api.drugbankplus.com/v1/eu/products/EMEA/H/C/002673' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

[{
  "ndc_product_code": null,
  "dpd_id": null,
  "ema_product_code": "EMEA/H/C/002673",
  "ema_ma_number": "EU/1/13/886/001",
  "name": "Relvar Ellipta",
  "started_marketing_on": "2013-11-13",
  "approved_on": null,
  "schedule": null,
  "dosage_form": "Inhalation powder, pre-dispensed",
  "route": "Inhalation use",
  "application_number": null,
  "generic": false,
  "otc": false,
  "approved": true,
  "country": true,
  "mixture": true,
  "ingredients": [
    {
      "name": "Fluticasone furoate",
      "drugbank_id": "DB08906",
      "strength": {
        "number": "92",
        "unit": "micrograms"
      }
    },
    {
      "name": "Vilanterol",
      "drugbank_id": "DB09082",
      "strength": {
        "number": "22",
        "unit": "micrograms"
      }
    }
  ],
  "therapeutic_categories": [
    {
      "drugbank_id": "DBCAT003668",
      "name": "Antimuscarinics Antispasmodics",
      "mesh_id": null,
      "mesh_tree_numbers": [],
      "atc_code": null,
      "atc_level": null,
      "synonyms": [],
      "description": null
    },
  ],
  "labeller": {
    "name": "Glaxo Group Limited"
  }
}]

This endpoint retrieves a list of drug products based on EMA Product ID (European Medicines Agency ID). These products will have mostly the same information, although route, form and strengths may vary.

HTTP Request

GET https://api.drugbankplus.com/v1/eu/products/<EMA_ID>

URL Parameters

Parameter Description
ID The EMA ID of the product to retrieve

Query Parameters

Parameter Default Description
drug_details false If true, returns the full details for the drug ingredients, otherwise just the drug name and DrugBank ID are returned. Requires access to the Drugs endpoint to use.

Get a specifc E.U. product by marketing authorisation number

curl -L 'https://api.drugbankplus.com/v1/eu/products/EU/1/13/886/001' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

{
  "ndc_product_code": null,
  "dpd_id": null,
  "ema_product_code": "EMEA/H/C/002673",
  "ema_ma_number": "EU/1/13/886/001",
  "name": "Relvar Ellipta",
  "started_marketing_on": "2013-11-13",
  "approved_on": null,
  "schedule": null,
  "dosage_form": "Inhalation powder, pre-dispensed",
  "route": "Inhalation use",
  "application_number": null,
  "generic": false,
  "otc": false,
  "approved": true,
  "country": true,
  "mixture": true,
  "ingredients": [
    {
      "name": "Fluticasone furoate",
      "drugbank_id": "DB08906",
      "strength": {
        "number": "92",
        "unit": "micrograms"
      }
    },
    {
      "name": "Vilanterol",
      "drugbank_id": "DB09082",
      "strength": {
        "number": "22",
        "unit": "micrograms"
      }
    }
  ],
  "therapeutic_categories": [
    {
      "drugbank_id": "DBCAT003668",
      "name": "Antimuscarinics Antispasmodics",
      "mesh_id": null,
      "mesh_tree_numbers": [],
      "atc_code": null,
      "atc_level": null,
      "synonyms": [],
      "description": null
    },
  ],
  "labeller": {
    "name": "Glaxo Group Limited"
  }
}

This endpoint retrieves a specific drug product based on EMA MA Number (European Medicines Agency Marketing Authorisation number).

HTTP Request

GET https://api.drugbankplus.com/v1/eu/products/<EMA_MA_NUMBER>

URL Parameters

Parameter Description
EMA_MA_NUMBER The EMA MA Number of the product to retrieve

Query Parameters

Parameter Default Description
drug_details false If true, returns the full details for the drug ingredients, otherwise just the drug name and DrugBank ID are returned. Requires access to the Drugs endpoint to use.

Get categories for a product

curl -L 'https://api.drugbankplus.com/v1/ca/products/55154-2727/categories' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first category shown):

[
    {
        "drugbank_id": "DBCAT003676",
        "name": "Vasodilating Agents",
        "mesh_id": "D014665",
        "mesh_tree_numbers": [
            "D27.505.954.411.918"
        ],
        "atc_code": null,
        "atc_level": null,
        "categorization_kind": "therapeutic",
        "synonyms": [
            "Agents, Vasodilator",
            "Antagonists, Vasoactive",
            "Drugs, Vasodilator",
            "Vasoactive Antagonists",
            "Vasodilating Drugs",
            "Vasodilator Agents",
            "Vasodilator Drugs",
            "Vasodilators",
            "Vasorelaxants"
        ],
        "description": "Drugs used to cause dilation of the blood vessels."
    }
]

Returns an array of categories for a product, based on NDC ID, DPD ID, EMA Product ID, or EMA MA Number, depending on the region. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/products/<ID>/categories

URL Parameters

Parameter Description
ID The NDC ID/DPD ID/EMA Product ID/EMA MA Number of the product to retrieve the categories

Query Parameters

Parameter Default Description
categorization_kind The categorization kind to filter by (optional).

Get product concepts linked with a product

curl -L 'https://api.drugbankplus.com/v1/us/products/55154-2727/product_concepts' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first product concept shown):

[
    {
        "name": "Lidocaine",
        "drugbank_pcid": "DBPC0001930",
        "brand": null,
        "level": 1,
        "route": null,
        "form": null,
        "strengths": null,
        "regions": {
            "us": true,
            "canada": true,
            "eu": true 
        },
        "rxnorm_concepts": [
            {
                "name": "Lidocaine",
                "RXCUI": "6387"
            }
        ],
        "ingredients": [
            {
                "name": "Lidocaine",
                "drug": {
                    "name": "Lidocaine",
                    "drugbank_id": "DB00281"
                }
            }
        ]
    }
]

This endpoint retrieves a list of product concepts linked to a product, based on NDC ID, DPD ID, EMA Product ID, or EMA MA Number, depending on the region. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/products/<ID>/product_concepts

URL Parameters

Parameter Description
ID The NDC ID/DPD ID/EMA Product ID/EMA MA Number of the product to retrieve the linked indications

Query Parameters

Parameter Default Description
level The product concept level to filter by (optional).
min_level The minimum product concept level to return (optional).
min_level The maximum product concept level to return (optional).
unbranded_only false If true, returns only product concepts without an associated brand.

Get indications linked with a product

curl -L 'https://api.drugbankplus.com/v1/us/products/55154-2727/indications' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first indication shown):

[
  {
    "kind": "management_of",
    "off_label": false,
    "otc_use": false,
    "drug": {
      "name": "Sildenafil",
      "drugbank_id": "DB00203"
    },
    "condition": {
      "name": "Erectile Dysfunction",
      "drugbank_id": "DBCOND0029956",
      "meddra_id": "llt/10061461",
      "icd10_id": "c/N52.9"
    }
  }
]

This endpoint retrieves a list of indications linked to a product, based on NDC ID, DPD ID, EMA Product ID, or EMA MA Number, depending on the region. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/products/<ID>/indications

URL Parameters

Parameter Description
ID The NDC ID/DPD ID/EMA Product ID/EMA MA Number of the product to retrieve the linked indications

Query Parameters

Parameter Default Description
off_label null Limits results by the value of the off_label attribute of the indications.
otc_use null Limits results by the value of the otc_use attribute of the indications.
kind null Limits results by the value of the kind attribute of the indications.

Get drug-drug interactions for a product

curl -L 'https://api.drugbankplus.com/v1/us/products/55154-2727/ddi?severity=moderate' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first interaction shown):

[
  {
    "product_ingredient": {
      "drugbank_id": "DB00203",
      "name": "Sildenafil"
    },
    "affected_product_ingredient": {
      "drugbank_id": "DB11898",
      "name": "2,4-thiazolidinedione"
    },
    "action": "increase_therapeutic_efficacy",
    "severity": "moderate",
    "subject_dosage": "all",
    "affected_dosage": "all",
    "evidence_level": 2
  }
]

This endpoint retrieves a list of drug-drug interactions linked to a product, based on NDC ID, DPD ID, EMA Product ID, or EMA MA Number, depending on the region. The product_ingredient refers to the interacting ingredient in the specified product, while the affected_product_ingredient is the drug it interacts with. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/products/<ID>/ddi

URL Parameters

Parameter Description
ID The NDC ID/DPD ID/EMA Product ID/EMA MA Number of the product to retrieve the linked interactions

Query Parameters

Parameter Default Description
severity null Limits results by the severity of the interactions. May be major, moderate, or minor.
include_references false If true, includes the references for each interaction. See drug-drug interactions for details.

Get adverse effects linked with a product

curl -L 'https://api.drugbankplus.com/v1/us/products/55154-2727/adverse_effects' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first indication shown):

[
  {
    "drug": {
      "name": "Sildenafil",
      "drugbank_id": "DB00203"
    },
    "evidence_type": [
      "clinical_trial"
    ],
    "regions": "US",
    "age_groups": [
      "adult"
    ],
    "incidences": [
      {
        "kind": "experimental",
        "percent": "<2%"
      }
    ],
    "effect": {
      "name": "Dry Eyes",
      "drugbank_id": "DBCOND0054254",
      "meddra_id": "llt/10013774"
    }
  }
]

This endpoint retrieves a list of adverse effects linked to a product, based on NDC ID, DPD ID, EMA Product ID, or EMA MA Number, depending on the region. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/products/<ID>/adverse_effects

URL Parameters

Parameter Description
ID The NDC ID/DPD ID/EMA Product ID/EMA MA Number of the product to retrieve the linked adverse effects

Get contraindications linked with a product

curl -L 'https://api.drugbankplus.com/v1/us/products/16590-0022/contraindications' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only select contraindications shown):

[
  {
    "drug": {
      "name": "Butalbital",
      "drugbank_id": "DB00241"
    },
    "regions": "US",
    "patient_conditions": [
      {
        "name": "Post-adenoidectomy",
        "drugbank_id": "DBCOND0107514"
      }
    ]
  },
  {
    "drug": {
      "name": "Acetaminophen",
      "drugbank_id": "DB00316"
    },
    "regions": "US",
    "patient_conditions": [
      {
        "name": "Severe active liver disease",
        "drugbank_id": "DBCOND0108539"
      }
    ]
  }
]

This endpoint retrieves a list of contraindications linked to a product, based on NDC ID, DPD ID, EMA Product ID, or EMA MA Number, depending on the region. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/products/<ID>/contraindications

URL Parameters

Parameter Description
ID The NDC ID/DPD ID/EMA Product ID/EMA MA Number of the product to retrieve the linked contraindications

Get packages for a product

curl -L 'https://api.drugbankplus.com/v1/us/products/63304-803/packages' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

[
    {
        "package_ndc_code": "63304-0803-30",
        "description": "30 in 1 BOTTLE",
        "amount": "30",
        "unit": "1",
        "form": "BOTTLE"
    },
    {
        "package_ndc_code": "63304-0803-05",
        "description": "500 in 1 BOTTLE",
        "amount": "500",
        "unit": "1",
        "form": "BOTTLE"
    }
]

This endpoint retrieves a list of top level packages for a product, based on NDC ID, DPD ID, EMA Product ID, or EMA MA Number, depending on the region. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/products/<ID>/packages

URL Parameters

Parameter Description
ID The NDC ID/DPD ID/EMA Product ID/EMA MA Number of the product to retrieve the packages

Product Concepts

Errors

The product concept API revolves around product concept objects. Thefore there are common error messages which may be returned from any of the product concept APIs, depending on the state of the product concept involved.

curl -L 'https://api.drugbankplus.com/v1/product_concepts?q=acetamino&hit_details=true' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

[
  {
    "hits": [
      {
        "value": "<em>Acetamino</em>phen"
      },
      {
        "value": "<em>Acetamino</em>phen Caplets"
      }
  ],
  "detailed_hits": [
    {
      "field": "ingredients",
      "matches": {
        "DB00316": [
          "<em>Acetamino</em>phen",
          "<em>acetamino</em>fén",
          "p-<em>acetamino</em>phenol"
        ]
      },
      "match_highlight_name": "<em>Acetamino</em>phen"
    },
    {
      "field": "products",
      "matches": [
        "<em>Acetamino</em>phen Caplets",
        "<em>Acetamino</em>phen Regular strength",
        "<em>Acetamino</em>phen Extra Strength",
        "<em>Acetamino</em>phen Tablets 325 mg",
        "<em>Acetamino</em>phen Tablets 500 Mg Extra Strength"
      ],
      "match_highlight_name": "<em>Acetamino</em>phen Caplets"
      }
    ],
    "name": "Acetaminophen",
    "display_name": null,
    "drugbank_pcid": "DBPC0180857",
    "brand": null,
    "level": 1,
    "route": null,
    "form": null,
    "strengths": null,
    "regions": {
      "us": true,
      "canada": true,
      "eu": false
    },
    "rxnorm_concepts": [
      {
        "name": "Acetaminophen",
        "RXCUI": "161"
      }
    ],
  "ingredients": [
      {
        "name": "Acetaminophen",
        "drug": {
          "name": "Acetaminophen",
          "drugbank_id": "DB00316"
        }
      }
    ]
  }
]

Product concept search allows you to quickly search product concepts. Like the most of the DrugBank API, the returned concepts can be filtered by region using a prefixed url like /v1/us/product_concepts.

By default, the search returns only top-level product concepts - concepts without route, form or strength information. Lower level concepts can be found using the level, min_level, and max_level parameters.

Search is performed by passing in a full-text search parameter q. The search results are suitable for search-as-you-type. The query parameter is used to search brand names, ingredient names and synonyms as well as exact ingredient form names and synonyms. When query_type=advanced is used, basic boolean operations are possible in the string.

Each result includes a hits array, which lists the best matched descriptors (brand, ingredient, and/or product names and synonyms) for that concept. These are useful for facilitating search-as-you-type queries. Adding the hit_details=true parameter will also return a detailed_hits array that gives further information on how the matches were obtained.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts?q=<search_term>

Query Parameters

Parameter Default Description
q The text-search query string.
level The product concept level to filter by (optional).
min_level The minimum product concept level to return (optional).
max_level The maximum product concept level to return (optional).
unbranded_only false If true, returns only product concepts without an associated brand.
query_type simple If set to advanced, allows basic boolean operations in query parameter q
hit_details false If set to true, returns additional information on matched brands/ingredients/products for the concept
withdrawn false If set to “include”, includes product concepts for which all products have been withdrawn. If set to “true”, includes only product concepts for which all products have been withdrawn. If set to “false”, includes only product concepts with at least one non-withdrawn product.

Example Queries

Query Type Description
lido simple Product concepts which contain “lido” in the search terms (eg: “Lidocaine”)
abac -sulf advanced Product concepts which contain “abac” but not “sulf” (eg: “Abacavir” but not “Abacavir Sulfate”)
abac -sulf simple Product concepts which contain “abac” and “-sulf” (“Abacavir-sulfate”)
abac lam simple Product concepts which contain both “abac” and “lam” (eg: “Abacavir / Lamivudine”)

View Product Concept

curl -L 'https://api.drugbankplus.com/v1/product_concepts/DBPC0001930' 
-H 'Authorization: mytoken'
    {
        "name": "Lidocaine",
        "drugbank_pcid": "DBPC0001930",
        "brand": null,
        "level": 1,
        "route": null,
        "form": null,
        "strengths": null,
        "regions": {
            "us": true,
            "canada": true,
            "eu": false
        },
        "rxnorm_concepts": [
            {
                "name": "Lidocaine",
                "RXCUI": "6387"
            }
        ],
        "ingredients": [
            {
                "name": "Lidocaine",
                "drug": {
                    "name": "Lidocaine",
                    "drugbank_id": "DB00281"
                }
            }
        ]
    }

This endpoint retrieves a specific product concept based on ID (DrugBank Product Concept ID).

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

View Product Concept Products

curl -L 'https://api.drugbankplus.com/v1/product_concepts/DBPC0001930/products' 
-H 'Authorization: mytoken'

This returns a list of products which are described by the product concept specified by ID (DrugBank Product Concept ID). These results are region-filtered, making it possible to find products from one or all regions by varying the URL.

[
    {
        "ndc_product_code": "61919-669",
        "dpd_id": null,
        "ema_product_code": null,
        "ema_ma_number": null,
        "name": "Truvada",
        "started_marketing_on": "2017-02-22",
        "ended_marketing_on": null,
        "approved_on": null,
        "schedule": null,
        "dosage_form": "Tablet, film coated",
        "route": "Oral",
        "application_number": "NDA021752",
        "generic": false,
        "otc": false,
        "approved": true,
        "country": "US",
        "mixture": true,
        "ingredients": [
            {
                "name": "Emtricitabine",
                "drugbank_id": "DB00879",
                "strength": {
                    "number": "200",
                    "unit": "mg/1"
                }
            },
            {
                "name": "Tenofovir",
                "drugbank_id": "DB00300",
                "strength": {
                    "number": "300",
                    "unit": "mg/1"
                }
            }
        ],
        "therapeutic_categories": [
            {
                "drugbank_id": "DBCAT003882",
                "name": "Gastric Acid Lowering Agents",
                "mesh_id": null,
                "mesh_tree_numbers": [],
                "atc_code": null,
                "atc_level": null,
                "synonyms": [
                    "Gastric Acid Inhibitors",
                    "Treatment of Gastric Acidity"
                ],
                "description": "Drugs used in the treatment of excessive production of gastric acid."
            },
        ]
    }
]

HTTP Request

GET https://api.drugbankplus.com/v1/us/v1/product_concepts/<ID>/products

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

View Product Concept Routes

curl -L 'https://api.drugbankplus.com/v1/product_concepts/DBPC0001930/routes' 
-H 'Authorization: mytoken'

This returns a list of product concepts which are more specific versions of the product concept specified by <ID>. Each of the returned product concepts has a route specified.

When using this endpoint, the "route" field of the returned product concepts can be displayed to users to communicate route separately from ingredients, brand, form, etc.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/routes

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

View Product Concept Forms

curl -L 'https://api.drugbankplus.com/v1/product_concepts/DBPC0001930/forms' 
-H 'Authorization: mytoken'

This returns a list of product concepts which are more specific versions of the product concept specified by <ID>. Each of the returned product concepts has a form specified.

When using this endpoint, the "form" field of the returned product concepts can be displayed to users to communicate form separately from ingredients, brand, route, etc.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/forms

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

Query Parameters

Parameter Default Description
withdrawn false If set to “include”, includes product concepts for which all products have been withdrawn. If set to “true”, includes only product concepts for which all products have been withdrawn. If set to “false”, includes only product concepts with at least one non-withdrawn product.

View Product Concept Strengths

curl -L 'https://api.drugbankplus.com/v1/product_concepts/DBPC0001930/strengths' 
-H 'Authorization: mytoken'

This returns a list of product concepts which are more specific versions of the product concept specified by <ID>. Each of the returned product concepts has ingredient strengths specified.

When using this endpoint, the "strengths" field of the returned product concepts can be displayed to users to communicate strength separately from ingredients, brand, route, etc.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/strengths

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

Query Parameters

Parameter Default Description
withdrawn false If set to “include”, includes product concepts for which all products have been withdrawn. If set to “true”, includes only product concepts for which all products have been withdrawn. If set to “false”, includes only product concepts with at least one non-withdrawn product.

View Product Concept Categories

curl -L 'https://api.drugbankplus.com/v1/product_concepts/DBPC0001930/categories' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first category shown):

[
    {
        "drugbank_id": "DBCAT000541",
        "name": "Proton Pump Inhibitors",
        "mesh_id": "D054328",
        "mesh_tree_numbers": [
            "D27.505.519.389.848"
        ],
        "atc_code": "A02BC",
        "atc_level": 4,
        "categorization_kind": "therapeutic",
        "synonyms": [
            "Inhibitors, Proton Pump",
            "PP Inhibitors",
            "PPI",
            "PPIs"
        ],
        "description": "Compounds that inhibit H(+)-K(+)-EXCHANGING ATPASE. They are used as ANTI-ULCER AGENTS and sometimes in place of HISTAMINE H2 ANTAGONISTS for GASTROESOPHAGEAL REFLUX."
    },
]

Returns an array of categories for the product concept specified by ID (DrugBank Product Concept ID). This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/categories

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve the linked categories

Query Parameters

Parameter Default Description
categorization_kind The categorization kind to filter by (optional).

View Product Concept Indications

curl -L 'https://api.drugbankplus.com/v1/us/product_concepts/DBPC0131467/indications' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first indication shown):

[
  {
    "kind": "treatment_of",
    "off_label": false,
    "otc_use": false,
    "drug": {
      "name": "Darbepoetin alfa",
      "drugbank_id": "DB00012"
    },
    "condition": {
      "name": "Anemia",
      "drugbank_id": "DBCOND0020261",
      "meddra_id": "pt/10002034",
      "icd10_id": "c/D64.9"
    },
    "condition_associated_with": [
      {
        "name": "Chronic Kidney Disease",
        "drugbank_id": "DBCOND0030403",
        "meddra_id": "llt/10064848",
        "icd10_id": "c/N18"
      }
    ]
  }
]

This returns a list of indications linked to the product concept specified by ID (DrugBank Product Concept ID). This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/indications

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

Query Parameters

Parameter Default Description
off_label null Limits results by the value of the off_label attribute of the indications.
otc_use null Limits results by the value of the otc_use attribute of the indications.
kind null Limits results by the value of the kind attribute of the indications.

View Product Concept Adverse Effects

curl -L 'https://api.drugbankplus.com/v1/us/product_concepts/DBPC0018378/adverse_effects' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first adverse effect shown):

[
  {
    "drug": {
      "name": "Tolcapone",
      "drugbank_id": "DB00323"
    },
    "route": [
      "oral"
    ],
    "evidence_type": [
      "clinical_trial"
    ],
    "regions": "US",
    "age_groups": [
      "unspecified"
    ],
    "incidences": [
      {
        "kind": "experimental",
        "percent": "10-11%"
      },
      {
        "kind": "placebo",
        "percent": "9%"
      }
    ],
    "effect": {
      "name": "Confusion",
      "drugbank_id": "DBCOND0046979",
      "meddra_id": "hlt/10010301",
      "icd10_id": "c/R41.0"
    },
    "patient_characteristics": [
      {
        "name": "Parkinson's Disease",
        "drugbank_id": "DBCOND0028039",
        "meddra_id": "llt/10061536",
        "icd10_id": "c/G20"
      }
    ],
    "with_drugs": [
      {
        "name": "Benserazide",
        "drugbank_id": "DB12783"
      }
    ]
  }
]

This returns a list of adverse effects linked to the product concept specified by ID (DrugBank Product Concept ID). This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/adverse_effects

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

View Product Concept Contraindications

curl -L 'https://api.drugbankplus.com/v1/us/product_concepts/DBPC0323661/contraindications' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only select contraindications shown):

[
  {
    "drug": {
      "name": "Loxapine",
      "drugbank_id": "DB00408"
    },
    "route": [
      "respiratory"
    ],
    "regions": "US",
    "patient_conditions": [
      {
        "name": "History of asthma",
        "drugbank_id": "DBCOND0107635"
      }
    ]
  },
  {
    "drug": {
      "name": "Loxapine",
      "drugbank_id": "DB00408"
    },
    "route": [
      "intramuscular"
    ],
    "regions": "US",
    "with_drugs_coadmin": [
      {
        "name": "Metoclopramide",
        "drugbank_id": "DB01233"
      }
    ]
  }
]

This returns a list of contraindications linked to the product concept specified by ID (DrugBank Product Concept ID). This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/contraindications

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

View Product Concept Parents

curl -L 'https://api.drugbankplus.com/v1/product_concepts/DBPC0001930/parents' 
-H 'Authorization: mytoken'

This returns a list of product concepts which are more general versions of the product concept specified by <ID>. Each of the returned product concepts is one level more general.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/parents

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

Query Parameters

Parameter Default Description
withdrawn false If set to “include”, includes product concepts for which all products have been withdrawn. If set to “true”, includes only product concepts for which all products have been withdrawn. If set to “false”, includes only product concepts with at least one non-withdrawn product.

View Product Concept Children

curl -L 'https://api.drugbankplus.com/v1/product_concepts/DBPC0001930/children' 
-H 'Authorization: mytoken'

This returns a list of product concepts which are more specific versions of the product concept specified by <ID>. Each of the returned product concepts is one level more specific.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/children

URL Parameters

Parameter Description
ID The ID of the product concept to retrieve

Query Parameters

Parameter Default Description
withdrawn false If set to “include”, includes product concepts for which all products have been withdrawn. If set to “true”, includes only product concepts for which all products have been withdrawn. If set to “false”, includes only product concepts with at least one non-withdrawn product.

View Product Concepts by RxNorm Concept ID (RXCUI)

curl -L 'https://api.drugbankplus.com/v1/product_concepts/rxnorm/6387' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

[
    {
        "name": "Lidocaine",
        "drugbank_pcid": "DBPC0001930",
        "brand": null,
        "level": 1,
        "route": null,
        "form": null,
        "strengths": null,
        "regions": {
            "us": true,
            "canada": true,
            "eu": true 
        },
        "rxnorm_concepts": [
            {
                "name": "Lidocaine",
                "RXCUI": "6387"
            }
        ],
        "ingredients": [
            {
                "name": "Lidocaine",
                "drug": {
                    "name": "Lidocaine",
                    "drugbank_id": "DB00281"
                }
            }
        ]
    }
]

This returns a list of product concepts which have been mapped to the provided RXCUI. The relationship between RXCUI and DrugBank product concepts is many-to-many. If the specified RXCUI is not understood, or has not yet been imported into DrugBank, then a 404 error will be raised. If the RXCUI is understood, but the specified RxNorm concept is not considered equivalent to any DrugBank product concept, then an empty array will be returned. This API supports pagination, although results will rarely, if ever be paginated with the default per-page setting of 50 results per page.

HTTP Request

GET https://api.drugbankplus.com/v1/product_concepts/rxnorm/<RXCUI>

URL Parameters

Parameter Description
ID The RXCUI of the RxNorm concept for which to retrieve product concepts

Query Parameters

Parameter Default Description
withdrawn false If set to “include”, includes product concepts for which all products have been withdrawn. If set to “true”, includes only product concepts for which all products have been withdrawn. If set to “false”, includes only product concepts with at least one non-withdrawn product.

View Product Concept Revocation

curl -L 'https://api.drugbankplus.com/v1/product_concepts/DBPC0151796/revocation' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

{
    "drugbank_pcid": "DBPC0151796",
    "alternate_drugbank_pcids": [],
    "standing": "revoked",
    "revoked_at": "2018-01-11",
    "historical_data": {
        "name": "Estradiol valerate / Testosterone Enanthate Intramuscular",
        "route": "Intramuscular",
        "rxnorm_ids": [],
        "ingredients": [
            {
                "drug": {
                    "name": "Testosterone",
                    "drugbank_id": "DB00624"
                },
                "exact_ingredient": {
                    "name": "Testosterone Enanthate",
                    "drugbank_id": "DBSALT001030"
                }
            },
            {
                "drug": {
                    "name": "Estradiol",
                    "drugbank_id": "DB00783"
                },
                "exact_ingredient": {
                    "name": "Estradiol valerate",
                    "drugbank_id": "DBSALT000068"
                }
            }
        ]
    },
    "suggested_replacements": [
        {
            "name": "Estradiol valerate / Testosterone Enanthate Intramuscular",
            "drugbank_pcid": "DBPC0340214",
            "regions": {
                "us": false,
                "canada": true,
                "eu": false
            }
        },
        {
            "name": "Estradiol valerate 6.5 mg / Testosterone Enanthate 100 mg /1.0 Intramuscular",
            "drugbank_pcid": "DBPC0340215",
            "regions": {
                "us": false,
                "canada": true,
                "eu": false
            }
        },
        {
            "name": "Estradiol valerate / Testosterone Enanthate Intramuscular Solution",
            "drugbank_pcid": "DBPC0340218",
            "regions": {
                "us": false,
                "canada": true,
                "eu": false
            }
        },
        {
            "name": "Estradiol valerate 6.5 mg / Testosterone Enanthate 100 mg /1.0 Intramuscular Solution",
            "drugbank_pcid": "DBPC0340219",
            "regions": {
                "us": false,
                "canada": true,
                "eu": false
            }
        }
    ]
}

When a drug or product ingredient is revoked, the related product concepts must also be revoked. They refer to DrugBank entities which no longer exist, so they cannot be properly represented. However, a historical snapshot of its data is captured when a product concept is revoked. This data can be accessed through the revocation endpoint, which will also attempt to suggest product concepts which may be suitable replacements for the revoked concept.

Plese note that some or all of the referenced ingredients may no longer be available.

HTTP Request

GET https://api.drugbankplus.com/v1/us/product_concepts/<ID>/revocation

URL Parameters

Parameter Description
ID The ID of the product concept for which to retrieve the revocation data

Drugs

Get a specific drug

curl -L 'https://api.drugbankplus.com/v1/drugs/DB00316' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

{
  "drugbank_id": "DB00316",
  "name": "Acetaminophen",
  "annotation_status": "complete",
  "availability_by_region": [
    {
      "region": "ca",
      "max_phase": 4,
      "marketed_prescription": true,
      "generic_available": true,
      "pre_market_cancelled": false,
      "post_market_cancelled": false
    },
    {
      "region": "eu",
      "max_phase": 4,
      "marketed_prescription": false,
      "generic_available": false,
      "pre_market_cancelled": true,
      "post_market_cancelled": true
    },
    {
      "region": "us",
      "max_phase": 4,
      "marketed_prescription": true,
      "generic_available": true,
      "pre_market_cancelled": false,
      "post_market_cancelled": false
    }
  ],
  "description": "Acetaminophen, also known as paracetamol, is ...",
  "synonyms": ["..."],
  "pharmacology": {
    "indication_descripton": "For temporary relief of fever, minor aches, and pains.",
    "pharmacodynamic_description": "Acetaminophen (USAN) or Paracetamol (INN) is a ...",
    "mechanism_of_action_description": "Acetaminophen is thought to act primarily in the ...",
    "absorption": "Rapid and almost complete",
    "protein_binding": "25%",
    "volume_of_distribution": [],
    "clearance": [],
    "half_life": "1 to 4 hours",
    "route_of_elimination": "Approximately 80% of acetaminophen is ...",
    "toxicity_description": "Oral, mouse: LD50 = 338 mg/kg; Oral, rat: LD50 = 1944 mg/kg. Acetaminophen is ..."
  },
  "food_interactions": [
    "Avoid alcohol (may increase risk of hepatotoxicity).",
    "Take without regard to meals."
  ],
  "identifiers": {
    "drugbank_id": "DB00316",
    "inchi": "InChI=1S/C8H9NO2/c1-6(10)9-7-2-4-8(11)5-3-7/h2-5,11H,1H3,(H,9,10)",
    "inchikey": "InChIKey=RZVAJINKPMORJF-UHFFFAOYSA-N"
  },
  "therapeutic_categories": [
    {
      "drugbank_id": "DBCAT003661",
      "name": "Miscellaneous Analgesics and Antipyretics",
      "mesh_id": null,
      "mesh_tree_numbers": [],
      "atc_code": null,
      "atc_level": null,
      "synonyms": [],
      "description": null
    }
  ]
}

This endpoint retrieves a specific drug based on DrugBank ID.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drugs/<ID>

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve

Get products linked with a drug

curl -L 'https://api.drugbankplus.com/v1/drugs/DB00316/products' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first product shown):

[
  {
    "ndc_product_code": null,
    "dpd_id": "02236871",
    "name": "(extra Strength) Acetaminophen, Caffeine & 8mg Codeine Phosphate Caplets",
    "started_marketing_on": "1998-07-22",
    "approved_on": null,
    "schedule": "Narcotic (CDSA I)",
    "dosage_form": "tablet",
    "route": "oral",
    "application_number": null,
    "generic": false,
    "otc": false,
    "approved": true,
    "country": true,
    "mixture": true,
    "ingredients": [
      {
        "name": "Caffeine",
        "drugbank_id": "DB00201",
        "strength": {
          "number": "15",
          "unit": "mg"
        }
      }
    ],
    "therapeutic_categories": [
      {
        "drugbank_id": "DBCAT003635",
        "name": "Anorexigenic Agents & Respiratory and CNS Stimulants",
        "mesh_id": null,
        "mesh_tree_numbers": [],
        "atc_code": null,
        "atc_level": null,
        "synonyms": [],
        "description": null
      }
    ],
    "labeller": {
      "name": "Stanley Pharmaceuticals, A Division Of Vita Health Products Inc."
    }
  }
]

This endpoint retrieves a list of products linked to a drug, based on DrugBank ID. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drugs/<ID>/products

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve the linked products

Get product concepts linked with a drug

curl -L 'https://api.drugbankplus.com/v1/drugs/DB00316/product_concepts' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first product concept shown):

[
  {
    "name": "Acetaminophen 325 mg / Butalbital 25 mg /1.0mg Oral [Allzital]",
    "display_name": "Allzital 325 mg, 25 mg /1.0mg Oral",
    "drugbank_pcid": "DBPC0360871",
    "brand": "Allzital",
    "level": 4,
    "route": "Oral",
    "form": null,
    "regions": {
      "us": true,
      "canada": false,
      "eu": false
    },
    "rxnorm_concepts": [],
    "ingredients": [
      {
        "name": "Butalbital",
        "drug": {
          "name": "Butalbital",
          "drugbank_id": "DB00241"
        },
        "strength": {
          "amount": "25.0",
          "per": "1.0",
          "units": "mg/mg"
        }
      },
      {
        "name": "Acetaminophen",
        "drug": {
          "name": "Acetaminophen",
          "drugbank_id": "DB00316"
        },
        "strength": {
          "amount": "325.0",
          "per": "1.0",
          "units": "mg/mg"
        }
      }
    ]
  }
]

This endpoint retrieves a list of product concepts linked to a drug, based on DrugBank ID. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drugs/<ID>/product_concepts

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve the linked product concepts

Query Parameters

Parameter Default Description
level The product concept level to filter by (optional).
min_level The minimum product concept level to return (optional).
min_level The maximum product concept level to return (optional).
unbranded_only false If true, returns only product concepts without an associated brand.

Get categories for a drug

curl -L 'https://api.drugbankplus.com/v1/ca/drugs/DB00993/categories' 
-H 'Authorization: mytoken'
[
    {
        "drugbank_id": "DBCAT001220",
        "alternate_drugbank_ids": [],
        "mesh_identifier": "D015122",
        "atc_code": "L01BB02",
        "categorization_kind": "therapeutic",
        "title": "6-Mercaptopurine",
        "synonyms": [
            "1,7-Dihydro-6H-purine-6-thione",
            "6 Mercaptopurine",
            "6 Mercaptopurine Monohydrate"
        ],
        "description": "An antimetabolite ...... "
    }
]

Returns an array of categories for a drug, based on the DrugBank ID. See Common Category Query Parameter Values for query parameters that affect the results of this request.

Shows all categories for the drug regardless of the value of tree, but parent/child relationships will be limited based on tree.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drugs/<ID>/categories

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve the linked categories

Query Parameters

Parameter Default Description
categorization_kind The categorization kind to filter by (optional).

Get indications linked with a drug

curl -L 'https://api.drugbankplus.com/v1/drugs/DB00675/indications' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first indication shown):

[
  {
    "off_label": true,
    "otc_use": false,
    "kind": "treatment_of",
    "sex_group": "female",
    "regions": "US",
    "condition": {
      "name": "Precocious puberty",
      "drugbank_id": "DBCOND000004",
      "meddra_id": "llt\/10058084",
      "icd10_id": "c\/E30.1"
    },
    "condition_associated_with": [
      {
        "name": "McCune-Albright syndrome",
        "drugbank_id": "DBCOND000005",
        "meddra_id": "llt\/10051698",
        "icd10_id": "c\/Q78.1"
      }
    ]
  }
]

This endpoint retrieves a list of indications linked to a drug, based on DrugBank ID. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drugs/<ID>/indications

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve the linked indications

Query Parameters

Parameter Default Description
off_label null Limits results by the value of the off_label attribute of the indications.
otc_use null Limits results by the value of the otc_use attribute of the indications.
kind null Limits results by the value of the kind attribute of the indications.

Get drug-drug interactions for a drug

curl -L 'https://api.drugbankplus.com/v1/drugs/DB00675/ddi?severity=moderate' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first interaction shown):

[
  {
    "ingredient": {
      "drugbank_id": "DB00675",
      "name": "Tamoxifen"
    },
    "affected_ingredient": {
      "drugbank_id": "DB05107",
      "name": "16-Bromoepiandrosterone"
    },
    "description": "The metabolism of 16-Bromoepiandrosterone can be increased when combined with Tamoxifen.",    "action": "increase_dynamics",
    "severity": "moderate",
    "subject_dosage": "all",
    "affected_dosage": "all",
    "evidence_level": 2
  }
]

This endpoint retrieves a list of drug-drug interactions linked to a drug, based on DrugBank ID. The ingredient refers to the specified drug, while the affected_ingredient is the drug it interacts with. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drugs/<ID>/ddi

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve the linked interactions

Query Parameters

Parameter Default Description
severity null Limits results by the severity of the interactions. May be major, moderate, or minor.
include_references false If true, includes the references for each interaction. See drug-drug interactions for details.

Get adverse effects linked with a drug

curl -L 'https://api.drugbankplus.com/v1/drugs/DB00316/adverse_effects' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first adverse effect shown):

[
  {
    "route": [
      "intravenous"
    ],
    "evidence_type": [
      "clinical_trial"
    ],
    "admin": "repeated doses",
    "regions": "US",
    "age_groups": [
      "adult"
    ],
    "incidences": [
      {
        "kind": "experimental",
        "percent": "1%",
        "p_value": ">0.05%"
      }
    ],
    "effect": {
      "name": "Hypotension",
      "drugbank_id": "DBCOND0020133",
      "meddra_id": "llt/10021097",
      "icd10_id": "c/I95.9"
    }
  }
]

This endpoint retrieves a list of adverse effects linked to a drug, based on DrugBank ID. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drugs/<ID>/adverse_effects

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve the linked adverse effects

Get contraindications linked with a drug

curl -L 'https://api.drugbankplus.com/v1/drugs/DB00316/contraindications' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only select contraindications shown):

[
  {
    "regions": "US",
    "patient_conditions": [
      {
        "name": "Wolff-Parkinson-White Syndrome",
        "drugbank_id": "DBCOND0000487",
        "meddra_id": "pt/10002611",
        "icd10_id": "c/I45.6"
      }
    ]
  },
  {
    "regions": "US",
    "with_drugs": [
      {
        "name": "Nefazodone",
        "drugbank_id": "DB01149"
      }
    ]
  },
  {
    "regions": "Canada",
    "patient_conditions": [
      {
        "name": "Uncontrolled Hypertension",
        "drugbank_id": "DBCOND0043537",
        "meddra_id": "llt/10066860",
        "icd10_id": "c/I10"
      }
    ]
  }
]

This endpoint retrieves a list of contraindications linked to a drug, based on DrugBank ID. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drugs/<ID>/contraindications

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve the linked contraindications

Get packages for a drug

curl -L 'https://api.drugbankplus.com/v1/drugs/DB00316/packages' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only select packages shown):

[
    {
        "package_ndc_code": "21695-0242-90",
        "description": "90 in 1 BOTTLE",
        "amount": "90",
        "unit": "1",
        "form": "BOTTLE",
        "product": {
            "ndc_product_code": "21695-0242",
            "name": "Acetaminophen and Codeine Phosphate"
        }
    },
    {
        "package_ndc_code": "62022-0711-50",
        "description": "1000 in 1 BOTTLE",
        "amount": "1000",
        "unit": "1",
        "form": "BOTTLE",
        "product": {
            "ndc_product_code": "62022-0711",
            "name": "Codrix"
        }
    },
    {
        "package_ndc_code": "59702-0075-05",
        "description": "500 in 1 BOTTLE, PLASTIC",
        "amount": "500",
        "unit": "1",
        "form": "BOTTLE, PLASTIC",
        "product": {
            "ndc_product_code": "59702-0075",
            "name": "Hydrocodone Bitartrate and Acetaminophen"
        }
    }
]

This endpoint retrieves a list of top level packages for a drug, based on DrugBank ID. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/drugs/<ID>/packages

URL Parameters

Parameter Description
ID The DrugBank ID of the drug to retrieve the packages

Drug-Drug Interactions

Provide a list of products to get a list of interactions between the ingredients in specified products. The products can be specified by name or by product code.

The number of products that can be queried in a single query is limited to 40. These queries parameters can be sent as url parameters or as JSON in the body of a POST request.

Common Query Parameter Values

Return a list of drug interactions, including their references:

curl -L 'https://api.drugbankplus.com/v1/ddi?drugbank_id=DB01236,DB01363&include_references=true' 
-H 'Authorization: mytoken'

Interactions are listed with the interacting ingredient details first. references are listed at the bottom of each interaction, organized by type, and cited in the text by ref_id. The result looks like this:

{
  "interactions": [
    {
      "ingredient": {
        "drugbank_id": "DB01236",
        "name": "Sevoflurane"
      },
      "affected_ingredient": {
        "drugbank_id": "DB01363",
        "name": "Ephedra"
      },
      "description": "Sevoflurane may increase the arrhythmogenic activities of Ephedra.",
      "action": "increase_specific_effects",
      "severity": "major",
      "subject_dosage": "all",
      "affected_dosage": "all",
      "evidence_level": 1,
      "references": {
        "literature_references": [
          {
            "ref_id": "A35071",
            "pubmed_id": 18941968,
            "citation": "Himmel HM: Mechanisms involved in cardiac sensitization by volatile anesthetics: general applicability to halogenated hydrocarbons? Crit Rev Toxicol. 2008;38(9):773-803. doi: 10.1080/10408440802237664 ."
          }
        ],
        "textbooks": [],
        "external_links": [
          {
            "ref_id": "L3650",
            "title": "National Institutes of Health: FDA Prohibits Sales of Dietary Supplements Containing Ephedra",
            "url": "https://ods.od.nih.gov/Health_Information/ephedra.aspx"
          },
          {
            "ref_id": "L3651",
            "title": "National Centre for Complementary and Integrative Health: Ephedra Factsheet",
            "url": "https://nccih.nih.gov/health/ephedra"
          }
        ],
        "attachments": [
          {
            "ref_id": "F648",
            "title": "European Food Safety Authority: Scientific Opinion on Safety Evaluation of Ephedra Species for use in Food",
            "url": "//s3-us-west-2.amazonaws.com/drugbank-stage/cite_this/attachments/files/000/000/648/original/j.efsa.2013.3467.pdf?1531845562"
          }
        ]
      }
    }
  ],
  "total_results": 1
}

For any interaction query the parameters listed in the table below can be used:

Parameter Default Description
severity null Limits results by the severity of the interactions. May be major, moderate, or minor.
include_references false If true, includes the references for each interaction.

An explanation of some of the interaction properties:

Property Type Description
severity string The severity of this drug interaction; either minor, moderate, or major.
action string The resulting effect of this interaction on the pharmacological activity of the drug.
evidence_level integer 1: Mentioned in the the drug monograph (FDA, Health Canada, EMA, etc) and has been confirmed in clinical studies (cohort, case-control, case study etc.)
2: Has been confirmed in at least 1 cohort, case-control, or case study and may or not be mentioned in a drug monograph.

Find DDI with NDC product codes

Return a list of drug interactions involving the products with the NDC codes 66715-9833 and 0002-7140:

curl -L 'https://api.drugbankplus.com/v1/ddi?ndc=66715-9833,0002-7140&severity=minor' 
-H 'Authorization: mytoken'

The interacting ingredients in each product are identified by name and DrugBank identifier. The result looks like:

{
  "interactions": [
    {
      "product_ndc_codes": [
        "66715-9833"
      ],
      "product_name": "7-Select Advil PM",
      "product_ingredient": {
        "drugbank_id": "DB01050",
        "name": "Ibuprofen"
      },
      "affected_product_ndc_code": [
        "00002-7140"
      ],
      "affected_product_name": "Reopro",
      "affected_product_ingredient": {
        "drugbank_id": "DB00054",
        "name": "Abciximab"
      },
      "description": "The risk or severity of bleeding and hemorrhage can be increased when Ibuprofen is combined with Abciximab.",
      "severity": "minor",
      "subject_dosage": "all",
      "affected_dosage": "all",
      "evidence_level": 2
    }
  ],
  "total_results": 1
}

HTTP Request

GET https://api.drugbankplus.com/v1/us/ddi

Query Parameters

Parameter Description
ndc A comma delimited list of NDC codes

To search by the NDC product code the NDC codes should be joined with a comma, and not include any quotations. Only the 2 segment NDC code is accepted at this time. The NDC product code will not work if searching exclusively within the ca or eu region.

Find DDI with Drug Product ID

Return a list of drug interactions involving the products with the DPD IDs 02265974 and 02237455:

curl -L 'https://api.drugbankplus.com/v1/ddi?dpd=02265974,02237455' 
-H 'Authorization: mytoken'

The interacting ingredients in each product are identified by name and DrugBank identifier. The result looks like:

{
  "interactions": [
    {
      "product_dpd_ids": [
        "02265974"
      ],
      "product_name": "Sevoflurane",
      "product_ingredient": {
        "drugbank_id": "DB01236",
        "name": "Sevoflurane"
      },
      "affected_product_dpd_id": [
        "02237455"
      ],
      "affected_product_name": "Congest-ease",
      "affected_product_ingredient": {
        "drugbank_id": "DB01363",
        "name": "Ephedra"
      },
      "description": "Sevoflurane may increase the arrhythmogenic activities of Ephedra.",
      "action": "increase_specific_effects",
      "severity": "major",
      "subject_dosage": "all",
      "affected_dosage": "all",
      "evidence_level": 1
    }
  ],
  "total_results": 1
}

HTTP Request

GET https://api.drugbankplus.com/v1/ca/ddi

Query Parameters

Parameter Description
dpd A comma delimited list of DPD IDs

To search by Drug Product ID the DPD IDs should be joined with a comma, and not include any quotations. The DPD ID will not work if searching exclusively within the us or eu region.

Find DDI with EMA product code

Return a list of drug interactions involving the products with the EMA product codes EMEA/H/C/003870 and EMEA-H-C-000521:

curl -L 'https://api.drugbankplus.com/v1/ddi?ema=EMEA/H/C/003870,EMEA-H-C-000521' 
-H 'Authorization: mytoken'

The interacting ingredients in each product are identified by name and DrugBank identifier. The result looks like:

{
  "interactions": [
    {
      "product_ema_product_codes": [
        "EMEA/H/C/000521"
      ],
      "product_name": "Lysodren",
      "product_ingredient": {
        "drugbank_id": "DB00648",
        "name": "Mitotane"
      },
      "affected_product_ema_product_code": [
        "EMEA/H/C/003870"
      ],
      "affected_product_name": "Hetlioz",
      "affected_product_ingredient": {
        "drugbank_id": "DB09071",
        "name": "Tasimelteon"
      },
      "description": "The metabolism of Tasimelteon can be increased when combined with Mitotane.",
      "action": "increase_dynamics",
      "severity": "major",
      "subject_dosage": "all",
      "affected_dosage": "all",
      "evidence_level": 2
    }
  ],
  "total_results": 1
}

HTTP Request

GET https://api.drugbankplus.com/v1/eu/ddi

Query Parameters

Parameter Description
ema A comma delimited list of EMA product codes

To search by EMA product code the EMA codes should be joined with a comma, and not include any quotations. Dashes may be used in the place of slashes within the query codes. The EMA code will not work if searching exclusively within the us or ca region.

Find DDI with EMA MA number

Return a list of drug interactions involving the products with the EMA MA numbers EU/1/15/1008/001 and EU/1/04/273/001:

curl -L 'https://api.drugbankplus.com/v1/ddi?ema_ma=EU/1/15/1008/001,EU/1/04/273/001' 
-H 'Authorization: mytoken'

The interacting ingredients in each product are identified by name and DrugBank identifier. The result looks like:

{
  "interactions": [
    {
      "product_ema_ma_numbers": [
        "EU/1/04/273/001"
      ],
      "product_name": "Lysodren",
      "product_ingredient": {
        "drugbank_id": "DB00648",
        "name": "Mitotane"
      },
      "affected_product_ema_ma_number": [
        "EU/1/15/1008/001"
      ],
      "affected_product_name": "Hetlioz",
      "affected_product_ingredient": {
        "drugbank_id": "DB09071",
        "name": "Tasimelteon"
      },
      "description": "The metabolism of Tasimelteon can be increased when combined with Mitotane.",
      "action": "increase_dynamics",
      "severity": "major",
      "subject_dosage": "all",
      "affected_dosage": "all",
      "evidence_level": 2
    }
  ],
  "total_results": 1
}

HTTP Request

GET https://api.drugbankplus.com/v1/eu/ddi

Query Parameters

Parameter Description
ema_ma A comma delimited list of EMA MA numbers

To search by EMA MA number the EMA MA numbers should be joined with a comma, and not include any quotations. Dashes may be used in the place of slashes within the query codes. The EMA MA number will not work if searching exclusively within the us or ca region.

Find DDI with Product concepts

Return a list of drug interactions involving the Product concepts with the DrugBank IDs DBPC0248838 and DBPC0061207:

curl -L 'https://api.drugbankplus.com/v1/ddi?product_concept_id=DBPC0248838,DBPC0061207' 
-H 'Authorization: mytoken'

The interacting ingredients in each product are identified by name and DrugBank identifier. The result looks like:

{
  "interactions": [
    {
      "product_concept_id": "DBPC0061207",
      "product_concept_name": "Methylphenidate 18 mg Tablet, extended release",
      "product_ingredient": {
        "drugbank_id": "DB00422",
        "name": "Methylphenidate"
      },
      "affected_product_concept_id": "DBPC0248838",
      "affected_product_concept_name": "Isoflurane 100 % /1.0 [Forane]",
      "affected_product_ingredient": {
        "drugbank_id": "DB00753",
        "name": "Isoflurane"
      },
      "description": "Methylphenidate may increase the hypertensive activities of Isoflurane.",
      "action": "increase_specific_effects",
      "severity": "major",
      "subject_dosage": "all",
      "affected_dosage": "all",
      "evidence_level": 1
    }
  ],
  "total_results": 1
}

HTTP Request

GET https://api.drugbankplus.com/v1/ddi

Query Parameters

Parameter Description
product_concept_id A comma delimited list of DrugBank Product concept IDs

To search by Product concept the Product concept IDs should be joined with a comma, and not include any quotations.

Find DDI with DrugBank ID

Return a list of drug interactions involving drug ingredients with the DrugBank IDs DB09034 and DB00615:

curl -L 'https://api.drugbankplus.com/v1/ddi?drugbank_id=DB09034,DB00615' 
-H 'Authorization: mytoken'

The interacting ingredients in each product are identified by name and DrugBank identifier. The result looks like:

{
  "interactions": [
    {
      "ingredient": {
        "drugbank_id": "DB00648",
        "name": "Mitotane"
      },
      "affected_ingredient": {
        "drugbank_id": "DB09071",
        "name": "Tasimelteon"
      },
      "description": "The metabolism of Suvorexant can be increased when combined with Rifabutin.",
      "action": "increase_dynamics",
      "severity": "minor",
      "subject_dosage": "all",
      "affected_dosage": "all",
      "evidence_level": 2
    }
  ],
  "total_results": 1
}

HTTP Request

GET https://api.drugbankplus.com/v1/ddi

Query Parameters

Parameter Description
drugbank_id A comma delimited list of DrugBank drug IDs

To search by DrugBank ID the DrugBank IDs should be joined with a comma, and not include any quotations.

Find DDI with Name

Return a list of drug interactions involving the products with the products named: advil, Reopro, Eliquis and 7-select Advil PM.

curl -L -X POST "https://api.drugbankplus.com/v1/ddi" \
-H "Content-Type: application/json" \
-H 'Authorization: mytoken' \
-H "Cache-Control: no-cache" -d '{
  "names": [
    "advil",
    "Reopro",
    "Eliquis",
    "7-select Advil PM"
  ]
}'

The above command returns the interactions associated with the product specified by the product name (only the first two are shown).

{
  "interactions": [
    {
      "product_name": "Advil",
      "product_ingredient": {
        "drugbank_id": "DB01050",
        "name": "Ibuprofen"
      },
      "affected_product_name": "Reopro",
      "affected_product_ingredient": {
        "drugbank_id": "DB00054",
        "name": "Abciximab"
      },
      "description": "The risk or severity of bleeding and hemorrhage can be increased when Ibuprofen is combined with Abciximab.",
      "action": "increase_specific_adverse_effects",
      "severity": "minor",
      "subject_dosage": "all",
      "affected_dosage": "all",
      "evidence_level": 2
    },
    {
      "product_name": "Advil",
      "product_ingredient": {
        "drugbank_id": "DB01050",
        "name": "Ibuprofen"
      },
      "affected_product_name": "Eliquis",
      "affected_product_ingredient": {
        "drugbank_id": "DB06605",
        "name": "Apixaban"
      },
      "description": "The serum concentration of Apixaban can be increased when it is combined with Ibuprofen.",
      "action": "increase_serum_concentration",
      "severity": "moderate",
      "subject_dosage": "all",
      "affected_dosage": "all",
      "evidence_level": 2
    }
    "..."
  ],
  "total_results": 5
}

HTTP Request

POST https://api.drugbankplus.com/v1/us/ddi

Request Body

To search for drug-drug interactions by drug product name JSON specifying the request should be included in the body of the request. The format of the request should follow the structure of the following example:

{"names": ["advil","Reopro","Eliquis","7-select Advil PM"]}

The API finds the product with the closest match to the input name, and returns any interactions between ingredients for all the products in the product list.

Indications

DrugBank’s structured indications provide a method of describing the uses of a drugs. Documentation is available for the indication and condition JSON objects.

Common Query Parameter Values

When specified, the parameters listed in the table below can be used with the following values:

Parameter Value Description
more null No effect - indications are returned based solely on the names of conditions
more specific Include indications for more specific forms of the conditions matching the q parameter
more general Include indications for more general forms of the conditions matching the q parameter
off_label null No effect - indications will be returned regardless of off_label value
off_label false Only labelled indications will be returned
off_label true Only off-label indications will be returned
kind blank Indications will be returned regardless of kind attribute
kind single value Example: kind=treatment_of Only indications for which the kind attribute is “treatment_of” will be returned
kind comma-delimted values Example: kind=treatment_of,management_of Only indications for which the kind attribute matches the provided values will be returned
otc_use null No effect - indications will be returned regardless of otc_use value
otc_use true Only indications for which the otc_use attribute is true will be returned
otc_use false Only indications for which the otc_use attribute is false will be returned

Search indications

curl -L 'https://api.drugbankplus.com/v1/indications?q=arthritis' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

[{
  "drug": {
    "name": "Triamcinolone",
    "drugbank_id": "DB00620"
  },
  "off_label": false,
  "otc_use": false,
  "kind": "symptomatic_treatment_of",
  "condition": {
    "name": "Rheumatoid arthritis",
    "meddra_id": "llt/10039073",
    "icd10_id": "c/M06.9"
  }
}]

This endpoint searches for conditions, and then returns indications related to those conditions. Documentation is available for the indication and condition JSON objects.

This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/indications

Query Parameters

Parameter Default Description
q “” Text used to search conditions by name.
more null Determines how to broaden the condition search results. The original results will be included regardless of the value of this parameter.
off_label null Limits results by the value of the off_label attribute of the indications.
otc_use null Limits results by the value of the otc_use attribute of the indications.
kind null Limits results by the value of the kind attribute of the indications.
curl -L 'https://api.drugbankplus.com/v1/ca/indications/drugs' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

[{
  "drugbank_id": "DB00316",
  "name": "Acetaminophen",
  "description": "Acetaminophen, also known as paracetamol, is ...",
  "synonyms": ["..."],
  "pharmacology": {
    "indication_descripton": "For temporary relief of fever, minor aches, and pains.",
    "pharmacodynamic_description": "Acetaminophen (USAN) or Paracetamol (INN) is a ...",
    "mechanism_of_action_description": "Acetaminophen is thought to act primarily in the ...",
    "absorption": "Rapid and almost complete",
    "protein_binding": "25%",
    "volume_of_distribution": [],
    "clearance": [],
    "half_life": "1 to 4 hours",
    "route_of_elimination": "Approximately 80% of acetaminophen is ...",
    "toxicity_description": "Oral, mouse: LD50 = 338 mg/kg; Oral, rat: LD50 = 1944 mg/kg. Acetaminophen is ..."
  },
  "food_interactions": [
    "Avoid alcohol (may increase risk of hepatotoxicity).",
    "Take without regard to meals."
  ],
  "identifiers": {
    "drugbank_id": "DB00316",
    "inchi": "InChI=1S/C8H9NO2/c1-6(10)9-7-2-4-8(11)5-3-7/h2-5,11H,1H3,(H,9,10)",
    "inchikey": "InChIKey=RZVAJINKPMORJF-UHFFFAOYSA-N"
  },
  "therapeutic_categories": [
    {
      "drugbank_id": "DBCAT003661",
      "name": "Miscellaneous Analgesics and Antipyretics",
      "mesh_id": null,
      "mesh_tree_numbers": [],
      "atc_code": null,
      "atc_level": null,
      "synonyms": [],
      "description": null
    }
  ]
}]

This endpoint retrieves drugs based on a search of conditions and related indications. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/ca/indications/drugs

This endpoint supports pagination.

URL Parameters

Parameter Default Description
q “” Text used to search conditions by name.
more null Determines how to broaden the condition search results. The original results will be included regardless of the value of this parameter.
off_label null Limits results by the value of the off_label attribute of the indications.
otc_use null Limits results by the value of the otc_use attribute of the indications.
kind null Limits results by the value of the kind attribute of the indications.

Example: Search indications by condition and more specific forms

HTTP Request

GET /v1/indications?q=autoimmune+disorders&more=specific

curl -L 'https://api.drugbankplus.com/v1/ca/indications/drugs?q=autoimmune+disorders&more=specific' 
-H 'Authorization: mytoken'

Gets indications for items that match the search term, as well as any more specific terms. For instance, this could match indications for ‘autoimmune disorders’, as well as 'rheumatoid arthritis’, 'Celiac disease’, etc..

Conditions

Common Query Parameter Values

When specified, the parameters listed in the table below can be used with the following values:

Parameter Value Description
more null No effect - indications are returned based solely on the names of conditions
more specific Include indications for more specific forms of the conditions matching the q parameter
more general Include indications for more general forms of the conditions matching the q parameter

Search conditions

curl -L 'https://api.drugbankplus.com/v1/ca/conditions?q=arthritis' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

[{
    "name": "Rheumatoid arthritis",
    "drugbank_id": "DBCOND00006",
    "meddra_id": "llt/10039073",
    "icd10_id": "c/M06.9"
}]

This endpoint searches for conditions, and then returns indications related to those conditions. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/ca/conditions

Query Parameters

Parameter Default Description
q “” Text used to search conditions by name.
more null Determines how to broaden the condition search results. The original results will be included regardless of the value of this parameter.
exact false Determines how text results are matched. exact=true will not include partial matches such as ‘Rheumatoid Arthritis’ for the query 'arthritis’.

Get a condition

curl -L 'https://api.drugbankplus.com/v1/ca/conditions/DBCOND0015777' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this: (note that parts of the result have been removed for brevity)

{
  "name": "Gout",
  "drugbank_id": "DBCOND0015777",
  "meddra_id": "llt/10018628",
  "icd10_id": "c/M10",
  "more_general": [
    {
      "name": "Crystal arthropathic disorders",
      "drugbank_id": "DBCOND0026249",
      "meddra_id": "hlt/10011505"
    },
    {
      "name": "Joint disorders",
      "drugbank_id": "DBCOND0027653",
      "meddra_id": "hlgt/10023213",
      "icd10_id": "c/M25.9"
    },
  ],
  "more_specific": [
    {
      "name": "Gout Acute",
      "drugbank_id": "DBCOND0050879",
      "meddra_id": "llt/10018628",
      "icd10_id": "c/M10"
    },
    {
      "name": "Gout flare",
      "drugbank_id": "DBCOND0023047",
      "meddra_id": "llt/10064900",
      "icd10_id": "c/M10"
    },
  ],
  "indications": [
    {
      "kind": "adjunct_therapy_in_treatment_of",
      "off_label": false,
      "otc_use": false,
      "drug": {
        "name": "Tetracosactide",
        "drugbank_id": "DB01284"
      },
      "regions": "Canada",
      "condition": {
        "name": "Acute Gout",
        "drugbank_id": "DBCOND0031122",
        "meddra_id": "llt/10018628",
        "icd10_id": "c/M10"
      }
    },
  ]
}

URL Parameters

Parameter Description
ID The ID of the condition to retrieve

Get indications linked to a condition

curl -L 'https://api.drugbankplus.com/v1/ca/conditions/DBCOND0015777/indications' 
-H 'Authorization: mytoken'

The above command returns data structured like this: (note that parts of the result have been removed for brevity)

[
  {
    "kind": "treatment_of",
    "off_label": false,
    "otc_use": false,
    "drug": {
      "name": "Sulfinpyrazone",
      "drugbank_id": "DB01138"
    },
    "regions": "Canada",
    "condition": {
      "name": "Hyperuricemia",
      "drugbank_id": "DBCOND0004938",
      "meddra_id": "pt/10020903"
    },
    "condition_associated_with": [
      {
        "name": "Gout",
        "drugbank_id": "DBCOND0015777",
        "meddra_id": "llt/10018628",
        "icd10_id": "c/M10"
      }
    ]
  }
]

This endpoint retrieves indications linked to a condition.

HTTP Request

GET https://api.drugbankplus.com/v1/ca/conditions/<ID>/indications

URL Parameters

Parameter Description
ID The ID of the condition to retrieve

Query Parameters

Parameter Default Description
more null Determines how to broaden the condition search results. The original results will be included regardless of the value of this parameter.
off_label null Limits results by the value of the off_label attribute of the indications.
otc_use null Limits results by the value of the otc_use attribute of the indications.
kind null Limits results by the value of the kind attribute of the indications.

This endpoint supports pagination.

Get product concepts linked to a condition

curl -L 'https://api.drugbankplus.com/v1/ca/conditions/DBCOND0015777/product_concepts' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only first product concept shown):

[
  {
    "name": "Probenecid",
    "display_name": null,
    "drugbank_pcid": "DBPC0023657",
    "brand": null,
    "level": 1,
    "route": null,
    "form": null,
    "regions": {
      "us": true,
      "canada": true,
      "eu": false
    },
    "rxnorm_concepts": [
      {
        "name": "PROBENECID",
        "RXCUI": "8698"
      }
    ],
    "ingredients": [
      {
        "name": "Probenecid",
        "drug": {
          "name": "Probenecid",
          "drugbank_id": "DB01032"
        }
      }
    ]
  }
]

This endpoint retrieves product concepts linked to a condition.

HTTP Request

GET https://api.drugbankplus.com/v1/us/condition/<ID>/product_concepts

URL Parameters

Parameter Description
ID The ID of the condition to retrieve

Query Parameters

Parameter Default Description
more null Determines how to broaden the condition search results. The original results will be included regardless of the value of this parameter.
off_label null Limits results by the value of the off_label attribute of the indications used to find product concepts.
otc_use null Limits results by the value of the otc_use attribute of the indications used to find product concepts.
kind null Limits results by the value of the kind attribute of the indications used to find product concepts.
level The product concept level to filter by (optional).
min_level The minimum product concept level to return (optional).
min_level The maximum product concept level to return (optional).
unbranded_only false If true, returns only product concepts without an associated brand.

Get drugs linked to a condition via indications

curl -L 'https://api.drugbankplus.com/v1/ca/conditions/DBCOND0012160/drugs' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this: (note that parts of the result have been removed for brevity)

[
  {
    "drugbank_id": "DB00316",
    "name": "Acetaminophen",
    "description": "Acetaminophen, also known as paracetamol, is ...",
    "synonyms": ["..."],
    "pharmacology": {
      "indication_descripton": "For temporary relief of fever, minor aches, and pains.",
      "pharmacodynamic_description": "Acetaminophen (USAN) or Paracetamol (INN) is a ...",
      "mechanism_of_action_description": "Acetaminophen is thought to act primarily in the ...",
      "absorption": "Rapid and almost complete",
      "protein_binding": "25%",
      "volume_of_distribution": [],
      "clearance": [],
      "half_life": "1 to 4 hours",
      "route_of_elimination": "Approximately 80% of acetaminophen is ...",
      "toxicity_description": "Oral, mouse: LD50 = 338 mg/kg; Oral, rat: LD50 = 1944 mg/kg. Acetaminophen is ..."
    },
    "food_interactions": [
      "Avoid alcohol (may increase risk of hepatotoxicity).",
      "Take without regard to meals."
    ],
    "identifiers": {
      "drugbank_id": "DB00316",
      "inchi": "InChI=1S/C8H9NO2/c1-6(10)9-7-2-4-8(11)5-3-7/h2-5,11H,1H3,(H,9,10)",
      "inchikey": "InChIKey=RZVAJINKPMORJF-UHFFFAOYSA-N"
    },
    "therapeutic_categories": [
      {
        "drugbank_id": "DBCAT003661",
        "name": "Miscellaneous Analgesics and Antipyretics",
        "mesh_id": null,
        "mesh_tree_numbers": [],
        "atc_code": null,
        "atc_level": null,
        "synonyms": [],
        "description": null
      }
    ]
  }
]

This endpoint retrieves drugs linked to a condition via indications.

HTTP Request

GET https://api.drugbankplus.com/v1/ca/conditions/<ID>/drugs

URL Parameters

Parameter Description
ID The ID of the condition to retrieve

Query Parameters

Parameter Default Description
more null Determines how to broaden the condition search results. The original results will be included regardless of the value of this parameter.
off_label null Limits results by the value of the off_label attribute of the indications used to find drugs.
otc_use null Limits results by the value of the otc_use attribute of the indications used to find drugs.
kind null Limits results by the value of the kind attribute of the indications used to find drugs.

Get more general forms of a condition

curl -L 'https://api.drugbankplus.com/v1/ca/conditions/DBCOND0015777/general' 
-H 'Authorization: mytoken'

The above command returns data structured like this: (note that parts of the result have been removed for brevity)

[
  {
    "name": "Crystal arthropathic disorders",
    "drugbank_id": "DBCOND0026249",
    "meddra_id": "hlt/10011505"
  },
  {
    "name": "Joint disorders",
    "drugbank_id": "DBCOND0027653",
    "meddra_id": "hlgt/10023213",
    "icd10_id": "c/M25.9"
  }
]

This endpoint retrieves more general forms of a condition.

HTTP Request

GET https://api.drugbankplus.com/v1/ca/conditions/<ID>/general

URL Parameters

Parameter Description
ID The ID of the condition to retrieve

Get more specific forms of a condition

curl -L 'https://api.drugbankplus.com/v1/ca/conditions/DBCOND0015777/specific' 
-H 'Authorization: mytoken'

The above command returns data structured like this: (note that parts of the result have been removed for brevity)

[
  {
    "name": "Gout Acute",
    "drugbank_id": "DBCOND0050879",
    "meddra_id": "llt/10018628",
    "icd10_id": "c/M10"
  },
  {
    "name": "Gout flare",
    "drugbank_id": "DBCOND0023047",
    "meddra_id": "llt/10064900",
    "icd10_id": "c/M10"
  },
  {
    "name": "Gout attack",
    "drugbank_id": "DBCOND0024280",
    "meddra_id": "llt/10018634",
    "icd10_id": "c/M10",
    "modification_of": {
      "base": {
        "name": "Gouty Arthritis",
        "drugbank_id": "DBCOND0052747",
        "meddra_id": "llt/10018634",
        "icd10_id": "c/M10"
      },
      "severity": {
        "includes": [
          "acute"
        ],
        "excludes": []
      }
    }
  }
]

This endpoint retrieves more specific forms of a condition.

HTTP Request

GET https://api.drugbankplus.com/v1/ca/conditions/<ID>/specific

URL Parameters

Parameter Description
ID The ID of the condition to retrieve
curl -L 'https://api.drugbankplus.com/v1/ca/conditions/DBCOND0023821/references' 
-H 'Authorization: mytoken'

The above command returns data structured like this: (note that parts of the result have been removed for brevity)

[
  {
    "name": "Inflammations",
    "drugbank_id": "DBCOND0024686",
    "meddra_id": "hlt/10021950"
  },
  {
    "name": "Pain",
    "drugbank_id": "DBCOND0012160",
    "meddra_id": "llt/10033371",
    "icd10_id": "c/R52"
  }
]

This endpoint retrieves related condtions.

HTTP Request

GET https://api.drugbankplus.com/v1/ca/conditions/<ID>/references

URL Parameters

Parameter Description
ID The ID of the condition to retrieve

Categories

Common Category Query Parameter Values

When specified, the parameters listed in the table below can be used with the following values:

Parameter Value Description
include_children blank No effect
include_children 1, 2 or 3 Include nested children to a depth of 1, 2, or 3
include_parents blank No effect
include_parents 1, 2 or 3 Include nested parents to a depth of 1, 2, or 3
tree blank or all Include children/parents from any hierarchy
tree atc Include children/parents from the ATC hierarchy
tree mesh Include children/parents from the MeSH hierarchy

To limit the amount of data included, parent/child inclusion only goes outward from the categories being shown. I.E. include_parents=all&include_children=all will show all children and all parents of a category, not all children and all parents of all categories related categories. In other words, "parents": [] will not include "children": [] and vice-versa.

ATC and MeSH identifiers

Categories with equivalent entries in ATC and MeSH can be accessed by the identifiers used in ATC and MeSH, in addition to the DrugBank id assigned to those categories. In most cases below, examples of requests by ATC or MeSH identifier will be given without the response, as this would be the regardless of which identifier is used.

View Category

curl -L 'https://api.drugbankplus.com/v1/ca/categories/DBCAT001220' 
-H 'Authorization: mytoken'
{
    "drugbank_id": "DBCAT001220",
    "alternate_drugbank_ids": [],
    "mesh_identifier": "D015122",
    "mesh_tree_numbers": [
        "D27.505.519.389.745"
    ],

    "atc_code": "L01BB02",
    "atc_level": 5,
    "categorization_kinds": [
        "therapeutic",
        "pharmacological",
        "indexing"
    ],
    "title": "6-Mercaptopurine",
    "synonyms": [
        "1,7-Dihydro-6H-purine-6-thione",
        "6 Mercaptopurine",
        "6 Mercaptopurine Monohydrate"
    ],
    "description": "An antimetabolite ...... "
}

This endpoint retrieves a specific category based on DrugBank ID.

HTTP Request

GET https://api.drugbankplus.com/v1/us/categories/<ID>

GET https://api.drugbankplus.com/v1/us/categories/atc/<ATC_CODE>

GET https://api.drugbankplus.com/v1/us/categories/mesh/<MESH_ID>

URL Parameters

Parameter Description
ID The DrugBank ID of the category
ATC_CODE The ATC Code of the category
MESH_ID The unique MeSH identifier of the category

View Category by ATC code

curl -L 'https://api.drugbankplus.com/v1/ca/categories/atc/L01BB01' 
-H 'Authorization: mytoken'
{
    "drugbank_id": "DBCAT001220",
    "alternate_drugbank_ids": [],
    "mesh_identifier": "D015122",
    "mesh_tree_numbers": [
        "D27.505.519.389.745"
    ],

    "atc_code": "L01BB02",
    "atc_level": 5,
    "categorization_kinds": [
        "therapeutic",
        "pharmacological",
        "indexing"
    ],
    "title": "6-Mercaptopurine",
    "synonyms": [
        "1,7-Dihydro-6H-purine-6-thione",
        "6 Mercaptopurine",
        "6 Mercaptopurine Monohydrate"
    ],
    "description": "An antimetabolite ...... "
}

This endpoint retrieves a specific category based on ATC Code.

HTTP Requests

GET https://api.drugbankplus.com/v1/us/categories/<ID>/parents

GET https://api.drugbankplus.com/v1/us/categories/atc/<ATC_CODE>/parents

GET https://api.drugbankplus.com/v1/us/categories/mesh/<MESH_ID>/parents

URL Parameters

Parameter Description
ID The DrugBank ID of the category to retrieve the parent categories
ATC_CODE The ATC Code of the category to retrieve the parent categories
MESH_ID The unique MeSH identifier of the category to retrieve the parent categories

View Category by MeSH Unique ID

curl -L 'https://api.drugbankplus.com/v1/ca/categories/mesh/D015122' 
-H 'Authorization: mytoken'
{
    "drugbank_id": "DBCAT001220",
    "alternate_drugbank_ids": [],
    "mesh_identifier": "D015122",
    "mesh_tree_numbers": [
        "D27.505.519.389.745"
    ],
    "categorization_kinds": [
        "indexing"
    ],
    "atc_code": "L01BB02",
    "atc_level": 5,
    "categorization_kinds": [
        "indexing"
    ],
    "title": "6-Mercaptopurine",
    "synonyms": [
        "1,7-Dihydro-6H-purine-6-thione",
        "6 Mercaptopurine",
        "6 Mercaptopurine Monohydrate"
    ],
    "description": "An antimetabolite ...... "
}

This endpoint retrieves a specific category based on MeSH Unique Identifier.

HTTP Requests

GET https://api.drugbankplus.com/v1/us/categories/mesh/<MESH_ID>/parents

URL Parameters

Parameter Description
MESH_ID The unique MeSH identifier of the category to retrieve the parent categories

View Parents of a Category

curl -L 'https://api.drugbankplus.com/v1/ca/categories/DBCAT001220/parents?tree=mesh&include_parents=3' 
-H 'Authorization: mytoken'

Returns an array of categories which are parents of the specified category. Accepts the tree parameter to limit relationships. By default this will return all parents.

Note that in the example output, only the mesh_identifier and parents keys are shown, to illustrate the effect of providing an include_parents=3 parameter.

This endpoint supports pagination.

[
  {
    "mesh_identifier": "D045504",
    "parents": [
      {
          "mesh_identifier": "D045504",
          "parents": [
              {
                  "mesh_identifier": "D020228",
                  "parents": [
                      { "mesh_identifier": "D27" },
                  ]
              },
          ]
      },
    ]
  }
]
curl -L 'https://api.drugbankplus.com/v1/ca/categories/mesh/D004791/parents' 
-H 'Authorization: mytoken'
curl -L 'https://api.drugbankplus.com/v1/ca/categories/atc/A01/parents' 
-H 'Authorization: mytoken'

HTTP Requests

GET https://api.drugbankplus.com/v1/us/categories/atc/<ATC_CODE>/parents

URL Parameters

Parameter Description
ATC_CODE The ATC Code of the category to retrieve the parent categories

View Children of a Category

Returns an array of categories which are children of the specified category. Accepts the tree parameter to limit relationships. By default this will return all parents.

This endpoint supports pagination.

curl -L 'https://api.drugbankplus.com/v1/ca/categories/DBCAT002118/children?tree=atc' 
-H 'Authorization: mytoken'
[
  {
    "drugbank_id": "DBCAT000230",
    "name": "Vitamins",
    "mesh_id": "D014815",
    "mesh_tree_numbers": [
      "D27.505.696.377.605.600",
      "G07.203.300.631.600",
      "J02.500.631.600"
    ],
    "atc_code": "A11",
    "atc_level": 2,
    "categorization_kinds": [
      "pharmacological",
      "indexing"
    ],
    "synonyms": [
      "Vitamin"
    ],
    "description": "Organic substances that are required in small amounts for maintenance and growth, but which cannot be manufactured by the human body."
  },
  {
    "drugbank_id": "DBCAT000780",
    "name": "Appetite Stimulants",
    "mesh_id": "D019167",
    "mesh_tree_numbers": [
      "D27.505.696.282.050",
      "D27.505.954.427.220.050"
    ],
    "atc_code": "A15",
    "atc_level": 2,
    "categorization_kinds": [
      "indexing"
    ],
    "synonyms": [
      "Appetite Stimulating Drugs",
      "Appetite-Stimulating Drugs",
      "Drugs, Appetite-Stimulating",
      "Stimulants, Appetite"
    ],
    "description": "Agents that are used to stimulate appetite. These drugs are frequently used to treat anorexia associated with cancer and AIDS."
  }
]
curl -L 'https://api.drugbankplus.com/v1/ca/categories/mesh/D045504/children' 
-H 'Authorization: mytoken'
curl -L 'https://api.drugbankplus.com/v1/ca/categories/atc/A/children' 
-H 'Authorization: mytoken'

HTTP Requests

GET https://api.drugbankplus.com/v1/us/categories/<ID>/children

GET https://api.drugbankplus.com/v1/us/categories/atc/<ATC_CODE>/children

GET https://api.drugbankplus.com/v1/us/categories/mesh/<MESH_ID>/children

URL Parameters

Parameter Description
ID The DrugBank ID of the category to retrieve the child categories
ATC_CODE The ATC Code of the category to retrieve the child categories
MESH_ID The unique MeSH identifier of the category to retrieve the child categories

Get Drugs in a Category

Returns all drugs in this category.

This endpoint supports pagination.

curl -L 'https://api.drugbankplus.com/v1/ca/categories/DBCAT001220/drugs' 
-H 'Authorization: mytoken'
[
    {
          "drugbank_id": "DB00993", "name": "Azathioprine", "description": "An immunosuppressive antimetabolite pro-drug. It is an imidazolyl derivative of 6-mercaptopurine and many of its biological effects are similar to those of the parent compound. Azathioprine is converted into 6-mercaptopurine in the body where it blocks purine metabolism and DNA synthesis.",
          "synonyms": [
            "6-((1-Methyl-4-nitro-1H-imidazol-5-yl)thio)-1H-purine",
            "6-(1'-Methyl-4'-nitro-5'-imidazolyl)-mercaptopurine",
            "Imuran (tn)"
          ],
          "pharmacology": {
            "indication_descripton": "For use in rheumatoid arthritis, preventing renal transplant rejection, Crohn's disease, and colitis.",
            "pharmacodynamic_description": "Azathioprine is a chemotherapy drug, now rarely used for chemotherapy but more for immunosuppression in organ transplantation and autoimmune disease such as rheumatoid arthritis or inflammatory bowel disease or Crohn's disease. It is a pro-drug, converted in the body to the active metabolite 6-mercaptopurine. Azathioprine acts to inhibit purine synthesis necessary for the proliferation of cells, especially leukocytes and lymphocytes. It is a safe and effective drug used alone in certain autoimmune diseases, or in combination with other immunosuppressants in organ transplantation. Its most severe side effect is bone marrow suppression, and it should not be given in conjunction with purine analogues such as allopurinol. The enzyme thiopurine S-methyltransferase (TPMT) deactivates 6-mercaptopurine. Genetic polymorphisms of TPMT can lead to excessive drug toxicity, thus assay of serum TPMT may be useful to prevent this complication.",
            "mechanism_of_action_description": "Azathioprine antagonizes purine metabolism and may inhibit synthesis of DNA, RNA, and proteins. It may also interfere with cellular metabolism and inhibit mitosis. Its mechanism of action is likely due to incorporation of thiopurine analogues into the DNA structure, causing chain termination and cytotoxicity.",
            "absorption": "Well absorbed following oral administration.",
            "protein_binding": "Azathioprine and the metabolite mercaptopurine are moderately bound to serum proteins (30%).",
            "volume_of_distribution": [],
            "clearance": [],
            "half_life": "",
            "route_of_elimination": "Both compounds are rapidly eliminated from blood and are oxidized or methylated in erythrocytes and liver; no azathioprine or mercaptopurine is detectable in urine after 8 hours. ",
            "toxicity_description": "The oral LD<sub>50</sub> for single doses of azathioprine in mice and rats are 2500 mg/kg and 400 mg/kg, respectively. Very large doses of this antimetabolite may lead to marrow hypoplasia, bleeding, infection, and death."
          },
          "identifiers": {
            "drugbank_id": "DB00993",
            "inchi": "InChI=1S/C9H7N7O2S/c1-15-4-14-7(16(17)18)9(15)19-8-5-6(11-2-10-5)12-3-13-8/h2-4H,1H3,(H,10,11,12,13)",
            "inchikey": "LMEKQMALGUDUQG-UHFFFAOYSA-N"
          },
          "therapeutic_categories": []
        }
]
curl -L 'https://api.drugbankplus.com/v1/ca/categories/atc/L01BB01/drugs' 
-H 'Authorization: mytoken'
curl -L 'https://api.drugbankplus.com/v1/ca/categories/mesh/D015122/drugs' 
-H 'Authorization: mytoken'

HTTP Requests

GET https://api.drugbankplus.com/v1/us/categories/<ID>/drugs

GET https://api.drugbankplus.com/v1/us/categories/atc/<ATC_CODE>/drugs

GET https://api.drugbankplus.com/v1/us/categories/mesh/<MESH_ID>/drugs

URL Parameters

Parameter Description
ID The DrugBank ID of the category to retrieve the linked drugs
ATC_CODE The ATC Code of the category to retrieve the linked drugs
MESH_ID The unique MeSH identifier of the category to retrieve the linked drugs

Category Names / Autocomplete

This endpoint returns a list of categories suitable for use with autocomplete forms, for quickly finding the right categories.

This endpoint supports pagination.

curl -L 'https://api.drugbankplus.com/v1/category_names?q=antimetabolites' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this (only the first result shown):

{
  "categories": [
    {
      "hits": [
        {
          "field": "name",
          "value": "<em>Antimetabolites</em>, Antineoplastic"
        },
        {
          "field": "synonyms",
          "value": "Antineoplastic <em>Antimetabolites</em>"
        }
      ],
      "drugbank_id": "DBCAT000685",
      "name": "Antimetabolites, Antineoplastic",
      "mesh_id": "D000964",
      "mesh_tree_numbers": [
        "D27.505.519.186.144",
        "D27.505.954.248.144",
        "D27.888.569.042.030"
      ],
      "atc_code": null,
      "atc_level": null,
      "categorization_kinds": [
        "indexing"
      ],
      "synonyms": [
        "Antineoplastic Antimetabolites"
      ],
      "description": "Antimetabolites that are useful in cancer chemotherapy."
    },
    {
      "hits": [
        {
          "field": "name",
          "value": "<em>Antimetabolites</em>"
        }
      ],
      "drugbank_id": "DBCAT000276",
      "name": "Antimetabolites",
      "mesh_id": "D000963",
      "mesh_tree_numbers": [
        "D27.505.519.186",
        "D27.888.569.042"
      ],
      "atc_code": "L01B",
      "atc_level": 3,
      "categorization_kinds": [
        "therapeutic",
        "indexing"
      ],
      "synonyms": [],
      "description": "Drugs that are chemically similar to naturally occurring metabolites, but differ enough to interfere with normal metabolic pathways. (From AMA Drug Evaluations Annual, 1994, p2033)"
    }
  ]
}

HTTP Request

GET https://api.drugbankplus.com/v1/us/category_names

Query Parameters

Parameter Default Description
q null The string you want to search with.
fuzzy false If set to true, enable fuzzy search (see fuzzy searching below)

Notice the hits array returned in the results. The hits contain highlighted snippets from the match. You can use these highlights in autocomplete applications. The matching part of the text is wrapped in an <em> tag, which you can style as you wish in your application.

Fuzzy Searching

This example demonstrates a misspelling of “Antimetabolite”, with fuzzy search enabled you will still get a result (try it yourself!).

curl -L 'https://api.drugbankplus.com/v1/category_names?q=aantimetabolites&fuzzy=true' 
-H 'Authorization: mytoken'

Fuzzy searching allows for misspellings, but is not enabled by default, you must set fuzzy=true. By setting fuzzy=true you are telling the API to allow a certain number of misspellings to still count as a match (defaults to 2). You can also pass a number of misspellings in to increase the likelyhood of a match (for example, fuzzy=4 will allow 4 misspelled letters).

Adverse Effects

Common Query Parameter Values

When specified, the parameters listed in the table below can be used with the following values:

Parameter Value Description
more null No effect - adverse effects are returned based solely on the names of conditions
more specific Include adverse effects for more specific forms of the conditions matching the q parameter
more general Include adverse effects for more general forms of the conditions matching the q parameter

Search adverse effects

curl -L 'https://api.drugbankplus.com/v1/us/adverse_effects?q=cardiac' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

[
  {
    "drug": {
      "name": "Cilazapril",
      "drugbank_id": "DB01340"
    },
    "evidence_type": [
      "clinical_trial"
    ],
    "regions": "US",
    "age_groups": [
      "unspecified"
    ],
    "incidences": [
      {
        "kind": "experimental",
        "percent": "<1%"
      }
    ],
    "effect": {
      "name": "Myalgia",
      "drugbank_id": "DBCOND0002210",
      "meddra_id": "llt/10028411",
      "icd10_id": "c/M79.1"
    },
    "patient_characteristics": [
      {
        "name": "Congestive Heart Failure",
        "drugbank_id": "DBCOND0029751",
        "meddra_id": "llt/10010684",
        "icd10_id": "c/I50.9"
      }
    ]
  }
]

This endpoint searches for conditions, and then returns adverse effects related to those conditions. This endpoint supports pagination.

HTTP Request

GET https://api.drugbankplus.com/v1/us/adverse_effects

Query Parameters

Parameter Default Description
q “” Text used to search conditions by name.
more null Determines how to broaden the condition search results. The original results will be included regardless of the value of this parameter.
exact false Determines how text results are matched. exact=true will not include partial matches such as ‘Rheumatoid Arthritis’ for the query 'arthritis’.

Get drugs linked to an adverse effect condition

curl -L 'https://api.drugbankplus.com/v1/us/adverse_effects/DBCOND0020133/drugs' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this: (note that parts of the result have been removed for brevity)

[
  {
    "drugbank_id": "DB01624",
    "name": "Zuclopenthixol",
    "description": "Zuclopenthixol, also known as  ...",
    "synonyms": ["..."],
    "pharmacology": {
      "indication_descripton": "Used in the management of acute psychoses such as ...",
      "pharmacodynamic_description": "Zuclopenthixol is a thioxanthene with therapeutic actions  ...",
      "mechanism_of_action_description": "Zuclopenthixol is a typical antipsychotic neuroleptic drug ...",
      "absorption": "Upon reaching the body water phase, the ...",
      "protein_binding": "98-99%",
      "volume_of_distribution": ["20 L/kg."],
      "clearance": ["approximately 0.9 L/min."],
      "half_life": "20 hours (range 12-28 hours) ...",
      "route_of_elimination": "Primarily in the feces with approximately 10% in the urine.",
      "toxicity_description": "Although there have not been any cases of overdosage reported ..."
    },
    "food_interactions": [],
    "identifiers": {
      "drugbank_id": "DB01624",
      "inchi": "InChI=1S/C22H25ClN2OS/c23-17-7-8-22-20(16-17)18(19-4-1-2-6-21(19)27-22)5-3-9-24-10-12-25(13-11-24)14-15-26/h1-2,4-8,16,26H,3,9-15H2/b18-5-",
      "inchikey": "WFPIAZLQTJBIFN-DVZOWYKESA-N"
    },
    "therapeutic_categories": [
      {
        "drugbank_id": "DBCAT001167",
        "name": "Thioxanthenes",
        "mesh_id": "D013892",
        "mesh_tree_numbers": [
          "D02.886.952",
          "D03.494.953.704"
        ],
        "atc_code": null,
        "atc_level": null,
        "synonyms": [],
        "description": "Compounds with three aromatic rings in linear arrangement with a SULFUR in the center ring."
      }
    ]
  }
]

This endpoint retrieves drugs linked to a condition via adverse effects.

HTTP Request

GET https://api.drugbankplus.com/v1/us/adverse_effects/<ID>/drugs

URL Parameters

Parameter Description
ID The ID of the condition to retrieve

Query Parameters

Parameter Default Description
more null Determines how to broaden the condition search results. The original results will be included regardless of the value of this parameter.

Get products linked to an adverse effect condition

curl -L 'https://api.drugbankplus.com/v1/us/adverse_effects/DBCOND0020133/products' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this: (note that parts of the result have been removed for brevity)

[
  {
    "ndc_product_code": "00024-0222",
    "dpd_id": null,
    "ema_product_code": null,
    "ema_ma_number": null,
    "name": "Eligard",
    "started_marketing_on": "2002-01-23",
    "ended_marketing_on": "2016-10-13",
    "approved_on": null,
    "schedule": null,
    "dosage_form": "Kit",
    "route": "",
    "application_number": "NDA021379",
    "generic": false,
    "otc": false,
    "approved": true,
    "country": "US",
    "mixture": false,
    "ingredients": [
      {
        "name": "Leuprolide",
        "drugbank_id": "DB00007",
        "strength": {
          "number": null,
          "unit": null
        }
      }
    ],
    "therapeutic_categories": [
      {
        "drugbank_id": "DBCAT000024",
        "name": "Antineoplastic Agents",
        "mesh_id": "D000970",
        "mesh_tree_numbers": [
          "D27.505.954.248"
        ],
        "atc_code": "L01",
        "atc_level": 2,
        "synonyms": [
          "Agents, Anticancer",
          "..."
        ],
        "description": "Substances that inhibit or prevent the proliferation of NEOPLASMS."
      }
    ],
    "labeller": {
        "name": "Sanofi Aventis"
    },
    "images": []
  }
]

This endpoint retrieves products linked to a condition via adverse effects.

HTTP Request

GET https://api.drugbankplus.com/v1/us/adverse_effects/<ID>/products

URL Parameters

Parameter Description
ID The ID of the condition to retrieve

Query Parameters

Parameter Default Description
more null Determines how to broaden the condition search results. The original results will be included regardless of the value of this parameter.

Packages

Get a specific U.S. package

curl -L 'https://api.drugbankplus.com/v1/us/packages/50580-111-08' 
-H 'Authorization: mytoken'

The above command returns JSON structured like this:

{
    "package_ndc_code": "50580-0111-08",
    "description": "240 mL in 1 BOTTLE, PLASTIC",
    "amount": "240",
    "unit": "mL",
    "form": "BOTTLE, PLASTIC",
    "for_product": {
        "ndc_product_code": "50580-0111",
        "name": "Tylenol Extra Strength",
        "active_ingredients": [
            {
                "name": "Acetaminophen",
                "unii": "362O9ITL9D",
                "strength_number": "500",
                "strength_unit": "mg/15mL"
            }
        ],
        "inactive_ingredients": [
            {
                "name": "anhydrous citric acid",
                "unii": "XF417D3PSL",
                "strength_number": null,
                "strength_unit": null
            },
            {
                "name": "D&C Red NO. 33",
                "unii": "9DBA0SBB0L",
                "strength_number": null,
                "strength_unit": null
            }
            "..."
        ]
    },
    "packaging_tree": [
        {
            "package_ndc_code": "50580-0111-08",
            "description": "240 mL in 1 BOTTLE, PLASTIC",
            "amount": "240",
            "unit": "mL",
            "form": "BOTTLE, PLASTIC"
        }
    ]
}

Some packages contain multiple levels, shown in the packaging_tree attribute:

{
    "package_ndc_code": "75834-0130-84",
    "description": "28 in 1 BLISTER PACK",
    "amount": "28",
    "unit": "1",
    "form": "BLISTER PACK",
    "for_product": {
      "name": "..."
    },
    "packaging_tree": [
        {
            "package_ndc_code": "75834-0130-29",
            "description": "3 in 1 CARTON",
            "amount": "3",
            "unit": "1",
            "form": "CARTON",
            "content": {
                "package_ndc_code": "75834-0130-84",
                "description": "28 in 1 BLISTER PACK",
                "amount": "28",
                "unit": "1",
                "form": "BLISTER PACK"
            }
        }
    ]
}

Some packages are kits containing multiple parts. In this case the returning JSON will contain a parts array:

{
    "package_ndc_code": "68405-0018-06",
    "description": "1 in 1 KIT",
    "amount": "1",
    "unit": "1",
    "form": "KIT",
    "for_product": {
        "name": "..."
    },
    "parts": [
        {
            "number": 1,
            "ndc_product_code": "52959-0190",
            "name": "NAPROXEN",
            "route": "ORAL",
            "amount": "60",
            "unit": "1",
            "dosage_form": "TABLET",
            "marketing_category": "ANDA",
            "application_number": "ANDA075927",
            "packaging_tree": [
                {
                    "package_ndc_code": "52959-0190-30",
                    "description": "60 in 1 BOTTLE",
                    "amount": "60",
                    "unit": "1",
                    "form": "BOTTLE"
                }
            ],
            "active_ingredients": [
                {
                    "name": "NAPROXEN",
                    "unii": "57Y76R9ATQ",
                    "strength_number": "250",
                    "strength_unit": "mg/1"
                }
            ],
            "inactive_ingredients": [
                {
                    "name": "CROSCARMELLOSE SODIUM",
                    "unii": "M28OL1HH48",
                    "strength_number": null,
                    "strength_unit": null
                },
                {
                    "name": "POVIDONE",
                    "unii": "FZ989GH94E",
                    "strength_number": null,
                    "strength_unit": null
                },
                {
                    "name": "MAGNESIUM STEARATE",
                    "unii": "70097M6I30",
                    "strength_number": null,
                    "strength_unit": null
                }
            ]
        },
        {
            "number": 2,
            "ndc_product_code": null,
            "name": "Theramine",
            "route": "ORAL",
            "amount": "90",
            "unit": "1",
            "dosage_form": "CAPSULE",
            "marketing_category": "MEDICAL FOOD",
            "application_number": null,
            "packaging_tree": [
                {
                    "package_ndc_code": null,
                    "description": "90 in 1 BOTTLE",
                    "amount": "90",
                    "unit": "1",
                    "form": "BOTTLE"
                }
            ],
            "active_ingredients": [
                {
                    "name": ".GAMMA.-AMINOBUTYRIC ACID",
                    "unii": "2ACZ6IPC6I",
                    "strength_number": "100",
                    "strength_unit": "mg/1"
                }
            ],
            "inactive_ingredients": [
                {
                    "name": "MAGNESIUM STEARATE",
                    "unii": "70097M6I30",
                    "strength_number": null,
                    "strength_unit": null
                },
                {
                    "name": "CELLULOSE, MICROCRYSTALLINE",
                    "unii": "OP1R32D61U",
                    "strength_number": null,
                    "strength_unit": null
                },
                {
                    "name": "MALTODEXTRIN",
                    "unii": "7CVR7L4A2D",
                    "strength_number": null,
                    "strength_unit": null
                },
                {
                    "name": "GELATIN",
                    "unii": "2G86QN327L",
                    "strength_number": null,
                    "strength_unit": null
                }
            ]
        }
    ],
    "packaging_tree": [
        {
            "package_ndc_code": "68405-0018-06",
            "description": "1 in 1 KIT",
            "amount": "1",
            "unit": "1",
            "form": "KIT"
        }
    ]
}

A package that is found in kits will have a part_of array to reference the kits. Some packages are only found in kits; those packages will have a for_part attribute in place of the for_product attribute:

{
    "package_ndc_code": "52959-0190-30",
    "description": "60 in 1 BOTTLE",
    "amount": "60",
    "unit": "1",
    "form": "BOTTLE",
    "for_part": {
        "ndc_product_code": "52959-0190",
        "name": "NAPROXEN",
        "active_ingredients": [
            {
                "name": "NAPROXEN",
                "unii": "57Y76R9ATQ",
                "strength_number": "250",
                "strength_unit": "mg/1"
            }
        ],
        "inactive_ingredients": [
            {
                "name": "CROSCARMELLOSE SODIUM",
                "unii": "M28OL1HH48",
                "strength_number": null,
                "strength_unit": null
            },
            {
                "name": "POVIDONE",
                "unii": "FZ989GH94E",
                "strength_number": null,
                "strength_unit": null
            },
            {
                "name": "MAGNESIUM STEARATE",
                "unii": "70097M6I30",
                "strength_number": null,
                "strength_unit": null
            }
        ]
    },
    "packaging_tree": [
        {
            "package_ndc_code": "52959-0190-30",
            "description": "60 in 1 BOTTLE",
            "amount": "60",
            "unit": "1",
            "form": "BOTTLE"
        }
    ],
    "part_of": [
        {
            "package_ndc_code": "68405-0018-06",
            "description": "1 in 1 KIT",
            "product": {
                "ndc_product_code": "68405-0018",
                "name": "Theraproxen-90"
            }
        },
        {
            "package_ndc_code": "68405-0016-36",
            "description": "1 in 1 KIT",
            "product": {
                "ndc_product_code": "68405-0016",
                "name": "Trepoxen-250"
            }
        },
        {
            "package_ndc_code": "68405-0180-06",
            "description": "1 in 1 KIT",
            "product": {
                "ndc_product_code": "68405-0180",
                "name": "Theraproxen"
            }
        }
    ]
}

This endpoint retrieves a specific package based on NDC ID.

HTTP Request

GET https://api.drugbankplus.com/v1/us/products/<NDC_ID>

URL Parameters

Parameter Description
ID The NDC ID of the package to retrieve

API Versions

Accessing API versions

All previous versions of our API documentation are available:

Version Link Released
v0 https://docs.drugbankplus.com/v0 July, 2016
v1 https://docs.drugbankplus.com/v1 September, 2016 (Current)

You can access the latest version of the API docs using the base docs url:

https://docs.drugbankplus.com

This will redirect you to the newest version of the API.