Pepperfry Category API
List a Pepperfry category, such as sofas, page by page: each product's title, price, MRP, discount and link.
- 1 credit per call
- Failed calls are free
- Updated
- pepperfry.catalog.category
{ "end_page": 1, "has_more": true, "start_page": 1, "listings": [ { "title": "Montez Velvet 3 Seater Sofa In Grey & Beige Colour", "price": 58999, "mrp": 79999, "currency": "INR", "discount_percent": 26, "page": 1, "position": 1, "product_id": "2134709", "url": "https://www.pepperfry.com/product/montez-velvet-3-seater-sofa-in-grey-beige-colour-2134709.html" }, { "title": "Petra Sheesham Wood 3 Seater Sofa In Blue Colour", "price": 50999, "mrp": 85999, "currency": "INR", "discount_percent": 40, "page": 1, "position": 2, "product_id": "2183553", "url": "https://www.pepperfry.com/product/finnmark-sheesham-wood-3-seater-sofa-in-provincial-teak-finish-2183553.html" } ]}
| # | Title | Price | MRP | Discount % | Product ID | Currency | Page | Position | Url |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Montez Velvet 3 Seater Sofa In Grey & Beige Colour | 58,999 | 79,999 | 26 | 2134709 | INR | 1 | 1 | https://www.pepperfry.com/product/montez-velvet-3-seater-sofa-i… |
| 2 | Petra Sheesham Wood 3 Seater Sofa In Blue Colour | 50,999 | 85,999 | 40 | 2183553 | INR | 1 | 2 | https://www.pepperfry.com/product/finnmark-sheesham-wood-3-seat… |
| 3 | Halo 3 Seater Sofa In Caramel Spice Colour | 57,999 | 74,749 | 22 | 2305819 | INR | 1 | 3 | https://www.pepperfry.com/product/halo-3-seater-sofa-in-caramel… |
| 4 | Moss 3 Seater Sofa In White Colour | 93,700 | 93,700 | 2315175 | INR | 1 | 4 | https://www.pepperfry.com/product/moss-3-seater-sofa-in-white-c… | |
| 5 | Luster Plus 3 Seater Sofa In Blue Colour | 2323655 | 1 | 5 | https://www.pepperfry.com/product/luster-plus-3-seater-sofa-in-… | ||||
| 6 | Bingo Fabric 3 Seater Sofa In Creamy Cashmere Colour | 2194288 | 1 | 6 | https://www.pepperfry.com/product/bingo-fabric-3-seater-sofa-in… | ||||
| 7 | Montez Velvet 3 Seater Sofa In Olive Clay Colour | 2302315 | 1 | 7 | https://www.pepperfry.com/product/montez-velvet-3-seater-sofa-i… | ||||
| 8 | Frejol Velvet 3 Seater Sofa In Teal Blue Colour | 2191644 | 1 | 8 | https://www.pepperfry.com/product/frejol-velvet-3-seater-sofa-i… | ||||
| 9 | Miranda Chenille Fabric 3 Seater Sofa In Beige Colour | 1745608 | 1 | 9 | https://www.pepperfry.com/product/miranda-fabric-3-seater-sofa-… | ||||
| 10 | Derby Velvet 2 Seater Sofa In Forest Green Colour | 2189493 | 1 | 10 | https://www.pepperfry.com/product/derby-velvet-2-seater-sofa-in… |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| category_path | string | yes | The category's path on pepperfry.com, such as /category/sofas.html. | /category/sofas.html |
| max_pages | integer | no | How many pages to read in this call. | 1 |
| page | integer | no | Which page to start from, starting at 1. | 1 |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| listings[].title | string | The product name as Pepperfry shows it. | Montez Velvet 3 Seater Sofa In Grey & Beige Colour |
| listings[].price | integer | The selling price, in the currency given. | 58,999 |
| listings[].mrp | integer | The maximum retail price printed for the product. | 79,999 |
| listings[].discount_percent | integer | The discount off the MRP, in percent. | 26 |
| listings[].product_id | string | Pepperfry's ID for the product; the product endpoint takes it. | 2134709 |
| listings[].currency | string | The currency code of the prices. | INR |
| listings[].page | integer | The results page the product appeared on. | 1 |
| listings[].position | integer | The product's place on the page, starting at 1. | 1 |
| listings[].url | string | The product's page on Pepperfry. | https://www.pepperfry.com/product/montez-velvet-3-seater-sofa-i… |
| end_page | integer | The last results page read in this call. | 1 |
| has_more | boolean | Whether more results follow. | true |
| listings | array | The products. | 20 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": "pepperfry.catalog.category", "input": { "category_path": "/category/sofas.html", "max_pages": 1, "page": 1 }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "pepperfry.catalog.category", "input": { "category_path": "/category/sofas.html", "max_pages": 1, "page": 1 }}''')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": "pepperfry.catalog.category", "input": { "category_path": "/category/sofas.html", "max_pages": 1, "page": 1 }}),});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, list Pepperfry's sofas and make a table of title, price, MRP and discount, biggest discount first.
More from the Pepperfry API
The same data from other platforms
Pepperfry Category API FAQ
The short answers. The docs have the long ones.
How much does the Pepperfry Category 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_path. The input fields below list every option with its type and limits.
Do I need a Pepperfry login?
No. It reads public Pepperfry data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds pepperfry.catalog.category, checks its price and runs it with the same credits as the REST API.
Your first Pepperfry call is free.
Up to 100 free credits to start, no card needed.