Blinkit Search Scraper API
The Blinkit Search Scraper API returns product search results from one Blinkit store as structured JSON. Blinkit has no public store directory — the serving store is a function of coordinates, so every request is tied to a location and the store it resolved to comes back in location. Prices are per store, and sponsored placements are flagged with is_sponsored rather than removed.
Endpoint:
https://api.scrapingdog.com/blinkit/searchAPI Parameters
🔑
Scrapingdog Parameters
api_keyRequiredYour personal API key. Available on your dashboard.
Type: String
🔍
Search
queryRequiredThe search term to look up on Blinkit (e.g.,rice).
Type: StringpageOptionalPage number of results.
Default:1
Type: Integer
📍
Location
pincodeOptionalIndian pincode to resolve a serving store from. Eitherpincode, or bothlatandlon, is required.
A pincode costs one extra lookup on our side; passing coordinates skips it and is faster.
Type: StringlatOptionalLatitude to search from. Use together withlonin place ofpincode.
Type: NumberlonOptionalLongitude to search from. Note Blinkit takeslon— Swiggy Instamart takeslng.
Type: Number
⚙
️ Scrapingdog Options
htmlOptionalSet totrueto receive the raw upstream response instead of parsed JSON.
Default:false
Type: Boolean
API Examples

Code to Integrate
curl "https://api.scrapingdog.com/blinkit/search?api_key=APIKEY&query=rice&pincode=302018"
import requests url = "https://api.scrapingdog.com/blinkit/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/blinkit/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/blinkit/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/blinkit/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)).body
import java.io.*; import java.net.*; public class Main { public static void main(String[] args) throws Exception { String apiUrl = "https://api.scrapingdog.com/blinkit/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(); } }
API Response
{
"search_parameters": { "query": "rice", "page": 1, "pincode": "302018", "lat": 26.865523, "lon": 75.7876 },
"total_time_taken": 2.13,
"location": {
"store_id": "42750",
"city": "Jaipur",
"state": "Rajasthan",
"formatted_address": "D-52, Kirti Nagar, ...",
"is_serviceable": true
},
"store_resolved_from": "pincode",
"total_results": 12,
"total_available": 124,
"sponsored_count": 4,
"filters": [
{ "name": "Filter by Price per kg", "options": ["Below ₹100/kg", "₹100 – ₹200/kg"] }
],
"products": [
{
"position": 1,
"product_id": "1383282",
"name": "Zeeba Everyday Basmati Rice (Medium Grain)",
"brand": "Zeeba",
"unit": "1 kg",
"price": 76,
"mrp": 115,
"discount": "33% OFF",
"is_sponsored": true,
"in_stock": true,
"inventory": 7,
"eta": "earliest",
"merchant_id": "42750",
"merchant_type": "express",
"images": ["https://cdn.grofers.com/..."],
"variants": [
{ "product_id": "1381642", "unit": "5 kg", "price": 272, "mrp": 570 }
],
"product_url": "https://blinkit.com/prn/x/prid/1383282"
}
]
}