↑ ↓ to move ↵ to open
Blinkit API · Endpoint

Blinkit Promotions API

Find offers on the home feed, or by scanning a search or a shelf up to a limit you set, with filters for deal type, discount and price.

  • 3 credits per call
  • Failed calls are free
  • Updated
  • blinkit.promotions
Response completed
{  "count": 5,  "has_more": true,  "partial": true,  "partial_reason": "page_limit",  "promotion_type": "all",  "scanned_products": 36,  "source": "search",  "results": [    {      "title": "Red Rock Deli Kettle Chips (Basil Thai) No Palm Oil Snacks",      "deal_type": "percentage_discount",      "deeplink_url": "https://blinkit.com/prn/red-rock-deli-kettle-chips-basil-thai-no-palm-oil-snacks/prid/696525",      "discount_amount": 15,      "discount_percent": 25,      "has_free_item": false,      "image_url": "https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-1776829632782-895.png",      "is_b1g1": false,      "promotion_text": "25% OFF",      "promotion_type": "deals",      "rank": 1,      "section": "search",      "product": {        "name": "Red Rock Deli Kettle Chips (Basil Thai) No Palm Oil Snacks",        "price": 45,        "mrp": 60,        "rating": 4.5,        "available": true,        "brand": "Red Rock Deli",        "captured_at": "2026-10-04T13:25:09Z",        "category_id": null,        "category_name": null,        "currency": "INR",        "discount_amount": 15,        "discount_percent": 25,        "discount_text": "25% OFF",        "fulfillment": null,        "group_id": 2627554,        "image_url": "https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-1776829632782-895.png",        "inventory": 7,        "is_sold_out": false,        "is_sponsored": true,        "merchant_id": "40589",        "merchant_type": "express",        "organic_rank": null,        "price_per_100_unit": 77.5862,        "price_per_unit": 0.775862,        "product_id": 696525,        "product_url": "https://blinkit.com/prn/red-rock-deli-kettle-chips-basil-thai-no-palm-oil-snacks/prid/696525",        "quantity": 58,        "query": "chips",        "rank": 1,        "rating_count": 6685,        "stock_status": "in_stock",        "subcategory_id": null,        "subcategory_name": null,        "unit": "g",        "variant": "58 g",        "location": {          "latitude": 12.911862,          "longitude": 77.6445923,          "pincode": "560102"        },        "images": [          "https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-1776829632782-895.png",          "https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-1774421103172-167.png"        ]      }    },    {      "title": "Bingo Hot & Spicy Korean Style Potato Chips",      "deal_type": "percentage_discount",      "deeplink_url": "https://blinkit.com/prn/bingo-hot-spicy-korean-style-potato-chips/prid/545858",      "discount_amount": 12,      "discount_percent": 24,      "has_free_item": false,      "image_url": "https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-1777353225068-233.png",      "is_b1g1": false,      "promotion_text": "24% OFF",      "promotion_type": "deals",      "rank": 2,      "section": "search",      "product": {        "name": "Bingo Hot & Spicy Korean Style Potato Chips",        "price": 38,        "mrp": 50,        "rating": 4.6,        "available": true,        "brand": "Bingo",        "captured_at": "2026-10-04T13:25:09Z",        "category_id": null,        "category_name": null,        "currency": "INR",        "discount_amount": 12,        "discount_percent": 24,        "discount_text": "24% OFF",        "fulfillment": null,        "group_id": 813787,        "image_url": "https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-1777353225068-233.png",        "inventory": 5,        "is_sold_out": false,        "is_sponsored": true,        "merchant_id": "40589",        "merchant_type": "express",        "organic_rank": null,        "price_per_100_unit": 43.4286,        "price_per_unit": 0.434286,        "product_id": 545858,        "product_url": "https://blinkit.com/prn/bingo-hot-spicy-korean-style-potato-chips/prid/545858",        "quantity": 87.5,        "query": "chips",        "rank": 2,        "rating_count": 12569,        "stock_status": "in_stock",        "subcategory_id": null,        "subcategory_name": null,        "unit": "g",        "variant": "87.5 g",        "location": {          "latitude": 12.911862,          "longitude": 77.6445923,          "pincode": "560102"        },        "images": [          "https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-1777353225068-233.png",          "https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-1777353225068-234.png"        ]      }    }  ]}
Try it live, free
Input

What you send

The input object of the request, with every field the endpoint accepts.

  • Send one kind of location: a six-digit pincode, a place name in location_query, or latitude and longitude together, not a mix. A pincode stands for one delivery point, not every address in the area.
  • Send query for deals in a search, subcategory_id for deals on a shelf, or neither for the home feed; not both.
  • Search and shelf scans read up to max_scan products, 100 by default and up to 500; max_pages also caps them. Discount, price and deal-type filters apply after the scan, so max_scan counts products read, not deals returned. The home feed has no scan limit.
  • Use include to request fulfillment details where available.
FieldTypeRequiredWhat it doesExample
latitude number one of Latitude of the delivery address. From -90 to 90.
location_query string one of Free-text Indian location resolved before fetching location-dependent Blinkit data.
longitude number one of Longitude of the delivery address. From -180 to 180.
pincode string one of Six-digit Indian pincode; surrounding whitespace is allowed and trimmed. Do not combine with coordinates. 560102
query string one of Search for product deals. Cannot be combined with subcategory_id. chips
subcategory_id string one of Scan deals on this shelf. Cannot be combined with query.
deal_type string no Deal classification, or any_promotion for any evidenced deal or explicit offer marker. Allowed values: percentage_discount, amount_discount, b1g1, free_item, flash_offer, any_promotion. percentage_discount · amount_discount · b1g1 · …
include array<string> no Optional fields or enrichments to include. Allowed values: fulfillment. fulfillment
limit integer no Maximum promotions returned. From 1 to 100. Default: 20. 5
max_pages integer no Maximum pages fetched from the selected source. From 1 to 20. Default: 3.
max_price integer no Return only product promotions whose normalized selling price is at or below this value. At least 0.
max_scan integer no Maximum distinct products inspected in search/shelf mode, across at most max_pages pages. Filters are applied after scanning. No effect on the home feed. From 1 to 500. Default: 100. 40
min_discount_percent number no Return only promotions with a normalized percentage discount at or above this value. From 0 to 100.
offset integer no Number of deduplicated promotions to skip. From 0 to 10000. Default: 0.
promotion_type string no Promotion placement type to return. Allowed values: all, deals, banners, flash_offers. Default: all. all · deals · banners · flash_offers
Response

Fields it returns

What each record in the response holds, with the values from the sample above.

FieldTypeWhat it isExample
results[].title string Product title as Blinkit lists it. Red Rock Deli Kettle Chips (Basil Thai) No Palm Oil Snacks
results[].promotion_text string The offer label exactly as Blinkit shows it. 25% OFF
results[].deal_type string How Blinkit’s offer is classified: percentage or amount off, buy one get one, free item or flash offer. percentage_discount
results[].promotion_type string Where the offer was found: a deal, a banner or a flash offer. deals
results[].section string The source scanned: home feed, search or shelf. search
results[].discount_percent integer Discount from MRP, as a percentage. 25
results[].discount_amount integer Rupees off MRP. 15
results[].is_b1g1 boolean Whether the offer is buy one get one. false
results[].has_free_item boolean Whether the offer includes a free item. false
results[].deeplink_url string Product page on blinkit.com. https://blinkit.com/prn/red-rock-deli-kettle-chips-basil-thai-n…
results[].image_url string Blinkit CDN image for this product. https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-177…
results[].product.name string Product title as Blinkit lists it. Red Rock Deli Kettle Chips (Basil Thai) No Palm Oil Snacks
results[].product.price integer Displayed selling price in rupees. 45
results[].product.mrp integer Maximum retail price printed on the pack. 60
results[].product.rating number Average shopper rating shown on the listing. 4.5
results[].product.location object The location the result was read for. 3 fields
results[].product object The product record. 37 fields
results[].product.merchant_id string Store serving this location. 40589
results[].product.product_url string Product page on blinkit.com. https://blinkit.com/prn/red-rock-deli-kettle-chips-basil-thai-n…
results[].product.discount_amount integer Rupees off MRP. 15
results[].product.product_id integer Blinkit product id, stable across locations. 696,525
results[].product.unit string The unit of the pack amount, such as ml. g
results[].product.category_name null Department name as Blinkit shows it. null
results[].product.subcategory_id null Blinkit's ID for the subcategory. null
results[].product.variant string Pack size, for example 250 ml. 58 g
results[].product.subcategory_name null The subcategory name, such as Bathing Soaps. null
results[].product.image_url string Blinkit CDN image for this product. https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-177…
results[].product.brand string Brand name on the listing. Red Rock Deli
results[].product.rank integer Position in the returned list. Sponsored placements are flagged separately. 1
results[].product.available boolean Whether the product can be bought at this location now. true
results[].product.images array Product images returned. https://cdn.grofers.com/da/cms-assets/cms/product/rc-upload-177…
results[].product.discount_text string Discount label exactly as Blinkit words it. 25% OFF
results[].product.category_id null Department ID. Pass it to category products or categories. null
results[].product.quantity integer The pack amount, in the unit given. 58
results[].product.currency string The currency of the prices, such as INR. INR
results[].product.price_per_100_unit number Price per 100 units, such as per 100 g. 77.59
results[].product.inventory integer Units Blinkit reports at this location. 7
results[].product.merchant_type string Fulfilment type, for example express. express
results[].product.stock_status string Stock as Blinkit reports it at this delivery point: in stock or out of stock. in_stock
results[].product.captured_at string When this result was collected. It is not the time Blinkit last changed the product. 2026-10-04T13:25:09Z
results[].product.discount_percent integer Discount from MRP, as a percentage. 25
results[].product.organic_rank null Position among the results that are not sponsored. null
results[].product.fulfillment null How the order is delivered, when given. null
results[].product.rating_count integer How many ratings the product has. 6685
results[].product.price_per_unit number Price per single unit, such as per gram. 0.78
results[].product.query string The search term that produced this row. chips
results[].product.is_sold_out boolean Whether the listing is explicitly sold out. false
results[].product.is_sponsored boolean Whether Blinkit marks the listing as sponsored. true
results[].product.group_id integer Links pack sizes of the same product. 2,627,554
results[].rank integer Position in the returned list. Sponsored placements are flagged separately. 1
promotion_type string Where the offer was found: a deal, a banner or a flash offer. all
count integer How many results this response holds. 5
has_more boolean Whether more results follow. true
partial boolean Whether only part of the results came back. true
partial_reason string Why only part came back, such as reaching the page limit. page_limit
results array The results returned. 5 records
scanned_products integer How many products were checked for deals. 36
source string Where the deals came from, such as search. search
Know before you build

What this endpoint covers

REST API · MCP server

Call it from your code, or ask your agent

Set UPSCRAPE_API_KEY to your key and copy a working request.

curl --request POST \  --url https://data.upscrape.com/execute \  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \  --header "Content-Type: application/json" \  --header "Prefer: wait=30" \  --data '{  "capability": "blinkit.promotions",  "input": {    "limit": 5,    "max_scan": 40,    "pincode": "560102",    "query": "chips"  }}'
In your AI agent Claude · Cursor · any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

Using Upscrape, find chips deals of 20% or more on Blinkit at pincodes 560102 (Bengaluru) and 400001 (Mumbai). For each pincode list the product, offer text, price and MRP, and tell me which offers appear in one city but not the other.

The agent finds the endpoint, shows you the price, and runs it with your credits.
Blinkit

More from the Blinkit API

Same data, other platforms

The same data from other platforms

Questions

Blinkit Promotions API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
How much does the Blinkit Promotions API cost?

3 credits per successful call, shown before it runs. You buy credits once, and paid credits never expire.

What do I send?

Every input is optional; the input fields below list what each one does.

Do I need a Blinkit login?

No. It reads public Blinkit data; nothing runs on your account.

Can my AI agent call it?

Yes, over MCP: the agent finds blinkit.promotions, checks its price and runs it with the same credits as the REST API.

Get started

Your first Blinkit call is free.

Up to 100 free credits to start, no card needed.