The same SKU can carry a different price in two pincodes three kilometres apart — and a different price at 9 a.m. than at 9 p.m. Here is what a quick commerce price scraping programme has to capture to actually see it.
Traditional e-commerce has one catalogue and, broadly, one price. Quick commerce has neither. It is the most granular pricing environment in Indian retail, and the two dimensions that make it granular — location and time — are exactly the two that most monitoring programmes flatten away.
A brand watching Blinkit, Zepto, or Swiggy Instamart at the city level, once a day, is watching an average of an average. It sees one price for Mumbai when there are dozens of Mumbais, each served by a different dark store with its own stock, its own promotions, and sometimes its own price. And it sees a morning snapshot of a system that repriced several times before the evening peak it was built for.
Quick commerce price scraping, done at the level these platforms actually operate, means capturing prices, promotions, and availability by delivery pincode and through the hours of the day. This article covers why both axes matter, what changes across them, how to capture it, and what the data looks like when it is done right.
Quick commerce is a two-dimensional pricing problem
The structural fact that governs everything else is the dark store. Each quick commerce platform fulfils orders from a network of micro-warehouses, and each dark store serves only a small radius around it — typically two to three kilometres. That store carries its own inventory, applies its own promotional overlays, and quotes its own delivery time.
The consequence is that a customer in pincode 400001 and a customer in pincode 400016 — the same city, a short drive apart — can open the same app and see a different product landscape: different prices, different offers, different items in stock, different ETAs. There is no single "Blinkit price" for a product any more than there is a single Walmart price for a gallon of milk. There is the price at the dark store serving your location, right now.
That is the spatial axis. The temporal axis sits on top of it. Quick commerce promotional cycles move far faster than traditional retail — offers and availability shift through the day around demand, not on a weekly grid. A monitoring programme that captures once daily sees one frame of a film that runs from morning to midnight.
A city-level daily price for a quick commerce SKU is not a low-resolution version of the truth. It is a different number that describes no real customer — an average across pincodes that vary, taken at a moment that does not represent the day.
The temporal axis: how prices move through the day
Intraday movement in quick commerce is driven by demand concentration and promotional strategy, and it follows patterns that are visible only if you capture often enough to see them.
Mornings tend to be quieter and cleaner — base prices, fewer active overlays. As the day builds toward the evening peak, promotional intensity rises: time-boxed offers, category pushes, and app-surfaced deals appear and expire. Late-night windows can carry their own dynamics again. None of this is exotic; it is what you would expect from a channel engineered around impulse demand. But it means the discount a brand sees at 10 a.m. is frequently not the discount a customer sees at 8 p.m., and the "effective price" — after platform-level overlays — moves within the same day.
There is a platform-specific layer worth naming, because it changes what you are measuring. Market-leading Blinkit is widely characterised as rarely discounting below MRP, competing on speed and availability more than on headline price. Zepto and Swiggy Instamart lean more actively on promotional pricing and app-surfaced offers. So the intraday "reprice" looks different on each platform: on one it is largely an availability-and-ETA story, on the others it is a promotion-and-effective-price story. A scraping programme that captures only the listed price misses most of it on the platforms where the offer layer does the work.
The spatial axis: what changes by pincode
Hold the clock still and move across the map, and five things vary from one pincode to the next:
- Price. The listed and effective price of the same SKU can differ between dark stores, especially where local promotions are applied.
- Availability. The single highest-signal field. A SKU in stock in one pincode is out in another three kilometres away — a fact invisible at city level and decisive for both the brand and the customer.
- Assortment. Which SKUs a dark store carries at all varies. Assortment gaps are a per-pincode phenomenon.
- Promotions. Offer overlays are applied at the dark-store level, so the same product can be on deal in one zone and at base price in the next.
- Delivery ETA and fee. The promise itself — minutes to delivery, and the fee charged — is local.
Put the two axes together and the unit of truth becomes clear: not "the price of this SKU," but "the price, availability, promotion, and ETA of this SKU, at this pincode, at this time." Everything coarser is an average that hides the signal a pricing or trade team is actually paid to act on.
Three platforms, three reprice signatures
"How quick commerce reprices through the day" is really three questions, because the major platforms play different games — and a monitoring template built for one will misread the others.
Blinkit, the market leader, is widely characterised as rarely discounting below MRP. It competes on speed and availability rather than headline price, so its intraday "reprice" is mostly an availability-and-ETA story: which SKUs its dark stores hold in which pincodes, and how the delivery promise moves with demand. Watch stock and ETA by pincode and hour here, not the listed price — the listed price often barely moves while the thing that actually decides the sale, availability, changes underneath it.
Zepto, growing fast and built around impulse price points, leans harder on promotional pricing. Its reprice signature lives in the offer layer — app-surfaced deals and overlays that shift the effective price through the day, particularly toward the evening peak. Capturing only its listed price would report a stability that its customers never see.
Swiggy Instamart, with broad category presence, is similarly promotion-led, and its effective price frequently diverges from MRP through the day. For brands with wide assortments, it is the platform where per-category, per-pincode promotional variation is widest — and where averaging to the city does the most damage.
The practical implication is that a single "quick commerce price" metric across all three is close to meaningless. The right programme captures each platform on the axis that platform actually moves on: availability and ETA where price is stable, effective price where promotions carry the work. That is the difference between a number and an answer.
The same monitoring template applied identically to Blinkit, Zepto, and Instamart will be right on one and misleading on two. Each platform reprices on a different axis — and a serious capture programme tracks the axis that moves.
Sample data: one SKU, one day, three pincodes
Here is an illustrative intraday capture for a single FMCG SKU on one platform, across three Mumbai pincodes, at three points in the day. The pattern — not the exact numbers — is the point.
| Time |
Pincode |
Listed |
Effective |
Promo |
Stock |
ETA |
| 09:00 |
400001 |
₹90 |
₹90 |
— |
In stock |
11 min |
| 09:00 |
400016 |
₹90 |
₹84 |
Local offer |
In stock |
9 min |
| 09:00 |
400050 |
₹90 |
₹90 |
— |
Out of stock |
16 min |
| 14:30 |
400001 |
₹90 |
₹81 |
Afternoon deal |
In stock |
12 min |
| 14:30 |
400016 |
₹90 |
₹84 |
Local offer |
In stock |
10 min |
| 14:30 |
400050 |
₹90 |
₹90 |
— |
In stock |
15 min |
| 20:00 |
400001 |
₹90 |
₹79 |
Peak deal |
In stock |
18 min |
| 20:00 |
400016 |
₹90 |
₹79 |
Peak deal |
Out of stock |
— |
| 20:00 |
400050 |
₹90 |
₹86 |
Evening offer |
In stock |
14 min |
Illustrative series — representative of observed patterns, not a live market census.
Read the table as a brand would. The listed price never moves — it sits at ₹90 all day, in every pincode. A programme capturing "listed price, once daily" would report perfect stability and complete availability, and it would be wrong on both counts. The effective price fell as low as ₹79 at the evening peak, entirely through promotional overlays. Availability told a different story in each pincode: out of stock in 400050 in the morning, out of stock in 400016 exactly when the deepest evening deal was live — so the best price of the day was, for those customers, unbuyable.
That last point is the one brands most often miss. A deep promotion on an out-of-stock SKU is not a discount anyone received; it is a demand signal handed to a competitor. You can only see it if price and availability are captured together, per pincode, at the hour it happens.
The same capture, structured for a pipeline, looks like this:
{
"product_id": "QC-FMCG-SNACK-150G",
"platform": "platform_a",
"city": "mumbai",
"pincode": "400016",
"dark_store_id": "DS-MUM-14",
"captured_at": "2026-08-11T20:00:07+05:30",
"listed_price": 90,
"effective_price": 79,
"promo_active": true,
"promo_type": "peak_deal",
"in_stock": false,
"stock_signal": "out_of_stock",
"delivery_eta_min": null,
"delivery_fee": null,
"competitors_same_pincode": [
{ "platform": "platform_b", "effective_price": 82, "in_stock": true },
{ "platform": "platform_c", "effective_price": 80, "in_stock": true }
]
}
The competitor block is the field most programmes omit — and the one that turns a price point into a competitive decision.
The competitors_same_pincode array is what makes the record actionable. A stockout where every platform is also out is a supply event. A stockout where two competitors are in stock at a similar price, at the exact hour of peak demand, is a share transfer — and a far more urgent problem.
What it takes to capture this properly
Quick commerce price scraping is harder than traditional marketplace scraping precisely because of the two axes, and the pipeline has to be built for them.
Simulate location at the pincode level
Because catalogues are served by pincode, the capture has to request data as a customer in each target pincode would — the location context is an input on every request, not an afterthought. A national or default capture returns a placeholder, not the price any customer sees. Building the map of which dark store serves which pincodes is the foundational step; once you have it, price and assortment can be attributed to specific stores across a platform's own network.
Match capture frequency to intraday movement
If promotions shift through the day, daily capture is not low-resolution — it is blind to the phenomenon. Hero SKUs and priority pincodes warrant capture through the day, tiered so the volume stays manageable while the signal stays intact.
Capture the effective price, not just the listed price
On the platforms where the offer layer does the work, listed price is the layer that moves least. The programme has to resolve promotions and overlays into an effective price, or it will report stability that the customer never experiences.
Capture availability and ETA alongside price
Availability is the highest-signal field in quick commerce, and it is local and time-varying. A price without availability at the same pincode and hour overstates what is purchasable.
2–3 km
Radius a single dark store serves — the reason price and stock vary by pincode within one city.
Intraday
Promotional overlays and availability shift through the day, not on a weekly retail grid.
6+
Major platforms — Blinkit, Zepto, Instamart, BB Now, Flipkart Minutes, Amazon Now — each with its own pattern.
What brands get wrong
Averaging to the city. The most common and most expensive error. A city-level price and availability figure averages dark stores that behave differently and represents none of them. Every decision made on it is made on data that describes nowhere.
Capturing once a day. A daily snapshot of an intraday system reports the day it caught and misses the repricing that defines the channel. On a channel built for the evening peak, a morning capture is the least representative moment available.
Benchmarking on listed price. Where promotions carry the pricing, listed price is the wrong number to watch. The effective price is what the customer pays and what a competitor is really doing.
Separating price from availability. The two are one system. A discount on an out-of-stock SKU, or a stockout during a competitor's deal window, is only visible when both are captured together.
Who uses pincode-level, intraday quick commerce data
FMCG brands monitor price, promotion, and availability across pincodes and platforms to see where they are out of stock during peak demand, where a competitor is undercutting in a specific zone, and how their effective price compares through the day.
Pricing and trade teams benchmark effective price and promotional intensity by platform and location, and allocate trade investment against the zones and hours that actually convert.
Quick commerce operators and aggregators benchmark assortment, price, and ETA against competitors on a matched pincode basis.
Analysts and market-entry teams size demand and competitive intensity across a channel that is growing fast and behaving differently from any retail format before it.
Frequently asked questions
1. What is quick commerce price scraping?
It is the structured capture of prices, promotions, and availability from platforms like Blinkit, Zepto, and Swiggy Instamart at the level they actually vary — by delivery pincode and by time of day — rather than a single national or daily snapshot.
2. Why capture prices by pincode instead of by city?
Each dark store serves a two-to-three-kilometre radius with its own inventory, promotions, and pricing, so the same SKU can differ from one pincode to the next within the same city. A city-level average hides the variation that decides pricing and assortment.
3. How often do quick commerce prices change?
Promotional overlays and availability move far faster than traditional retail, shifting through the day around demand peaks. Capture frequency has to match that intraday movement or most of it is missed.
4. Do you capture the effective price after offers, or just the listed price?
Both. On platforms where the offer layer carries the pricing, the effective price after overlays is what the customer pays — and the number worth benchmarking. Listed price alone understates the movement.