Swiggy Instamart Scraper
Pricing
from $4.00 / 1,000 results
Swiggy Instamart Scraper
[๐ฐ $4.0 / 1K] Extract grocery products from Swiggy Instamart. Get name, brand, quantity, price, MRP, discount, per-unit price, rating, stock, category, description, and image. Search by keyword or paste category page URLs, and pick the city that sets local availability and pricing.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
2
Bookmarked
6
Total users
4
Monthly active users
17 days ago
Last modified
Categories
Share
Pull grocery product data from Swiggy Instamart at scale โ selling price, MRP, discount, per-unit price, brand, pack size, star rating, stock status, and images for every product across India's biggest quick-commerce catalog. Search a whole basket of keywords or sweep entire category pages, all pinned to the exact city and neighbourhood you care about. Built for pricing analysts, e-commerce sellers, and market researchers who need live Instamart price and availability data without running one search at a time or hunting raw IDs out of URLs.
Why This Scraper?
- 15 major Indian metros in one dropdown โ Bangalore, Mumbai, Delhi, Hyderabad, Chennai, Pune, Kolkata, Gurgaon, Noida, Ahmedabad, Jaipur, Chandigarh, Lucknow, Kochi, and Coimbatore. Prices and stock reflect the city you pick.
- Neighbourhood-level pricing โ narrow to a specific area (e.g. "Koramangala", "Andheri West") so the price, discount, and availability match that exact locality, not a citywide average.
- Real price-comparison data, not just a headline price โ every product carries selling price, MRP, savings amount, a computed discount label ("25% OFF"), and per-unit price, so you can rank offers and track margins directly.
- Live in-stock / out-of-stock status โ a boolean
inStockflag on every product tells you what's actually buyable right now in that location. - Star rating plus rating count per product โ average rating and the normalized number of ratings (handles "369.9k"-style display counts) for demand and quality signals.
- Batch a whole keyword basket in one run โ pass many search terms at once ("Amul Milk", "Olive Oil", "Eggs") instead of re-running the actor for each product.
- Paste category URLs, no ID hunting โ drop in a full Swiggy Instamart collection page link and the actor reads the collection ID for you, then sweeps the entire aisle.
- Image URL and canonical product link for every item โ a ready-to-use product image and a shareable Swiggy product page URL on every row.
- Self-describing rows โ each product carries the
city,area, and originatingsourceQueryorsourceCategoryUrl, so multi-keyword, multi-location runs stay untangled in a single dataset.
Use Cases
Price Monitoring & Competitive Intelligence
- Track selling price, MRP, and discount on the same product across cities
- Watch daily price and discount swings on fast-moving grocery lines
- Benchmark your own quick-commerce prices against Instamart
- Spot deep-discount and clearance offers by filtering on the discount label
Market Research
- Map assortment and pricing differences between metros
- Measure how availability shifts by neighbourhood within a city
- Study per-unit pricing to compare pack sizes fairly
- Rank categories by average rating and rating volume
Assortment & Range Analysis
- Sweep an entire category page to inventory every SKU in an aisle
- Compare brand coverage across cities for a product type
- Identify out-of-stock gaps you could fill
- Track new products entering a category over time
Lead Generation & Catalog Building
- Build a structured grocery product catalog with images and prices
- Feed clean product rows into pricing dashboards and BI tools
- Enrich existing SKU databases with live Instamart pricing and stock
- Power price-comparison and deal-alerting apps
Getting Started
Search a Single Keyword
The simplest run โ one product term in the default city:
{"searchQueries": ["Amul Milk"]}
Multi-Keyword Basket in a Chosen City
Batch several terms and pin the city:
{"searchQueries": ["Amul Milk", "Olive Oil", "Eggs", "Sunscreen"],"city": "Mumbai","maxResults": 100}
Category Sweep with a Neighbourhood
Paste a full category page URL and refine to an exact area:
{"categoryUrls": ["https://www.swiggy.com/instamart/collection-listing?collectionId=1140525"],"city": "Bangalore","area": "Koramangala","maxResults": 0}
Input Reference
What to Collect
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | ["Amul Milk"] | Products to search for, one per line (e.g. "Amul Milk", "Sunscreen", "Olive Oil"). Each term is searched separately. Leave empty if you are only pasting category URLs. |
categoryUrls | string[] | [] | Full Swiggy Instamart category or collection page URLs to list every product in them. Copy the address straight from your browser. Leave empty if you are only searching by keyword. |
Location
| Parameter | Type | Default | Description |
|---|---|---|---|
city | select | Bangalore | The city that sets availability and pricing: Bangalore, Mumbai, Delhi, Hyderabad, Chennai, Pune, Kolkata, Gurgaon, Noida, Ahmedabad, Jaipur, Chandigarh, Lucknow, Kochi, or Coimbatore. |
area | string | (empty) | Optional area or neighbourhood within the city (e.g. "Koramangala", "Andheri West") to refine availability and pricing. Leave empty to use the city centre. |
Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Maximum products to collect for each search term and each category URL. Set to 0 to collect as many as are available. Start low for a quick first run, then raise it to collect hundreds. |
Output
Each product is one row in the dataset. Here's a representative result:
{"recordType": "product","productId": "GH8XKQ2M1P","name": "Amul Taaza Toned Milk","brand": "Amul","quantity": "500 ml","price": 27,"mrp": 30,"savings": 3,"discount": "10% OFF","pricePerUnit": "โน5.4/100 ml","rating": 4.5,"ratingCount": 12400,"inStock": true,"isAd": false,"adTitle": null,"category": "Milk","superCategory": "Dairy, Bread & Eggs","shortDescription": "Toned milk, homogenised and pasteurised.","imageUrl": "https://instamart-media-assets.swiggy.com/swiggy/image/upload/NI_CATALOG/IMAGES/CIW/2024/abc123","productUrl": "https://www.swiggy.com/instamart/item/GH8XKQ2M1P","city": "Bangalore","area": "Koramangala","sourceQuery": "Amul Milk","sourceCategoryUrl": null,"scrapedAt": "2026-07-03T14:30:00Z"}
Product & Pricing
| Field | Type | Description |
|---|---|---|
recordType | string | Always "product". |
productId | string | Swiggy Instamart product identifier. |
name | string | Product display name. |
brand | string | Brand name. |
quantity | string | Pack size / quantity label (e.g. "500 ml", "6 x 100 g"). |
price | number | Selling price in rupees (โน). |
mrp | number | Maximum retail price in rupees (โน). |
savings | number | Amount saved (MRP โ price) in rupees (โน). |
discount | string | Discount label (e.g. "25% OFF"), when the product is discounted. |
pricePerUnit | string | Per-unit price when available (e.g. "โน5.4/100 ml"). |
Ratings & Availability
| Field | Type | Description |
|---|---|---|
rating | number | Average product rating. |
ratingCount | integer | Number of ratings (display counts like "369.9k" normalized to a whole number). |
inStock | boolean | Whether the product is currently available in the chosen location. |
isAd | boolean | Whether the product appeared as a sponsored placement. |
adTitle | string | Sponsored slot title, when the product is an ad. |
Category, Media & Provenance
| Field | Type | Description |
|---|---|---|
category | string | Product category. |
superCategory | string | Top-level taxonomy grouping. |
shortDescription | string | Short product description. |
imageUrl | string | Product image URL. |
productUrl | string | Canonical Swiggy Instamart product page URL. |
city | string | City used for this run. |
area | string | Area / neighbourhood used, if provided. |
sourceQuery | string | The search term that produced this row (search results). |
sourceCategoryUrl | string | The category URL that produced this row (category results). |
scrapedAt | string | ISO 8601 timestamp of extraction. |
Tips for Best Results
- Start low, then scale โ set
maxResultsto 20 on your first run to confirm the data fits your needs, then raise it to collect hundreds per term. - Always set city plus area for accurate local pricing โ Instamart prices, discounts, and stock differ street to street. Pairing
citywith a specificarea(e.g. "Koramangala") pins results to that exact locality instead of a citywide default. - Use category URLs to sweep a whole aisle โ a single collection page link with
maxResults: 0inventories every SKU in that category, far faster than guessing individual keywords. - Batch related keywords in one run โ a multi-term basket ("Amul Milk", "Olive Oil", "Eggs") collects a full shopping list in one pass, and each row's
sourceQuerytells you which term produced it. - Compare the same product across cities โ run identical
searchQuerieswith differentcityvalues to build a city-by-city price and availability matrix. - Rank offers with the discount label and per-unit price โ filter on the
discountfield for deals, and usepricePerUnitto compare pack sizes on a like-for-like basis. - Filter out sponsored placements when you need organic pricing โ the
isAdflag lets you exclude promoted items so your price benchmarks reflect the true catalog.
Pricing
From $4.00 per 1,000 results โ a simple pay-per-result rate with no hidden extras. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.48 | $0.45 | $0.43 | $0.40 |
| 1,000 | $4.80 | $4.50 | $4.30 | $4.00 |
| 10,000 | $48 | $45 | $43 | $40 |
| 100,000 | $480 | $450 | $430 | $400 |
A "result" is any product row in the output dataset. No compute or time-based charges โ you pay per result, plus a small fixed per-run start fee.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications on new results
- Webhooks โ Trigger custom APIs on run completion
- Apify API โ Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate price monitoring, market research, and product-catalog building. You are responsible for complying with applicable laws and Swiggy's Terms of Service. Use collected data responsibly, respect intellectual property, and do not use it for spam, harassment, or any unlawful purpose.