Blinkit Catalogue by Location avatar

Blinkit Catalogue by Location

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Blinkit Catalogue by Location

Blinkit Catalogue by Location

Every Blinkit product for a delivery location: category → subcategory → products with price, MRP, discount, live inventory count and sold-out state. Give it lat/lon (or pincode centroids) and get the whole store.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

AtTheRate AI

AtTheRate AI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Pulls the whole Blinkit storefront as a shopper at an Indian pincode sees it: every category, every subcategory, every product, with price, MRP, discount and the live inventory count the app shows. Blinkit runs on dark stores, so assortment and price differ street by street. Give it pincodes and get one complete catalogue per store.

What you get

  • Full tree walk: category, subcategory and their ids, with page and position so shelf order survives.
  • Real price economics per product: price, mrp, discount_percent and the promotional offer text.
  • Live stock depth, not just a boolean: inventory is the unit count Blinkit reports, alongside is_sold_out and product_state.
  • Store context on every row: merchant (the dark store name), merchant_id and locality.
  • Location honesty: a pincode with no store nearby is reported as a failed location and produces zero rows, never another city's catalogue relabelled.

Input

Give one or more Indian pincodes. Everything else narrows the crawl.

{
"pincodes": ["122002"],
"categoryFilter": ["milk"],
"maxSubcategoriesPerLocation": 1,
"delayMs": 2200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "IN"
},
"chainId": 1383
}
  • pincodes: 6-digit Indian pincodes, for example 122002.
  • categoryFilter: only top-level categories whose name contains one of these strings, case-insensitive. Empty means all.
  • maxSubcategoriesPerLocation: 0 means all. A Blinkit store carries around 350 subcategories.
  • proxyConfiguration: off by default. Residential country IN is recommended for more than one location per run.

Output

One row per product, per subcategory, per location. The run above returned 30 rows from a single subcategory.

{
"location_label": "Gurgaon-DLF",
"merchant": "Super Store Gurgaon Sector 12 ES174",
"merchant_id": "43483",
"category": "Dairy & Breakfast",
"subcategory": "Milk",
"position": 1,
"product_id": "12872",
"name": "Amul Gold Full Cream Milk",
"brand": null,
"variant": "500 ml",
"price": 36,
"mrp": 36,
"discount_percent": 0,
"inventory": 12,
"is_sold_out": false,
"product_state": "available",
"offer": null,
"fetched_at": "2026-09-11T09:20:40.690Z"
}

brand is often null: Blinkit publishes no separate brand field on listing tiles, so the brand sits inside name. offer is null when no promotion is running.

Use cases

  • Track price and discount per dark store using price, mrp and discount_percent across many pincodes.
  • Measure real availability with inventory and is_sold_out, spotting stores running thin before they hit zero.
  • Map assortment gaps: compare the product_id set for your category across cities.
  • Promotion and shelf tracking from offer, page, position and variant.

Notes and limits

  • Blinkit rate-limits per IP. Around 6 requests per second triggers 429 within 30 calls, while one call every 2 to 3 seconds ran 100 or more calls with no 429. That is why delayMs defaults to 2200. Lower it only behind a rotating residential proxy.
  • Blinkit sits behind Cloudflare and residential Indian IPs work. Each session is pinned to one exit IP, so a per-request rotating gateway breaks sessions within a few calls.
  • A store with an empty category tree is reported with a warning and zero rows, for example a rural point that is served but stocks nothing.
  • An unresolvable pincode ends the run with a clear message rather than scraping a default location.
  • These rows carry no sponsored or ad flag. Blinkit's listing payload does not mark paid placements.
  • Exact coordinates can be supplied instead of pincodes through the advanced locations field.

FAQ

Do I need a proxy? For a single location, no. For more than one location per run, use a residential proxy in India.

How many results can I get? A whole store, roughly 350 subcategories, paged in full. Cap it with maxSubcategoriesPerLocation or categoryFilter.

Does it need login or an API key? No. No Blinkit account or key is involved.

How does a pincode pick a store? The pincode is resolved to a point and Blinkit itself chooses the dark store serving it. That store is stamped on every row as merchant and merchant_id, so you always know which catalogue you are reading.