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.
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
| Field | Meaning |
|---|---|
| `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.
| Platform | item_id format | Example |
|---|---|---|
| Croma | Number after `/p/` in the croma.com link | `317418` |
| Reliance Digital | Slug 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
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"{
"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/..."
}
]
}
}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.
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.
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
Deal and coupon sites
Publish verified price drops across retailers and brand stores instead of stale screenshots.
Brands and channel teams
Check that Croma and Reliance Digital listings match the brand store price, and catch stock-outs by pincode.
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.



