Blinkit Product & Price Scraper Multi-City Stock & Delivery ETA
Pricing
from $3.00 / 1,000 product scrapeds
Blinkit Product & Price Scraper Multi-City Stock & Delivery ETA
Scrape Blinkit product data by keyword or by pasting product/category/search URLs — across any delivery location in India. Each row: name, brand, variant, MRP + selling price, discount, live stock, merchant/store, image, and real-time delivery ETA. Multi-city price comparison. JSON, CSV, Excel
Pricing
from $3.00 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Blinkit Scraper — Products, Prices, Stock & Delivery ETA

Turn any Blinkit search into a clean, structured dataset. Scrape live product data by keyword, by pasting Blinkit website URLs (product, category, or search deeplinks), or both — across one or more delivery locations.
Get name, brand, variant, MRP + selling price, discount, stock, inventory, merchant/store, images, and optional real-time delivery ETA — one row per product, per location. Prices and stock are hyperlocal on Blinkit (set per dark-store), so every input runs at every location you give. Pure HTTP, no browser.
Why Use This Scraper?
- ✅ Search by keyword and/or paste Blinkit URLs — products, categories, and search deeplinks are auto-classified from one input
- ✅ Multi-location by design — each query and URL runs at every delivery location, so you get true hyperlocal prices and stock
- ✅ Built for price comparison — compare the same product across cities and neighborhoods in a single run
- ✅ Full pricing on every row — selling price, MRP, and a computed discount percent
- ✅ Live availability — in-stock flag plus raw inventory count, straight from the serving dark-store
- ✅ Optional real-time delivery ETA in minutes, attached to every product
- ✅ Works from anywhere — stores are resolved from coordinates, not your IP, so location is decoupled from where the run executes
- ✅ JSON, CSV, or Excel output, ready for spreadsheets, BI tools, and pipelines
Overview
The Blinkit Scraper is built for pricing analysts, category managers, brands, and researchers who need quick-commerce data in a spreadsheet instead of tapping through a phone app, one pincode at a time.
The output is product-shaped rows — one row per product, per delivery location. Whether a row comes from a keyword search, a category deeplink, or a single product URL, it carries the same flat schema (price, MRP, stock, merchant, location), so everything lands in one clean table.
Blinkit is hyperlocal: each delivery area is served by a nearby dark-store with its own catalog, prices, and stock. That's why you supply locations — the actor geocodes each one, resolves the serving store, and reports exactly what a shopper at that address would see. It talks to Blinkit's own mobile-app API over HTTP, so it stays fast and lightweight (no browser, no rendering).
Supported Inputs
You can drive the scraper three ways — keywords, URLs, or both — and every input is run at every location.
Search queries
Plain product keywords. Each is searched on Blinkit at every delivery location.
{"searchQueries": ["milk", "paneer", "atta", "cold drink"]}
Start URLs (Blinkit deeplinks)
Paste Blinkit website URLs and the actor auto-classifies each one by its shape — no tagging required.
| URL type | Pattern | Example |
|---|---|---|
| Product | blinkit.com/prn/{slug}/prid/{id} | https://blinkit.com/prn/amul-gold-milk/prid/14639 |
| Category | blinkit.com/cn/{slug}/cid/{l0}/{l1} | https://blinkit.com/cn/dairy-bread-eggs/cid/14/922 |
| Search | blinkit.com/s/?q={query} | https://blinkit.com/s/?q=paneer |
{"startUrls": ["https://blinkit.com/prn/amul-gold-milk/prid/14639","https://blinkit.com/cn/dairy-bread-eggs/cid/14/922","https://blinkit.com/s/?q=paneer"]}
startUrls accepts both plain strings ("https://…") and request objects ({ "url": "https://…" }) — mix freely. Provide searchQueries and/or startUrls.
Delivery locations
Area or locality names. Each is geocoded to coordinates, and the serving dark-store is resolved so prices and stock reflect that exact location.
{"locations": ["Koramangala, Bangalore","Connaught Place, New Delhi","Bandra West, Mumbai"]}
Use Cases
| Audience | Use case |
|---|---|
| Pricing & category teams | Compare selling price, MRP, and discount for the same SKU across cities and neighborhoods |
| Brands & FMCG | Track product visibility, stock, and price by location; spot where you're out of stock or undercut |
| Quick-commerce & retail analysts | Monitor the live catalog of a dark-store network without an app or manual checks |
| Operations & logistics | Pair price with real-time delivery ETA to study serviceability and delivery performance by area |
| BI & data teams | Feed a clean, flat product feed into dashboards, warehouses, and reports |
| Researchers & ML pipelines | Bulk-export hyperlocal pricing and availability as training or automation input |
How It Works
- Input — give keywords, Blinkit URLs (or both), and one or more delivery locations
- Geocode & resolve store — each location is geocoded to coordinates and the serving dark-store is resolved, so prices and stock are hyperlocal
- Fetch — Blinkit's mobile-app API is queried over HTTP with a real Chrome TLS fingerprint (passes Cloudflare without a browser); search results paginate until
productsLimit - Normalize — each product is flattened to a clean row with price, MRP, computed discount, stock, inventory, merchant, and images; optional delivery ETA is attached
- Output — one product row per (query/URL × location), exportable as JSON, CSV, or Excel
Input Configuration
| Field | Type | Required | Notes |
|---|---|---|---|
searchQueries | array<string> | yes* | Product keywords. Each is searched at every location. *Provide this and/or startUrls. |
startUrls | array<string | { url }> | yes* | Blinkit deeplinks — product, category, or search. Auto-classified. *Provide this and/or searchQueries. |
locations | array<string> | yes | Delivery area/locality names. Each is geocoded and its dark-store resolved, so prices/stock are per-location. |
productsLimit | integer | no | Max products per (query/URL × location). Default 45. Results are paginated until this many are collected or they run out. |
includeEtaDetails | boolean | no | Default false. Fetch each location's real-time delivery ETA (minutes) and attach it to every product. Adds one request per location. |
maxItems | integer | no | Hard cap on total dataset rows across all queries and locations. Default 1000. |
maxConcurrency | integer | no | Max Blinkit API requests in flight at once. Default 6. |
minConcurrency | integer | no | Minimum parallelism. Default 1. |
maxRequestRetries | integer | no | Per-request retry budget (fresh proxy session each retry). Default 5. |
proxy | object | no | Defaults to Apify Proxy. Indian residential proxies give the best reliability and correct geo. |
Common scenarios
1. Compare one keyword across cities
{"searchQueries": ["milk"],"locations": ["Koramangala, Bangalore", "Connaught Place, New Delhi", "Bandra West, Mumbai"]}
2. Several products and categories in one location, with delivery ETA
{"searchQueries": ["paneer", "atta"],"startUrls": ["https://blinkit.com/cn/dairy-bread-eggs/cid/14/922"],"locations": ["Koramangala, Bangalore"],"includeEtaDetails": true}
3. Track specific products by URL across neighborhoods
{"startUrls": ["https://blinkit.com/prn/amul-gold-milk/prid/14639","https://blinkit.com/prn/pride-of-cows-farm-cow-milk/prid/485463"],"locations": ["Koramangala, Bangalore", "Connaught Place, New Delhi"],"productsLimit": 10}
Output Overview
Each dataset item is one product row — a single product as seen at a single delivery location. The same flat schema is used no matter how the row was discovered (keyword search, category deeplink, or product URL); sourceType tells you which.
Because every input runs at every location, a single keyword across three cities yields three sets of rows — the natural shape for price comparison and availability tracking.
Notes on when fields are populated:
location,city,locality,lat,lon,serviceabledescribe the resolved delivery location. Ifserviceableisfalse, Blinkit doesn't deliver there and product rows for that location may be empty.etaMinutesis populated only whenincludeEtaDetailsis on; otherwise it'snull.brandis oftennull— Blinkit frequently doesn't populate it in its API (see FAQ).discountPercentis computed frommrpandprice; it's0when there's no discount.
Output is a flat table by default; the Apify Console "Export" tab gives JSON, CSV, or Excel.
Output Samples
Product row — keyword search, single location
{"query": "milk","sourceType": "search","sourceUrl": null,"location": "Koramangala, Bangalore","city": "Bengaluru","locality": "Koramangala","lat": 12.9352,"lon": 77.624532,"serviceable": true,"productId": 485463,"merchantId": 37746,"name": "Pride of Cows Farm Cow Milk","brand": null,"unit": "500 ml","price": 85,"mrp": 85,"discountPercent": 0,"inStock": true,"inventory": 12,"imageUrl": "https://cdn.grofers.com/da/cms-assets/cms/product/42badb39-3720-4e49-8e19-980a10367928.png","productUrl": "https://blinkit.com/prn/pride-of-cows-farm-cow-milk/prid/485463","merchantType": "super_longtail","etaMinutes": 10,"scrapedAt": "2026-06-24T09:20:22.378Z"}
Key Output Fields
Source & location
query— the keyword (or URL-derived query) this row came fromsourceType—search,category, orproductsourceUrl— the Blinkit deeplink, when the row came from astartUrlsentry (elsenull)location— the delivery location you suppliedcity,locality— resolved from geocodinglat,lon— coordinates of the resolved locationserviceable— whether Blinkit delivers to this location
Product identity
productId— Blinkit's numeric product idmerchantId— the serving dark-store / merchant idname— product display namebrand— brand (oftennull; Blinkit limitation)unit— pack size / variant (e.g."500 ml")imageUrl— product imageproductUrl— canonical Blinkit product link
Price, stock & delivery
price— current selling pricemrp— maximum retail pricediscountPercent— computed discount (0when none)inStock— availability flag at this dark-storeinventory— raw available quantity (when exposed)merchantType— store/merchant type (e.g.super_longtail)etaMinutes— real-time delivery ETA (withincludeEtaDetails)scrapedAt— ISO timestamp of capture
FAQ
Do I need to log in?
No. The scraper reads publicly available Blinkit catalog data — no account, no login, no cookies required.
Is there an official Blinkit API?
No. There's no public Blinkit API. The actor talks to Blinkit's own mobile-app endpoints over HTTP — the same data the app uses to show you products, prices, and stock.
Why are prices and stock different per location?
Blinkit is hyperlocal. Each delivery area is served by a nearby dark-store with its own catalog, prices, and inventory, so the same product can have a different price — or be out of stock — a few kilometers away. That's exactly why you supply locations: each one is geocoded, the serving store is resolved, and the row reflects what a shopper at that address would see.
Can I paste Blinkit URLs instead of keywords?
Yes. Put them in startUrls. Product (/prn/{slug}/prid/{id}), category (/cn/{slug}/cid/{l0}/{l1}), and search (/s/?q={query}) deeplinks are all auto-classified. You can mix URLs and searchQueries freely — both run at every location.
Why is brand sometimes empty?
Blinkit often doesn't populate the brand field in its API response, even when the brand is obvious from the product name. When that happens, brand comes back null. The brand is usually recoverable from name if you need it downstream.
Is the delivery ETA real-time?
Yes — when includeEtaDetails is enabled, the actor fetches each location's live ETA (in minutes) at scrape time and attaches it to every product row. Leave it off and etaMinutes is null.
Does this work outside India?
Yes. Blinkit serves India, but the actor resolves dark-stores from coordinates, not from your IP or where the run executes — so you can scrape any Indian delivery location from anywhere. For best reliability and correct geo, use Indian residential proxies in the proxy setting.
How many products do I get per search?
Up to productsLimit per (query/URL × location) — default 45 — paginated until that many are collected or Blinkit runs out of results. maxItems caps the total across the whole run.
Can I export to CSV or Excel?
Yes. Output is a flat table — export it as JSON, CSV, or Excel from the Apify Console, or pull it via the API for your own pipeline.
Support
Found a bug, hit a location that won't resolve, or want another Blinkit URL kind supported? Open an issue on the actor's Issues tab, or reach out via the memo23 profile on Apify.
Additional Services
Need a custom export shape, scheduled price monitoring, or another quick-commerce source added? I build tailored scrapers and data pipelines — get in touch via the memo23 profile.
Explore More Scrapers
If you track quick-commerce, retail prices, and product availability, these pair well:
- Zepto Scraper — compare prices and stock against Blinkit on India's other 10-minute delivery app
- Amazon Product Scraper — benchmark quick-commerce pricing against marketplace listings
- Google Maps Scraper — map dark-store and retail locations by area
- Trustpilot Scraper — customer sentiment for the brands you track
Full portfolio: apify.com/memo23.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Blinkit, Blink Commerce Private Limited, Zomato Limited (Eternal Limited), or any of their parent companies or subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available Blinkit product and catalog data — no authenticated endpoints, private accounts, or content behind a login. Users are responsible for ensuring their use complies with Blinkit's Terms of Service, applicable data-protection law (GDPR, CCPA, India's DPDP Act, etc.), and any contractual obligations of their own organization. Prices, stock, and availability are point-in-time snapshots that change continuously and per location — verify against the live app before relying on them for commercial decisions.
SEO Keywords
blinkit scraper, scrape blinkit, blinkit.com scraper, blinkit api, blinkit price scraper, blinkit product scraper, Apify blinkit, blinkit grocery scraper, quick commerce scraper, q-commerce data, 10 minute delivery scraper, blinkit price comparison, hyperlocal pricing data, dark store catalog scraper, blinkit stock tracker, grocery price monitoring india, blinkit delivery eta, zepto blinkit comparison, india grocery data, retail price intelligence