Back to Blog
Use CaseOctober 26, 20269 min read

Electronics Price Tracking API: Croma, Reliance Digital, vivo & OnePlus

Croma, Reliance Digital and the vivo and OnePlus brand stores are now on QuickCommerce API. Here's how to find item IDs, read MRP vs offer price, batch lookups and send price-drop alerts.

#croma api#reliance digital api#electronics price tracking#oneplus#vivo#price alerts

Electronics prices in India move constantly: bank offers, festive sales, launch-week discounts and quiet MRP changes. If you run a deals site, a price tracker or a brand's channel monitoring, you need the live number from each store, not last week's crawl. QuickCommerce API now covers Reliance Digital, Croma, vivo & OnePlus for item lookups, bringing the total to 18 platforms on one key.

Info

The electronics platforms are item-only: you look up a product you already know with `/v1/item` or `/v1/items`. There is no keyword search and no delivery ETA for them. To discover products by keyword, use Amazon or Flipkart search and then track the same model on the electronics stores.

What you get per item

FieldMeaning
`name`, `brand`, `quantity`Product title and variant (storage, RAM, colour)
`price`Current selling price on that store
`mrp`Listed MRP, so you can compute the discount
`available`, `inventory`Whether it can be bought right now
`currency``INR` for all four stores
`deeplink`, `gallery`Product page link and images

Finding item IDs

Every store uses its own product identifier. You only need to do this once per product; after that you poll by ID.

Platformitem_id formatExample
CromaNumber after `/p/` in the croma.com link`317418`
Reliance DigitalSlug after `/product/` in the reliancedigital.in link`poco-m8x-5g-128-gb-4-gb-ram-smartphone-blue-mt782n-10555462`
OnePlus`<productCode>:<skuCode>` from the OnePlus store`P1120230:5011122818`
vivo`<spuId>:<skuId>` from a mshop.vivo.com link`10373:19585`

Tip

For Croma and Reliance Digital you can skip the manual step: paste the product link into the free Item ID Finder or call `GET /v1/item/resolve?url=...` (0 credits). OnePlus and vivo links aren't resolved automatically yet, so read the IDs from the URL as shown above. A bare OnePlus `productCode` returns the first in-stock variant; a bare vivo `spuId` returns the default variant.

Look up one product

GET /v1/itemLive Croma price and stock for an iPhone
Request (cURL)
curl -H "X-API-Key: your-api-key" \
  "https://api.quickcommerceapi.com/v1/item?platform=Croma&item_id=317418&lat=12.9021&lon=77.6639&pincode=560102"
Response (JSON)
{
  "status": "success",
  "credits_remaining": 99,
  "data": {
    "item_id": "317418",
    "platform": "Croma",
    "count": 1,
    "items": [
      {
        "item_id": "317418",
        "name": "Apple iPhone 17 Pro (256GB, Deep Blue)",
        "available": true,
        "price": 126990,
        "mrp": 134900,
        "currency": "INR",
        "platform": "Croma",
        "deeplink": "https://www.croma.com/..."
      }
    ]
  }
}

Try it live in the API Playground →

Croma and Reliance Digital price and stock by pincode. Pass `pincode` if you know it; if you leave it out, the API derives it from `lat`/`lon`. The vivo and OnePlus stores have national pricing, so the location only satisfies the required parameters.

Batch up to 10 products per call

When you track a catalogue, use `/v1/items` with comma-separated IDs on one platform. It costs one credit per item, and every requested ID comes back in request order, with a `status: "failure"` entry if a product wasn't found, so a delisted SKU never breaks the batch.

Batch lookup on OnePlus
curl -H "X-API-Key: your-api-key" \
  "https://api.quickcommerceapi.com/v1/items?platform=OnePlus&item_ids=P1120230:5011122818,P1120230&lat=12.9021&lon=77.6639"

A price-drop alert in Python

The tracker below keeps a watchlist per store, fetches it in batches, and flags any product whose price dropped since the last run or fell below your target. Run it from cron every few hours.

electronics_tracker.py
import json, os, pathlib, requests

API = "https://api.quickcommerceapi.com/v1/items"
HEADERS = {"X-API-Key": os.environ["QC_API_KEY"]}
LOC = {"lat": 12.9021, "lon": 77.6639, "pincode": "560102"}  # Bengaluru
STATE = pathlib.Path("last_prices.json")

# platform -> {item_id: target price in INR}
WATCHLIST = {
    "Croma": {"317418": 120000},
    "RelianceDigital": {"poco-m8x-5g-128-gb-4-gb-ram-smartphone-blue-mt782n-10555462": 18999},
    "OnePlus": {"P1120230:5011122818": 22999},
    "Vivo": {"10373:19585": 59999},
}

def fetch(platform, ids):
    for i in range(0, len(ids), 10):  # max 10 ids per call
        params = {**LOC, "platform": platform, "item_ids": ",".join(ids[i:i + 10])}
        r = requests.get(API, headers=HEADERS, params=params, timeout=60)
        r.raise_for_status()
        yield from r.json()["data"]["items"]

last = json.loads(STATE.read_text()) if STATE.exists() else {}
for platform, targets in WATCHLIST.items():
    for item in fetch(platform, list(targets)):
        if item.get("status") == "failure" or not item.get("price"):
            continue
        key = f"{platform}:{item['item_id']}"
        price, mrp = float(item["price"]), float(item.get("mrp") or 0)
        off = f" ({100 * (mrp - price) / mrp:.0f}% off MRP)" if mrp > price else ""
        if key in last and price < last[key]:
            print(f"DROP {platform} {item['name']}: {last[key]:.0f} -> {price:.0f}{off}")
        if price <= targets[item["item_id"]] and item.get("available"):
            print(f"TARGET HIT {platform} {item['name']} at {price:.0f}{off}")
        last[key] = price
STATE.write_text(json.dumps(last))

Swap the `print` calls for Slack, Telegram or email. For the grocery version of the same pattern, see automating price-drop alerts.

MRP vs offer price

Brand stores often list a high MRP and a much lower selling price, while retailers like Croma sit closer to MRP and compete through bank offers that aren't part of the listed price. Store both `price` and `mrp` on every poll: a falling `price` is a real discount, while a changed `mrp` with the same `price` is just a relabel. The discount you show users should come from `price`, never from MRP alone.

Who uses this

1

Deal and coupon sites

Publish verified price drops across retailers and brand stores instead of stale screenshots.

2

Brands and channel teams

Check that Croma and Reliance Digital listings match the brand store price, and catch stock-outs by pincode.

3

Price comparison apps

Show one model's price on every store. The phone price comparison guide walks through it.

Try it

Open the API Playground, pick Croma, Reliance Digital, vivo or OnePlus with the `item` endpoint, and the sample item ID is filled in for you. New accounts get 100 free credits, enough for a full watchlist test.

Frequently asked questions

Can I search Croma or Reliance Digital by keyword?

Not yet. The electronics platforms support /v1/item and /v1/items only. Find the product on the store (or via Amazon/Flipkart search), take its item ID, and track it by ID.

Does the API return delivery ETA for electronics stores?

No. Delivery ETA is only available for quick commerce platforms. Electronics lookups return price, MRP, availability and stock.

How do I get a Croma or Reliance Digital item ID from a link?

Use the free Item ID Finder or GET /v1/item/resolve?url=<link>, which costs 0 credits. For Croma it is the number after /p/; for Reliance Digital it is the slug after /product/.

Why does the Croma price depend on location?

Croma and Reliance Digital price and stock by pincode. Pass pincode explicitly, or the API derives it from the lat/lon you send.

How many credits does tracking cost?

One credit per item. /v1/items takes up to 10 IDs on one platform and charges one credit per ID.

Ready to Get Started?

Sign up for free and get 100 credits instantly. No credit card required. Start querying quick commerce and marketplace platforms with a single API.