Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the BigBasket API page →
E-commerce & Marketplaces

BigBasket API & Scraper

bigbasket's catalogue, prices and stock depend on the delivery PIN code, so every call takes one 6-digit PIN code and answers for it.

4 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

`search` takes a search term, a category or a brand and returns the products bigbasket shows there: selling price, MRP, discount percent and the site's own discount label, price per 100 g, 100 ml or piece, pack size and the price of every other pack size, in-stock state, brand, category path, EAN, rating and review counts, with filters for brand, price band, discount band and minimum rating and six sort orders. `product` takes the product_id from any search row and returns the full product page: about the product, ingredients, nutritional facts, storage, manufacturer and other information, breadcrumb, images and tags, plus every pack size with its own price and stock. `pincode` tells you whether bigbasket delivers to a PIN code, which services are live there and the next delivery promise, for example "Get it in 10 mins". `categories` returns the category tree.

Reference

What a bigbasket field actually contains

Fields that read differently from how they look. Every row was measured against live bigbasket responses on 2026-10-14.

FieldWhat it holds
pincodeThe 6-digit PIN code the answer is for. bigbasket has no PIN-free shelf: "atta" matched 188 products at 400020 (Mumbai), 158 at 560001 (Bengaluru) and 245 at 110001 (Delhi), and the same 5 kg Aashirvaad atta cost 263.5 rupees at 400020 against 273.59 on bigbasket's default Bengaluru shelf.
price, mrp, discount_percentSelling price and maximum retail price in rupees; discount_percent is computed from the two. On 82 of 82 rows where bigbasket prints "NN% OFF" the computed figure agreed within one point. The search row and the product page agreed on price, MRP, unit price, stock and pack size for 10 of 10 products.
unit_price, unit_price_consistentbigbasket's own price per 100 g, 100 ml or piece, as published. unit_price_consistent checks it against price divided by pack size: 127 of 144 rows agreed, 3 did not (one 5 kg pack carried 6,560 per 100 g instead of 6.56), 14 could not be checked. The published value is never altered.
ean, ean_code_rawbigbasket's barcode field often holds the product's own id instead of a barcode (71 of 144 rows). ean is filled only with a valid GTIN (62 of 144 rows); the raw value is kept in ean_code_raw.
in_stock, buttonWhether the product can be added at that PIN code. Out-of-stock products still show their shelf price and the button "Notify Me"; 100 of 643 rows read were out of stock.
other_packsThe other pack sizes of the same product with their own price, MRP, unit price and stock, for example 1 kg, 2 kg, 5 kg and 10 kg of one atta.
substituted_resultstrue when bigbasket found nothing for the search term and filled the page with its own suggestions; those rows do not match the query.

Once the PIN code is fixed the answer does not depend on where the request comes from: five separate reads in the same minute returned the same 12 products with identical prices, MRPs, stock and store.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/bigbasket/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "atta",
    "pincode": "400020"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "bigbasket",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 5414,
    "record_count": 24,
    "bytes": 513963,
    "cache_hit": false,
    "pincode": "400020",
    "total": 189,
    "upstream_requests": 6,
    "charged_credits": 3,
    "version": "0.1.0",
    "request_id": "adb214cd00ce4824",
    "queue_ms": 2.9,
    "fetched_at": "2026-10-14T18:57:22.686Z"
  },
  "data": {
    "pincode": "400020",
    "query": "atta",
    "category": null,
    "brand": null,
    "sort": "relevance",
    "serviceable": true,
    "place": "Marine Lines, Mumbai, Maharashtra 400020, India",
    "location": {
      "city_id": "4"
    },
    "total": 189,
    "page": 1,
    "last_page": 10,
    "has_next": true,
    "returned": 24,
    "dropped_rows": 0,
    "substituted_results": false,
    "results": [
      {
        "product_id": "40132196",
        "name": "Whole Wheat Chakki Flour/Atta",
        "brand": "Patanjali",
        "brand_slug": "patanjali",
        "pack_size": "5 kg",
        "pack_description": null,
        "url": "https://www.bigbasket.com/pd/40132196/patanjali-traditional-whole-wheat-chakki-atta-with-bran-5-kg/",
        "image": "https://www.bbassets.com/media/uploads/p/l/40132196_7-patanjali-traditional-whole-wheat-chakki-atta-with-bran.jpg",
        "image_count": 10,
        "ean": null,
        "ean_code_raw": null,
        "price": 246.45,
        "mrp": 265,
        "discount_percent": 7,
        "discount_text": "₹19 OFF",
        "currency": "INR",
        "unit_price": {
          "amount": 4.92,
          "per": "100g"
        },
        "unit_price_consistent": true,
        "offer_text": null,
        "offer_type": null,
        "in_stock": true,
        "availability_code": "001",
        "not_for_sale": false,
        "button": "Add",
        "eta": null,
        "is_best_value": false,
        "category": {
          "top": "Foodgrains, Oil & Masala",
          "top_slug": "foodgrains-oil-masala",
          "mid": "Atta, Flours & Sooji",
          "mid_slug": "atta-flours-sooji",
          "leaf": "Atta Whole Wheat",
          "leaf_id": 1448
        },
        "rating": {
          "average": 4.1,
          "ratings": 1256,
          "reviews": 36
        },
        "food_type": "veg",
        "other_packs": [],
        "store_id": 10674,
        "rank": 1
      },
      {
        "product_id": "126903",
        "name": "Atta/Ghau Peeth - Whole Wheat",
        "brand": "Aashirvaad",
        "brand_slug": "aashirvaad",
        "pack_size": "5 kg",
        "pack_description": null,
        "url": "https://www.bigbasket.com/pd/126903/aashirvaad-atta-whole-wheat-5-kg-pouch/",
        "image": "https://www.bbassets.com/media/uploads/p/l/126903_12-aashirvaad-atta-whole-wheat.jpg",
        "image_count": 10,
        "ean": "8909081005541",
        "ean_code_raw": "8909081005541",
        "price": 263.5,
        "mrp": 314,
        "discount_percent": 16,
        "discount_text": "16% OFF",
        "currency": "INR",
        "unit_price": {
          "amount": 5.27,
          "per": "100g"
        },
        "unit_price_consistent": true,
        "offer_text": "Har Din Sasta!",
        "offer_type": "discount",
        "in_stock": true,
        "availability_code": "001",
        "not_for_sale": false,
        "button": "Add",
        "eta": null,
        "is_best_value": false,
        "category": {
          "top": "Foodgrains, Oil & Masala",
          "top_slug": "foodgrains-oil-masala",
          "mid": "Atta, Flours & Sooji",
          "mid_slug": "atta-flours-sooji",
          "leaf": "Atta Whole Wheat",
          "leaf_id": 1448
        },
        "rating": {
          "average": 4.1,
          "ratings": 76774,
          "reviews": 1096
        },
        "food_type": "veg",
        "other_packs": [
          {
            "product_id": "[trimmed-depth]",
            "pack_size": "[trimmed-depth]",
            "url": "[trimmed-depth]",
            "price": "[trimmed-depth]",
            "mrp": "[trimmed-depth]",
            "discount_percent": "[trimmed-depth]",
            "discount_text": "[trimmed-depth]",
            "unit_price": "[trimmed-depth]",
            "unit_price_consistent": "[trimmed-depth]",
            "in_stock": "[trimmed-depth]",
            "availability_code": "[trimmed-depth]",
            "is_best_value": "[trimmed-depth]"
          },
          {
            "product_id": "[trimmed-depth]",
            "pack_size": "[trimmed-depth]",
            "url": "[trimmed-depth]",
            "price": "[trimmed-depth]",
            "mrp": "[trimmed-depth]",
            "discount_percent": "[trimmed-depth]",
            "discount_text": "[trimmed-depth]",
            "unit_price": "[trimmed-depth]",
            "unit_price_consistent": "[trimmed-depth]",
            "in_stock": "[trimmed-depth]",
            "availability_code": "[trimmed-depth]",
            "is_best_value": "[trimmed-depth]"
          },
          {
            "product_id": "[trimmed-depth]",
            "pack_size": "[trimmed-depth]",
            "url": "[trimmed-depth]",
            "price": "[trimmed-depth]",
            "mrp": "[trimmed-depth]",
            "discount_percent": "[trimmed-depth]",
            "discount_text": "[trimmed-depth]",
            "unit_price": "[trimmed-depth]",
            "unit_price_consistent": "[trimmed-depth]",
            "in_stock": "[trimmed-depth]",
            "availability_code": "[trimmed-depth]",
            "is_best_value": "[trimmed-depth]"
          }
        ],
        "store_id": 10674,
        "rank": 2
      },
      {
        "product_id": "40099240",
        "name": "Chakki-Fresh-Wheat-Atta/Ghau Peeth - Fortified",
        "brand": "bb Royal",
        "brand_slug": "bb-royal",
        "pack_size": "5 kg",
        "pack_description": null,
        "url": "https://www.bigbasket.com/pd/40099240/bb-royal-chakki-fresh-wheat-atta-fortified-5-kg/",
        "image": "https://www.bbassets.com/media/uploads/p/l/40099240_10-bb-royal-chakki-fresh-wheat-atta-fortified.jpg",
        "image_count": 9,
        "ean": "8904256702188",
        "ean_code_raw": "8904256702188",
        "price": 179,
        "mrp": 290,
        "discount_percent": 38,
        "discount_text": "38% OFF",
        "currency": "INR",
        "unit_price": {
          "amount": 3.58,
          "per": "100g"
        },
        "unit_price_consistent": true,
        "offer_text": "Har Din Sasta!",
        "offer_type": "discount",
        "in_stock": true,
        "availability_code": "001",
        "not_for_sale": false,
        "button": "Add",
        "eta": null,
        "is_best_value": true,
        "category": {
          "top": "Foodgrains, Oil & Masala",
          "top_slug": "foodgrains-oil-masala",
          "mid": "Atta, Flours & Sooji",
          "mid_slug": "atta-flours-sooji",
          "leaf": "Atta Whole Wheat",
          "leaf_id": 1448
        },
        "rating": {
          "average": 4,
          "ratings": 42739,
          "reviews": 1066
        },
        "food_type": "veg",
        "other_packs": [
          {
            "product_id": "[trimmed-depth]",
            "pack_size": "[trimmed-depth]",
            "url": "[trimmed-depth]",
            "price": "[trimmed-depth]",
            "mrp": "[trimmed-depth]",
            "discount_percent": "[trimmed-depth]",
            "discount_text": "[trimmed-depth]",
            "unit_price": "[trimmed-depth]",
            "unit_price_consistent": "[trimmed-depth]",
            "in_stock": "[trimmed-depth]",
            "availability_code": "[trimmed-depth]",
            "is_best_value": "[trimmed-depth]"
          },
          {
            "product_id": "[trimmed-depth]",
            "pack_size": "[trimmed-depth]",
            "url": "[trimmed-depth]",
            "price": "[trimmed-depth]",
            "mrp": "[trimmed-depth]",
            "discount_percent": "[trimmed-depth]",
            "discount_text": "[trimmed-depth]",
            "unit_price": "[trimmed-depth]",
            "unit_price_consistent": "[trimmed-depth]",
            "in_stock": "[trimmed-depth]",
            "availability_code": "[trimmed-depth]",
            "is_best_value": "[trimmed-depth]"
          }
        ],
        "store_id": 10674,
        "rank": 3
      }
    ]
  }
}
Actions

What the BigBasket API does

ActionDescriptionConcrete use caseKey params
searchSearch bigbasket AS SEEN FROM ONE PIN CODE (a search term, or a category / brand page): products with selling price, MRP, discount, unit price (per 100 g / per litre...), pack size and the price of every other pack size, stock state, brand, category path, EAN, rating and the shelf offer text. Filters: brand, price band, discount band, minimum rating; six sort orders. `pincode` and one of `query` / `category` / `brand` are required.Pricing teams call search to search bigbasket AS SEEN FROM ONE PIN CODE (a search term, or a category / brand page).pincode, query, category, brand, price_band, ...
productOne bigbasket product at one PIN code, by the `product_id` a search row returns (or its bigbasket.com/pd/ URL): price, MRP, discount, unit price, stock, pack size, EAN, brand, breadcrumb, rating and review counts, images, the product page sections (about, ingredients, nutritional facts, storage, other info incl. manufacturer and best-before), tags — plus EVERY pack size of the product with its own price and stock.Marketplace operators call product to get one bigbasket product at one PIN code, by the `product_id` a search row.pincode, product_id
pincodeWhether bigbasket delivers to a PIN code and how: the place it resolves to, the serviceability of each bigbasket service (bb-b2c slot delivery, bbnow quick delivery...), and for the located visitor the stores (service areas) with their delivery promise ('Get it in 10 mins') and the next available slot.Catalog enrichment teams call pincode to get whether bigbasket delivers to a PIN code and how.pincode
categoriesbigbasket's category tree (top level > sub > leaf) with slugs for search.category.Retail analysts call categories to get bigbasket's category tree (top level > sub > leaf) with slugs for search.category..none
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/bigbasket/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"atta","pincode":"400020"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.bigbasket.search with {"query":"atta","pincode":"400020"}.
Use cases

Who uses this API and why

  • Track grocery prices, MRP and discounts across Indian cities by PIN code.
  • Compare price per 100 g or per litre across brands and pack sizes.
  • Monitor which products are out of stock at a given PIN code.
  • Check whether bigbasket and its quick delivery serve a PIN code, and the promised delivery time.
  • Build a grocery product database with brand, pack size, category path, ingredients and nutrition.
FAQ

Questions developers ask before integrating

Do I need a bigbasket account?

No. Everything is read logged out: the prices, stock and delivery promise are the ones bigbasket shows any visitor who entered that PIN code. Member-only prices are not shown to a logged-out visitor, so they are not returned.

Why is pincode required?

Because bigbasket's catalogue, prices and stock change with the PIN code. Without one bigbasket shows a default Bengaluru shelf; the API never does that silently and echoes the place the PIN code resolved to.

Which filters are there, and do they work?

Each was checked against the unfiltered count in the same run at 400020. "atta" (188 products): brand aashirvaad 13, price band 51 to 100 rupees 102, discount over 25 percent 39, rating 4 and up 108. "biscuits" (406): brand britannia 55, price band 179, discount 111, rating 253.

Is the price band exact?

No. bigbasket matches the price band against the whole product family, so a product whose shown pack is outside the band can appear because another pack size is inside it. Each answer counts those rows in rows_outside_price_filter.

How many products per page?

bigbasket decides: 20 per search page at the Mumbai and Delhi stores we read, 40 on its default shelf, 48 on category and brand pages. Use page up to last_page; a page after the last returns no rows.

What happens with a misspelled search term?

Sometimes bigbasket answers with its own suggestions instead of an empty page. The answer then says substituted_results: true and names what bigbasket substituted, so those rows are never mistaken for matches.

Do you return reviews?

Rating average, rating count and review count, yes. Review text, no: it is not on the pages bigbasket serves to a logged-out visitor.

How fresh is the data?

Every call reads bigbasket live; nothing is cached. A search took 5.3 seconds at the median and a product 5.5 seconds in our first run.

What is the BigBasket API?

BigBasket API is a ReefAPI endpoint group for grocery prices, mrp, discounts, unit prices, pack sizes and stock from bigbasket for any indian pin code. It returns live JSON through POST requests under /bigbasket/v1.

Is the BigBasket API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. BigBasket calls use the same shared credit balance as every other ReefAPI engine.

Do I need a BigBasket login or account?

No login to BigBasket is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the BigBasket data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the BigBasket API use?

BigBasket actions currently cost 3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call BigBasket from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call bigbasket actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / bigbasket

BigBasket

Grocery prices, MRP, discounts, unit prices, pack sizes and stock from bigbasket for any Indian PIN code.

base /bigbasket/v14 endpoints
post/bigbasket/v1/product3 credits

One bigbasket product at one PIN code, by the `product_id` a search row returns (or its bigbasket.com/pd/ URL): price, MRP, discount, unit price, stock, pack size, EAN, brand, breadcrumb, rating and review counts, images, the product page sections (about, ingredients, nutritional facts, storage, other info incl. manufacturer and best-before), tags — plus EVERY pack size of the product with its own price and stock.

ParameterAllowed / rangeDescription
pincoderequired—6-digit Indian PIN code. REQUIRED, echoed.
product_idrequired—The product's `product_id` exactly as a search row returns it, or its https://www.bigbasket.com/pd/<id>/... URL.
Try in playground →
post/bigbasket/v1/pincode3 credits

Whether bigbasket delivers to a PIN code and how: the place it resolves to, the serviceability of each bigbasket service (bb-b2c slot delivery, bbnow quick delivery...), and for the located visitor the stores (service areas) with their delivery promise ('Get it in 10 mins') and the next available slot.

ParameterAllowed / rangeDescription
pincoderequired—6-digit Indian PIN code.
Try in playground →
post/bigbasket/v1/categories3 credits

bigbasket's category tree (top level > sub > leaf) with slugs for search.category.

Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.