Developer
One app, one developer- 50,000 requests a month
- 60 requests a minute per key
- 2 API keys
- All medicines, prices and DGDA links
Brands, generics, strengths, manufacturers and MRP for 58,937 medicines, checked against the DGDA register. One API for agencies and developers building pharmacy, clinic and health apps.
{
"id": "MED-012933",
"brand": "Napa",
"product_name": "Napa 500 mg Tablet",
"generic_name": "Paracetamol",
"manufacturer": "Beximco Pharmaceuticals PLC.",
"price": 12.0,
"price_per": "strip",
"dgda_listed": true
}{
"id": "MED-012933",
"uuid": "01a1ba6f-f4d6-7143-ac84-9376f520eef8",
"brand": "Napa",
"product_name": "Napa 500 mg Tablet",
"strength": "500 mg",
"generic_name": "Paracetamol",
"dosage_form": "Tablet",
"manufacturer": "Beximco Pharmaceuticals PLC.",
"price": 12.0,
"price_per": "strip",
"dgda_listed": true,
"medicine_type": "allopathic",
"last_updated": "2026-11-09T15:27:34Z"
}The DGDA register is the core. Other sources add prices and details on top, and each value keeps the source and date it came from.
A value no source gives is null. You never get a blank, a zero or an estimate in its place.
New medicines, DAR matches and changed prices wait for a person before they reach the API.
Oushodh describes medicines. It never suggests a dose or a treatment.
Fetch every medicine once, then ask only for what changed. Build it into a pharmacy POS, a clinic system or an app for many clients.
Pass updated_since and get the medicines changed since your last sync, oldest first.
Each client gets IDs in its own ID profile. A lookup by an old ID still finds the medicine.
A medicine is never removed and an ID never points to another medicine, so your copy never has to delete.
GET /v1/metaYour client, your ID profile, the medicine count and the time of the last importGET /v1/medicinesOne page of medicines. Page with cursor and limit (1 to 500)?updated_since=Only medicines changed at or after that time?q=Every match for a brand, generic, manufacturer or ID, in sync orderGET /v1/medicines/search?q=The best matches for someone typing a name, up to 50GET /v1/medicines/{ref}One medicine by any ID it has had, or its UUID| ENDPOINT | RETURNS |
|---|---|
| GET /v1/meta | Your client, your ID profile, the medicine count and the time of the last import |
| GET /v1/medicines | One page of medicines. Page with cursor and limit (1 to 500) |
| ?updated_since= | Only medicines changed at or after that time |
| ?q= | Every match for a brand, generic, manufacturer or ID, in sync order |
| GET /v1/medicines/search?q= | The best matches for someone typing a name, up to 50 |
| GET /v1/medicines/{ref} | One medicine by any ID it has had, or its UUID |
# Everything changed since your last sync curl -G "https://api.oushodh.dev/v1/medicines" \ -d "updated_since=2026-11-08T09:30:00Z" \ -H "Authorization: Bearer $OUSHODH_KEY" # One page back { "items": [ … ], "next": "733a31", "total": 58937 }Read the API docs
Every plan gets the same data and the same endpoints. Plans differ only in how many requests you make. Prices are in US dollars.
Ask about a plan, a custom volume, a partnership or the data itself. We reply by email.
To get an API key, create an account at app.oushodh.dev and choose a plan; you make your keys yourself. For a custom volume or a partnership, tell us what you are building.
Talk to us