Blinkit Product & Price Scraper — MRP, Discount & Stock
Pricing
from $1.75 / 1,000 results
Blinkit Product & Price Scraper — MRP, Discount & Stock
Scrape Blinkit grocery products for any Indian city — name, brand, price, MRP, discount, pack size, stock and rating. Search by keyword, get live per-store prices, and export as JSON, CSV or Excel for price monitoring, competitor and market research.
Pricing
from $1.75 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
0
Monthly active users
19 hours ago
Last modified
Categories
Features
Share
Blinkit Scraper — Product, Price, MRP, Discount & Stock Data
Scrape Blinkit — India's leading quick-commerce grocery platform (formerly Grofers, owned by Zomato/Eternal) — into clean, structured datasets at scale. This Blinkit scraper searches product keywords across any Indian city or exact GPS delivery coordinate and extracts every product with name, brand, pack size, selling price (INR), MRP, computed discount %, stock status, live inventory count, rating, dark-store merchant ID, delivery ETA, and image URL — with no login and no coding.
Export your Blinkit data in bulk to JSON, CSV, Excel, or API for e-commerce price monitoring, FMCG shelf analytics, and B2B competitive intelligence.
Built for FMCG & CPG brands, D2C founders, quick-commerce pricing analysts, retail intelligence teams, category managers, and data engineers who need live, store-specific Blinkit product and price data across Indian metros.
⚡ At a glance
| Feature | Details |
|---|---|
| Target platform | blinkit.com — India's #1 10-minute grocery & quick-commerce marketplace |
| Supported locations | 8 preset metros (mumbai, delhi, bangalore, hyderabad, chennai, pune, kolkata, gurgaon) + any custom latitude & longitude pin in India |
| Core extracted fields | 19 fields: productId, name, brand, packSize, price, mrp, discountPercent, currency, rating, inStock, inventory, merchantType, merchantId, eta, image, productUrl, searchQuery, city, scrapedAt |
| 1,000+ deep pagination | Full cursor pagination (maxPagesPerSearch: 0) + automatic grocery keyword & multi-city expansion when maxItems >= 100 / 1,000+ |
| Speed & Architecture | Lightweight HTTP extraction (no heavy headless browser overhead) — ~100–400 products in 30–120 seconds |
| Export formats | JSON, CSV, Excel (XLSX), HTML, XML, Apify REST API, Webhooks, Google Sheets, Make & Zapier |
🔎 Why scrape Blinkit?
Blinkit powers hyper-local 10-minute delivery across hundreds of dark stores in India. Because pricing, promotional discounts, assortment, and stock availability are managed per dark store and fluctuate throughout the day, manual price checking in the mobile app is impossible to scale. What is in stock at a 15% discount in South Mumbai may be sold out or priced at full MRP in Bangalore or Gurgaon.
A Blinkit data extractor converts those dynamic dark-store shelves into a structured, repeatable data feed:
- Real-time price & MRP monitoring — track selling price (
price), maximum retail price (mrp), anddiscountPercentacross SKUs, brands, and cities on an automated schedule. - Dark-store stock & out-of-stock (OOS) intelligence — monitor
inStockbooleans and exactinventoryunit counts per store (merchantId) to prevent lost sales on high-velocity SKUs. - FMCG & D2C digital shelf benchmarking — audit how your brand's pack sizes (
500 ml,1 kg, multipacks), ratings, and price points compare against category competitors. - Multi-city assortment & regional pricing comparison — run the same search list across Mumbai, Delhi, Bangalore, Hyderabad, Chennai, Pune, Kolkata, and Gurgaon in a single job.
- MAP & promotional compliance — verify whether retail partners and dark stores are honoring planned promotional discounts or undercutting minimum advertised prices.
- Quick-commerce market research — analyze private-label penetration, brand share of shelf, and category pricing trends across Indian quick commerce.
✨ What this Blinkit scraper does
- ✅ Keyword search across any Indian city or GPS pin — pass any list of grocery or FMCG search terms (
milk,chips,atta,chocolate,shampoo, etc.) and target one or multiple cities at once. - ✅ Unlocked 1,000+ results pagination & auto-expansion —
maxPagesPerSearchdefaults to0(unlimited pages per keyword, following Blinkit's offset/limit cursor to the end of each query). And because a single Blinkit search term typically yields ~12–140 products, requestingmaxItems >= 100or1,000+automatically expands across a curated 48-keyword Indian grocery catalog and metro cities so large runs always reach your target volume! - ✅ Hyper-local per-store accuracy (
lat/lon) — choose from 8 preset metro cities or pass exactlatitudeandlongitudecoordinates to inspect a specific neighborhood dark store (merchantId). - ✅ Clean numeric INR pricing & discount calculation — parses rupee strings (
"₹46") into clean numeric values (price: 46,mrp: 50) and automatically computesdiscountPercent(8). - ✅ Live inventory & dark-store metadata — captures
inStock(true/false), remaininginventorycount,merchantId,merchantType(express), and deliveryeta. - ✅ Strict per-store de-duplication — every product is de-duplicated using a composite
city:productIdkey, guaranteeing0 duplicateswithin any city while still allowing cross-city price comparisons for the same SKU.
🎯 Use cases
| Audience | How they use this Blinkit scraper |
|---|---|
| FMCG & CPG Key Account Teams | Track daily OSA (On-Shelf Availability), dark-store inventory levels, and discount depth across top Indian metros. |
| D2C Brands & Growth Teams | Monitor competitor pricing, pack-size variants, customer ratings, and search visibility for core category keywords. |
| E-Commerce Pricing & BI Analysts | Schedule hourly or daily runs via the Apify API to feed historical price and stock tables in Snowflake, BigQuery, or Power BI. |
| Quick-Commerce Researchers | Compare dark-store assortment breadth and price dispersion between Tier-1 cities (mumbai, delhi, bangalore) and other metros. |
| Retail Agencies & Consultancies | Deliver automated digital-shelf audit reports and promotional trackers to consumer-goods clients. |
| Deal & Price-Comparison Apps | Filter scraped datasets by discountPercent >= 25 and inStock: true to surface the steepest live grocery deals by city. |
📥 Input parameters
Configure the scraper in the Apify Console form or pass JSON via the API. All fields have sensible defaults — running with default/prefill settings immediately extracts 100+ grocery products from Mumbai in under a minute.
| Parameter | Type | Default / Prefill | Description |
|---|---|---|---|
searchQueries | array | ["milk"] | Product keywords to search on Blinkit (e.g. ["milk", "chips", "chocolate", "atta", "oil"]). When maxItems >= 100, additional grocery keywords are automatically appended after your keywords if needed to reach maxItems. |
cities | array | ["mumbai"] | Delivery cities to scrape: mumbai, delhi, bangalore, hyderabad, chennai, pune, kolkata, gurgaon. Select multiple cities to compare prices across stores. |
latitude | string | "" | Advanced: Exact delivery latitude (e.g. "12.9716"). When set with longitude, overrides cities. |
longitude | string | "" | Advanced: Exact delivery longitude (e.g. "77.5946"). Pairs with latitude to target a specific dark store. |
maxItems | integer | 100 (prefill: 100) | Maximum products to collect across all keywords and cities (0 = unlimited). Supports 1,000+ bulk runs. |
maxPagesPerSearch | integer | 0 (Auto/Unlimited) | Maximum result pages to fetch per keyword (0 = walk all available pages until maxItems is reached). |
proxyConfiguration | object | Residential IN | Proxy configuration. Automatically tries fast datacenter connections first and falls back to Indian residential proxies when needed. |
Example 1 — Fast Mumbai Grocery Scrape (Prefill / 100 Products)
{"searchQueries": ["milk"],"cities": ["mumbai"],"maxItems": 100,"maxPagesPerSearch": 0}
Example 2 — 1,000+ Multi-Category & Multi-City Price Benchmark
{"searchQueries": ["milk", "bread", "chips", "chocolate", "atta", "rice", "oil", "tea", "coffee", "shampoo"],"cities": ["mumbai", "delhi", "bangalore"],"maxItems": 1200,"maxPagesPerSearch": 0}
Example 3 — Hyper-Local Dark Store Audit by Exact GPS Coordinates
{"searchQueries": ["ice cream", "soft drinks", "namkeen"],"latitude": "28.4595","longitude": "77.0266","maxItems": 250,"maxPagesPerSearch": 0}
📤 Output format & field reference
Each scraped product is saved as a structured JSON record in the dataset.
🛒 Product Identity & Assortment Fields
| Field | Coverage | Description |
|---|---|---|
productId | 🟢 High (100%) | Unique Blinkit product identifier (e.g. "678441"). |
name | 🟢 High (100%) | Full product display title (e.g. "Sids Farm Toned Milk"). |
brand | 🟢 High (~99%) | Brand or manufacturer name (e.g. "Amul", "Sids Farm", "Lay's"). |
packSize | 🟢 High (~99%) | Variant weight, volume, or pack count (e.g. "500 ml", "1 kg", "2 x 400 g"). |
rating | 🟢 High (~95%) | Customer rating on a 5-point scale (e.g. 4.49), or null for unrated new items. |
image | 🟢 High (100%) | Direct high-resolution product image URL on Blinkit's CDN. |
productUrl | 🟢 High (100%) | Canonical link to the product page on blinkit.com. |
₹ Pricing, MRP & Discount Fields
| Field | Coverage | Description |
|---|---|---|
price | 🟢 High (100%) | Current selling price at the selected store in Indian Rupees (numeric, e.g. 38). |
mrp | 🟢 High (100%) | Maximum Retail Price (MRP) in INR (numeric, e.g. 45; equals price when not discounted). |
discountPercent | 🟢 High (100%) | Automatically computed percentage discount off MRP (e.g. 16, or 0 if sold at MRP). |
currency | 🟢 High (100%) | ISO currency code — always "INR". |
📦 Stock, Dark Store & Provenance Fields
| Field | Coverage | Description |
|---|---|---|
inStock | 🟢 High (100%) | Boolean (true / false) indicating whether the item is currently available for delivery at that store. |
inventory | 🟢 High (~98%) | Available unit count reported by the dark store (e.g. 4, 25, 0). |
merchantId | 🟢 High (100%) | Fulfilling Blinkit dark-store / merchant ID (e.g. "41649"). |
merchantType | 🟢 High (100%) | Store fulfillment tier (e.g. "express"). |
eta | 🟢 High (~99%) | Delivery speed tag (e.g. "earliest", "8 mins"). |
searchQuery | 🟢 High (100%) | The search keyword that surfaced this product. |
city | 🟢 High (100%) | Delivery city slug (e.g. "mumbai") or custom "lat,lon" coordinate pair. |
scrapedAt | 🟢 High (100%) | ISO 8601 timestamp when the product was scraped. |
Sample JSON output
{"productId": "678441","name": "Sids Farm Toned Milk","brand": "Sids Farm","packSize": "500 ml","price": 38,"mrp": 38,"discountPercent": 0,"currency": "INR","rating": 3.8,"inStock": true,"inventory": 4,"merchantType": "express","merchantId": "41649","eta": "earliest","image": "https://cdn.grofers.com/da/cms-assets/cms/product/1ed2fb28-031b-47e5-ac4b-cd3c4730f186.png","productUrl": "https://blinkit.com/prn/x/prid/678441","searchQuery": "milk","city": "mumbai","scrapedAt": "2026-11-02T01:24:07.910Z"}
🔁 Pagination & 1,000+ scale
- Server-cursor deep pagination (
maxPagesPerSearch: 0): For every search keyword, the scraper follows Blinkit'sresponse.pagination.next_urloffset/limit cursor page by page until all matching SKUs for that query are collected. - Automatic keyword & city expansion for 100+ / 1,000+ runs: Individual Blinkit search queries return ~12 to 140 products depending on the category. When you set
maxItems >= 100or1,000+, the scraper first exhausts your exactsearchQueriesand then automatically expands across 48 high-volume grocery keywords (milk,bread,eggs,butter,cheese,chips,biscuits,chocolate,atta,rice,dal,oil,ghee,tea,coffee,shampoo,soap, etc.) and Indian metro cities (maxItems >= 500) so your run seamlessly reaches 1,000+ unique products. - Want to restrict strictly to your exact keywords? Set
maxPagesPerSearchto a specific number (e.g.10) or pass all the specific brand/category keywords you want insearchQueries.
⚙️ How to use
- Open the actor in the Apify Console.
- Enter keywords & cities: Add your product keywords in
searchQueriesand select one or more Indian metro cities incities(or enter customlatitude/longitude). - Set
maxItems: Keep100for a quick run or set1000+ for a large catalog export. - Run & export: Click Start and download your results as JSON, CSV, Excel (XLSX), HTML, or XML, or connect directly via the Apify API.
Python API example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/blinkit-scraper").call(run_input={"searchQueries": ["milk", "butter", "cheese", "paneer"],"cities": ["mumbai", "bangalore"],"maxItems": 300,"maxPagesPerSearch": 0,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"[{item['city']}] {item['name']} ({item['packSize']}) — ₹{item['price']} (MRP ₹{item['mrp']}, {item['discountPercent']}% off) | Stock: {item['inventory']}")
JavaScript / TypeScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('haketa/blinkit-scraper').call({searchQueries: ['chips', 'chocolate', 'soft drinks'],cities: ['delhi', 'gurgaon'],maxItems: 250,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Collected ${items.length} Blinkit products`);
cURL REST API example
curl -X POST "https://api.apify.com/v2/acts/haketa~blinkit-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["milk", "bread", "butter"],"cities": ["mumbai", "bangalore"],"maxItems": 150,"maxPagesPerSearch": 0}'
🗺️ Supported Indian Metro Cities & Store Routing
Blinkit routes every user session to the nearest hyper-local fulfillment center (merchantId) based on GPS coordinates. This scraper includes built-in coordinate presets for India's top 8 quick-commerce metros, plus full support for custom latitude and longitude:
| City Slug | Metro Region | Preset Coordinates (lat, lon) | Typical Use Case |
|---|---|---|---|
mumbai | Mumbai Metropolitan Region (MMR) | 19.0760, 72.8777 | Western India FMCG & D2C benchmark |
delhi | New Delhi (NCR Core) | 28.6139, 77.2090 | North India high-volume grocery tracking |
gurgaon | Gurugram (Blinkit HQ market) | 28.4595, 77.0266 | Deepest dark-store assortment & D2C launches |
bangalore | Bengaluru Urban | 12.9716, 77.5946 | South India tech-corridor quick commerce |
hyderabad | Hyderabad Metro | 17.3850, 78.4867 | Telangana & Deccan price/stock monitoring |
chennai | Chennai Metro | 13.0827, 80.2707 | Tamil Nadu regional assortment analysis |
pune | Pune Metro | 18.5204, 73.8567 | Tier-1 Maharashtra price comparison vs. Mumbai |
kolkata | Kolkata Metro | 22.5726, 88.3639 | Eastern India quick-commerce shelf tracking |
| Custom GPS | Any Indian neighborhood | Custom latitude & longitude | Pinpoint a specific neighborhood dark store |
📦 Built-in 48-Category Grocery Expansion Catalog
When you request maxItems >= 100 or 1,000+ with only one or two seed keywords, the scraper first extracts all pages for your exact searchQueries and then automatically expands across major Indian grocery verticals to deliver your full target volume:
| Grocery Vertical | Auto-Expansion Keywords |
|---|---|
| Dairy, Bread & Eggs | milk, bread, eggs, butter, cheese, curd, paneer |
| Munchies, Snacks & Sweets | chips, biscuits, chocolate, namkeen, cookies, ice cream |
| Atta, Rice, Oil & Dals | atta, rice, dal, oil, ghee, sugar, salt, spices, masala |
| Tea, Coffee & Cold Drinks | tea, coffee, juice, soft drinks, water, energy drink |
| Breakfast & Instant Food | noodles, pasta, oats, cornflakes, ketchup, jam, honey |
| Personal Care & Home Cleaning | shampoo, soap, toothpaste, face wash, detergent, dishwash |
| Fresh Fruits, Veggies & Dry Fruits | onion, potato, tomato, banana, apple, mango, dry fruits |
📊 Downstream Analytics & BI Recipes
1. Calculate Brand Share-of-Shelf & Average Discount (Python / Pandas)
import pandas as pddf = pd.read_json("blinkit_dataset.json")summary = (df.groupby(["city", "brand"]).agg(sku_count=("productId", "nunique"),in_stock_rate=("inStock", "mean"),avg_price_inr=("price", "mean"),avg_discount_pct=("discountPercent", "mean"),).reset_index().sort_values(["city", "sku_count"], ascending=[True, False]))print(summary.head(15))
2. Alert on Out-of-Stock (OOS) SKUs Across Dark Stores
Filter your dataset where inStock == false or inventory <= 2 to trigger automated Slack, Teams, or email restock alerts via Make, Zapier, or n8n.
💡 Pro tips for best results
- Compare dark stores within the same city: Two neighborhoods in the same metro often map to different
merchantIddark stores with different inventory and discounts. Pass exactlatitudeandlongitudecoordinates to pin a specific neighborhood store. - Track out-of-stock rates: Schedule the actor every 2–4 hours and group by
brandandcityto calculate percentage OSA (inStock === true) during peak morning and evening grocery hours. - Spot deep promotions: Sort or filter your exported CSV/Excel sheet by
discountPercentdescending to immediately see which brands are running aggressive flash discounts on Blinkit.
❓ Frequently Asked Questions (FAQ)
Why do prices and stock vary by city?
Blinkit operates a network of hyper-local dark stores (merchantId). Each store maintains its own physical inventory (inventory) and localized promotional pricing (price vs. mrp). Selecting a city (or passing latitude/longitude) tells the scraper which dark store's catalog to query.
How many products can I extract in a single run?
As many as you need — from 100 products in ~20 seconds to 1,000+ products across multiple keywords and cities. With maxPagesPerSearch: 0, the scraper walks every result page and automatically expands across grocery categories when maxItems >= 100.
Do I need a Blinkit account or OTP login? No login, phone number, or OTP is required.
Do I need proxies? An Indian proxy configuration is pre-filled by default. The scraper automatically attempts fast datacenter requests first and falls back to Indian residential IPs when needed so runs stay both reliable and cost-efficient.
Are both selling price and MRP included?
Yes — every record contains numeric price (selling price), mrp (maximum retail price), and computed discountPercent.
Can I export Blinkit data to Google Sheets, Excel, or BI tools? Yes — every run dataset can be downloaded directly as Excel (XLSX), CSV, JSON, HTML, or XML from the Apify Console, or streamed automatically into Google Sheets, Snowflake, BigQuery, Make, Zapier, or a webhook.
How does de-duplication work across cities and keywords?
Products are de-duplicated using a composite city:productId key. If two search keywords ("milk" and "toned milk") return the same product in Mumbai, it is saved only once for Mumbai. If you scrape both Mumbai and Delhi, the product appears once for mumbai and once for delhi so you can compare regional pricing side by side.
⚠️ Known Platform Nuances & Limitations
- Store-specific pricing & stock: Blinkit has no single national price — every price, MRP discount, and inventory count belongs to the dark store (
merchantId) serving the requested city or GPS coordinates. - Per-keyword search depth: Individual Blinkit search queries return the platform's ranked matches for that keyword (~12 to 140 SKUs). To extract 500 or 1,000+ products, leave
maxItems >= 500so the scraper automatically chains across grocery search terms and metro cities, or provide a comprehensive list of category/brand keywords insearchQueries. - Unrated new launches: Newly listed items that have not yet accumulated customer reviews on Blinkit return
rating: null. All core pricing, stock, and identity fields still populate at 100%.
🔗 Related E-Commerce & Grocery Scrapers
Explore other grocery, retail, and quick-commerce scrapers from the same publisher:
- Woolworths Scraper — Australia Grocery Prices, Specials & Unit Price
- Coles Scraper — Australia Supermarket Prices, Specials & Stock
- Wildberries Scraper — Products, Prices, Sellers & Reviews
- Coupang Scraper — Korea E-Commerce Products & Prices
- Trendyol Scraper — Turkey E-Commerce Products & Prices
📋 Changelog
- v1.2 (2026-11) — Set
maxPagesPerSearchdefault/prefill to0(auto/unlimited cursor pagination governed bymaxItems); added automatic 48-keyword Indian grocery & multi-city expansion whenmaxItems >= 100/1,000+so large runs never stop early; setmaxItemsprefill to100for fast<45sprefill runs; syncedexampleRunInput. - v1.1 (2026-11) — Added deep server-cursor (
response.pagination.next_url) pagination across all result pages per keyword; verified 420-product Mumbai run with 0 duplicates. - v1.0 (2026-09) — Initial release with per-city coordinate routing, numeric INR price/MRP parsing, discount calculation, and dark-store inventory extraction.