Tata 1mg Category Products API
Preview the first products of a Tata 1mg category, such as hair care, with prices and discounts.
- 1 credit per call
- Failed calls are free
- Updated
- tata-1mg.category.products
{ "end_page": 1, "has_more": false, "start_page": 1, "products": [ { "name": "Pilgrim 3% Redensyl, 4% Anagain & 5% Capilia Stem Cell Complex Advanced Hair Growth Serum 30 ml Serum", "price": 652, "mrp": 795, "availability": "available", "currency": "INR", "discount_percent": 18, "product_id": "988798" }, { "name": "FCL Anti Dandruff T-Shampoo | with Salicylic Acid | Scalp Psoriasis, Nourises Scalp 200 ml Shampoo", "price": 1191, "mrp": 1250, "availability": "available", "currency": "INR", "discount_percent": 5, "product_id": "462289" } ]}
| # | Name | Price | Mrp | Availability | Currency | Discount percent | Product id |
|---|---|---|---|---|---|---|---|
| 1 | Pilgrim 3% Redensyl, 4% Anagain & 5% Capilia Stem Cell Complex … | 652 | 795 | available | INR | 18 | 988798 |
| 2 | FCL Anti Dandruff T-Shampoo | with Salicylic Acid | Scalp Psori… | 1191 | 1250 | available | INR | 5 | 462289 |
| 3 | Centrum Healthy Hair Biotin+ with Biotin Vitamins & Minerals Gu… | 440 | 489 | available | INR | 10 | 893466 |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| category_url | string | yes | A Tata 1mg category page, such as https://www.1mg.com/categories/hair-care-20. | https://www.1mg.com/categories/hair-care-20 |
| limit | integer | no | How many products to return. | 20 |
| max_pages | integer | no | Keep at 1; later pages are not offered yet. | 1 |
| page | integer | no | The first page; later pages are not offered yet. | 1 |
| pincode | string | no | A six-digit Indian PIN code, for that delivery area. | 560001 |
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 product name as Tata 1mg shows it. | Pilgrim 3% Redensyl, 4% Anagain & 5% Capilia Stem Cell Complex … |
| products[].price | integer | The selling price, in the currency given. | 652 |
| products[].mrp | integer | The maximum retail price printed for the product. | 795 |
| products[].availability | string | Whether the product can be ordered now. | available |
| products[].currency | string | The currency code of the prices. | INR |
| products[].discount_percent | integer | The discount off the MRP, in percent. | 18 |
| products[].product_id | string | Tata 1mg's ID for the product; the product and reviews endpoints take it. | 988798 |
| end_page | integer | The last results page read in this call. | 1 |
| has_more | boolean | Whether more results follow. | false |
| products | array | The products. | 3 records |
| start_page | integer | The first results page read in this call. | 1 |
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": "tata-1mg.category.products", "input": { "category_url": "https://www.1mg.com/categories/hair-care-20", "limit": 20, "max_pages": 1, "page": 1, "pincode": "560001" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "tata-1mg.category.products", "input": { "category_url": "https://www.1mg.com/categories/hair-care-20", "limit": 20, "max_pages": 1, "page": 1, "pincode": "560001" }}''')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": "tata-1mg.category.products", "input": { "category_url": "https://www.1mg.com/categories/hair-care-20", "limit": 20, "max_pages": 1, "page": 1, "pincode": "560001" }}),});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
With Upscrape, get the Tata 1mg category products for https://www.1mg.com/categories/hair-care-20 and pincode "560001". Tell me what it costs before you run it, then show the results as a table.
More from the Tata 1mg API
The same data from other platforms
Tata 1mg Category Products API FAQ
The short answers. The docs have the long ones.
How much does the Tata 1mg Category Products 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 category_url. The input fields below list every option with its type and limits.
Do I need a Tata 1mg login?
No. It reads public Tata 1mg data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds tata-1mg.category.products, checks its price and runs it with the same credits as the REST API.
Your first Tata 1mg call is free.
Up to 100 free credits to start, no card needed.