Swiggy Instamart Product Scraper API
The Swiggy Instamart Product Scraper API returns one product, priced at one location, as structured JSON. It carries the same fields as a search result plus variants — the product’s other pack sizes — and related_products, the rails from the page.
Endpoint:
https://api.scrapingdog.com/swiggy/instamart/productAPI Parameters
🔑
Scrapingdog Parameters
api_keyRequiredYour personal API key. Available on your dashboard.
Type: String
🔍
Product
product_idRequiredThespin_idfrom a search result — Instamart’s catalogue id, and the value this endpoint expects.spin_idis accepted as an alias. Do not passsku_id, which is per store.
Type: String
📍
Location
pincodeOptionalIndian pincode to resolve a location from. Eitherpincode, or bothlatandlng, is required.
Without a location the page still loads but every price comes back as0, so treat a location as required.
Type: StringlatOptionalLatitude to search from. Use together withlngin place ofpincode.
Type: NumberlngOptionalLongitude to search from. Note Instamart takeslng— Blinkit takeslon.
Type: Number
API Examples

Code to Integrate
curl "https://api.scrapingdog.com/swiggy/instamart/product?api_key=APIKEY&product_id=9XJCBD88DO&pincode=110001"
import requests url = "https://api.scrapingdog.com/swiggy/instamart/product" params = { "api_key": "APIKEY", "product_id": "9XJCBD88DO", "pincode": "110001" } response = requests.get(url, params=params) if response.status_code == 200: data = response.json() print(data["product"]) else: print(f"Request failed with status code: {response.status_code}")
const axios = require('axios'); axios.get('https://api.scrapingdog.com/swiggy/instamart/product', { params: { api_key: 'APIKEY', product_id: '9XJCBD88DO', pincode: '110001' } }).then(response => console.log(response.data.product)) .catch(error => console.error(error.message));
<?php $url = 'https://api.scrapingdog.com/swiggy/instamart/product?' . http_build_query([ 'api_key' => 'APIKEY', 'product_id'=> '9XJCBD88DO', 'pincode' => '110001', ]); echo file_get_contents($url);
require 'net/http' require 'uri' url = URI.parse("https://api.scrapingdog.com/swiggy/instamart/product") url.query = URI.encode_www_form('api_key' => 'APIKEY', 'product_id' => '9XJCBD88DO', 'pincode' => '110001') http = Net::HTTP.new(url.host, url.port) http.use_ssl = true puts http.request(Net::HTTP::Get.new(url)).body
import java.io.*; import java.net.*; public class Main { public static void main(String[] args) throws Exception { String apiUrl = "https://api.scrapingdog.com/swiggy/instamart/product?api_key=APIKEY&product_id=9XJCBD88DO&pincode=110001"; 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(); } }
API Response
{
"search_parameters": { "product_id": "9XJCBD88DO", "pincode": "110001" },
"total_time_taken": 5.65,
"location": { "lat": 28.6327426, "lng": 77.2195969, "address": "New Delhi, Delhi 110001, India" },
"product": {
"spin_id": "9XJCBD88DO",
"sku_id": "5PRPUWP2R3",
"name": "Fidelo 25gm Protein Milk",
"brand": "Fidelo",
"quantity": "200 ml",
"mrp": 129,
"offer_price": 109,
"discount_percent": 16,
"offers": ["15% OFF"],
"in_stock": true,
"max_order_quantity": 3,
"category": "Milk",
"sub_category": "Fresh Milk",
"weight_in_grams": 200,
"images": ["..."],
"variants": [],
"related_products": [],
"product_url": "https://instamart.in/p/9XJCBD88DO"
}
}