For developers & businesses

Drug Licence Verification API

Verify any Indian drug licence from your own software. Send a licence number and its state; get back who holds it and whether it is valid today.

What one call returns

  • The licence number and form as the licensing authority holds it (Form 20, 21, 20B, 21B…)
  • Firm name and premises address
  • Valid-until date and days left to expiry
  • One validity verdict your code can branch on - see the table below
  • Cancellation details when the licensing authority has cancelled the licence
  • "not_found" only when the official records say so - an outage is always "unavailable"

Request

POST /v1/drug-licence/verify
X-API-Key: <your key>
Content-Type: application/json

{
  "licenceNumber": "20-123456",
  "stateCode": "MH"
}

Response (illustrative values)

{
  "status": "verified",
  "licence": {
    "number": "20-123456",
    "type": "Form 20",
    "validUntil": "2029-03-31",
    "validity": "active",
    "daysToExpiry": 924
  },
  "firm": {
    "name": "SAMPLE MEDICAL AND GENERAL STORES",
    "address": "Shop 4, Station Road, Pune 411001",
    "state": "Maharashtra",
    "stateCode": "MH"
  },
  "asOnDate": "2026-09-18"
}

What validity means

active
In force.
expiring_soon
In force, 90 days or fewer left - time to renew.
in_grace
Past its expiry date but inside the six-month window in which it can still be renewed.
expired
Past expiry and past the renewal window.
terminated
Cancelled or surrendered, per the licensing authority.
not_granted
The record is a rejected or withdrawn application, not a licence.
inactive
The register records the licence as not in force, without giving a reason. A weaker statement than terminated, which asserts a cause.
unknown
The state publishes no expiry date for this licence, so none is inferred. officialStatus carries the state's own word where it gives one.

Every answer has a status

verified
The licence was found. The body is the example above.
not_found
The official records hold no licence with this number in that state. Check the number for typing errors before treating it as a finding.
not_unique
The number is incomplete and fits more than one pharmacy. Send the full number as printed - no candidates are listed.
unavailable
The records could not be reached just now. Retry later - this is never a finding about the licence.

A malformed request gets an HTTP 4xx with a plain-English reason - for example when stateCode is missing. The full reference comes with your key.

Who it is for

Pharmacy ERP & billing software

Check a party's licence when it is created and before every invoice, inside the software your customers already use.

E-pharmacy & B2B marketplaces

Onboard sellers and buyers only after their drug licence checks out, and re-check them on a schedule.

Distributors & supply chains

Keep every buyer on your ledger licensed, so a lapsed retailer never becomes your compliance problem.

Hospitals & procurement

Confirm a vendor holds a valid licence before a purchase order goes out.

How to get access

  1. 1

    Email us

    Write to support@pharmamithra.com with your company, what you will use it for and a rough monthly volume.

  2. 2

    Get a test key and the tariff

    Within one working day we send a test key, the documentation and a tariff for your volume.

  3. 3

    Pay online

    Pay through Razorpay by UPI, card or net banking. A GST invoice is issued for every payment.

  4. 4

    Go live

    Your live key is switched on as soon as the payment is confirmed.

Questions

Which states does it cover?

The state drug licensing authorities listed on our coverage page. You send the licence number and the state that issued it.

How fast is an answer?

Most answers come back in one to two seconds.

How is it priced?

Prepaid, by monthly verification volume. Tell us your expected volume and we will send the tariff that fits it.

Is there a trial?

Yes. Every approved request gets a test key with a small number of checks, so you can integrate before you pay.

Can we download the whole licence database?

No. The API verifies the specific licences you ask about. If you need to screen a large party master, we do that as a separate service. Tell us about it.

Ready to integrate?

Email support@pharmamithra.com. We reply within one working day.

Live uptime and response times: API status.

Request API access