Structured Product Listings
Receive product names, brands, quantities, descriptions, images and URLs alongside spin_id and sku_id in a products array.
Search any product on Instamart and get back prices, offers, ratings, stock and categories as structured JSON, for the exact location you choose. Sponsored listings are flagged, and the filter and sort options come included.
{
"search_parameters": { "query": "rice", "pincode": "302018", "lat": 26.8573411, "lng": 75.7865653 },
"total_time_taken": 8.75,
"location": { "lat": 26.8573411, "lng": 75.7865653, "address": "Jaipur, Rajasthan 302018, India" },
"store_resolved_from": "pincode",
"total_results": 47,
"total_available": 239,
"next_offset": "1",
"sponsored_count": 19,
"filters": [
{ "name": "Brand", "id": "Brand", "multi_select": true, "options": ["Amul", "Mother Dairy"] }
],
"sort_options": ["Relevance", "Price (Low To High)", "Discount (High To Low)"],
"products": [
{
"position": 1,
"spin_id": "JMFYBBMUSG",
"sku_id": "P8P3Y2QIFI",
"name": "Amul Cow Milk",
"brand": "Amul",
"quantity": "1 ltr",
"description": "Pure and fresh cow milk from Amul.",
"mrp": 61,
"offer_price": 61,
"discount_percent": null,
"offers": [],
"in_stock": true,
"max_order_quantity": 6,
"rating": 4.3,
"rating_count": "12.9k",
"category": "Milk",
"sub_category": "Fresh Milk",
"super_category": "Dairy, Bread and Eggs",
"weight_in_grams": 1000,
"is_sponsored": false,
"images": ["https://media-assets.swiggy.com/..."],
"product_url": "https://instamart.in/p/JMFYBBMUSG"
}
]
}curl "https://api.scrapingdog.com/swiggy/instamart/search?api_key=APIKEY&query=rice&pincode=302018"
import requests
url = "https://api.scrapingdog.com/swiggy/instamart/search"
params = {
"api_key": "APIKEY",
"query": "rice",
"pincode": "302018"
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
print(data["products"])
else:
print(f"Request failed with status code: {response.status_code}")const axios = require('axios');
axios.get('https://api.scrapingdog.com/swiggy/instamart/search', {
params: { api_key: 'APIKEY', query: 'rice', pincode: '302018' }
}).then(response => console.log(response.data.products))
.catch(error => console.error(error.message));<?php
$url = 'https://api.scrapingdog.com/swiggy/instamart/search?' . http_build_query([
'api_key' => 'APIKEY',
'query' => 'rice',
'pincode' => '302018',
]);
echo file_get_contents($url);require 'net/http'
require 'uri'
url = URI.parse("https://api.scrapingdog.com/swiggy/instamart/search")
url.query = URI.encode_www_form('api_key' => 'APIKEY', 'query' => 'rice', 'pincode' => '302018')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
puts http.request(Net::HTTP::Get.new(url)).bodyimport java.io.*;
import java.net.*;
public class Main {
public static void main(String[] args) throws Exception {
String apiUrl = "https://api.scrapingdog.com/swiggy/instamart/search?api_key=APIKEY&query=rice&pincode=302018";
URL url = new URL(apiUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) System.out.println(line);
conn.disconnect();
}
}positionspin_idsku_idnamebrandquantitydescriptionimagesproduct_urlmrpoffer_pricediscount_percentoffersin_stockmax_order_quantityratingrating_countcategorysub_categorysuper_categoryweight_in_gramsis_sponsoredsponsored_countfilterssort_optionstotal_resultstotal_availablenext_offsetlocationlatlngaddressstore_resolved_fromsearch_parameterstotal_time_takenReceive product names, brands, quantities, descriptions, images and URLs alongside spin_id and sku_id in a products array.
Collect MRP, offer price, discount percentage and offers for the requested location. Always provide a location to avoid the zero prices returned without one.
Read in_stock, max_order_quantity, rating and rating_count to compare availability, order limits and customer feedback.
Search with an Indian pincode or both lat and lng. The returned location and store_resolved_from keep your results tied to their location context.
Sponsored placements stay in the results with is_sponsored flags. Use sponsored_count and product positions to analyze search visibility.
Collect category, sub_category, super_category and weight_in_grams, plus the filter and sort options Instamart returns for the query.
Record prices, discounts and offers over time, area by area, to spot price changes and promotions as they happen.
Record MRP, offer prices, discount percentages and offers over time while keeping observations tied to their locations.
Track product positions for target keywords and locations to understand which products appear prominently in search.
Use is_sponsored and sponsored_count to study how sponsored products appear alongside other search results.
Combine stock flags and maximum order quantities with product identities to monitor local availability.
Group products by their category hierarchy and compare rating signals to support catalog and merchandising analysis.
Sign up for Scrapingdog to start testing Instamart product search.
Copy your API key from the dashboard and pass it as api_key.
Call /swiggy/instamart/search with query and either pincode or both lat and lng.
Read products alongside location to analyze prices, stock, ratings and sponsored placements for the requested area.
Start your web scraping journey with 100 free credits. Test our service and upgrade to one of the plans below. Cancel anytime.
Swiggy doesn't offer a public Instamart API for product data. Scrapingdog's Swiggy Instamart API gives you the same search results customers see, as structured JSON, through one simple request.
The API returns product search results for one Instamart location as structured JSON. Listings include prices, offers, ratings, stock, product categories, images, IDs and sponsored flags. The response also contains location context, available filter and sort options, and result counts.
Your api_key, a search query, and a location: either a pincode or both lat and lng.
Instamart search results are tied to a location. Without one, the page can still load but every price comes back as 0. Always supply a pincode or coordinates and retain the returned location with your data.
Yes. You get in_stock, max_order_quantity, rating and rating_count for every product.
No. Sponsored placements remain in the results and are flagged with is_sponsored. The response also includes sponsored_count and each product's position.
Yes. Run the same searches on a schedule and store the prices, discounts and offers to track changes over time for each location.
Pass a search result's spin_id as product_id to the Swiggy Instamart Product API, with a pincode or coordinates. Use the catalogue spin_id rather than the store-specific sku_id.
Get 100 free credits to spin the API. No credit card required!