↑ ↓ to move ↵ to open
PharmEasy API reference

PharmEasy Category Products

pharmeasy.category.products

Walk a public PharmEasy category from a category id and return its products with their selling price and printed MRP.

At a glance

Endpoint ID
pharmeasy.category.products
Price
1 credit per call; failed calls are free
Runs for up to
45 seconds
Request
POST /execute
Run an endpoint
MCP tool when pinned
pharmeasy__category__products
Pin tools
OpenAPI
openapi.json
Download

Request

Send the endpoint ID as capability and its fields as input. Set UPSCRAPE_API_KEY to your key first.

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.category.products",  "input": {    "category_id": 93,    "max_pages": 1,    "page": 1  }}'

Input

FieldTypeRequiredWhat it doesExample
category_id integer yes A category id from pharmeasy.list_categories, including a child category from its groups. At least 1. 93
max_pages integer no How many listing pages to read forward from page. From 1 to 10. Default: 1. 1
page integer no Listing page to start from. Use it to resume a long category walk. From 1 to 100. Default: 1. 1
sort string no Result order: popularity (default), price low to high, price high to low, or discount. Allowed values: popularity, price_low, price_high, discount. Default: popularity. popularity · price_low · price_high · discount

Response

A finished call answers with HTTP 200; the data is in results[0].data, and billing.credits_charged is what it cost. A call still running after the wait answers 202: see jobs and results.

This is results[0].data from a real run:

results[0].data
{  "category_name": "Skin Care",  "category_url": "https://pharmeasy.in/health-care/skin-care-93",  "end_page": 1,  "has_more": true,  "start_page": 1,  "products": [    {      "name": "Everherb | Aloe Vera Juice With Pulp | Rejuvenates Skin & Hair | Bottle 1 Liter (By Pharmeasy)",      "price": 201.96,      "mrp": 374,      "availability": "available",      "currency": "INR",      "discount_percent": 46,      "manufacturer": "EVERHERB",      "prescription_required": false,      "product_id": "501051",      "slug": "everherb-aloe-vera-juice-with-pulp---rejuvenates-skin-hair---1-litre-bottle-501051",      "subtitle": "1l Juice in Bottle"    },    {      "name": "Ktein Derma Roller 0.5mm With 540 Titanium Needles For Hair Growth And Skin Renewal",      "price": 196,      "mrp": 199,      "availability": "available",      "currency": "INR",      "discount_percent": 2,      "manufacturer": "KTEIN",      "prescription_required": false,      "product_id": "4181753",      "slug": "ktein-derma-roller-0-5mm-with-540-titanium-needles-for-hair-growth-and-skin-renewal-4181753"    }  ]}

Fields

FieldTypeExample
products[].name string Everherb | Aloe Vera Juice With Pulp | Rejuvenates Skin & Hair …
products[].price number 201.96
products[].mrp integer 374
products[].availability string available
products[].currency string INR
products[].discount_percent integer 46
products[].manufacturer string EVERHERB
products[].prescription_required boolean false
products[].product_id string 501051
products[].slug string everherb-aloe-vera-juice-with-pulp---rejuvenates-skin-hair---1-…
products[].subtitle string 1l Juice in Bottle
category_name string Skin Care
category_url string https://pharmeasy.in/health-care/skin-care-93
end_page integer 1
has_more boolean true
products array 2 records
start_page integer 1

If a call fails

A failed call costs nothing. The response carries an error.code you can branch on; Errors and retries lists every code and which ones to retry.

Other PharmEasy endpoints

Something missing or unclear? Ask the team that builds the PharmEasy endpoints.