REFERENCE

List medicines

GET/v1/medicines

One page of medicines, in the order of their permanent number. Page through to the end to copy the whole database, or pass updated_since to get only what changed.

Requestcurl
curl -G https://api.oushodh.dev/v1/medicines \
  -d limit=1 \
  -H "Authorization: Bearer $OUSHODH_KEY"

Query parameters

All optional.
  • limitinteger
    Medicines on one page. 1 to 500. Default 100.
  • cursorstring
    The next value from the page before. Leave it out for the first page.
  • updated_sincetime
    Only medicines changed at or after this time, oldest change first. Written like 2026-11-08T09:30:00Z.
  • qstring
    Only medicines whose brand, generic or manufacturer starts with these words, or whose ID matches.

Response

A page of medicines.
  • itemslist
    The medicines on this page. Each is a medicine object; a value no source gives is null.
  • nextstring or null
    Pass it back as cursor for the next page. null on the last page.
  • totalinteger
    How many medicines match, across all pages.
Response200
{
  "items": [
    {
      "id": "MED-000001",
      "uuid": "01a1ba6f-f14b-7664-91f1-794f6db31599",
      "brand": "Blast",
      "product_name": "Blast 12.5 mg/5 ml Oral Solution",
      "strength": "12.5 mg/5 ml",
      "generic_name": "Bilastine",
      "dosage_form": "Oral Solution",
      "manufacturer": "General Pharmaceuticals Ltd.",
      "price": 140.0,
      "price_per": "unit",
      "last_updated": "2026-11-08T09:14:20Z",
      …
    }
  ],
  "next": "733a31",
  "total": 58937
}

Errors

Each error has a code and a message.
  • 400 bad_requestA bad parameter, such as limit=0, a time in another form, or a missing q.
  • 401 unauthorizedNo key, an unknown key or a revoked key. The answer never says which.
  • 403 plan_expiredThe key's account has no active plan.
  • 429 rate_limitedMore requests in a minute than the key's plan allows.
  • 429 quota_exceededThe plan's requests for this month are used up.
  • 500 internalA fault on our side. The details go to our log, not the answer.

Medicines are never deleted and IDs are never reused. Store each medicine's uuid as the key that never changes, and show its id to people.