Blinkit Price Scraper
Pricing
from $1.60 / 1,000 results
Blinkit Price Scraper
Instantly extract real-time product pricing and inventory data from Blinkit. Perfect for competitive intelligence and monitoring grocery trends in India's quick-commerce market. Built for speed and accuracy. Residential proxies recommended for seamless access.
Pricing
from $1.60 / 1,000 results
Rating
5.0
(4)
Developer
Shahid Irfan
Maintained by CommunityActor stats
2
Bookmarked
118
Total users
6
Monthly active users
11 days ago
Last modified
Categories
Features
Share
Collect live Blinkit search results for a keyword or a Blinkit search URL. Each run returns one dataset row per product with the selling price, MRP, discount label, stock status, delivery estimate, rating, pack size, image, and product link.
Blinkit prices and stock depend on the delivery area. Set coordinates for the city or neighbourhood you want to monitor, or pass them in the search URL.
What you can collect
| Field | Type | Description |
|---|---|---|
product_name | String | Product title as shown in search results |
price | Number | Current selling price in INR |
original_price | Number | MRP in INR. Equal to price when no discount is shown |
discount_percentage | String | Discount label such as 24% OFF. Calculated from price and MRP when Blinkit shows no label |
product_image | String | Product image URL |
availability | String | In Stock, Out of Stock, or Unknown |
delivery_time | String | Delivery estimate such as 15 mins when the listing shows one |
product_url | String | Product page URL on blinkit.com |
product_id | String | Blinkit product identifier |
sku_id | String | Sellable variant identifier |
brand | String | Brand name |
quantity | Number | Pack size, for example 500 for a 500 ml pack |
unit | String | Pack unit, for example ml, g, ltr, or kg |
rating | Number | Average product rating |
ratings_count | Number | Number of ratings |
inventory | Number | Units available at the serving store |
search_query | String | Keyword used for the run |
url | String | Search page used for the run |
scrapedAt | String | ISO timestamp for when the row was saved |
Optional fields are left out when Blinkit does not publish a value.
How to run
- Enter a keyword in
search_query, or paste a full Blinkit search URL insearch_url. - Turn on
setGeolocationand enter the latitude and longitude of the delivery area when you want a specific location. With it off, the Actor uses New Delhi. - Set
results_wanted. Use0to collect every result the search returns. - Start the run and open the dataset when it finishes.
search_url takes priority over search_query. If the URL contains lat, lng, latitude, or longitude, those values take priority over the coordinate inputs.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
search_query | String | milk | Keyword to search for |
search_url | String | empty | Full Blinkit search URL. Replaces search_query |
results_wanted | Integer | 20 | Maximum rows to save. 0 collects all results |
setGeolocation | Boolean | false | Apply the coordinates below. Off uses New Delhi |
latitude | Number | 28.6139 | Latitude of the delivery area |
longitude | Number | 77.209 | Longitude of the delivery area |
proxyConfiguration | Object | Residential Apify Proxy | Proxy settings. Choose No proxy to connect directly |
Example inputs
Keyword search
{"search_query": "amul milk","results_wanted": 50,"setGeolocation": true,"latitude": 19.076,"longitude": 72.8777}
Search URL with location parameters
{"search_url": "https://blinkit.com/s/?q=paneer&lat=28.6139&lng=77.209","results_wanted": 30}
Collect every result
{"search_query": "snacks","results_wanted": 0}
Sample output
{"product_name": "Nestle KitKat Cele-Break Assorted Chocolate Gift Pack","price": 188,"original_price": 250,"discount_percentage": "24% OFF","product_image": "https://cdn.grofers.com/da/cms-assets/cms/product/ba430958-fcc3-4cd7-b260-f6481199b770.png","availability": "In Stock","delivery_time": "15 mins","product_url": "https://blinkit.com/prn/nestle-kitkat-cele-break-assorted-chocolate-gift-pack/prid/798143","product_id": "798143","sku_id": "798143","brand": "Nestle KitKat","quantity": 198,"unit": "g","rating": 4.5,"ratings_count": 1984,"inventory": 23,"search_query": "chocolate","url": "https://blinkit.com/s/?q=chocolate","scrapedAt": "2026-10-31T10:18:03.997Z"}
Use cases
- Track selling price and MRP for a list of products across recurring runs.
- Watch stock status and inventory before a promotion or a seasonal peak.
- Compare the same keyword across cities by running it with different coordinates.
- Build a product catalogue with brand, pack size, rating, and image data.
- Check which products a search returns for a category or brand term.
Tips
- Use specific keywords such as
amul taaza milkorpaneer 200gwhen you need a narrow result set. - Start with 20 to 50 results to confirm that the keyword and coordinates return the expected products.
- Keep the same coordinates between runs when comparing prices. The serving store changes with location.
- Treat missing fields as source limits. Not every Blinkit listing includes a rating, rating count, or delivery estimate.
- A broad keyword can return several hundred products. Use
results_wantedto keep runs short.
FAQ
Does the delivery location change the output?
Yes. Blinkit picks a store from the coordinates, and price, stock, and delivery time can differ between stores. Use coordinates inside a serviceable area.
What happens when Blinkit does not deliver to the coordinates?
The run fails with a location message. Move the coordinates to a serviceable area and run again.
Why is original_price the same as price?
Blinkit shows MRP and selling price as equal when the product has no discount. discount_percentage is omitted in that case.
Why are some fields missing from a row?
Rows omit values that the listing does not provide. For example, some products have no rating count or delivery estimate.
Can I collect more than 100 products?
Yes. Set results_wanted to 0 or a larger number. The Actor follows Blinkit's result pages until the search runs out or the limit is reached.
Do I need a Blinkit account?
No. The Actor reads public search results and does not log in.
Can I run it on a schedule?
Yes. Create an Apify schedule and compare datasets between runs to track price and stock changes.
Do I need a proxy?
The default sends requests through residential Apify Proxy. You can supply your own HTTP or SOCKS proxy URLs in the proxy settings. Choose No proxy to connect directly from your environment. If direct requests are blocked and the Actor runs on Apify, it retries once through residential Apify Proxy.
Integrations and export formats
- Google Sheets for price tracking and comparisons.
- Airtable for a searchable product catalogue.
- Webhooks to send finished datasets to your application.
- Make or Zapier to start follow-up workflows.
- The Apify API to read datasets from your own code.
- JSON, CSV, Excel, XML, and HTML downloads from the Apify Console.
Related Actors
- Flipkart Product Scraper: prices, ratings, and availability from Flipkart.
- Tokopedia Search Scraper: product price and marketplace data from Tokopedia search.
- Nike Product Scraper: prices, inventory, sizes, and colours from Nike.
Support
Use the Issues tab on the Actor page. Include the input, the run ID, and what you expected to see.
Legal notice
This Actor collects publicly available product information. You are responsible for following Blinkit's terms of service and applicable law. Do not use the data to bypass access controls, infringe privacy, or break restrictions set by the source website. This page is not legal advice.