# Blinkit Category API

Extract Blinkit category page listings — products, prices, stock, ratings — from category URLs

**Pricing:** $1 / 1k products

**Endpoint:** `POST /v1/data/blinkit/category/run`

**Auth:** `Authorization: Bearer mk_live_...`

## Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `category` | string | Yes | Top-level category (e.g. Cold Drinks & Juices). |
| `sub_category` | string | Yes | Sub-category within it (e.g. Soft Drinks). |
| `store_id` | string | No | Dark store — pick a city and pincode first. |
| `lat` | number | No | Or target by coordinates — latitude (use with longitude). |
| `lon` | number | No | Or target by coordinates — longitude (use with latitude). |
| `city` | string | No | City — filters the pincode and store lists. |
| `pincode` | string | No | Pincode — pick a city first; filters the store list. |

## Example

```bash
curl -X POST https://api.mindcase.co/v1/data/blinkit/category/run \
  -H "Authorization: Bearer mk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"params":{"category":"...","sub_category":"..."}}'
```

```python
import requests

resp = requests.post(
    "https://api.mindcase.co/v1/data/blinkit/category/run",
    headers={"Authorization": "Bearer mk_live_YOUR_API_KEY"},
    json={"params": {
    "category": "...",
    "sub_category": "..."
}},
)
data = resp.json()
```

## Get the results

`run` is async and returns a `job_id`. Poll until `status` is `completed`, then read the rows:

```bash
# 1) check status
curl https://api.mindcase.co/v1/jobs/JOB_ID \
  -H "Authorization: Bearer mk_live_YOUR_API_KEY"

# 2) when status == completed, fetch the rows
curl https://api.mindcase.co/v1/jobs/JOB_ID/results \
  -H "Authorization: Bearer mk_live_YOUR_API_KEY"
```

Full API reference (auth, jobs, balance, endpoints): https://mindcase.co/skills.md

## Response columns

| Field | Display name | Type |
|-------|--------------|------|
| `productName` | Product Name | text |
| `brand` | Brand | text |
| `variantId` | Variant ID | text |
| `productId` | Product ID | text |
| `price` | Price | currency |
| `mrp` | MRP | currency |
| `discount` | Discount % | percentage |
| `packSize` | Pack Size | text |
| `inStock` | In Stock | boolean |
| `stockCount` | Stock Count | number |
| `rating` | Rating | rating |
| `ratingCount` | Rating Count | number |
| `category` | Category | text |
| `rank` | Rank | number |
| `sponsored` | Sponsored | boolean |
| `images` | Images | array |
| `productUrl` | Product URL | url |
| `description` | Description | text |
| `countryOfOrigin` | Country of Origin | text |
| `manufacturer` | Manufacturer | text |
| `seller` | Seller | text |
| `specifications` | Specifications | object_array |
| `storeId` | Store ID | text |
| `latitude` | Latitude | number |
| `longitude` | Longitude | number |
