Help Center/Compliance APIs

DEA registration validation

5 min read Updated February 6, 2026

Overview

The Drug Enforcement Administration (DEA) requires registration for entities that manufacture, distribute, or dispense controlled substances. ComplianceGrid's Pharma API lets you validate DEA registration numbers programmatically.

Validating a DEA Number

bash
curl -H "Authorization: Bearer $CG_TOKEN" \
  "https://api.compliancegrid.ai/v1/pharma/dea/lookup?registrationNumber=BJ1234563"

Response Fields

  • registrationNumber — The DEA number queried
  • registrantName — Registered entity name
  • statusACTIVE, EXPIRED, REVOKED, or SURRENDERED
  • expirationDate — When the registration expires
  • schedules — List of controlled substance schedules authorized
  • businessActivity — Type of activity (manufacturer, distributor, pharmacy, etc.)
  • address — Registered address

Checksum Validation

DEA numbers follow a specific checksum algorithm. Our API validates the checksum before querying the DEA database, returning an immediate 400 if the format is invalid. This saves you an unnecessary API call.

Use Cases

  • Supply chain verification — Confirm suppliers are authorized to handle controlled substances
  • Customer onboarding — Validate pharmacy or distributor DEA registrations during KYC
  • Periodic re-screening — Check that registrations haven't expired or been revoked
  • Audit compliance — Maintain records of DEA verification checks

Batch Validation

For verifying multiple DEA numbers at once, pass an array of registration numbers:

bash
curl -X POST https://api.compliancegrid.ai/v1/pharma/dea/lookup/batch \
  -H "Authorization: Bearer $CG_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"registrationNumbers": ["BJ1234563", "AB7654321", "FC9876543"]}'

Was this article helpful?