↑ ↓ to move ↵ to open
NPPA API reference

NPPA Brands Search

nppa.search.brands

Read every pack of one medicine brand: MRP, MRP per unit, the applicable ceiling price and price-control status.

At a glance

Endpoint ID
nppa.search.brands
Price
1 credit per call; failed calls are free
Runs for up to
90 seconds
Request
POST /execute
Run an endpoint
MCP tool when pinned
nppa__search__brands
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": "nppa.search.brands",  "input": {    "limit": 5,    "query": "DOLO",    "strength": "500 MG"  }}'

Input

FieldTypeRequiredWhat it doesExample
query string yes Brand name as NPPA lists it, for example "DOLO". An exact name ranks first, then a prefix, then any containment. DOLO
dosage_form string no Optional dosage form to keep, for example "TABLET". Pass "all" for no filter.
limit integer no Rows per page. From 1 to 100. Default: 20. 5
page integer no Page of matching rows to return, starting at 1. At least 1. Default: 1.
strength string no Optional strength to keep, for example "500 MG". Must match one of the strengths NPPA lists for the brand. Pass "all" for no filter. 500 MG

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
{  "has_more": false,  "matched_brand": "DOLO",  "page": 1,  "total": 1,  "items": [    {      "mrp": 14.17,      "brand": "DOLO",      "ceiling_price": 0.93,      "company": "MICRO LABS LTD",      "composition": "PARACETAMOL TABLET 500 MG",      "currency": "INR",      "dosage_form": "TABLET",      "mrp_per_unit": 0.94,      "pack_size": "15 TABLET",      "price_controlled": true,      "price_month": "Aug-2026",      "sku": "DOLO 500 MG TABLET 15",      "sku_id": "1521018101@84705@101124596@3755@101006@202166",      "source_url": "https://nppaipdms.gov.in/NPPA/rest/brandDataTableNew?brandId=101124596&dosageId=0&strengthId=0"    }  ]}

Fields

FieldTypeExample
items[].mrp number 14.17
items[].brand string DOLO
items[].ceiling_price number 0.93
items[].company string MICRO LABS LTD
items[].composition string PARACETAMOL TABLET 500 MG
items[].currency string INR
items[].dosage_form string TABLET
items[].mrp_per_unit number 0.94
items[].pack_size string 15 TABLET
items[].price_controlled boolean true
items[].price_month string Aug-2026
items[].sku string DOLO 500 MG TABLET 15
items[].sku_id string 1521018101@84705@101124596@3755@101006@202166
items[].source_url string https://nppaipdms.gov.in/NPPA/rest/brandDataTableNew?brandId=10…
has_more boolean false
items array 1 records
matched_brand string DOLO
page integer 1
total 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 NPPA endpoints

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