Skip to content

Egyptian Drug Prices API

The whole Egyptian drug catalogue as one well-formed JSON: dated, up-to-date prices; ingredients, companies and categories with normalised ids; alternatives; barcodes; and a delta feed that tells your system only what changed.

Example: one request updates an item
GET https://api.dwaprice.com/v1/drugs/by-barcode/6221051011317
Authorization: Bearer dp_live_…

{ "data": [ { "id": "congestal-20-tabs", "trade_name_ar": "كونجستال 20 قرص",
    "price": { "current": 50, "previous": 31, "unit_price": 2.5, "currency": "EGP",
               "effective_date": "2024-06-06", "verified": true },
    "company": { "id": "sigma", "name": "Sigma" }, "status": "listed", … } ] }

Coverage today

companies
3,535
ingredients
4,041

What you get

One Drug object per product and pack, with stable types: numbers are numbers, unknown is null, dates are ISO 8601.

What you get
idType: stringStable public id; a renamed product answers 301 to its new idcongestal-20-tabs
trade_name_en / trade_name_arType: string | nullTrade name in English and Arabicكونجستال 20 قرص
scientific_nameType: string | nullScientific/generic name as listedChlorpheniramine+paracetamol+…
ingredients[]Type: {id, name_en, name_ar, strength, atc_code}[]Active ingredients with strength and ATC code{"id":"paracetamol","strength":"650 mg"}
strengthType: string | nullStrength as listed650/4/60 mg
dosage_formType: {class, en, ar}Dosage form: a controlled class plus the listed text{"class":"tablet","ar":"قرص"}
routeType: enum | nullRoute of administration (controlled)oral
units_per_packageType: integer | nullUnits per pack20
price.currentType: number | nullCurrent price in EGP (a number, never a string)50
price.previousType: number | nullPrevious price31
price.unit_priceType: number | nullPrice per unit2.5
price.effective_dateType: date | nullDate of the price on the list2024-06-06
price.updated_atType: timestamp | nullWhen we recorded the current price (sync key)2026-10-21T14:02:00Z
price.verifiedType: booleanChecked against a published sourcetrue
barcodeType: string | nullEAN/GTIN6221051011317
companyType: {id, name} | nullNormalised marketing company{"id":"sigma","name":"Sigma"}
manufacturerType: {id, name} | nullManufacturer when differentnull
categoryType: {id, en, ar} | nullTherapeutic category as its own object{"id":"cold"}
atc_codesType: string[]Product-level ATC codes["N02BE01"]
prescription_statusType: enum | nullprescription / otc / not_applicableotc
statusType: enumMarker of the line on the price listlisted
updated_atType: timestampLast change of any field (for updated_since)2026-10-21T14:02:00Z
links.web_urlType: stringThe public drug pagehttps://dwaprice.com/dawa/…

Every field and endpoint: /api/en/docs

What sets this API apart

  • Delta feed

    GET /price-changes?since= returns only what changed: prices, statuses, new or removed products. A POS syncs the deltas instead of reloading the catalogue.

  • Price history

    Every recorded price of every product with its date; new changes are appended automatically.

  • Unit price

    Price per tablet, capsule or sachet to compare pack sizes.

  • Verified prices

    A verified flag (and date) on every price checked against a published source.

  • Alternatives

    GET /drugs/{id}/alternatives: same ingredients and strength, cheapest first, with the price difference.

  • Barcode lookup

    GET /drugs/by-barcode/{barcode} for the pharmacy scanner, plus typo-tolerant Arabic and English search.

Who it is for

  • Pharmacy POS / ERP

    An up-to-date price for every item at the till, daily delta sync, matching by barcode or price-list name.

  • Mobile apps

    Typo-tolerant Arabic search, cheaper-alternatives pages, data in Arabic and English.

  • E-commerce

    The full catalogue with strength, form, company and category, prices updated automatically.

  • Insurance / TPA

    Consistent claim pricing, the price at the dispensing date, lowest-cost alternatives.

  • Clinics and hospitals

    Prescription cost before writing it, same-ingredient alternatives, listing status.

Plans and pricing

Start with the keyless sample, then pick the plan for your volume. Enterprise includes a full database export (CSV/Excel/JSON) and webhooks on price changes.

  • Sample

    Free

    • Fixed set of 50 drugs, no key
    • change feed window: 7 days
    • Support: docs
  • Starter

    1,500 EGP / month

    • 60 requests / min
    • 50,000 requests / month
    • 2 keys
    • change feed window: 7 days
    • Support: email, 2 business days
  • Most popular

    Business

    6,000 EGP / month

    • 300 requests / min
    • 500,000 requests / month
    • 5 keys
    • change feed window: 90 days
    • Support: email, 1 business day
  • Enterprise

    from 20,000 EGP / month

    • 1,000 requests / min
    • 5,000,000 requests / month
    • 100 keys
    • change feed window: 365 days
    • Full export (CSV/Excel/JSON)
    • Webhooks on price changes
    • IP allowlist
    • Support: named contact, 4 h, 99.9% uptime

Billing is manual for now (bank transfer or Fawry) and recorded on your account; online payment is coming. Terms: /api/en/terms

FAQ

Where do the prices come from and how often are they updated?

We collect prices from the drug price lists published in Egypt and from manufacturers, and verify them against published sources. The database syncs every ten minutes and the API captures changes within minutes.

Is the free sample real data?

Yes: 50 real products with current prices, history and alternatives, in exactly the same shapes. The only difference from a paid key is the size of the catalogue.

How do I get a key?

Send an access request; we answer within one business day. Once activated you log in to the developer dashboard with your e-mail and create the key yourself; it is shown once and never stored.

What happens when I exceed my plan limits?

You get 429 with a Retry-After header. The per-minute limit resets every minute and the monthly quota on the first of the month; X-RateLimit and X-Quota headers on every response show what is left.

Can I download the whole database?

Yes, on the Enterprise plan: a full CSV or JSON export through a signed link valid for one hour, generated from the latest dataset version.

Do response shapes change?

We never rename or remove a field in /v1; we only add. Breaking changes ship in /v2 with /v1 kept for at least a year.

Does the API include clinical information or images?

No. The current version is catalogue and price data only: names, ingredients, forms, companies, categories, ATC codes, barcodes, prices with history, alternatives.

May I resell or republish the data?

No. The license covers use inside your product or organisation only; see the license terms.

Request access

Tell us about your use and we answer within one business day with your dashboard link.

Preferred contact
We answer within one business day. No marketing e-mail.

Or through the contact page. Technical terms: since, cursor, X-RateLimit-Remaining.