# Instamart product search API

Last updated 7 Nov 2026.

GET /v1/data/search-ranks with retailer=instamart returns one record per product, search term, pin code and day Rewalto searched Swiggy Instamart: the best place the product held in the results, its page and slot, and how often it was seen, in the top ten and marked sponsored. Rewalto holds about 2,69,862 Instamart search rank records, for days from 26 Sept 2026 to 7 Nov 2026. It needs an API key and costs 1 credit per 10 readings; the sample record below is free.

## Key facts

| | |
| --- | --- |
| Endpoint | GET /v1/data/search-ranks |
| App filter | retailer=instamart |
| Cost | 1 credit per 10 readings (Only delivered records use credits) |
| Key | API key needed |
| Records held | about 2,69,862, 26 Sept 2026 to 7 Nov 2026 (From the coverage matrix) |

## A real Instamart record

One record from the free samples route (GET /v1/data/samples?dataset=search_rank), exactly as the paid read returns it, with long lists cut to three items. Samples are at least a week old; this set holds records up to 2 Nov 2026.

```json
{
  "day": "2026-11-02",
  "retailer": "instamart",
  "searchTerm": "amul taaza milk",
  "pincode": "400001",
  "retailerSku": "BQ5YQH8TEN",
  "brand": "Amul",
  "bestPlace": 1,
  "bestPage": 1,
  "bestPageSlot": 1,
  "readings": 1,
  "top10Readings": 1,
  "adAwareReadings": 0,
  "sponsoredReadings": 0,
  "firstSeen": "2026-11-01T21:13:01.000000Z",
  "lastSeen": "2026-11-01T21:13:01.000000Z"
}
```

## Call the Instamart endpoint

Set REWALTO_API_KEY to a key from your account, then run any of these.

cURL:

```bash
curl -H "Authorization: Bearer $REWALTO_API_KEY" \
  "https://api.rewalto.com/v1/data/search-ranks?retailer=instamart&searchTerm=amul%20taaza%20milk&pincode=400001&limit=20"
```

Python:

```python
import os
import requests

r = requests.get(
    "https://api.rewalto.com/v1/data/search-ranks",
    params={"retailer": "instamart", "searchTerm": "amul taaza milk", "pincode": "400001", "limit": 20},
    headers={"Authorization": f"Bearer {os.environ['REWALTO_API_KEY']}"},
    timeout=30,
)
r.raise_for_status()
for record in r.json()["data"]:
    print(record["searchTerm"], record["bestPlace"])
```

Node:

```javascript
const res = await fetch("https://api.rewalto.com/v1/data/search-ranks?retailer=instamart&searchTerm=amul%20taaza%20milk&pincode=400001&limit=20", {
  headers: { Authorization: `Bearer ${process.env.REWALTO_API_KEY}` },
});
if (!res.ok) throw new Error(`Rewalto API ${res.status}`);
const { data } = await res.json();
for (const record of data) console.log(record.searchTerm, record.bestPlace);
```

## Track where Instamart products rank in search

Add searchTerm for one search term, retailerSku for one product, pincode for one pin code, and from and to for a range of days. bestPlace is the best place the product held in the results that day, counting from one; readings counts the times Rewalto saw it, top10Readings those in places 1 to 10, and sponsoredReadings those Swiggy Instamart marked sponsored. These are counts of what Swiggy Instamart showed, not a model.

## Fields in each record

From API contract 0.183.0.

| Field | Type | What it means | Example |
| --- | --- | --- | --- |
| `day` | string (date) | The IST day. | `"2026-10-21"` |
| `retailer` | string | The retailer. | `"flipkart"` |
| `searchTerm` | string | The search term. | `"instant coffee"` |
| `pincode` | string | The pin code searched at, or national. | `"national"` |
| `retailerSku` | string | The retailer’s own product id. | `"COFG5Z7H2ZQ8YH5K"` |
| `brand` | string | The brand on the card; empty when it named none. | `"Nescafe"` |
| `bestPlace` | null or integer | Best position in the whole result list that day (1 is first). | `3` |
| `bestPage` | integer | The first result page it was seen on (1 is the first page). | `1` |
| `bestPageSlot` | integer | Its best position on that page, ads included. | `3` |
| `readings` | integer | Search replies that showed it that day. | `4` |
| `top10Readings` | integer | Of those, replies that placed it in places 1 to 10. | `4` |
| `adAwareReadings` | integer | Replies from a reading that can see the ad marker. | `4` |
| `sponsoredReadings` | integer | Of the ad-aware replies, those that marked it sponsored. | `0` |
| `firstSeen` | string (date-time) | The first reading that day. | `"2026-10-21T02:31:10.000000Z"` |
| `lastSeen` | string (date-time) | The last reading that day. | `"2026-10-21T14:02:44.000000Z"` |

## Full reference

Every parameter and error code for this endpoint is in the reference.

- [Instamart product search API reference](https://rewalto.com/developers/docs/api/instamart/search)

## Not Swiggy Instamart's own API

Rewalto is not affiliated with, endorsed by or partnered with Swiggy Instamart. It reads Swiggy Instamart's public pages, the way a shopper sees them.

## Questions people ask

**Is this the official Swiggy Instamart API?** No. Rewalto is not affiliated with, endorsed by or partnered with Swiggy Instamart. It reads Swiggy Instamart's public pages, the way a shopper sees them.

**What does a read cost?** 1 credit per 10 readings. Every account gets 1,000 free credits a month, and a read that delivers nothing costs nothing.

**Do I need an API key?** Yes, for this endpoint. The sample on this page comes from GET /v1/data/samples, which is free and needs no key.

**How do I track my products' Instamart search rank?** Read this endpoint each day for your search terms and pin codes, keep the records, and compare bestPlace from day to day. Pass retailerSku to follow one product. Re-reading the same records within a week is free.

**Can an AI agent read it?** AI agents can read the same records through Rewalto's MCP server.

## Related

- [Instamart API](https://rewalto.com/developers/api/instamart)
- [Instamart product data API](https://rewalto.com/developers/api/instamart/products)
- [Instamart price history API](https://rewalto.com/developers/api/instamart/price-history)
- [Instamart serviceability API](https://rewalto.com/developers/api/instamart/serviceability)
- [Instamart sponsored ads data API](https://rewalto.com/developers/api/instamart/sponsored-share)
- [Instamart price and dataset page](https://rewalto.com/data/commerce/instamart)
- [Instamart dark store map](https://rewalto.com/data/dark-stores/app/instamart)
- [Instamart scraper alternative](https://rewalto.com/guides/instamart-scraper-alternative)
- [Instamart API contract for agents (OpenAPI)](https://api.rewalto.com/openapi/instamart.json)
- [Full API contract (OpenAPI)](https://rewalto.com/developers/openapi.json)
- [Data catalogue for agents](https://rewalto.com/developers/catalog.json)
- [MCP server tools](https://rewalto.com/developers/mcp)
- [Quickstart: your first request](https://rewalto.com/developers/docs/quickstart)
- [Pricing and free credits](https://rewalto.com/pricing)

---

Canonical page: https://rewalto.com/developers/api/instamart/search
Last content change: 2026-11-07
