Back to Home
Pharma & Controlled Substances API
DEA registration lookup, FDA drug search, shortages, and recalls
https://api.compliancegrid.ai/v1/pharma
13 endpoints
~45ms avg response
Overview
The Pharma & Controlled Substances API combines DEA registration verification with FDA drug data. Look up DEA registrations by number or search by name/state, validate DEA number checksums, and access drug schedule reference data. Integrates with the openFDA API for real-time drug NDC search, drug shortage tracking, and recall monitoring.
Key Features
DEA registration lookup by DEA number with checksum validation
DEA registration search by name, state, schedule, or business activity
DEA number format and checksum validation
FDA drug search via openFDA — search by brand name, generic name, or manufacturer
NDC (National Drug Code) lookup with detailed product information
Drug shortage tracking via openFDA with severity and status
Drug recall monitoring via openFDA with classification and reason
Reference data: DEA schedules (I-V) and business activity codes
Endpoints
GET
/v1/pharma/dea/lookup/:deaNumberPOST
/v1/pharma/dea/lookupPOST
/v1/pharma/dea/searchGET
/v1/pharma/dea/validate/:deaNumberGET
/v1/pharma/fda/drug/searchPOST
/v1/pharma/fda/drug/searchGET
/v1/pharma/fda/drug/ndc/:ndcGET
/v1/pharma/fda/shortagesPOST
/v1/pharma/fda/shortagesGET
/v1/pharma/fda/recallsPOST
/v1/pharma/fda/recallsGET
/v1/pharma/reference/dea-schedulesGET
/v1/pharma/reference/business-activitiesQuick Example
pharma-example.ts
// Validate and look up a DEA registration
const resp = await fetch(
"https://api.compliancegrid.ai/v1/pharma/dea/lookup/BJ1234563",
{ headers: { "Authorization": "Bearer " + process.env.CG_TOKEN } }
);
const dea = await resp.json();
console.log(dea.found); // true
console.log(dea.registration.registrantName);
console.log(dea.registration.schedules); // ["II", "IIN", "III"]
// Search FDA for drug recalls
const recalls = await fetch(
"https://api.compliancegrid.ai/v1/pharma/fda/recalls?q=metformin&limit=5",
{ headers: { "Authorization": "Bearer " + process.env.CG_TOKEN } }
);
const data = await recalls.json();
data.results.forEach(r => {
console.log(r.product_description, r.classification);
});Sample Response
response.json
{
"success": true,
"deaNumber": "BJ1234563",
"found": true,
"registration": {
"deaNumber": "BJ1234563",
"registrantName": "JOHNSON MEDICAL CENTER",
"address": "456 HOSPITAL DR",
"city": "CHICAGO",
"state": "IL",
"zip": "60601",
"businessActivity": "Hospital/Clinic",
"drugSchedules": ["II", "IIN", "III", "IIIN", "IV", "V"],
"expirationDate": "2027-03-31",
"registrationType": "Practitioner"
},
"dataSource": { "name": "ComplianceGrid DEA Registry" }
}