# Search local products

Search local Minutes listings with observed prices, stock and bounded pagination. Recommendations may accompany keyword matches.

- Platform: [Flipkart Minutes](https://docs.upscrape.com/docs/platforms/flipkart-minutes)
- Capability ID: `flipkart-minutes.products.search`
- Cost: 1 credit per request
- Maximum runtime: 180 seconds
- Execute endpoint: `POST https://data.upscrape.com/execute`

## Request

Use the exact public capability ID in the shared execute envelope.

```bash
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 '{
  "input": {
    "city": "Bengaluru",
    "latitude": 12.9352403,
    "longitude": 77.624532,
    "max_pages": 2,
    "neighbourhood": "Koramangala",
    "pincode": "560034",
    "query": "milk",
    "state": "Karnataka"
  },
  "capability": "flipkart-minutes.products.search"
}'
```

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `city` | `string` | Yes | City name. |
| `latitude` | `number` | Yes | Latitude in decimal degrees. From -90 to 90. |
| `limit` | `integer` | No | Maximum number of results to return. From 1 to 500. Default: `100`. |
| `longitude` | `number` | Yes | Longitude in decimal degrees. From -180 to 180. |
| `max_pages` | `integer` | No | Maximum number of result pages to fetch. From 1 to 6. Default: `1`. |
| `neighbourhood` | `string` | Yes |  |
| `pincode` | `string` | Yes | Postal code (PIN) that sets the delivery location. |
| `query` | `string` | Yes | Search query. |
| `state` | `string` | Yes | State or region name. |

### Example input

```json
{
  "city": "Bengaluru",
  "latitude": 12.9352403,
  "longitude": 77.624532,
  "max_pages": 2,
  "neighbourhood": "Koramangala",
  "pincode": "560034",
  "query": "milk",
  "state": "Karnataka"
}
```

## Response

Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.

No committed sample output is available for this capability.


## Execution behavior

A `200` response completed inline. A `202` response was queued; poll `GET /jobs/{id}` until the job reaches `completed` or `failed`. Use an `Idempotency-Key` when retrying must not create a duplicate logical job.

## Related documentation

- [Authentication](https://docs.upscrape.com/docs/api/authentication)
- [Jobs and results](https://docs.upscrape.com/docs/api/jobs)
- [Errors and retries](https://docs.upscrape.com/docs/api/errors)
- [Idempotency](https://docs.upscrape.com/docs/api/idempotency)
