fda_drug_approvals

Pack: openfda · Endpoint: https://gateway.pipeworx.io/openfda/mcp

Find FDA-approved drugs by brand name, active ingredient, or application number. To find generic versions of a drug, search by active ingredient using products.active_ingredients.name (NOT openfda.generic_name — that field only works in the label endpoint). IMPORTANT: drug names in the FDA database are stored in UPPERCASE — always pass ingredient and brand names in uppercase (e.g. “APIXABAN” not “apixaban”) or you will get 0 results. Returns approval status, sponsor, application number (ANDA = generic, NDA = brand), and application details. There is NO queryable “application_type” field — never add application_type:“ANDA” (it returns 0 results). To limit to generics, search by active ingredient and read the ANDA/NDA prefix on application_number in the results. This endpoint has NO indication/disease field — for “drugs approved to treat ” use fda_drug_labels (which searches indications_and_usage); an indication phrase passed here is silently ignored and matches by drug name only.

Parameters

NameTypeRequiredDescription
querystringyesOpenFDA drugsfda search query. Drug names MUST be UPPERCASE in quotes. To find all generics for a drug: ‘products.active_ingredients.name:“APIXABAN”’ (returns all ANDA + NDA approvals). By brand: ‘openfda.brand_name:“KEYTRUDA”’. By original submission: ‘submissions.submission_type:“ORIG”’. Do NOT use application_type (no such field — returns 0); ANDA vs NDA is read from the application_number prefix in the results, not filtered in the query. NOTE: use products.active_ingredients.name (not openfda.generic_name which is a label-API field and returns 0 here).
limitnumbernoNumber of results (1-100, default 10)

Example call

Arguments

{
  "query": "openfda.brand_name:\"KEYTRUDA\""
}

curl

curl -X POST https://gateway.pipeworx.io/openfda/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fda_drug_approvals","arguments":{"query":"openfda.brand_name:\"KEYTRUDA\""}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('fda_drug_approvals', {
  "query": "openfda.brand_name:\"KEYTRUDA\""
});

More examples

{
  "query": "products.active_ingredients.name:\"pembrolizumab\"",
  "limit": 20
}

Response shape

Always returns: total, results

FieldTypeDescription
totalnumberTotal count of matching FDA-approved drugs
resultsarrayArray of drug approval objects
Full JSON Schema
{
  "type": "object",
  "properties": {
    "total": {
      "type": "number",
      "description": "Total count of matching FDA-approved drugs"
    },
    "results": {
      "type": "array",
      "description": "Array of drug approval objects",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "total",
    "results"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "openfda": {
      "url": "https://gateway.pipeworx.io/openfda/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build August 8, 2026