Structured Product Listings
Receive product IDs, names, brands, pack sizes, images and product URLs in a products array ready for your data pipeline.
Search Blinkit by keyword and location to collect product listings as structured JSON. Get prices, MRP, discounts, stock and pack-size variants from the serving store, with sponsored placements clearly flagged.
{
"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"
}
]
}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)).bodyimport 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();
}
}positionproduct_idnamebrandunitimagesproduct_urlpricemrpdiscountvariantsin_stockinventoryetamerchant_idmerchant_typeis_sponsoredsponsored_countlocationstore_idcitystateformatted_addressis_serviceablestore_resolved_fromsearch_parameterstotal_resultstotal_availablefilterstotal_time_takenReceive product IDs, names, brands, pack sizes, images and product URLs in a products array ready for your data pipeline.
Collect price, MRP and discount for the serving store. Keep the returned location with each result so comparisons retain their store context.
Read in_stock, inventory and eta alongside each listing to study product availability at the location you requested.
Supply an Indian pincode or both lat and lon. Coordinates skip the extra pincode lookup and are faster when you already know the location.
Sponsored placements remain in the results with is_sponsored flags. Pack-size variants carry their own product IDs, units, prices and MRP.
Use page to collect further result pages, starting at 1. Set html=true when you need the raw upstream response instead of parsed JSON.
Search the same category across locations to compare which brands and pack sizes each resolved store carries.
Track selling prices, MRP and discounts over time while grouping observations by product ID and serving store.
Record listing positions for target keywords and locations to follow how prominently your products appear.
Use position, is_sponsored and sponsored_count to study how sponsored products appear alongside other listings.
Collect stock flags and inventory values for repeated searches to identify assortment gaps at specific stores.
Compare listed units and variant prices to build dashboards for product research and merchandising decisions.
Sign up for Scrapingdog to start testing Blinkit product search.
Copy your API key from the dashboard and pass it as api_key.
Call /blinkit/search with query and either pincode or both lat and lon. Add page for further results.
Read the products array alongside location to keep prices, stock and sponsored listings tied to the resolved store.
Start your web scraping journey with 100 free credits. Test our service and upgrade to one of the plans below. Cancel anytime.
The Blinkit Search API returns product search results from one serving Blinkit store as structured JSON. Results include product names, brands, pack sizes, prices, MRP, discounts, stock, sponsored flags, images, variants and product URLs.
Send api_key, query, and a location: either an Indian pincode or both lat and lon. Blinkit uses lon for longitude. Passing coordinates skips the extra pincode lookup and is faster.
No. Each request resolves a serving store for the requested location, and prices are specific to that store. The response includes location with the resolved store ID, city, state, address and serviceability. Blinkit has no public store directory; the serving store depends on coordinates.
No. Sponsored listings stay in the results and carry is_sponsored. The response also includes sponsored_count, so your application can distinguish sponsored placements when analyzing listings.
Yes. Listings include in_stock, inventory and eta. The variants array contains other pack sizes with product IDs, units, prices and MRP.
Pass page, starting at 1. The response includes total_results and total_available alongside the products and search parameters.
Yes. Set html=true to receive the raw upstream response instead of parsed JSON. The default is false. See the Blinkit Search API documentation for all parameters and code examples.
Use a search result's product_id with the Blinkit Product Scraper API and a location to retrieve that product's store-specific details, attributes, variants and recommendation rails.
Get 100 free credits to spin the API. No credit card required!