↑ ↓ to move ↵ to open
NPPA API · Endpoint

NPPA Brand Substitutes API

List other brands of the same composition, each with its MRP and how its per-unit price compares with this pack.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • nppa.brand.substitutes
Response completed
{  "brand": "DOLO",  "has_more": true,  "page": 1,  "sku": "DOLO 500 MG TABLET 15",  "total": 102,  "substitutes": [    {      "mrp": 188,      "brand": "PARACETAMOL (CADILA)",      "company": "CADILA PHARMACEUTICALS LTD",      "mrp_per_unit": 0.19,      "pack_size": "1000",      "price_month": "Aug-2026",      "relation": "80% cheaper"    },    {      "mrp": 209.91,      "brand": "MYPAR",      "company": "MOREPEN LABORATORIES LIMITED",      "mrp_per_unit": 0.21,      "pack_size": "1000",      "price_month": "Aug-2026",      "relation": "78% cheaper"    }  ]}
Try it live, free
Input

What you send

The input object of the request, with every field the endpoint accepts.

FieldTypeRequiredWhat it doesExample
brand string one of Brand name, used when no sku_id is known.
sku_id string one of The sku_id from nppa.search.brands or nppa.formulation.brands. 1521018101@84705@101124596@3755@101006@202166
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.
sku string no Exact sku name from a search. Required when the brand has more than one pack.
Response

Fields it returns

What each record in the response holds, with the values from the sample above.

FieldTypeExample
brand string DOLO
has_more boolean true
page integer 1
sku string DOLO 500 MG TABLET 15
substitutes array 3 records
substitutes[].brand string PARACETAMOL (CADILA)
substitutes[].company string CADILA PHARMACEUTICALS LTD
substitutes[].mrp integer 188
substitutes[].mrp_per_unit number 0.19
substitutes[].pack_size string 1000
substitutes[].price_month string Aug-2026
substitutes[].relation string 80% cheaper
total integer 102
REST API · MCP server

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": "nppa.brand.substitutes",  "input": {    "limit": 5,    "sku_id": "1521018101@84705@101124596@3755@101006@202166"  }}'
In your AI agent Claude · Cursor · any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

With Upscrape, get the NPPA brand substitutes for sku id "1521018101@84705@101124596@3755@101006@202166". Tell me what it costs before you run it, then show the results as a table.

The agent finds the endpoint, shows you the price, and runs it with your credits.
NPPA

More from the NPPA API

Same data, other platforms

The same data from other platforms

Questions

NPPA Brand Substitutes API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
How much does the NPPA Brand Substitutes API cost?

1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.

What do I send?

Every input is optional; the input fields below list what each one does.

Do I need a NPPA login?

No. It reads public NPPA data; nothing runs on your account.

Can my AI agent call it?

Yes, over MCP: the agent finds nppa.brand.substitutes, checks its price and runs it with the same credits as the REST API.

Get started

Your first NPPA call is free.

Up to 100 free credits to start, no card needed.