PharmEasy Medicines Search API
Search PharmEasy medicines and health products by name: each result's name, pack, active ingredients, whether it needs a prescription and its slug.
- 1 credit per call
- Failed calls are free
- Updated
- pharmeasy.search_medicines
{ "products": [ { "name": "Dolo 650Mg Strip Of 15 Tablets", "entity_type": 2, "is_medicine": true, "medicine_id": "44140", "prescription_required": false, "slug": "dolo-650mg-strip-of-15-tablets-44140", "subtitle": "15 Tablet(s) in Strip", "url": "https://pharmeasy.in/online-medicine-order/dolo-650mg-strip-of-15-tablets-44140", "active_ingredients": [ "PARACETAMOL / ACETAMINOPHEN" ] }, { "name": "Leemol 650Mg Strip Of 15 Tablets", "entity_type": 2, "is_medicine": true, "medicine_id": "188729", "prescription_required": false, "slug": "leemol-650mg-tablet-15-s-188729", "subtitle": "15 Tablet(s) in Strip", "url": "https://pharmeasy.in/online-medicine-order/leemol-650mg-tablet-15-s-188729", "active_ingredients": [ "PARACETAMOL / ACETAMINOPHEN" ] } ]}
| # | Name | Pack | Medicine | ID | Slug | Entity type | Prescription required | Url |
|---|---|---|---|---|---|---|---|---|
| 1 | Dolo 650Mg Strip Of 15 Tablets | 15 Tablet(s) in Strip | true | 44140 | dolo-650mg-strip-of-15-tablets-44140 | 2 | false | https://pharmeasy.in/online-medicine-order/dolo-650mg-strip-of-… |
| 2 | Leemol 650Mg Strip Of 15 Tablets | 15 Tablet(s) in Strip | true | 188729 | leemol-650mg-tablet-15-s-188729 | 2 | false | https://pharmeasy.in/online-medicine-order/leemol-650mg-tablet-… |
| 3 | Dolo 500Mg Strip Of 15 Tablets | 15 Tablet(s) in Strip | true | 19749 | dolo-500mg-tablet-19749 | 2 | false | https://pharmeasy.in/online-medicine-order/dolo-500mg-tablet-19… |
| 4 | Dolo 250Mg Bottle Of 60Ml Suspension | 60ml Suspension in Bottle | true | 44136 | dolo-250mg-susp-44136 | 2 | false | https://pharmeasy.in/online-medicine-order/dolo-250mg-susp-44136 |
| 5 | Dolo Bottle Of 15Ml Oral Drops | 15ml Oral Drop in Bottle | true | 19748 | dolo-drops-19748 | 2 | false | https://pharmeasy.in/online-medicine-order/dolo-drops-19748 |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| query | string | yes | A medicine or health product name, such as dolo. | dolo |
| limit | integer | no | How many products to return. | 5 |
| pincode | string | no | A six-digit Indian PIN code, for that delivery area. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| products[].name | string | The medicine or category name as PharmEasy shows it. | Dolo 650Mg Strip Of 15 Tablets |
| products[].subtitle | string | The pack size as PharmEasy shows it. | 15 Tablet(s) in Strip |
| products[].prescription_required | boolean | Whether a prescription is needed to order it. | false |
| products[].is_medicine | boolean | Whether the product is a medicine. | true |
| products[].medicine_id | string | PharmEasy's ID for the medicine; the details endpoint takes it. | 44140 |
| products[].slug | string | The name in its page address. | dolo-650mg-strip-of-15-tablets-44140 |
| products[].active_ingredients | array | The medicine's active ingredients. | PARACETAMOL / ACETAMINOPHEN |
| products[].entity_type | integer | 2 | |
| products[].url | string | The medicine's page on PharmEasy. | https://pharmeasy.in/online-medicine-order/dolo-650mg-strip-of-… |
| products | array | The products. | 5 records |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "pharmeasy.search_medicines", "input": { "limit": 5, "query": "dolo" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "pharmeasy.search_medicines", "input": { "limit": 5, "query": "dolo" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "pharmeasy.search_medicines", "input": { "limit": 5, "query": "dolo" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
Using Upscrape, search PharmEasy for dolo and list each product with its pack size, active ingredients and whether it needs a prescription.
More from the PharmEasy API
PharmEasy Medicines Search API FAQ
The short answers. The docs have the long ones.
How much does the PharmEasy Medicines Search API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send query. The input fields below list every option with its type and limits.
Do I need a PharmEasy login?
No. It reads public PharmEasy data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds pharmeasy.search_medicines, checks its price and runs it with the same credits as the REST API.
Your first PharmEasy call is free.
Up to 100 free credits to start, no card needed.