` | No | Store ids supplied for this request. |
| `targeting_type` | `string` | No | Targeting type supplied for this request. |
### Example input
```json
{
"num_ads": 5,
"pincode": "400001",
"query": "rice"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"decisions": [
{
"decided_items": [
{
"auction_result": {
"ad_account_id": "daawat",
"campaign_id": "AicznAgziVcP7jUu",
"campaign_text_entry": "",
"win_price": {
"amount_micro": "6500000",
"currency": "INR"
}
},
"click_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/c/JIOMART?source=[redacted:token]"
],
"imp_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/i/JIOMART?source=[redacted:token]"
],
"item_id": "490000003",
"product": {
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"vertical-code": "GROCERIES"
},
"brand": {
"name": "Daawat",
"slug": null,
"uid": 696
},
"categories": [
{
"name": "Cooking Essentials",
"slug": "cooking-essentials",
"uid": 116
},
{
"name": "Rice",
"slug": "rice",
"uid": 339
},
{
"name": "Basmati Rice",
"slug": "basmati-rice",
"uid": 2672
}
],
"identifiers": [
"8901537025127",
"490000003"
],
"item_code": "490000003",
"item_type": "standard",
"journey": "quickcommerce",
"medias": [
{
"alt": "Daawat Super Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900000031.jpg.0712465220.jpg"
},
{
"alt": "Daawat Super Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900000032.jpg.6755d449c8.jpg"
},
{
"alt": "Daawat Super Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900000033.jpg.c471f031bb.jpg"
}
],
"moq": {
"increment_unit": 1,
"maximum": null,
"minimum": 1
},
"name": "Daawat Super Basmati Rice 1 kg",
"price": {
"available": true,
"effective": {
"max": 165,
"min": 165
},
"marked": {
"max": 200,
"min": 200
},
"seller_id": 1
},
"sellable": true,
"seller_id": 1,
"sizes": [
"1 KG"
],
"slug": "[redacted:token]",
"store_ids": [
1506,
1765,
1799
],
"tag": "ad",
"tags": [
"kirana_1p",
"QC",
"1p"
],
"uid": 7511407
},
"track_id": "[redacted:token]"
},
{
"auction_result": {
"ad_account_id": "daawat",
"campaign_id": "AicznAgziVcP7jUu",
"campaign_text_entry": "",
"win_price": {
"amount_micro": "7000000",
"currency": "INR"
}
},
"click_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/c/JIOMART?source=[redacted:token]"
],
"imp_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/i/JIOMART?source=[redacted:token]"
],
"item_id": "490005637",
"product": {
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"vertical-code": "GROCERIES"
},
"brand": {
"name": "Daawat",
"slug": null,
"uid": 696
},
"categories": [
{
"name": "Cooking Essentials",
"slug": "cooking-essentials",
"uid": 116
},
{
"name": "Rice",
"slug": "rice",
"uid": 339
},
{
"name": "Basmati Rice",
"slug": "basmati-rice",
"uid": 2672
}
],
"identifiers": [
"490005637",
"8901537025134"
],
"item_code": "490005637",
"item_type": "standard",
"journey": "quickcommerce",
"medias": [
{
"alt": "Daawat Super Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900056371.jpg.0f70a2415c.jpg"
},
{
"alt": "Daawat Super Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900056372.jpg.b839552efd.jpg"
},
{
"alt": "Daawat Super Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900056373.jpg.176d37404e.jpg"
}
],
"moq": {
"increment_unit": 1,
"maximum": null,
"minimum": 1
},
"name": "Daawat Super Basmati Rice 5 kg",
"price": {
"available": true,
"effective": {
"max": 799,
"min": 799
},
"marked": {
"max": 995,
"min": 995
},
"seller_id": 1
},
"sellable": true,
"seller_id": 1,
"sizes": [
"5 KG"
],
"slug": "[redacted:token]",
"store_ids": [
2304,
2314,
2257
],
"tag": "ad",
"tags": [
"GROCERIES",
"rrl_fc",
"kirana_1p"
],
"uid": 7508056
},
"track_id": "[redacted:token]"
},
{
"auction_result": {
"ad_account_id": "daawat",
"campaign_id": "AicznAgziVcP7jUu",
"campaign_text_entry": "",
"win_price": {
"amount_micro": "6400000",
"currency": "INR"
}
},
"click_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/c/JIOMART?source=[redacted:token]"
],
"imp_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/i/JIOMART?source=[redacted:token]"
],
"item_id": "490863678",
"product": {
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"vertical-code": "GROCERIES"
},
"brand": {
"name": "Daawat",
"slug": null,
"uid": 696
},
"categories": [
{
"name": "Cooking Essentials",
"slug": "cooking-essentials",
"uid": 116
},
{
"name": "Rice",
"slug": "rice",
"uid": 339
},
{
"name": "Basmati Rice",
"slug": "basmati-rice",
"uid": 2672
}
],
"identifiers": [
"490863678",
"8901537074231"
],
"item_code": "490863678",
"item_type": "standard",
"journey": "quickcommerce",
"medias": [
{
"alt": "Daawat Pulav Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004908636781.jpg.d804bd4322.jpg"
},
{
"alt": "Daawat Pulav Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004908636782.jpg.751327b5ed.jpg"
},
{
"alt": "Daawat Pulav Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004908636783.jpg.5779379c84.jpg"
}
],
"moq": {
"increment_unit": 1,
"maximum": null,
"minimum": 1
},
"name": "Daawat Pulav Basmati Rice 1 kg",
"price": {
"available": true,
"effective": {
"max": 145,
"min": 145
},
"marked": {
"max": 177,
"min": 177
},
"seller_id": 1
},
"sellable": true,
"seller_id": 1,
"sizes": [
"1 KG"
],
"slug": "[redacted:token]",
"store_ids": [
3330,
14086,
13831
],
"tag": "ad",
"tags": [
"NON-RX",
"GROCERIES",
"QC"
],
"uid": 7529957
},
"track_id": "[redacted:token]"
}
],
"inventory_id": "Sponsored_SLP_quick"
}
],
"raw": {
"decisions": [
{
"decided_items": [
{
"auction_result": {
"ad_account_id": "daawat",
"campaign_id": "AicznAgziVcP7jUu",
"campaign_text_entry": "",
"win_price": {
"amount_micro": "6500000",
"currency": "INR"
}
},
"click_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/c/JIOMART?source=[redacted:token]"
],
"imp_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/i/JIOMART?source=[redacted:token]"
],
"item_id": "490000003",
"product": {
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"vertical-code": "GROCERIES"
},
"brand": {
"name": "Daawat",
"slug": null,
"uid": 696
},
"categories": [
{
"name": "Cooking Essentials",
"slug": "cooking-essentials",
"uid": 116
},
{
"name": "Rice",
"slug": "rice",
"uid": 339
},
{
"name": "Basmati Rice",
"slug": "basmati-rice",
"uid": 2672
}
],
"identifiers": [
"8901537025127",
"490000003"
],
"item_code": "490000003",
"item_type": "standard",
"journey": "quickcommerce",
"medias": [
{
"alt": "Daawat Super Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900000031.jpg.0712465220.jpg"
},
{
"alt": "Daawat Super Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900000032.jpg.6755d449c8.jpg"
},
{
"alt": "Daawat Super Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900000033.jpg.c471f031bb.jpg"
}
],
"moq": {
"increment_unit": 1,
"maximum": null,
"minimum": 1
},
"name": "Daawat Super Basmati Rice 1 kg",
"price": {
"available": true,
"effective": {
"max": 165,
"min": 165
},
"marked": {
"max": 200,
"min": 200
},
"seller_id": 1
},
"sellable": true,
"seller_id": 1,
"sizes": [
"1 KG"
],
"slug": "[redacted:token]",
"store_ids": [
1506,
1765,
1799
],
"tag": "ad",
"tags": [
"kirana_1p",
"QC",
"1p"
],
"uid": 7511407
},
"track_id": "[redacted:token]"
},
{
"auction_result": {
"ad_account_id": "daawat",
"campaign_id": "AicznAgziVcP7jUu",
"campaign_text_entry": "",
"win_price": {
"amount_micro": "7000000",
"currency": "INR"
}
},
"click_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/c/JIOMART?source=[redacted:token]"
],
"imp_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/i/JIOMART?source=[redacted:token]"
],
"item_id": "490005637",
"product": {
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"vertical-code": "GROCERIES"
},
"brand": {
"name": "Daawat",
"slug": null,
"uid": 696
},
"categories": [
{
"name": "Cooking Essentials",
"slug": "cooking-essentials",
"uid": 116
},
{
"name": "Rice",
"slug": "rice",
"uid": 339
},
{
"name": "Basmati Rice",
"slug": "basmati-rice",
"uid": 2672
}
],
"identifiers": [
"490005637",
"8901537025134"
],
"item_code": "490005637",
"item_type": "standard",
"journey": "quickcommerce",
"medias": [
{
"alt": "Daawat Super Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900056371.jpg.0f70a2415c.jpg"
},
{
"alt": "Daawat Super Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900056372.jpg.b839552efd.jpg"
},
{
"alt": "Daawat Super Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004900056373.jpg.176d37404e.jpg"
}
],
"moq": {
"increment_unit": 1,
"maximum": null,
"minimum": 1
},
"name": "Daawat Super Basmati Rice 5 kg",
"price": {
"available": true,
"effective": {
"max": 799,
"min": 799
},
"marked": {
"max": 995,
"min": 995
},
"seller_id": 1
},
"sellable": true,
"seller_id": 1,
"sizes": [
"5 KG"
],
"slug": "[redacted:token]",
"store_ids": [
2304,
2314,
2257
],
"tag": "ad",
"tags": [
"GROCERIES",
"rrl_fc",
"kirana_1p"
],
"uid": 7508056
},
"track_id": "[redacted:token]"
},
{
"auction_result": {
"ad_account_id": "daawat",
"campaign_id": "AicznAgziVcP7jUu",
"campaign_text_entry": "",
"win_price": {
"amount_micro": "6400000",
"currency": "INR"
}
},
"click_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/c/JIOMART?source=[redacted:token]"
],
"imp_trackers": [
"https://jiomart-evt.mcm-api.moloco.com/t/i/JIOMART?source=[redacted:token]"
],
"item_id": "490863678",
"product": {
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"vertical-code": "GROCERIES"
},
"brand": {
"name": "Daawat",
"slug": null,
"uid": 696
},
"categories": [
{
"name": "Cooking Essentials",
"slug": "cooking-essentials",
"uid": 116
},
{
"name": "Rice",
"slug": "rice",
"uid": 339
},
{
"name": "Basmati Rice",
"slug": "basmati-rice",
"uid": 2672
}
],
"identifiers": [
"490863678",
"8901537074231"
],
"item_code": "490863678",
"item_type": "standard",
"journey": "quickcommerce",
"medias": [
{
"alt": "Daawat Pulav Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004908636781.jpg.d804bd4322.jpg"
},
{
"alt": "Daawat Pulav Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004908636782.jpg.751327b5ed.jpg"
},
{
"alt": "Daawat Pulav Basmati Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004908636783.jpg.5779379c84.jpg"
}
],
"moq": {
"increment_unit": 1,
"maximum": null,
"minimum": 1
},
"name": "Daawat Pulav Basmati Rice 1 kg",
"price": {
"available": true,
"effective": {
"max": 145,
"min": 145
},
"marked": {
"max": 177,
"min": 177
},
"seller_id": 1
},
"sellable": true,
"seller_id": 1,
"sizes": [
"1 KG"
],
"slug": "[redacted:token]",
"store_ids": [
3330,
14086,
13831
],
"tag": "ad",
"tags": [
"NON-RX",
"GROCERIES",
"QC"
],
"uid": 7529957
},
"track_id": "[redacted:token]"
}
],
"inventory_id": "Sponsored_SLP_quick"
}
],
"inventory_value": "rice",
"request_id": "53def362-b9c8-4748-bced-910dee0c4ebe",
"request_origin": "QUICK"
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `decisions` | `array` | 1 items |
| `decisions` | `array` | 1 items |
| `raw` | `object` | 4 fields |
| `raw.decisions` | `array` | 1 items |
| `raw.inventory_value` | `string` | rice |
| `raw.request_id` | `string` | 53def362-b9c8-4748-bced-910dee0c4ebe |
| `raw.request_origin` | `string` | QUICK |
## 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)
## JioMart: Autocomplete Search
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.autocomplete.search
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.autocomplete.search/index.md
# Autocomplete Search
Fetch JioMart search autocomplete suggestions.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.autocomplete.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 10,
"pincode": "400001",
"query": "rice"
},
"capability": "jiomart.autocomplete.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of results to return. |
| `location` | `object` | No | Location supplied for this request. |
| `location.city` | `string` | No | City supplied for this request. |
| `location.pincode` | `string` | No | Pincode supplied for this request. |
| `location.state` | `string` | No | State supplied for this request. |
| `pincode` | `string` | No | Pincode supplied for this request. |
| `query` | `string` | Yes | Search query. |
### Example input
```json
{
"limit": 10,
"pincode": "400001",
"query": "rice"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"raw": {
"items": [
{
"_custom_json": {
"result_type": "query_suggestion"
},
"display": "rice",
"image": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004911738851.jpg.9f5a238d8d.jpg",
"type": "product"
},
{
"_custom_json": {
"result_type": "query_suggestion"
},
"display": "rice 26 kg",
"image": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004942604491.jpg.1f7e111cc1.jpg",
"type": "product"
},
{
"_custom_json": {
"result_type": "query_suggestion"
},
"display": "rice 5kg",
"image": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004904276691.jpg.0624440e8a.jpg",
"type": "product"
}
],
"meta": {
"attributionToken": "[redacted:attributiontoken]",
"nextPageToken": "[redacted:nextpagetoken]",
"provider": {
"version": "0.0.1"
}
}
},
"suggestions": [
{
"_custom_json": {
"result_type": "query_suggestion"
},
"display": "rice",
"image": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004911738851.jpg.9f5a238d8d.jpg",
"type": "product"
},
{
"_custom_json": {
"result_type": "query_suggestion"
},
"display": "rice 26 kg",
"image": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004942604491.jpg.1f7e111cc1.jpg",
"type": "product"
},
{
"_custom_json": {
"result_type": "query_suggestion"
},
"display": "rice 5kg",
"image": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004904276691.jpg.0624440e8a.jpg",
"type": "product"
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `raw` | `object` | 2 fields |
| `raw.items` | `array` | 3 items |
| `raw.meta` | `object` | 3 fields |
| `suggestions` | `array` | 3 items |
| `suggestions` | `array` | 3 items |
## 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)
## JioMart: Brands
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.brands.list
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.brands.list/index.md
# Brands
List JioMart brands with logos. Paginated.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.brands.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"page_size": 10
},
"capability": "jiomart.brands.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `page` | `integer` | No | One-based result page to fetch. |
| `page_size` | `integer` | No | Page size supplied for this request. |
### Example input
```json
{
"page_size": 10
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"action": {
"page": {
"query": {
"brand": [
"lysoft"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"portrait": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
}
},
"description": "LYSOFT",
"logo": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
},
"name": "LYSOFT",
"slug": "lysoft",
"uid": 45400
},
{
"action": {
"page": {
"query": {
"brand": [
"kohinoor"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"portrait": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
}
},
"description": "kohinoor",
"logo": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
},
"name": "kohinoor",
"slug": "kohinoor",
"uid": 2
},
{
"action": {
"page": {
"query": {
"brand": [
"parle"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"portrait": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
}
},
"description": "parle",
"logo": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
},
"name": "parle",
"slug": "parle",
"uid": 3
}
],
"page": {
"current": 1,
"has_next": true,
"has_previous": false,
"item_total": 22088,
"type": "number"
},
"raw": {
"items": [
{
"action": {
"page": {
"query": {
"brand": [
"lysoft"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"portrait": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
}
},
"description": "LYSOFT",
"logo": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
},
"name": "LYSOFT",
"slug": "lysoft",
"uid": 45400
},
{
"action": {
"page": {
"query": {
"brand": [
"kohinoor"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"portrait": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
}
},
"description": "kohinoor",
"logo": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
},
"name": "kohinoor",
"slug": "kohinoor",
"uid": 2
},
{
"action": {
"page": {
"query": {
"brand": [
"parle"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"portrait": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
}
},
"description": "parle",
"logo": {
"type": "image",
"url": "https://cdn.pixelbin.io/v2/catalog-cloud-non-prod/original/BizbZdLqn-logo.png"
},
"name": "parle",
"slug": "parle",
"uid": 3
}
],
"page": {
"current": 1,
"has_next": true,
"has_previous": false,
"item_total": 22088,
"type": "number"
}
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 5 fields |
| `page.current` | `integer` | 1 |
| `page.has_next` | `boolean` | true |
| `page.has_previous` | `boolean` | false |
| `page.item_total` | `integer` | 22088 |
| `page.type` | `string` | number |
| `raw` | `object` | 2 fields |
| `raw.items` | `array` | 3 items |
| `raw.page` | `object` | 5 fields |
## 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)
## JioMart: Categories
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.categories.list
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.categories.list/index.md
# Categories
List the full JioMart category tree with department mapping, banners, and images.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.categories.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "jiomart.categories.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `department` | `string` | No | Department supplied for this request. |
### Example input
```json
{}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"departments": [
{
"slug": "electronics",
"uid": 4
},
{
"slug": "jewellery",
"uid": 11
},
{
"slug": "fashion",
"uid": 2
}
],
"raw": {
"data": [
{
"department": "electronics",
"items": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"personal-care"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/GEbTawJ0I7-eyAL5fyLu-landscape.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/cI68xnzP3fS-tFgNNHB5C-banner.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"trimmers-l2"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/7wv80XyoqR-landsc.jpeg"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/zNE8Pg3a9H-por.jpeg"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"trimmers"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/Cso7HAmk-T-ECjYOXAWSd-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/Cso7HAmk-T-ECjYOXAWSd-BizbZdLqn-logo.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/Cso7HAmk-T-ECjYOXAWSd-BizbZdLqn-logo.png"
},
"name": "Trimmers",
"priority": 343,
"slug": "trimmers",
"uid": 11120
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/a-hgUCs60lP-trimmers-20240531.png"
},
"name": "Trimmers",
"priority": 201866,
"slug": "trimmers-l2",
"uid": 1745
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/zzOUJEM_wL-personal-care-20240620.png"
},
"name": "Personal Care",
"priority": 5,
"slug": "personal-care",
"uid": 133
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"mobiles-tablets"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/g0slk1ne9Pz-lmYZPrpR82-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/g0slk1ne9Pz-lmYZPrpR82-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"regular-tablets"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/bYViDC_yLJ-lmYZPrpR82-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/bYViDC_yLJ-lmYZPrpR82-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"regular-tablets-l3"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/thaix4_MK8-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/thaix4_MK8-kcIcKHDdSl-BizbZdLqn-logo.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/thaix4_MK8-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"name": "Regular Tablets",
"priority": 395,
"slug": "regular-tablets-l3",
"uid": 12491
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/EiEQH4zS0F-regular-tablets-20221212.png"
},
"name": "Regular Tablets",
"priority": 200244,
"slug": "regular-tablets",
"uid": 492
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/fN_YQM-ic_1-mobiles-tablets-20221212.png"
},
"name": "Mobiles & Tablets",
"priority": 2001,
"slug": "mobiles-tablets",
"uid": 55
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"kitchen-appliances"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/g0slk1ne9Pz-lmYZPrpR82-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/g0slk1ne9Pz-lmYZPrpR82-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"food-processors"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/bYViDC_yLJ-lmYZPrpR82-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/bYViDC_yLJ-lmYZPrpR82-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"food-processors-l3"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/DXNx5t9F4-l-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/DXNx5t9F4-l-kcIcKHDdSl-BizbZdLqn-logo.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/DXNx5t9F4-l-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"name": "Food Processors",
"priority": 437,
"slug": "food-processors-l3",
"uid": 12341
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/a2LrwS1tdO9-food-processors-20240625.png"
},
"name": "Food Processors",
"priority": 200221,
"slug": "food-processors",
"uid": 469
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"juicer-mixer-grinders"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/bYViDC_yLJ-lmYZPrpR82-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/bYViDC_yLJ-lmYZPrpR82-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"juicers"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/Zr2yOch56x-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/Zr2yOch56x-kcIcKHDdSl-BizbZdLqn-logo.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/Zr2yOch56x-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"name": "Juicers",
"priority": 355,
"slug": "juicers",
"uid": 2330
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/TDl10y1rq-logo.png"
},
"name": "Juicer Mixer Grinders",
"priority": 200223,
"slug": "juicer-mixer-grinders",
"uid": 471
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"juicer-mixer-grinders-jmg"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/bYViDC_yLJ-lmYZPrpR82-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/bYViDC_yLJ-lmYZPrpR82-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"mixer-grinders"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/_Mk1aJtvfV-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/_Mk1aJtvfV-kcIcKHDdSl-BizbZdLqn-logo.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/_Mk1aJtvfV-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"name": "Mixer Grinders",
"priority": 358,
"slug": "mixer-grinders",
"uid": 2333
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"hand-mixers"
],
"department": [
"electronics"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/Zr2yOch56x-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/Zr2yOch56x-kcIcKHDdSl-BizbZdLqn-logo.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/Zr2yOch56x-kcIcKHDdSl-BizbZdLqn-logo.png"
},
"name": "Hand Mixers",
"priority": 418,
"slug": "hand-mixers",
"uid": 2327
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/IdcqA_qCl-logo.png"
},
"name": "Juicer Mixer Grinders (JMG)",
"priority": 200224,
"slug": "juicer-mixer-grinders-jmg",
"uid": 472
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/t0w6luQHUhj-kitchen-appliances-20210727.png"
},
"name": "Kitchen Appliances",
"priority": 2005,
"slug": "kitchen-appliances",
"uid": 50
}
]
},
{
"department": "jewellery",
"items": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"fine-jewellery-l1"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].webp"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/izT1euCI_4-P_fiY4SmHg-xxENfkqXO-banner.webp"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"silver-jewellery"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/kgS-INJpwZ-yAh6TbECGx-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/kgS-INJpwZ-yAh6TbECGx-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"silver-necklaces-chains"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].webp"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/yC9sqvPmFz-D0FmUcd-Gk-xxENfkqXO-banner.webp"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].png"
},
"name": "Silver Necklaces & Chains",
"priority": 502,
"slug": "silver-necklaces-chains",
"uid": 11802
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"silver-rings-toe-rings"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].webp"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/yC9sqvPmFz-D0FmUcd-Gk-xxENfkqXO-banner.webp"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].png"
},
"name": "Silver Rings & Toe Rings",
"priority": 504,
"slug": "silver-rings-toe-rings",
"uid": 11805
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"silver-bangles-bracelets-armlets"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].webp"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/yC9sqvPmFz-D0FmUcd-Gk-xxENfkqXO-banner.webp"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].png"
},
"name": "Silver Bangles, Bracelets & Armlets",
"priority": 505,
"slug": "silver-bangles-bracelets-armlets",
"uid": 11788
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/ITv6F9kbgt-silver-jewellery-20241128.png"
},
"name": "Silver Jewellery",
"priority": 200323,
"slug": "silver-jewellery",
"uid": 691
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"gold-coins-and-bars-l2"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].webp"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/ZG1s2NKn3pn-P_fiY4SmHg-xxENfkqXO-banner.webp"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"gold-coins"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].webp"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/yC9sqvPmFz-D0FmUcd-Gk-xxENfkqXO-banner.webp"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].png"
},
"name": "Gold Coins",
"priority": 352,
"slug": "gold-coins",
"uid": 11763
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/GI2Da5WYj5-gold-coins-bars-20241128.png"
},
"name": "Gold Coins & Bars",
"priority": 201260,
"slug": "gold-coins-and-bars-l2",
"uid": 1061
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"diamond-jewellery-l2"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].webp"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/ZG1s2NKn3pn-P_fiY4SmHg-xxENfkqXO-banner.webp"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"pendants"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].webp"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/yC9sqvPmFz-D0FmUcd-Gk-xxENfkqXO-banner.webp"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/hABqLSyKdC-VxmMai0rS-pendants-20240806.png"
},
"name": "Pendants",
"priority": 347,
"slug": "pendants",
"uid": 11782
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"earrings"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/NrWAD81xli-BHQ3Xwg9J-landscape.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/ra8ZgXNNfUK-5v5BXdOMY-banner.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/mm10Z0x9wN9-QlcgO4dfY-logo.png"
},
"name": "Earrings",
"priority": 351,
"slug": "earrings",
"uid": 9970
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"bangles-bracelets-armlets"
],
"department": [
"jewellery"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/5cL97YzhRQ-yAh6TbECGx-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/5cL97YzhRQ-yAh6TbECGx-BizbZdLqn-logo.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/5cL97YzhRQ-yAh6TbECGx-BizbZdLqn-logo.png"
},
"name": "Bangles, Bracelets & Armlets",
"priority": 378,
"slug": "bangles-bracelets-armlets",
"uid": 10188
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/snS1DXUgwfQ-diamond-jewellery-20241128.png"
},
"name": "Diamond Jewellery",
"priority": 201261,
"slug": "diamond-jewellery-l2",
"uid": 1062
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/qX5aiFE8ais-fine-jewellery-20241128.png"
},
"name": "Fine Jewellery",
"priority": 3001,
"slug": "fine-jewellery-l1",
"uid": 9711
}
]
},
{
"department": "fashion",
"items": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"men"
],
"department": [
"fashion"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/zL-3xmcfU1-yAh6TbECGx-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/zL-3xmcfU1-yAh6TbECGx-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"footwear-l2"
],
"department": [
"fashion"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/VOsDFkDrEpJ-yAh6TbECGx-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/VOsDFkDrEpJ-yAh6TbECGx-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"sports-shoes"
],
"department": [
"fashion"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/fNc2e_IJpD-q6i935Fect-5v5BXdOMY-banner.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/yYfztboisrS-CPc6Mq5mzH-QlcgO4dfY-logo.png"
},
"name": "Sports Shoes",
"priority": 513,
"slug": "sports-shoes",
"uid": 11627
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/YEcTeGH61-logo.png"
},
"name": "Footwear",
"priority": 200692,
"slug": "footwear-l2",
"uid": 9814
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/hgH-w7UGRty-men-20210805.jpeg"
},
"name": "Men",
"priority": 1001,
"slug": "men",
"uid": 96
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"women"
],
"department": [
"fashion"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/zL-3xmcfU1-yAh6TbECGx-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/zL-3xmcfU1-yAh6TbECGx-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"footwear-l2"
],
"department": [
"fashion"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/VOsDFkDrEpJ-yAh6TbECGx-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/VOsDFkDrEpJ-yAh6TbECGx-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"flip-flop-slippers"
],
"department": [
"fashion"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/[redacted:token].png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/lF58xMrSSeV-FJdMtuIlwb-5v5BXdOMY-banner.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/7qg6Bbs87ce-4Hgvg00ciT-QlcgO4dfY-logo.png"
},
"name": "Flip Flop & Slippers",
"priority": 582,
"slug": "flip-flop-slippers",
"uid": 10761
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/YEcTeGH61-logo.png"
},
"name": "Footwear",
"priority": 200692,
"slug": "footwear-l2",
"uid": 9814
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/5WJqiAzMeno-women-20210805.jpeg"
},
"name": "Women",
"priority": 2002,
"slug": "women",
"uid": 99
},
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"infants"
],
"department": [
"fashion"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/zL-3xmcfU1-yAh6TbECGx-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/zL-3xmcfU1-yAh6TbECGx-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"footwear-l2"
],
"department": [
"fashion"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/VOsDFkDrEpJ-yAh6TbECGx-BizbZdLqn-logo.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/VOsDFkDrEpJ-yAh6TbECGx-BizbZdLqn-logo.png"
}
},
"childs": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"shoes"
],
"department": [
"fashion"
]
},
"type": "products"
},
"type": "page"
},
"banners": {
"landscape": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/5694-vG7jNc-BHQ3Xwg9J-landscape.png"
},
"portrait": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/products/pictures/item/free/original/BtYTCr54Zv-5v5BXdOMY-banner.png"
}
},
"childs": [],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/HdnrLfSvHK-shoes-20240629.png"
},
"name": "Shoes",
"priority": 583,
"slug": "shoes",
"uid": 11575
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/YEcTeGH61-logo.png"
},
"name": "Footwear",
"priority": 200692,
"slug": "footwear-l2",
"uid": 9814
}
],
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/3pDfU5rf6Q-infants-20230607.png"
},
"name": "Infants",
"priority": 2006,
"slug": "infants",
"uid": 92
}
]
}
],
"departments": [
{
"slug": "electronics",
"uid": 4
},
{
"slug": "jewellery",
"uid": 11
},
{
"slug": "fashion",
"uid": 2
}
]
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `departments` | `array` | 3 items |
| `departments` | `array` | 3 items |
| `raw` | `object` | 2 fields |
| `raw.data` | `array` | 3 items |
| `raw.departments` | `array` | 3 items |
## 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)
## JioMart: Category Filters List
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.category.filters.list
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.category.filters.list/index.md
# Category Filters List
Fetch JioMart department/category/filter hierarchy for a Vertex filter expression.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.category.filters.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"filter": "journey:standard:::department:groceries",
"pincode": "400001"
},
"capability": "jiomart.category.filters.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `filter` | `string` | No | Filter supplied for this request. |
| `location` | `object` | No | Location supplied for this request. |
| `location.city` | `string` | No | City supplied for this request. |
| `location.latitude` | `string` | No | Latitude supplied for this request. |
| `location.longitude` | `string` | No | Longitude supplied for this request. |
| `location.pincode` | `string` | No | Pincode supplied for this request. |
| `location.state` | `string` | No | State supplied for this request. |
| `pincode` | `string` | No | Pincode supplied for this request. |
### Example input
```json
{
"filter": "journey:standard:::department:groceries",
"pincode": "400001"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"filters": [
{
"key": {
"display": "Departments",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "department",
"visible": true
},
"values": [
{
"count": 93823,
"display": "Groceries",
"is_selected": true,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"priority": 1,
"uid": 1,
"value": "groceries"
},
{
"count": 11922,
"display": "Fashion",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/1vlzsBtlr-department.png",
"priority": 2,
"uid": 2,
"value": "fashion"
},
{
"count": 21984,
"display": "Electronics",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/z4j_oOnnD-department.png",
"priority": 3,
"uid": 4,
"value": "electronics"
}
]
},
{
"key": {
"display": "Categories",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l1_category",
"visible": true
},
"values": [
{
"count": 583,
"display": "Fresh",
"hierarchy": [
{
"department": 1,
"l1": 13956,
"l2": 241,
"l3": 12452
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"priority": 1,
"uid": 13956,
"value": "fresh-l1"
},
{
"count": 23453,
"display": "Biscuits, Drinks & Packaged Foods",
"hierarchy": [
{
"department": 1,
"l1": 113,
"l2": 633,
"l3": 2023
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/[redacted:token].png",
"priority": 2,
"uid": 113,
"value": "biscuits-drinks-packaged-foods"
},
{
"count": 35025,
"display": "Cooking Essentials",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2471
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"priority": 3,
"uid": 116,
"value": "cooking-essentials"
}
]
},
{
"key": {
"display": "L2 Category",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l2_category",
"visible": false
},
"values": [
{
"count": 8112,
"display": "Chips & Namkeens",
"hierarchy": [
{
"department": 1,
"l1": 113,
"l2": 629,
"l3": 2123
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/IKyGxKaZNil-chips-namkeens-20240621.png",
"priority": 1,
"uid": 629,
"value": "chips-namkeens"
},
{
"count": 7850,
"display": "Hair Care",
"hierarchy": [
{
"department": 1,
"l1": 133,
"l2": 293,
"l3": 7117
},
{
"department": 2,
"l1": 99,
"l2": 293,
"l3": 5644
},
{
"department": 10,
"l1": 176,
"l2": 293,
"l3": 6481
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/ETXy2IMlu-logo.png",
"priority": 1,
"uid": 293,
"value": "hair-care"
},
{
"count": 3358,
"display": "Atta, Flours & Sooji",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2471
},
{
"department": 1,
"l1": 143,
"l2": 323,
"l3": 2471
},
{
"department": 1,
"l1": 1084,
"l2": 323,
"l3": 2488
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/0hmaUADFVyC-atta-flours-sooji-20240621.png",
"priority": 1,
"uid": 323,
"value": "atta-flours-sooji"
}
]
}
],
"raw": {
"category_hierarchy": [
{
"count": "338",
"hierarchy": "91-9762-11171"
},
{
"count": "58",
"hierarchy": "[redacted:phone]"
},
{
"count": "93",
"hierarchy": "[redacted:phone]8"
}
],
"filters": [
{
"key": {
"display": "Departments",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "department",
"visible": true
},
"values": [
{
"count": 93823,
"display": "Groceries",
"is_selected": true,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"priority": 1,
"uid": 1,
"value": "groceries"
},
{
"count": 11922,
"display": "Fashion",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/1vlzsBtlr-department.png",
"priority": 2,
"uid": 2,
"value": "fashion"
},
{
"count": 21984,
"display": "Electronics",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/z4j_oOnnD-department.png",
"priority": 3,
"uid": 4,
"value": "electronics"
}
]
},
{
"key": {
"display": "Categories",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l1_category",
"visible": true
},
"values": [
{
"count": 583,
"display": "Fresh",
"hierarchy": [
{
"department": 1,
"l1": 13956,
"l2": 241,
"l3": 12452
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"priority": 1,
"uid": 13956,
"value": "fresh-l1"
},
{
"count": 23453,
"display": "Biscuits, Drinks & Packaged Foods",
"hierarchy": [
{
"department": 1,
"l1": 113,
"l2": 633,
"l3": 2023
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/[redacted:token].png",
"priority": 2,
"uid": 113,
"value": "biscuits-drinks-packaged-foods"
},
{
"count": 35025,
"display": "Cooking Essentials",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2471
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"priority": 3,
"uid": 116,
"value": "cooking-essentials"
}
]
},
{
"key": {
"display": "L2 Category",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l2_category",
"visible": false
},
"values": [
{
"count": 8112,
"display": "Chips & Namkeens",
"hierarchy": [
{
"department": 1,
"l1": 113,
"l2": 629,
"l3": 2123
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/IKyGxKaZNil-chips-namkeens-20240621.png",
"priority": 1,
"uid": 629,
"value": "chips-namkeens"
},
{
"count": 7850,
"display": "Hair Care",
"hierarchy": [
{
"department": 1,
"l1": 133,
"l2": 293,
"l3": 7117
},
{
"department": 2,
"l1": 99,
"l2": 293,
"l3": 5644
},
{
"department": 10,
"l1": 176,
"l2": 293,
"l3": 6481
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/ETXy2IMlu-logo.png",
"priority": 1,
"uid": 293,
"value": "hair-care"
},
{
"count": 3358,
"display": "Atta, Flours & Sooji",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2471
},
{
"department": 1,
"l1": 143,
"l2": 323,
"l3": 2471
},
{
"department": 1,
"l1": 1084,
"l2": 323,
"l3": 2488
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/0hmaUADFVyC-atta-flours-sooji-20240621.png",
"priority": 1,
"uid": 323,
"value": "atta-flours-sooji"
}
]
}
],
"success": true
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `filters` | `array` | 3 items |
| `filters` | `array` | 3 items |
| `raw` | `object` | 3 fields |
| `raw.category_hierarchy` | `array` | 3 items |
| `raw.filters` | `array` | 3 items |
| `raw.success` | `boolean` | true |
## 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)
## JioMart: Collection Products List
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.collection.products.list
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.collection.products.list/index.md
# Collection Products List
List JioMart products from a collection slug and pincode.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.collection.products.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"page": 1,
"page_size": 20,
"pincode": "400001",
"slug": "groceries"
},
"capability": "jiomart.collection.products.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `location` | `object` | No | Location supplied for this request. |
| `location.city` | `string` | No | City supplied for this request. |
| `location.pincode` | `string` | No | Pincode supplied for this request. |
| `location.state` | `string` | No | State supplied for this request. |
| `page` | `integer` | No | One-based result page to fetch. |
| `page_id` | `string` | No | Page identifier. |
| `page_size` | `integer` | No | Page size supplied for this request. |
| `pincode` | `string` | No | Pincode supplied for this request. |
| `slug` | `string` | Yes | Slug supplied for this request. |
| `sort_on` | `string` | No | Sort on supplied for this request. |
### Example input
```json
{
"page": 1,
"page_size": 20,
"pincode": "400001",
"slug": "groceries"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 13956,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"name": "Fresh",
"priority": 1,
"slug": "fresh-l1"
},
"l2_category": {
"id": 242,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/D5_9mE8va-logo.png",
"name": "Fresh Vegetables",
"priority": 1,
"slug": "fresh-vegetables"
},
"l3_category": {
"id": 13959,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/AlbOse5Nu-exotic-vegetables-20250331.png",
"name": "Premium Vegetables",
"priority": 1,
"slug": "premium-vegetables-l3"
}
},
"medias": [
{
"alt": "Button Mushroom 200 g",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000005900002451.jpg.b1c9de5153.jpg"
},
{
"alt": "Button Mushroom 200 g",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000005900002452.jpg.b381da9e86.jpg"
}
],
"uid": 7504240,
"sellable": true,
"net_quantity": "0.26/g",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7504240"
],
"sizes": [
"OS"
],
"variantId": [
"590000245"
]
},
"action": {
"page": {
"params": {
"slug": [
"button-mushroom-200-g-mffmsf-7504240"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7504240,
"l1-category": [
"Fresh"
],
"l2-category": [
"Fresh Vegetables"
],
"l3-category": [
"Premium Vegetables"
],
"max-qty-in-order": "4",
"popularity": 866,
"price-compare-factor": "0.5",
"seller-type": "1p",
"uom-unit": "g",
"uom-value": "100",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"premium-vegetables-l3"
]
},
"type": "products"
},
"type": "page"
},
"name": "Premium Vegetables",
"type": "category",
"uid": 13959
}
],
"item_code": "590000245",
"net-quantity-unit": "g",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Button Mushroom 200 g",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 52,
"min": 52
},
"marked": {
"max": 52,
"min": 52
}
},
"tags": [
"NON-RX",
"kirana_1p",
"GROCERIES"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Private Label",
"type": "brand",
"uid": 418
},
"rating_bucket": "0",
"net-quantity-value": 200,
"_custom_json": {},
"price_list": null,
"slug": "button-mushroom-200-g-mffmsf-7504240",
"sku_code": "590000245"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 133,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/zzOUJEM_wL-personal-care-20240620.png",
"name": "Personal Care",
"priority": 5,
"slug": "personal-care"
},
"l2_category": {
"id": 9740,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/t8DPVlZUyAe-0-111.png",
"name": "Health & Wellness",
"priority": 8,
"slug": "health-and-wellness-l2"
},
"l3_category": {
"id": 12506,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/IuUqq7ASGR-sexual-wellness-20200520.png",
"name": "Sexual Wellness",
"priority": 6,
"slug": "sexual-wellness-l3"
}
},
"medias": [
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.fd2a9e6214.jpg"
},
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.ba059c133d.jpg"
},
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.1a728aff03.jpg"
}
],
"uid": 7508493,
"sellable": true,
"net_quantity": "8.90/Pieces",
"moq": {
"increment_unit": 1,
"maximum": 12,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7508493"
],
"sizes": [
"OS"
],
"variantId": [
"491506599"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"item_id": 7508493,
"l1-category": [
"Personal Care"
],
"l2-category": [
"Health & Wellness"
],
"l3-category": [
"Sexual Wellness"
],
"max-qty-in-order": "12",
"popularity": 744,
"price-compare-factor": "1",
"seller-type": "1p",
"uom-unit": "count",
"uom-value": "1",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"sexual-wellness-l3"
]
},
"type": "products"
},
"type": "page"
},
"name": "Sexual Wellness",
"type": "category",
"uid": 12506
}
],
"item_code": "491506599",
"net-quantity-unit": "Pieces",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Manforce Strawberry Flavoured Condoms 10 pcs",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 89,
"min": 89
},
"marked": {
"max": 99,
"min": 99
}
},
"tags": [
"rrl_fc",
"NON-RX",
"QC"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "manforce",
"type": "brand",
"uid": 151
},
"rating_bucket": "0",
"net-quantity-value": 10,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "491506599"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 13956,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"name": "Fresh",
"priority": 1,
"slug": "fresh-l1"
},
"l2_category": {
"id": 637,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/AKPffsgGZOI-milk-milk-products-20240621.png",
"name": "Milk & Milk Products",
"priority": 6,
"slug": "milk-milk-products"
},
"l3_category": {
"id": 10416,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/ebhNLjBwhiN-milk-20200520.png",
"name": "Milk",
"priority": 1,
"slug": "milk"
}
},
"medias": [
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004943035981.jpg.48be26f2ad.jpg"
},
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004943035982.jpg.b4649f9ec9.jpg"
},
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/00000000049430359814.jpg.8ddbd82cda.jpg"
}
],
"uid": 7544983,
"sellable": true,
"net_quantity": "45.00/N",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7544983"
],
"sizes": [
"OS"
],
"variantId": [
"494303598"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7544983,
"l1-category": [
"Fresh"
],
"l2-category": [
"Milk & Milk Products"
],
"l3-category": [
"Milk"
],
"max-qty-in-order": "5",
"popularity": 264,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"milk"
]
},
"type": "products"
},
"type": "page"
},
"name": "Milk",
"type": "category",
"uid": 10416
}
],
"item_code": "494303598",
"net-quantity-unit": "N",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Prabhat Dairy Popular Double Toned Milk 1 L",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 45,
"min": 45
},
"marked": {
"max": 56,
"min": 56
}
},
"tags": [
"rrl_fc",
"QC",
"GROCERIES"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Prabhat",
"type": "brand",
"uid": 1520
},
"rating_bucket": "0",
"net-quantity-value": 1,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "494303598"
}
],
"page": {
"has_next": true,
"has_previous": false,
"item_total": 188000,
"next_id": "2",
"type": "cursor"
},
"raw": {
"filters": [
{
"key": {
"display": "Departments",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "department",
"visible": true
},
"values": [
{
"count": 93848,
"display": "Groceries",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"priority": 1,
"uid": 1,
"value": "groceries"
},
{
"count": 11914,
"display": "Fashion",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/1vlzsBtlr-department.png",
"priority": 2,
"uid": 2,
"value": "fashion"
},
{
"count": 21930,
"display": "Electronics",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/z4j_oOnnD-department.png",
"priority": 3,
"uid": 4,
"value": "electronics"
}
]
},
{
"key": {
"display": "Categories",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l1_category",
"visible": true
},
"values": [
{
"count": 573,
"display": "Fresh",
"hierarchy": [
{
"department": 1,
"l1": 13956,
"l2": 241,
"l3": 12452
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"priority": 1,
"uid": 13956,
"value": "fresh-l1"
},
{
"count": 23332,
"display": "Biscuits, Drinks & Packaged Foods",
"hierarchy": [
{
"department": 1,
"l1": 113,
"l2": 200,
"l3": 2027
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/[redacted:token].png",
"priority": 2,
"uid": 113,
"value": "biscuits-drinks-packaged-foods"
},
{
"count": 34898,
"display": "Cooking Essentials",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2482
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"priority": 3,
"uid": 116,
"value": "cooking-essentials"
}
]
},
{
"key": {
"display": "L2 Category",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l2_category",
"visible": false
},
"values": [
{
"count": 8064,
"display": "Chips & Namkeens",
"hierarchy": [
{
"department": 1,
"l1": 113,
"l2": 629,
"l3": 2123
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/IKyGxKaZNil-chips-namkeens-20240621.png",
"priority": 1,
"uid": 629,
"value": "chips-namkeens"
},
{
"count": 7835,
"display": "Hair Care",
"hierarchy": [
{
"department": 1,
"l1": 133,
"l2": 293,
"l3": 7117
},
{
"department": 2,
"l1": 99,
"l2": 293,
"l3": 5966
},
{
"department": 10,
"l1": 176,
"l2": 293,
"l3": 6481
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/ETXy2IMlu-logo.png",
"priority": 1,
"uid": 293,
"value": "hair-care"
},
{
"count": 3356,
"display": "Atta, Flours & Sooji",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2471
},
{
"department": 1,
"l1": 143,
"l2": 323,
"l3": 2471
},
{
"department": 1,
"l1": 1084,
"l2": 323,
"l3": 2488
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/0hmaUADFVyC-atta-flours-sooji-20240621.png",
"priority": 1,
"uid": 323,
"value": "atta-flours-sooji"
}
]
}
],
"items": [
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 13956,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"name": "Fresh",
"priority": 1,
"slug": "fresh-l1"
},
"l2_category": {
"id": 242,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/D5_9mE8va-logo.png",
"name": "Fresh Vegetables",
"priority": 1,
"slug": "fresh-vegetables"
},
"l3_category": {
"id": 13959,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/AlbOse5Nu-exotic-vegetables-20250331.png",
"name": "Premium Vegetables",
"priority": 1,
"slug": "premium-vegetables-l3"
}
},
"medias": [
{
"alt": "Button Mushroom 200 g",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000005900002451.jpg.b1c9de5153.jpg"
},
{
"alt": "Button Mushroom 200 g",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000005900002452.jpg.b381da9e86.jpg"
}
],
"uid": 7504240,
"sellable": true,
"net_quantity": "0.26/g",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7504240"
],
"sizes": [
"OS"
],
"variantId": [
"590000245"
]
},
"action": {
"page": {
"params": {
"slug": [
"button-mushroom-200-g-mffmsf-7504240"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7504240,
"l1-category": [
"Fresh"
],
"l2-category": [
"Fresh Vegetables"
],
"l3-category": [
"Premium Vegetables"
],
"max-qty-in-order": "4",
"popularity": 866,
"price-compare-factor": "0.5",
"seller-type": "1p",
"uom-unit": "g",
"uom-value": "100",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"premium-vegetables-l3"
]
},
"type": "products"
},
"type": "page"
},
"name": "Premium Vegetables",
"type": "category",
"uid": 13959
}
],
"item_code": "590000245",
"net-quantity-unit": "g",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Button Mushroom 200 g",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 52,
"min": 52
},
"marked": {
"max": 52,
"min": 52
}
},
"tags": [
"NON-RX",
"kirana_1p",
"GROCERIES"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Private Label",
"type": "brand",
"uid": 418
},
"rating_bucket": "0",
"net-quantity-value": 200,
"_custom_json": {},
"price_list": null,
"slug": "button-mushroom-200-g-mffmsf-7504240",
"sku_code": "590000245"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 133,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/zzOUJEM_wL-personal-care-20240620.png",
"name": "Personal Care",
"priority": 5,
"slug": "personal-care"
},
"l2_category": {
"id": 9740,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/t8DPVlZUyAe-0-111.png",
"name": "Health & Wellness",
"priority": 8,
"slug": "health-and-wellness-l2"
},
"l3_category": {
"id": 12506,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/IuUqq7ASGR-sexual-wellness-20200520.png",
"name": "Sexual Wellness",
"priority": 6,
"slug": "sexual-wellness-l3"
}
},
"medias": [
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.fd2a9e6214.jpg"
},
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.ba059c133d.jpg"
},
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.1a728aff03.jpg"
}
],
"uid": 7508493,
"sellable": true,
"net_quantity": "8.90/Pieces",
"moq": {
"increment_unit": 1,
"maximum": 12,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7508493"
],
"sizes": [
"OS"
],
"variantId": [
"491506599"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"item_id": 7508493,
"l1-category": [
"Personal Care"
],
"l2-category": [
"Health & Wellness"
],
"l3-category": [
"Sexual Wellness"
],
"max-qty-in-order": "12",
"popularity": 744,
"price-compare-factor": "1",
"seller-type": "1p",
"uom-unit": "count",
"uom-value": "1",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"sexual-wellness-l3"
]
},
"type": "products"
},
"type": "page"
},
"name": "Sexual Wellness",
"type": "category",
"uid": 12506
}
],
"item_code": "491506599",
"net-quantity-unit": "Pieces",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Manforce Strawberry Flavoured Condoms 10 pcs",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 89,
"min": 89
},
"marked": {
"max": 99,
"min": 99
}
},
"tags": [
"rrl_fc",
"NON-RX",
"QC"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "manforce",
"type": "brand",
"uid": 151
},
"rating_bucket": "0",
"net-quantity-value": 10,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "491506599"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 13956,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"name": "Fresh",
"priority": 1,
"slug": "fresh-l1"
},
"l2_category": {
"id": 637,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/AKPffsgGZOI-milk-milk-products-20240621.png",
"name": "Milk & Milk Products",
"priority": 6,
"slug": "milk-milk-products"
},
"l3_category": {
"id": 10416,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/ebhNLjBwhiN-milk-20200520.png",
"name": "Milk",
"priority": 1,
"slug": "milk"
}
},
"medias": [
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004943035981.jpg.48be26f2ad.jpg"
},
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004943035982.jpg.b4649f9ec9.jpg"
},
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/00000000049430359814.jpg.8ddbd82cda.jpg"
}
],
"uid": 7544983,
"sellable": true,
"net_quantity": "45.00/N",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7544983"
],
"sizes": [
"OS"
],
"variantId": [
"494303598"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7544983,
"l1-category": [
"Fresh"
],
"l2-category": [
"Milk & Milk Products"
],
"l3-category": [
"Milk"
],
"max-qty-in-order": "5",
"popularity": 264,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"milk"
]
},
"type": "products"
},
"type": "page"
},
"name": "Milk",
"type": "category",
"uid": 10416
}
],
"item_code": "494303598",
"net-quantity-unit": "N",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Prabhat Dairy Popular Double Toned Milk 1 L",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 45,
"min": 45
},
"marked": {
"max": 56,
"min": 56
}
},
"tags": [
"rrl_fc",
"QC",
"GROCERIES"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Prabhat",
"type": "brand",
"uid": 1520
},
"rating_bucket": "0",
"net-quantity-value": 1,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "494303598"
}
],
"meta": {
"attributionToken": "[redacted:attributiontoken]",
"error": {},
"nextPageToken": "[redacted:nextpagetoken]",
"provider": {
"version": "0.0.1"
}
},
"page": {
"has_next": true,
"has_previous": false,
"item_total": 188000,
"next_id": "2",
"type": "cursor"
},
"sort_on": [
{
"display": "Popularity",
"is_selected": true,
"logo": "https://cdn.pixelbin.io/v2/jiomartlt/jmrtlt/original/jmrtlt5/misc/default-assets/original/popular.png",
"name": "Popularity",
"priority": 1,
"value": "popular"
},
{
"display": "Price High to Low",
"is_selected": false,
"logo": "https://cdn.pixelbin.io/v2/falling-surf-7c8bb8/fyprod/original/products/pictures/attribute/logo/original/iG82Qjay9X-Popularity.png",
"name": "Price High to Low",
"priority": 2,
"value": "price_dsc"
},
{
"display": "Price Low to High",
"is_selected": false,
"logo": "https://cdn.pixelbin.io/v2/falling-surf-7c8bb8/fyprod/original/products/pictures/attribute/logo/original/iG82Qjay9X-Popularity.png",
"name": "Price Low to High",
"priority": 3,
"value": "price_asc"
}
]
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 5 fields |
| `page.has_next` | `boolean` | true |
| `page.has_previous` | `boolean` | false |
| `page.item_total` | `integer` | 188000 |
| `page.next_id` | `string` | 2 |
| `page.type` | `string` | cursor |
| `raw` | `object` | 5 fields |
| `raw.filters` | `array` | 3 items |
| `raw.items` | `array` | 3 items |
| `raw.meta` | `object` | 4 fields |
| `raw.page` | `object` | 5 fields |
| `raw.sort_on` | `array` | 3 items |
## 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)
## JioMart: Collections
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.collections.list
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.collections.list/index.md
# Collections
List the JioMart collection directory. Paginated (26K+ collections).
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.collections.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"page_size": 5
},
"capability": "jiomart.collections.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `page` | `integer` | No | One-based result page to fetch. |
| `page_size` | `integer` | No | Page size supplied for this request. |
### Example input
```json
{
"page_size": 5
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"_custom_json": {},
"_id": "6a5b37377ff3da0bf303fb17",
"_locale_language": {},
"_schedule": {
"end": "9998-01-30T23:59:00Z",
"next_schedule": [
{
"end": "9998-01-30T23:59:00Z",
"start": "2026-07-18T08:17:48.217000Z"
}
],
"start": "2026-07-18T08:17:48.217000Z"
},
"action": {
"page": {
"params": {
"slug": [
"personal-care-grocery"
]
},
"type": "collection"
},
"type": "page"
},
"allow_facets": true,
"allow_sort": true,
"badge": {
"color": "#ffffff",
"text": ""
},
"banners": {
"landscape": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857999/production/applications/app_000000000000000000000001/media/collection/landscape/avm7xibo2jgk8glc4bwl.png"
},
"portrait": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588858137/production/applications/app_000000000000000000000001/media/collection/portrait/xzuftshmmw4yuwzb12pm.png"
}
},
"description": "Personal Care Grocery",
"is_active": true,
"is_visible": true,
"logo": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857854/production/applications/app_000000000000000000000001/media/collection/logo/w9ns7nfgv7fk45xqrpoh.png"
},
"meta": {},
"name": "Personal Care Grocery",
"priority": 1,
"published": true,
"query": [
{
"attribute": "department",
"op": "in",
"value": [
"groceries"
]
},
{
"attribute": "l1_category",
"op": "in",
"value": [
"personal-care"
]
}
],
"seo": {
"breadcrumbs": [
{}
],
"description": "Personal Care Grocery",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Personal Care Grocery"
},
"slug": "personal-care-grocery",
"sort_on": "popular",
"tags": [],
"type": "query",
"uid": "6a5b37377ff3da0bf303fb17",
"visible_facets_keys": []
},
{
"_custom_json": {},
"_id": "6a54a6cebe7d82904c2c2584",
"_locale_language": {},
"_schedule": {
"end": "9998-01-30T23:59:00Z",
"next_schedule": [
{
"end": "9998-01-30T23:59:00Z",
"start": "2026-07-13T08:50:18.142000Z"
}
],
"start": "2026-07-13T08:50:18.142000Z"
},
"action": {
"page": {
"params": {
"slug": [
"cothas-coffee"
]
},
"type": "collection"
},
"type": "page"
},
"allow_facets": true,
"allow_sort": true,
"badge": {
"color": "#ffffff",
"text": ""
},
"banners": {
"landscape": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857999/production/applications/app_000000000000000000000001/media/collection/landscape/avm7xibo2jgk8glc4bwl.png"
},
"portrait": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588858137/production/applications/app_000000000000000000000001/media/collection/portrait/xzuftshmmw4yuwzb12pm.png"
}
},
"description": "Cothas Coffee",
"is_active": true,
"is_visible": true,
"logo": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857854/production/applications/app_000000000000000000000001/media/collection/logo/w9ns7nfgv7fk45xqrpoh.png"
},
"meta": {},
"name": "Cothas Coffee",
"priority": 2,
"published": true,
"query": [],
"seo": {
"breadcrumbs": [
{}
],
"description": "Cothas Coffee",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Cothas Coffee"
},
"slug": "cothas-coffee",
"sort_on": "popular",
"tags": [],
"type": "items",
"uid": "6a54a6cebe7d82904c2c2584",
"visible_facets_keys": []
},
{
"_custom_json": {},
"_id": "6a46150a3025c0bfcb9f0a73",
"_locale_language": {},
"_schedule": {
"end": "9998-01-30T23:59:00Z",
"next_schedule": [
{
"end": "9998-01-30T23:59:00Z",
"start": "2026-07-02T07:36:35.864000Z"
}
],
"start": "2026-07-02T07:36:35.864000Z"
},
"action": {
"page": {
"params": {
"slug": [
"dynamix-ghee"
]
},
"type": "collection"
},
"type": "page"
},
"allow_facets": true,
"allow_sort": true,
"badge": {
"color": "#ffffff",
"text": ""
},
"banners": {
"landscape": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857999/production/applications/app_000000000000000000000001/media/collection/landscape/avm7xibo2jgk8glc4bwl.png"
},
"portrait": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588858137/production/applications/app_000000000000000000000001/media/collection/portrait/xzuftshmmw4yuwzb12pm.png"
}
},
"description": "Dynamix Ghee",
"is_active": true,
"is_visible": true,
"logo": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857854/production/applications/app_000000000000000000000001/media/collection/logo/w9ns7nfgv7fk45xqrpoh.png"
},
"meta": {},
"name": "Dynamix Ghee",
"priority": 3,
"published": true,
"query": [],
"seo": {
"breadcrumbs": [
{}
],
"description": "Dynamix Ghee",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Dynamix Ghee"
},
"slug": "dynamix-ghee",
"sort_on": "popular",
"tags": [],
"type": "items",
"uid": "6a46150a3025c0bfcb9f0a73",
"visible_facets_keys": []
}
],
"page": {
"current": 1,
"has_next": true,
"has_previous": false,
"item_total": 26924,
"total": 5385,
"type": "number"
},
"raw": {
"filters": {
"tags": [
{
"display": "Andhra Pradesh",
"is_selected": false,
"name": "Andhra Pradesh"
},
{
"display": "Arunachal Pradesh",
"is_selected": false,
"name": "Arunachal Pradesh"
},
{
"display": "Assam",
"is_selected": false,
"name": "Assam"
}
],
"type": [
{
"display": "items",
"is_selected": false,
"name": "items"
},
{
"display": "query",
"is_selected": false,
"name": "query"
}
]
},
"items": [
{
"_custom_json": {},
"_id": "6a5b37377ff3da0bf303fb17",
"_locale_language": {},
"_schedule": {
"end": "9998-01-30T23:59:00Z",
"next_schedule": [
{
"end": "9998-01-30T23:59:00Z",
"start": "2026-07-18T08:17:48.217000Z"
}
],
"start": "2026-07-18T08:17:48.217000Z"
},
"action": {
"page": {
"params": {
"slug": [
"personal-care-grocery"
]
},
"type": "collection"
},
"type": "page"
},
"allow_facets": true,
"allow_sort": true,
"badge": {
"color": "#ffffff",
"text": ""
},
"banners": {
"landscape": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857999/production/applications/app_000000000000000000000001/media/collection/landscape/avm7xibo2jgk8glc4bwl.png"
},
"portrait": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588858137/production/applications/app_000000000000000000000001/media/collection/portrait/xzuftshmmw4yuwzb12pm.png"
}
},
"description": "Personal Care Grocery",
"is_active": true,
"is_visible": true,
"logo": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857854/production/applications/app_000000000000000000000001/media/collection/logo/w9ns7nfgv7fk45xqrpoh.png"
},
"meta": {},
"name": "Personal Care Grocery",
"priority": 1,
"published": true,
"query": [
{
"attribute": "department",
"op": "in",
"value": [
"groceries"
]
},
{
"attribute": "l1_category",
"op": "in",
"value": [
"personal-care"
]
}
],
"seo": {
"breadcrumbs": [
{}
],
"description": "Personal Care Grocery",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Personal Care Grocery"
},
"slug": "personal-care-grocery",
"sort_on": "popular",
"tags": [],
"type": "query",
"uid": "6a5b37377ff3da0bf303fb17",
"visible_facets_keys": []
},
{
"_custom_json": {},
"_id": "6a54a6cebe7d82904c2c2584",
"_locale_language": {},
"_schedule": {
"end": "9998-01-30T23:59:00Z",
"next_schedule": [
{
"end": "9998-01-30T23:59:00Z",
"start": "2026-07-13T08:50:18.142000Z"
}
],
"start": "2026-07-13T08:50:18.142000Z"
},
"action": {
"page": {
"params": {
"slug": [
"cothas-coffee"
]
},
"type": "collection"
},
"type": "page"
},
"allow_facets": true,
"allow_sort": true,
"badge": {
"color": "#ffffff",
"text": ""
},
"banners": {
"landscape": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857999/production/applications/app_000000000000000000000001/media/collection/landscape/avm7xibo2jgk8glc4bwl.png"
},
"portrait": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588858137/production/applications/app_000000000000000000000001/media/collection/portrait/xzuftshmmw4yuwzb12pm.png"
}
},
"description": "Cothas Coffee",
"is_active": true,
"is_visible": true,
"logo": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857854/production/applications/app_000000000000000000000001/media/collection/logo/w9ns7nfgv7fk45xqrpoh.png"
},
"meta": {},
"name": "Cothas Coffee",
"priority": 2,
"published": true,
"query": [],
"seo": {
"breadcrumbs": [
{}
],
"description": "Cothas Coffee",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Cothas Coffee"
},
"slug": "cothas-coffee",
"sort_on": "popular",
"tags": [],
"type": "items",
"uid": "6a54a6cebe7d82904c2c2584",
"visible_facets_keys": []
},
{
"_custom_json": {},
"_id": "6a46150a3025c0bfcb9f0a73",
"_locale_language": {},
"_schedule": {
"end": "9998-01-30T23:59:00Z",
"next_schedule": [
{
"end": "9998-01-30T23:59:00Z",
"start": "2026-07-02T07:36:35.864000Z"
}
],
"start": "2026-07-02T07:36:35.864000Z"
},
"action": {
"page": {
"params": {
"slug": [
"dynamix-ghee"
]
},
"type": "collection"
},
"type": "page"
},
"allow_facets": true,
"allow_sort": true,
"badge": {
"color": "#ffffff",
"text": ""
},
"banners": {
"landscape": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857999/production/applications/app_000000000000000000000001/media/collection/landscape/avm7xibo2jgk8glc4bwl.png"
},
"portrait": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588858137/production/applications/app_000000000000000000000001/media/collection/portrait/xzuftshmmw4yuwzb12pm.png"
}
},
"description": "Dynamix Ghee",
"is_active": true,
"is_visible": true,
"logo": {
"type": "image",
"url": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1588857854/production/applications/app_000000000000000000000001/media/collection/logo/w9ns7nfgv7fk45xqrpoh.png"
},
"meta": {},
"name": "Dynamix Ghee",
"priority": 3,
"published": true,
"query": [],
"seo": {
"breadcrumbs": [
{}
],
"description": "Dynamix Ghee",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Dynamix Ghee"
},
"slug": "dynamix-ghee",
"sort_on": "popular",
"tags": [],
"type": "items",
"uid": "6a46150a3025c0bfcb9f0a73",
"visible_facets_keys": []
}
],
"page": {
"current": 1,
"has_next": true,
"has_previous": false,
"item_total": 26924,
"total": 5385,
"type": "number"
}
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 6 fields |
| `page.current` | `integer` | 1 |
| `page.has_next` | `boolean` | true |
| `page.has_previous` | `boolean` | false |
| `page.item_total` | `integer` | 26924 |
| `page.total` | `integer` | 5385 |
| `page.type` | `string` | number |
| `raw` | `object` | 3 fields |
| `raw.filters` | `object` | 2 fields |
| `raw.items` | `array` | 3 items |
| `raw.page` | `object` | 6 fields |
## 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)
## JioMart: Departments
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.departments.list
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.departments.list/index.md
# Departments
List top-level JioMart departments (e.g. Groceries).
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.departments.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "jiomart.departments.list"
}'
```
## Input
This capability accepts an empty input object.
### Example input
```json
{}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/department/pictures/square-logo/original/nNNDA0Cu--department.png"
},
"name": "Groceries",
"priority_order": 1,
"slug": "groceries",
"uid": 1
}
],
"raw": {
"items": [
{
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jio-mart-2/MOluAr/original/jiomarty0/department/pictures/square-logo/original/nNNDA0Cu--department.png"
},
"name": "Groceries",
"priority_order": 1,
"slug": "groceries",
"uid": 1
}
]
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 1 items |
| `items` | `array` | 1 items |
| `raw` | `object` | 1 fields |
| `raw.items` | `array` | 1 items |
## 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)
## JioMart: Home Listing
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.home.listing
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.home.listing/index.md
# Home Listing
Fetch the JioMart homepage product feed. Cursor-paginated, location-sensitive.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.home.listing`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"page_size": 10,
"pincode": "400001"
},
"capability": "jiomart.home.listing"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `page_id` | `string` | No | Page identifier. |
| `page_size` | `integer` | No | Page size supplied for this request. |
| `pincode` | `string` | No | Pincode supplied for this request. |
| `sort_on` | `string` | No | Sort on supplied for this request. |
### Example input
```json
{
"page_size": 10,
"pincode": "400001"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"_custom_json": {
"brand": "Demo Brand"
},
"_custom_meta": [],
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"available-at-1p-kirana": "false",
"available-at-3p-kirana": "false",
"available-at-3p-seller": "true",
"available-at-rrl-fc": "false",
"brand-id": "943",
"catalog-source": "INFIBEAM",
"category-l1": "Mom & Baby Care",
"category-l2": "Diapers & Wipes",
"dimensions-productheight": "22.0",
"dimensions-productlength": "39.0",
"dimensions-productweight": "3570.0",
"dimensions-productwidth": "31.0",
"is-rrl-exclusive": "false",
"is-sodexo-eligible": "false",
"l1-category": "Mom & Baby Care",
"l2-category": "Diapers & Wipes",
"l3-category": "Diapers",
"manufacturedetails-manufactureid": "977",
"primary_color_hex": null,
"qty": "2",
"search-keywords": "XL-size-baby-diaper,Extra-Large-Baby-diaper,Baby-diaper-pants,Little-angel-baby-diaper,Easy-dry-baby-diaper-pants,Diaper-Pants,baby-diaper,Combo-Pack-Baby-Diaper",
"seller-type": "3p",
"vertical-code": "GROCERIES"
},
"brand": {
"_custom_json": {
"description": null,
"id": 943,
"links": null,
"merchant_info": {
"id": 919,
"name": "MOTHER AND BABYCARE INC.",
"seller_number": "N5QUBF"
},
"name": "little angel",
"status": "active"
},
"action": {
"page": {
"query": {
"brand": [
"little-angel--943"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/default_image.jpg"
},
"name": "little angel",
"type": "brand"
},
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"diapers"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Diapers",
"uid": 10225
}
],
"channel": "685945f46c8c7aee3f3af605",
"country_of_origin": "India",
"discount": "56% OFF",
"discount_meta": {},
"identifiers": [
"RVRCB4AQDH"
],
"is_tryout": false,
"item_code": "RVRCB4AQDH",
"item_type": "standard",
"medias": [
{
"alt": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/n5qubf/.p/ng/easydrycomboxl.png.bf4c1a75f8.png"
},
{
"alt": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/n5qubf/.j/pg/2.jpg.cd26358d27.jpg"
},
{
"alt": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/n5qubf/.j/pg/3.jpg.19bb3a9e55.jpg"
}
],
"moq": {
"increment_unit": 1,
"minimum": 1
},
"name": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)",
"net_quantity": {},
"price": {
"effective": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 959,
"min": 959
},
"marked": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 2198,
"min": 2198
},
"selling": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 959,
"min": 959
}
},
"sellable": true,
"seo": {
"description": "",
"title": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)"
},
"short_description": "",
"sizes": [
"OS"
],
"slug": "[redacted:token]",
"tags": [
"NON-RX",
"seller_3p",
"3p"
],
"type": "product",
"uid": 50516055,
"variants": []
},
{
"_custom_json": {
"brand": "Demo Brand"
},
"_custom_meta": [],
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"available-at-1p-kirana": "false",
"available-at-3p-kirana": "false",
"available-at-3p-seller": "true",
"available-at-rrl-fc": "false",
"brand-id": "49109",
"catalog-source": "INFIBEAM",
"category-l1": "Auto Care",
"category-l2": "Car & Bike Parts",
"dimensions-productheight": "10.0",
"dimensions-productlength": "5.0",
"dimensions-productweight": "20.0",
"dimensions-productwidth": "8.0",
"is-rrl-exclusive": "false",
"is-sodexo-eligible": "false",
"l1-category": "Auto Care",
"l2-category": "Car & Bike Parts",
"l3-category": "Car Hub Caps",
"manufacturedetails-manufactureid": "51240",
"primary_color_hex": null,
"qty": "8",
"search-keywords": "luminous car tyre valve cap,tyre valve cap light,car tyre air valve cap",
"seller-type": "3p",
"vertical-code": "HOMEIMPROVEMENT"
},
"brand": {
"_custom_json": {
"description": null,
"id": 49109,
"links": null,
"merchant_info": {
"id": 61936,
"name": "K R INTERNATIONAL",
"seller_number": "ZFMXJH"
},
"name": "Care N Made",
"status": "active"
},
"action": {
"page": {
"query": {
"brand": [
"care-n-made--49109"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/default_image.jpg"
},
"name": "Care N Made",
"type": "brand"
},
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"car-hub-caps"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Car Hub Caps",
"uid": 7653
}
],
"channel": "685945f46c8c7aee3f3af605",
"country_of_origin": "India",
"discount": "71% OFF",
"discount_meta": {},
"identifiers": [
"RVMJCHOFOK"
],
"is_tryout": false,
"item_code": "RVMJCHOFOK",
"item_type": "standard",
"medias": [
{
"alt": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/zfmxjh/.j/pg/dropbox.1711653.f59189c968ee77321608a70f2c1c80d9_1.jpg"
},
{
"alt": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/zfmxjh/.j/pg/dropbox.1711653.4d39d32127df823697cdfc7b6fd52f2d_2.jpg"
},
{
"alt": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/zfmxjh/.j/pg/dropbox.1711653.f0c16e8caa39c437d4940415de8d39e7_3.jpg"
}
],
"moq": {
"increment_unit": 1,
"minimum": 1
},
"name": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador",
"net_quantity": {},
"price": {
"effective": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 399,
"min": 399
},
"marked": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 1400,
"min": 1400
},
"selling": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 399,
"min": 399
}
},
"sellable": true,
"seo": {
"description": "",
"title": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador"
},
"short_description": "",
"sizes": [
"OS"
],
"slug": "[redacted:token]",
"tags": [
"seller_3p",
"NON-RX",
"3p"
],
"type": "product",
"uid": 54886128,
"variants": []
},
{
"_custom_json": {
"brand": "Demo Brand"
},
"_custom_meta": [],
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"available-at-1p-kirana": "false",
"available-at-3p-kirana": "false",
"available-at-3p-seller": "true",
"available-at-rrl-fc": "false",
"brand-id": "7105",
"catalog-source": "INFIBEAM",
"category-l1": "Women",
"category-l2": "Ethnic Wear",
"colour": "Green",
"dimensions-productheight": "2.0",
"dimensions-productlength": "28.0",
"dimensions-productweight": "350.0",
"dimensions-productwidth": "22.0",
"is-rrl-exclusive": "false",
"is-sodexo-eligible": "false",
"l1-category": "Women",
"l2-category": "Ethnic Wear",
"l3-category": "Kurta Suit Sets",
"manufacturedetails-manufactureid": "5920",
"primary_color_hex": null,
"qty": "3",
"search-keywords": "Kurta set,kurti for women,cotton kurta for women,cotton kurtis for women,women kurti set,jiomart kurtis,kurta pajama for women,stylish kurta for women",
"seller-type": "3p",
"vertical-code": "FASHION"
},
"brand": {
"_custom_json": {
"description": null,
"id": 7105,
"links": null,
"merchant_info": {
"id": 4674,
"name": "GOSRIKI FASHION PRIVATE LIMITED",
"seller_number": "YZLNSO"
},
"name": "GoSriKi",
"status": "active"
},
"action": {
"page": {
"query": {
"brand": [
"gosriki--7105"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/default_image.jpg"
},
"name": "GoSriKi",
"type": "brand"
},
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"kurta-suit-sets"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Kurta Suit Sets",
"uid": 1938
}
],
"channel": "685945f46c8c7aee3f3af605",
"country_of_origin": "India",
"discount": "66% OFF",
"discount_meta": {},
"identifiers": [
"RCBSUBO3N6_green",
"RVJFFSDFCL"
],
"is_tryout": false,
"item_code": "RCBSUBO3N6_green",
"item_type": "standard",
"medias": [
{
"alt": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/yzlnso/.j/pg/dropbox.1803137.[redacted:token].jpg"
},
{
"alt": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/yzlnso/.j/pg/dropbox.1803137.[redacted:token].jpg"
},
{
"alt": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/yzlnso/.j/pg/dropbox.1803137.[redacted:token].jpg"
}
],
"moq": {
"increment_unit": 1,
"minimum": 1
},
"name": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta",
"net_quantity": {},
"price": {
"effective": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 849,
"min": 849
},
"marked": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 2499,
"min": 2499
},
"selling": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 849,
"min": 849
}
},
"sellable": true,
"seo": {
"description": "",
"title": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta"
},
"short_description": "",
"sizes": [
"M"
],
"slug": "[redacted:token]",
"tags": [
"3p",
"seller_3p",
"NON-RX"
],
"type": "product",
"uid": 57223887,
"variants": []
}
],
"page": {
"has_next": true,
"has_previous": false,
"item_total": 2392812,
"next_id": "[redacted:token]",
"type": "cursor"
},
"raw": {
"items": [
{
"_custom_json": {
"brand": "Demo Brand"
},
"_custom_meta": [],
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"available-at-1p-kirana": "false",
"available-at-3p-kirana": "false",
"available-at-3p-seller": "true",
"available-at-rrl-fc": "false",
"brand-id": "943",
"catalog-source": "INFIBEAM",
"category-l1": "Mom & Baby Care",
"category-l2": "Diapers & Wipes",
"dimensions-productheight": "22.0",
"dimensions-productlength": "39.0",
"dimensions-productweight": "3570.0",
"dimensions-productwidth": "31.0",
"is-rrl-exclusive": "false",
"is-sodexo-eligible": "false",
"l1-category": "Mom & Baby Care",
"l2-category": "Diapers & Wipes",
"l3-category": "Diapers",
"manufacturedetails-manufactureid": "977",
"primary_color_hex": null,
"qty": "2",
"search-keywords": "XL-size-baby-diaper,Extra-Large-Baby-diaper,Baby-diaper-pants,Little-angel-baby-diaper,Easy-dry-baby-diaper-pants,Diaper-Pants,baby-diaper,Combo-Pack-Baby-Diaper",
"seller-type": "3p",
"vertical-code": "GROCERIES"
},
"brand": {
"_custom_json": {
"description": null,
"id": 943,
"links": null,
"merchant_info": {
"id": 919,
"name": "MOTHER AND BABYCARE INC.",
"seller_number": "N5QUBF"
},
"name": "little angel",
"status": "active"
},
"action": {
"page": {
"query": {
"brand": [
"little-angel--943"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/default_image.jpg"
},
"name": "little angel",
"type": "brand"
},
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"diapers"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Diapers",
"uid": 10225
}
],
"channel": "685945f46c8c7aee3f3af605",
"country_of_origin": "India",
"discount": "56% OFF",
"discount_meta": {},
"identifiers": [
"RVRCB4AQDH"
],
"is_tryout": false,
"item_code": "RVRCB4AQDH",
"item_type": "standard",
"medias": [
{
"alt": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/n5qubf/.p/ng/easydrycomboxl.png.bf4c1a75f8.png"
},
{
"alt": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/n5qubf/.j/pg/2.jpg.cd26358d27.jpg"
},
{
"alt": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/n5qubf/.j/pg/3.jpg.19bb3a9e55.jpg"
}
],
"moq": {
"increment_unit": 1,
"minimum": 1
},
"name": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)",
"net_quantity": {},
"price": {
"effective": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 959,
"min": 959
},
"marked": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 2198,
"min": 2198
},
"selling": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 959,
"min": 959
}
},
"sellable": true,
"seo": {
"description": "",
"title": "Little Angel Easy Dry Pull-up Diaper Pants with 12 hrs absorption Extra Large (XL) Size, Pack of 2,13-16 Kgs - XL (108 Pieces)"
},
"short_description": "",
"sizes": [
"OS"
],
"slug": "[redacted:token]",
"tags": [
"NON-RX",
"seller_3p",
"3p"
],
"type": "product",
"uid": 50516055,
"variants": []
},
{
"_custom_json": {
"brand": "Demo Brand"
},
"_custom_meta": [],
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"available-at-1p-kirana": "false",
"available-at-3p-kirana": "false",
"available-at-3p-seller": "true",
"available-at-rrl-fc": "false",
"brand-id": "49109",
"catalog-source": "INFIBEAM",
"category-l1": "Auto Care",
"category-l2": "Car & Bike Parts",
"dimensions-productheight": "10.0",
"dimensions-productlength": "5.0",
"dimensions-productweight": "20.0",
"dimensions-productwidth": "8.0",
"is-rrl-exclusive": "false",
"is-sodexo-eligible": "false",
"l1-category": "Auto Care",
"l2-category": "Car & Bike Parts",
"l3-category": "Car Hub Caps",
"manufacturedetails-manufactureid": "51240",
"primary_color_hex": null,
"qty": "8",
"search-keywords": "luminous car tyre valve cap,tyre valve cap light,car tyre air valve cap",
"seller-type": "3p",
"vertical-code": "HOMEIMPROVEMENT"
},
"brand": {
"_custom_json": {
"description": null,
"id": 49109,
"links": null,
"merchant_info": {
"id": 61936,
"name": "K R INTERNATIONAL",
"seller_number": "ZFMXJH"
},
"name": "Care N Made",
"status": "active"
},
"action": {
"page": {
"query": {
"brand": [
"care-n-made--49109"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/default_image.jpg"
},
"name": "Care N Made",
"type": "brand"
},
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"car-hub-caps"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Car Hub Caps",
"uid": 7653
}
],
"channel": "685945f46c8c7aee3f3af605",
"country_of_origin": "India",
"discount": "71% OFF",
"discount_meta": {},
"identifiers": [
"RVMJCHOFOK"
],
"is_tryout": false,
"item_code": "RVMJCHOFOK",
"item_type": "standard",
"medias": [
{
"alt": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/zfmxjh/.j/pg/dropbox.1711653.f59189c968ee77321608a70f2c1c80d9_1.jpg"
},
{
"alt": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/zfmxjh/.j/pg/dropbox.1711653.4d39d32127df823697cdfc7b6fd52f2d_2.jpg"
},
{
"alt": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/zfmxjh/.j/pg/dropbox.1711653.f0c16e8caa39c437d4940415de8d39e7_3.jpg"
}
],
"moq": {
"increment_unit": 1,
"minimum": 1
},
"name": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador",
"net_quantity": {},
"price": {
"effective": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 399,
"min": 399
},
"marked": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 1400,
"min": 1400
},
"selling": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 399,
"min": 399
}
},
"sellable": true,
"seo": {
"description": "",
"title": "Care N Made | Purple | New Design Bom Shape Tyre Air Valve Bom Caps, Funny Car Tyre Caps | Metal Air Valve Caps for Tyre | Cool Accessories for Car, Truck, Motorcycle, SUVs and Bikes Set of 8 Compatible with H-M Ambassador"
},
"short_description": "",
"sizes": [
"OS"
],
"slug": "[redacted:token]",
"tags": [
"seller_3p",
"NON-RX",
"3p"
],
"type": "product",
"uid": 54886128,
"variants": []
},
{
"_custom_json": {
"brand": "Demo Brand"
},
"_custom_meta": [],
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"available-at-1p-kirana": "false",
"available-at-3p-kirana": "false",
"available-at-3p-seller": "true",
"available-at-rrl-fc": "false",
"brand-id": "7105",
"catalog-source": "INFIBEAM",
"category-l1": "Women",
"category-l2": "Ethnic Wear",
"colour": "Green",
"dimensions-productheight": "2.0",
"dimensions-productlength": "28.0",
"dimensions-productweight": "350.0",
"dimensions-productwidth": "22.0",
"is-rrl-exclusive": "false",
"is-sodexo-eligible": "false",
"l1-category": "Women",
"l2-category": "Ethnic Wear",
"l3-category": "Kurta Suit Sets",
"manufacturedetails-manufactureid": "5920",
"primary_color_hex": null,
"qty": "3",
"search-keywords": "Kurta set,kurti for women,cotton kurta for women,cotton kurtis for women,women kurti set,jiomart kurtis,kurta pajama for women,stylish kurta for women",
"seller-type": "3p",
"vertical-code": "FASHION"
},
"brand": {
"_custom_json": {
"description": null,
"id": 7105,
"links": null,
"merchant_info": {
"id": 4674,
"name": "GOSRIKI FASHION PRIVATE LIMITED",
"seller_number": "YZLNSO"
},
"name": "GoSriKi",
"status": "active"
},
"action": {
"page": {
"query": {
"brand": [
"gosriki--7105"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/default_image.jpg"
},
"name": "GoSriKi",
"type": "brand"
},
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"kurta-suit-sets"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Kurta Suit Sets",
"uid": 1938
}
],
"channel": "685945f46c8c7aee3f3af605",
"country_of_origin": "India",
"discount": "66% OFF",
"discount_meta": {},
"identifiers": [
"RCBSUBO3N6_green",
"RVJFFSDFCL"
],
"is_tryout": false,
"item_code": "RCBSUBO3N6_green",
"item_type": "standard",
"medias": [
{
"alt": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/yzlnso/.j/pg/dropbox.1803137.[redacted:token].jpg"
},
{
"alt": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/yzlnso/.j/pg/dropbox.1803137.[redacted:token].jpg"
},
{
"alt": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/yzlnso/.j/pg/dropbox.1803137.[redacted:token].jpg"
}
],
"moq": {
"increment_unit": 1,
"minimum": 1
},
"name": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta",
"net_quantity": {},
"price": {
"effective": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 849,
"min": 849
},
"marked": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 2499,
"min": 2499
},
"selling": {
"currency_code": "INR",
"currency_symbol": "₹",
"max": 849,
"min": 849
}
},
"sellable": true,
"seo": {
"description": "",
"title": "GoSriKi Women's Sea-Green Cotton Blend Solid Straight Kurta Trouser & Dupatta"
},
"short_description": "",
"sizes": [
"M"
],
"slug": "[redacted:token]",
"tags": [
"3p",
"seller_3p",
"NON-RX"
],
"type": "product",
"uid": 57223887,
"variants": []
}
],
"page": {
"has_next": true,
"has_previous": false,
"item_total": 2392812,
"next_id": "[redacted:token]",
"type": "cursor"
},
"sort_on": "score desc, random_706a230e619d45fdab7e5891a9f98d59 asc"
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 5 fields |
| `page.has_next` | `boolean` | true |
| `page.has_previous` | `boolean` | false |
| `page.item_total` | `integer` | 2392812 |
| `page.next_id` | `string` | [redacted:token] |
| `page.type` | `string` | cursor |
| `raw` | `object` | 3 fields |
| `raw.items` | `array` | 3 items |
| `raw.page` | `object` | 5 fields |
| `raw.sort_on` | `string` | score desc, random_706a230e619d45fdab7e5891a9f98d59 asc |
## 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)
## JioMart: Pincode Location Lookup
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.location.pincode.lookup
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.location.pincode.lookup/index.md
# Pincode Location Lookup
Validate and resolve JioMart location metadata for an Indian pincode.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.location.pincode.lookup`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"pincode": "400001"
},
"capability": "jiomart.location.pincode.lookup"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `pincode` | `string` | Yes | Pincode supplied for this request. |
### Example input
```json
{
"pincode": "400001"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"data": [
{
"display_name": "400001",
"error": {
"message": null,
"type": null,
"value": null
},
"lat_long": {
"coordinates": [
72.8919,
18.6291
],
"type": "Point"
},
"meta": {
"685945f46c8c7aee3f3af605": {
"mbv_config": [
{
"department": "Groceries",
"min_basket_value": 99
}
],
"zone": "west"
}
},
"meta_code": {
"country_code": "IN",
"currency": {
"code": "INR",
"name": "Indian Rupee",
"symbol": "₹"
},
"deliverables": [
"essential"
],
"hierarchy": [
{
"display_name": "Pincode",
"slug": "pincode"
},
{
"display_name": "City",
"slug": "city"
},
{
"display_name": "State",
"slug": "state"
}
],
"iso2": "IN",
"iso3": "IND",
"latitude": "28.6667",
"longitude": "77.2167",
"parent_id": null,
"phone_code": "+91",
"zone": "red"
},
"name": "400001",
"parents": [
{
"display_name": "India",
"name": "INDIA",
"sub_type": "country",
"uid": "64aff96f9ed6a9d76597c317"
},
{
"display_name": "MAHARASHTRA",
"name": "MAHARASHTRA",
"sub_type": "state",
"uid": "6851881c34bc6fd8a2874563"
},
{
"display_name": "MUMBAI",
"name": "MUMBAI",
"sub_type": "city",
"uid": "6851881c34bc6fd8a287497a"
}
],
"sub_type": "pincode",
"uid": "6851881d34bc6fd8a2876b47"
}
],
"raw": {
"data": [
{
"display_name": "400001",
"error": {
"message": null,
"type": null,
"value": null
},
"lat_long": {
"coordinates": [
72.8919,
18.6291
],
"type": "Point"
},
"meta": {
"685945f46c8c7aee3f3af605": {
"mbv_config": [
{
"department": "Groceries",
"min_basket_value": 99
}
],
"zone": "west"
}
},
"meta_code": {
"country_code": "IN",
"currency": {
"code": "INR",
"name": "Indian Rupee",
"symbol": "₹"
},
"deliverables": [
"essential"
],
"hierarchy": [
{
"display_name": "Pincode",
"slug": "pincode"
},
{
"display_name": "City",
"slug": "city"
},
{
"display_name": "State",
"slug": "state"
}
],
"iso2": "IN",
"iso3": "IND",
"latitude": "28.6667",
"longitude": "77.2167",
"parent_id": null,
"phone_code": "+91",
"zone": "red"
},
"name": "400001",
"parents": [
{
"display_name": "India",
"name": "INDIA",
"sub_type": "country",
"uid": "64aff96f9ed6a9d76597c317"
},
{
"display_name": "MAHARASHTRA",
"name": "MAHARASHTRA",
"sub_type": "state",
"uid": "6851881c34bc6fd8a2874563"
},
{
"display_name": "MUMBAI",
"name": "MUMBAI",
"sub_type": "city",
"uid": "6851881c34bc6fd8a287497a"
}
],
"sub_type": "pincode",
"uid": "6851881d34bc6fd8a2876b47"
}
],
"error": {
"message": null,
"type": null,
"value": null
},
"request_uuid": "bc6b14f23e853987e2df9b3763bbcdd4",
"stormbreaker_uuid": "ea8fe6f0-d60e-4a9b-ab82-97834e973c84",
"success": true
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `data` | `array` | 1 items |
| `data` | `array` | 1 items |
| `raw` | `object` | 5 fields |
| `raw.data` | `array` | 1 items |
| `raw.error` | `object` | 3 fields |
| `raw.request_uuid` | `string` | bc6b14f23e853987e2df9b3763bbcdd4 |
| `raw.stormbreaker_uuid` | `string` | ea8fe6f0-d60e-4a9b-ab82-97834e973c84 |
| `raw.success` | `boolean` | true |
## 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)
## JioMart: Logistics Countries
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.logistics.countries
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.logistics.countries/index.md
# Logistics Countries
List countries where JioMart delivery is available.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.logistics.countries`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "jiomart.logistics.countries"
}'
```
## Input
This capability accepts an empty input object.
### Example input
```json
{}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"currency": {
"code": "INR",
"name": "Indian Rupee",
"symbol": "₹"
},
"display_name": "India",
"hierarchy": [
{
"display_name": "Pincode",
"slug": "pincode"
},
{
"display_name": "City",
"slug": "city"
},
{
"display_name": "State",
"slug": "state"
}
],
"id": "64aff96f9ed6a9d76597c317",
"iso2": "IN",
"iso3": "IND",
"latitude": "28.6667",
"longitude": "77.2167",
"name": "INDIA",
"phone_code": "+91",
"timezones": [
"Asia/Kolkata"
],
"type": "country"
},
{
"currency": {
"code": "AED",
"name": "United Arab Emirates Dirham",
"symbol": "AED"
},
"display_name": "United Arab Emirates",
"hierarchy": [
{
"display_name": "Area",
"slug": "sector"
},
{
"display_name": "City",
"slug": "city"
}
],
"id": "6851881c34bc6fd8a2874547",
"iso2": "AE",
"iso3": "UAE",
"latitude": "24.4648",
"longitude": "54.3618",
"name": "UNITED_ARAB_EMIRATES",
"phone_code": "+971",
"timezones": [
"Asia/Dubai"
],
"type": "country"
},
{
"currency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$"
},
"display_name": "United States",
"hierarchy": [
{
"display_name": "Zipcode",
"slug": "pincode"
},
{
"display_name": "City",
"slug": "city"
},
{
"display_name": "State",
"slug": "state"
}
],
"id": "6851881c34bc6fd8a2874548",
"iso2": "US",
"iso3": "USA",
"latitude": "38.8951",
"longitude": "-77.0364",
"name": "UNITED_STATES",
"phone_code": "+1",
"timezones": [
"America/New_York",
"America/Detroit",
"America/Kentucky/Louisville"
],
"type": "country"
}
],
"raw": {
"items": [
{
"currency": {
"code": "INR",
"name": "Indian Rupee",
"symbol": "₹"
},
"display_name": "India",
"hierarchy": [
{
"display_name": "Pincode",
"slug": "pincode"
},
{
"display_name": "City",
"slug": "city"
},
{
"display_name": "State",
"slug": "state"
}
],
"id": "64aff96f9ed6a9d76597c317",
"iso2": "IN",
"iso3": "IND",
"latitude": "28.6667",
"longitude": "77.2167",
"name": "INDIA",
"phone_code": "+91",
"timezones": [
"Asia/Kolkata"
],
"type": "country"
},
{
"currency": {
"code": "AED",
"name": "United Arab Emirates Dirham",
"symbol": "AED"
},
"display_name": "United Arab Emirates",
"hierarchy": [
{
"display_name": "Area",
"slug": "sector"
},
{
"display_name": "City",
"slug": "city"
}
],
"id": "6851881c34bc6fd8a2874547",
"iso2": "AE",
"iso3": "UAE",
"latitude": "24.4648",
"longitude": "54.3618",
"name": "UNITED_ARAB_EMIRATES",
"phone_code": "+971",
"timezones": [
"Asia/Dubai"
],
"type": "country"
},
{
"currency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$"
},
"display_name": "United States",
"hierarchy": [
{
"display_name": "Zipcode",
"slug": "pincode"
},
{
"display_name": "City",
"slug": "city"
},
{
"display_name": "State",
"slug": "state"
}
],
"id": "6851881c34bc6fd8a2874548",
"iso2": "US",
"iso3": "USA",
"latitude": "38.8951",
"longitude": "-77.0364",
"name": "UNITED_STATES",
"phone_code": "+1",
"timezones": [
"America/New_York",
"America/Detroit",
"America/Kentucky/Louisville"
],
"type": "country"
}
],
"page": {
"current": 1,
"has_next": false,
"has_previous": false,
"item_total": 3,
"size": 3,
"type": "number"
}
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `raw` | `object` | 2 fields |
| `raw.items` | `array` | 3 items |
| `raw.page` | `object` | 6 fields |
## 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)
## JioMart: Navigations
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.navigations.list
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.navigations.list/index.md
# Navigations
Fetch the JioMart site navigation tree (menus, links, sections).
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.navigations.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "jiomart.navigations.list"
}'
```
## Input
This capability accepts an empty input object.
### Example input
```json
{}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"__v": 0,
"_id": "68efd9f723230caeb045b850",
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"date_meta": {
"created_on": "2025-10-15T17:29:27.305Z",
"modified_on": "2026-08-01T02:35:06.220Z"
},
"id": "68efd9f723230caeb045b850",
"name": "app top shop all navigation",
"navigation": [
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"smart-buys-august"
]
},
"type": "sections",
"url": "/sections/smart-buys-august"
},
"type": "page"
},
"active": true,
"custom_data": {
"addressTextColor": "#FFFFFF",
"background": "#d3d38b",
"quickTextColor": "#57555B",
"shopAllTextColor": "#FFFFFF",
"statusBarColor": "#afaf55",
"statusBarTextColor": "#FFFFFF",
"title": "#df4565",
"topNavIcons": "#FFFFFF",
"unselectedQuickBgColor": "#D8D5E4",
"unselectedTextColor": "#57555B"
},
"display": "Smart Buys",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/Yx3E8VQco-Smart-Buys-1785430640591.svg"
}
],
"schedule": [
{
"end": "",
"start": "2026-07-31T18:20:00.000Z"
}
],
"sort_order": 1,
"sub_navigation": [],
"tags": [
"1st Aug onwards"
],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"explore-all"
]
},
"type": "sections",
"url": "/sections/explore-all"
},
"type": "page"
},
"active": true,
"custom_data": {
"addressTextColor": "#FFFFFF",
"background": "#343650",
"button": "#54575B",
"deeplink": "exploreall",
"quickTextColor": "#535255",
"shopAllTextColor": "#FFFFFF",
"statusBarColor": "#070022",
"statusBarTextColor": "#FFFFFF",
"title": "#FFFFFF",
"topNavIcons": "#FFFFFF",
"unselectedQuickBgColor": "#CDCCD3",
"unselectedTextColor": "#535255"
},
"display": "Explore All",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/vk1xNAAFd-Explore-All-1785464046820.svg"
}
],
"schedule": [
{
"end": "",
"start": "2026-04-15T18:25:00.000Z"
}
],
"sort_order": 3,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"scheduled-cdit-2026"
]
},
"type": "sections",
"url": "/sections/scheduled-cdit-2026"
},
"type": "page"
},
"active": true,
"custom_data": {
"StatusBarColor": "#0087A3",
"addressTextColor": "#2B2B2B",
"background": "#58CAE2",
"button": "#54575B",
"deeplink": "electronics",
"quickTextColor": "#525D5F",
"shopAllTextColor": "#FFFFFF",
"statusBarTextColor": "#FFFFFF",
"title": "#FFFFFF",
"topNavIcons": "#1F474F",
"unselectedQuickBgColor": "#CCE7ED",
"unselectedTextColor": "#525D5F"
},
"display": "Electronics",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/CumQsOmfU-Electronics-1785464082347.svg"
}
],
"schedule": [],
"sort_order": 4,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
}
],
"orientation": {
"landscape": [
"left"
],
"portrait": [
"left"
]
},
"platform": [
"web"
],
"slug": "app-top-shop-all-navigation",
"tags": [],
"version": 3
},
{
"__v": 0,
"_id": "68efd788b70502f00dc08a41",
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"date_meta": {
"created_on": "2025-10-15T17:19:04.677Z",
"modified_on": "2026-07-31T18:28:38.027Z"
},
"id": "68efd788b70502f00dc08a41",
"name": "app top quick navigation",
"navigation": [
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"site-under-maintenance"
]
},
"type": "sections",
"url": "/sections/site-under-maintenance"
},
"type": "page"
},
"active": false,
"custom_data": {
"background": "#05355d",
"button": "#F7AB20",
"title": "#FFFFFF",
"vertical": "groceries"
},
"display": "Site Under Maintanace",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/lWVhl2q7k-Home-Imrovement-1782217159529.png",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/lWVhl2q7k-Home-Imrovement-1782217159529.png"
}
],
"schedule": [],
"sort_order": 1,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "zones",
"zones": {
"exclude": [],
"include": [
"69bca3ca7f8229fc027ce7cd"
]
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"qucik-cdit-12032026"
]
},
"type": "sections",
"url": "/sections/qucik-cdit-12032026"
},
"type": "page"
},
"active": true,
"custom_data": {
"addressTextColor": "#2B2B2B",
"background": "#DDC1F6",
"button": "#54575B",
"deeplink": "electronics",
"quickTextColor": "#4D4456",
"shopAllTextColor": "#5A585E",
"statusBarColor": "#6A4D94",
"statusBarTextColor": "#FFFFFF",
"title": "#FFFFFF",
"topNavIcons": "#4D4456",
"unselectedShopallBgColor": "#E1DBEA",
"unselectedShopallTextColor": "#5A585E",
"vertical": "electronics"
},
"display": "Electronics",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].png",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].png"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/TCgXS9RED-Electronics-1785464201879.svg"
}
],
"schedule": [],
"sort_order": 2,
"sub_navigation": [],
"tags": [
"Pilot",
"default landing"
],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "zones",
"zones": {
"exclude": [],
"include": [
"6a51b8e50287a1628866bc81",
"6a688f3a3933986d810e4aff"
]
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"low-price-mumbai"
]
},
"type": "sections",
"url": "/sections/low-price-mumbai"
},
"type": "page"
},
"active": true,
"custom_data": {
"addressTextColor": "#FFFFFF",
"background": "#91e599",
"button": "#FFFFFF",
"deeplink": "lowprice",
"quickTextColor": "#ffffff",
"shopAllTextColor": "#54575B",
"statusBarColor": "#68bc70",
"statusBarTextColor": "#FFFFFF",
"title": "#FFFFFF",
"topNavIcons": "#FFFFFF",
"unselectedShopallBgColor": "#D0D8E4",
"unselectedShopallTextColor": "#53565B",
"vertical": "groceries"
},
"display": "My Home",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/ktWxcmNBP-My-Home-1785479126279.svg"
}
],
"schedule": [],
"sort_order": 3,
"sub_navigation": [],
"tags": [
"Mumbai"
],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "zones",
"zones": {
"exclude": [],
"include": [
"69baa4a4683a20955ef6bd37"
]
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
}
],
"orientation": {
"landscape": [
"right"
],
"portrait": [
"right"
]
},
"platform": [
"web"
],
"slug": "app-top-quick-navigation",
"tags": [],
"version": 3
},
{
"__v": 0,
"_id": "68678ad5e79bfae13de0d509",
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"date_meta": {
"created_on": "2025-07-04T08:03:33.609Z",
"modified_on": "2026-05-19T06:52:38.783Z"
},
"id": "68678ad5e79bfae13de0d509",
"name": "web footer",
"navigation": [
{
"acl": [
"all"
],
"action": {
"page": {
"type": "home",
"url": "/"
},
"type": "page"
},
"active": false,
"custom_data": {},
"display": "Home",
"image": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/mystore-tab_y0dqzt.png",
"images": [
{
"label": "active",
"value": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/mystore-tab_y0dqzt.png"
}
],
"schedule": [],
"sort_order": 1,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"type": "brands",
"url": "/brands/"
},
"type": "page"
},
"active": false,
"custom_data": {},
"display": "Brands",
"image": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/brands-tab_sfinpk.png",
"images": [
{
"label": "active",
"value": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/brands-tab_sfinpk.png"
}
],
"schedule": [],
"sort_order": 2,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"type": "collections",
"url": "/collections/"
},
"type": "page"
},
"active": false,
"custom_data": {},
"display": "Collections",
"image": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/collections-tab_a0tg9c.png",
"images": [
{
"label": "active",
"value": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/collections-tab_a0tg9c.png"
}
],
"schedule": [],
"sort_order": 3,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
}
],
"orientation": {
"landscape": [
"bottom"
],
"portrait": []
},
"platform": [
"web"
],
"slug": "web-footer",
"tags": [],
"version": 3
}
],
"raw": {
"items": [
{
"__v": 0,
"_id": "68efd9f723230caeb045b850",
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"date_meta": {
"created_on": "2025-10-15T17:29:27.305Z",
"modified_on": "2026-08-01T02:35:06.220Z"
},
"id": "68efd9f723230caeb045b850",
"name": "app top shop all navigation",
"navigation": [
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"smart-buys-august"
]
},
"type": "sections",
"url": "/sections/smart-buys-august"
},
"type": "page"
},
"active": true,
"custom_data": {
"addressTextColor": "#FFFFFF",
"background": "#d3d38b",
"quickTextColor": "#57555B",
"shopAllTextColor": "#FFFFFF",
"statusBarColor": "#afaf55",
"statusBarTextColor": "#FFFFFF",
"title": "#df4565",
"topNavIcons": "#FFFFFF",
"unselectedQuickBgColor": "#D8D5E4",
"unselectedTextColor": "#57555B"
},
"display": "Smart Buys",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/Yx3E8VQco-Smart-Buys-1785430640591.svg"
}
],
"schedule": [
{
"end": "",
"start": "2026-07-31T18:20:00.000Z"
}
],
"sort_order": 1,
"sub_navigation": [],
"tags": [
"1st Aug onwards"
],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"explore-all"
]
},
"type": "sections",
"url": "/sections/explore-all"
},
"type": "page"
},
"active": true,
"custom_data": {
"addressTextColor": "#FFFFFF",
"background": "#343650",
"button": "#54575B",
"deeplink": "exploreall",
"quickTextColor": "#535255",
"shopAllTextColor": "#FFFFFF",
"statusBarColor": "#070022",
"statusBarTextColor": "#FFFFFF",
"title": "#FFFFFF",
"topNavIcons": "#FFFFFF",
"unselectedQuickBgColor": "#CDCCD3",
"unselectedTextColor": "#535255"
},
"display": "Explore All",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/vk1xNAAFd-Explore-All-1785464046820.svg"
}
],
"schedule": [
{
"end": "",
"start": "2026-04-15T18:25:00.000Z"
}
],
"sort_order": 3,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"scheduled-cdit-2026"
]
},
"type": "sections",
"url": "/sections/scheduled-cdit-2026"
},
"type": "page"
},
"active": true,
"custom_data": {
"StatusBarColor": "#0087A3",
"addressTextColor": "#2B2B2B",
"background": "#58CAE2",
"button": "#54575B",
"deeplink": "electronics",
"quickTextColor": "#525D5F",
"shopAllTextColor": "#FFFFFF",
"statusBarTextColor": "#FFFFFF",
"title": "#FFFFFF",
"topNavIcons": "#1F474F",
"unselectedQuickBgColor": "#CCE7ED",
"unselectedTextColor": "#525D5F"
},
"display": "Electronics",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/CumQsOmfU-Electronics-1785464082347.svg"
}
],
"schedule": [],
"sort_order": 4,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
}
],
"orientation": {
"landscape": [
"left"
],
"portrait": [
"left"
]
},
"platform": [
"web"
],
"slug": "app-top-shop-all-navigation",
"tags": [],
"version": 3
},
{
"__v": 0,
"_id": "68efd788b70502f00dc08a41",
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"date_meta": {
"created_on": "2025-10-15T17:19:04.677Z",
"modified_on": "2026-07-31T18:28:38.027Z"
},
"id": "68efd788b70502f00dc08a41",
"name": "app top quick navigation",
"navigation": [
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"site-under-maintenance"
]
},
"type": "sections",
"url": "/sections/site-under-maintenance"
},
"type": "page"
},
"active": false,
"custom_data": {
"background": "#05355d",
"button": "#F7AB20",
"title": "#FFFFFF",
"vertical": "groceries"
},
"display": "Site Under Maintanace",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/lWVhl2q7k-Home-Imrovement-1782217159529.png",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/lWVhl2q7k-Home-Imrovement-1782217159529.png"
}
],
"schedule": [],
"sort_order": 1,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "zones",
"zones": {
"exclude": [],
"include": [
"69bca3ca7f8229fc027ce7cd"
]
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"qucik-cdit-12032026"
]
},
"type": "sections",
"url": "/sections/qucik-cdit-12032026"
},
"type": "page"
},
"active": true,
"custom_data": {
"addressTextColor": "#2B2B2B",
"background": "#DDC1F6",
"button": "#54575B",
"deeplink": "electronics",
"quickTextColor": "#4D4456",
"shopAllTextColor": "#5A585E",
"statusBarColor": "#6A4D94",
"statusBarTextColor": "#FFFFFF",
"title": "#FFFFFF",
"topNavIcons": "#4D4456",
"unselectedShopallBgColor": "#E1DBEA",
"unselectedShopallTextColor": "#5A585E",
"vertical": "electronics"
},
"display": "Electronics",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].png",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].png"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/TCgXS9RED-Electronics-1785464201879.svg"
}
],
"schedule": [],
"sort_order": 2,
"sub_navigation": [],
"tags": [
"Pilot",
"default landing"
],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "zones",
"zones": {
"exclude": [],
"include": [
"6a51b8e50287a1628866bc81",
"6a688f3a3933986d810e4aff"
]
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"params": {
"group": [
"low-price-mumbai"
]
},
"type": "sections",
"url": "/sections/low-price-mumbai"
},
"type": "page"
},
"active": true,
"custom_data": {
"addressTextColor": "#FFFFFF",
"background": "#91e599",
"button": "#FFFFFF",
"deeplink": "lowprice",
"quickTextColor": "#ffffff",
"shopAllTextColor": "#54575B",
"statusBarColor": "#68bc70",
"statusBarTextColor": "#FFFFFF",
"title": "#FFFFFF",
"topNavIcons": "#FFFFFF",
"unselectedShopallBgColor": "#D0D8E4",
"unselectedShopallTextColor": "#53565B",
"vertical": "groceries"
},
"display": "My Home",
"image": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg",
"images": [
{
"label": "active",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/[redacted:token].svg"
},
{
"label": "inactive",
"value": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/pictures/free-icon/original/ktWxcmNBP-My-Home-1785479126279.svg"
}
],
"schedule": [],
"sort_order": 3,
"sub_navigation": [],
"tags": [
"Mumbai"
],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "zones",
"zones": {
"exclude": [],
"include": [
"69baa4a4683a20955ef6bd37"
]
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
}
],
"orientation": {
"landscape": [
"right"
],
"portrait": [
"right"
]
},
"platform": [
"web"
],
"slug": "app-top-quick-navigation",
"tags": [],
"version": 3
},
{
"__v": 0,
"_id": "68678ad5e79bfae13de0d509",
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"date_meta": {
"created_on": "2025-07-04T08:03:33.609Z",
"modified_on": "2026-05-19T06:52:38.783Z"
},
"id": "68678ad5e79bfae13de0d509",
"name": "web footer",
"navigation": [
{
"acl": [
"all"
],
"action": {
"page": {
"type": "home",
"url": "/"
},
"type": "page"
},
"active": false,
"custom_data": {},
"display": "Home",
"image": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/mystore-tab_y0dqzt.png",
"images": [
{
"label": "active",
"value": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/mystore-tab_y0dqzt.png"
}
],
"schedule": [],
"sort_order": 1,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"type": "brands",
"url": "/brands/"
},
"type": "page"
},
"active": false,
"custom_data": {},
"display": "Brands",
"image": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/brands-tab_sfinpk.png",
"images": [
{
"label": "active",
"value": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/brands-tab_sfinpk.png"
}
],
"schedule": [],
"sort_order": 2,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
},
{
"acl": [
"all"
],
"action": {
"page": {
"type": "collections",
"url": "/collections/"
},
"type": "page"
},
"active": false,
"custom_data": {},
"display": "Collections",
"image": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/collections-tab_a0tg9c.png",
"images": [
{
"label": "active",
"value": "https://res.cloudinary.com/dwzm9bysq/image/upload/v1567148153/production/system/icons/collections-tab_a0tg9c.png"
}
],
"schedule": [],
"sort_order": 3,
"sub_navigation": [],
"tags": [],
"theme_zones": {
"cities": {
"exclude": [],
"include": []
},
"states": {
"exclude": [],
"include": []
},
"type": "",
"zones": {
"exclude": [],
"include": []
}
},
"user": {
"user_groups": {
"l1": {
"excludes": [],
"includes": []
},
"l2": {
"excludes": [],
"includes": []
}
},
"user_type": "all_user"
}
}
],
"orientation": {
"landscape": [
"bottom"
],
"portrait": []
},
"platform": [
"web"
],
"slug": "web-footer",
"tags": [],
"version": 3
}
],
"page": {
"current": 1,
"has_next": false,
"item_total": 3,
"size": 10,
"type": "number"
}
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `raw` | `object` | 2 fields |
| `raw.items` | `array` | 3 items |
| `raw.page` | `object` | 5 fields |
## 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)
## JioMart: Pages
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.pages.list
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.pages.list/index.md
# Pages
List JioMart CMS pages. Paginated.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.pages.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"page_size": 5
},
"capability": "jiomart.pages.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `page` | `integer` | No | One-based result page to fetch. |
| `page_size` | `integer` | No | Page size supplied for this request. |
### Example input
```json
{
"page_size": 5
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"__v": 0,
"_id": "6a6b04079c8d03a7db689470",
"_schedule": {
"end": "2026-08-31T18:25:00.000Z",
"next_schedule": [
{
"end": "2026-08-31T18:25:00.000Z",
"start": "2026-07-31T18:00:00.000Z"
}
],
"start": "2026-07-31T18:00:00.000Z"
},
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"component_ids": [],
"content_path": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/general/free/original/[redacted:token].html",
"date_meta": {
"created_on": "2026-07-30T07:57:59.290Z",
"modified_on": "2026-07-31T21:41:41.126Z"
},
"description": "Get Flat INR 100 cashback on your first ever transaction using Rupay CC using POP UPI.T&C Apply.",
"id": "6a6b04079c8d03a7db689470",
"orientation": "portrait",
"page_meta": [
{
"key": "htmlEditorType",
"value": "rich-text"
}
],
"platform": "web",
"published": true,
"seo": {
"breadcrumbs": [],
"canonical_url": "",
"description": "Get Flat INR 100 cashback on your first ever transaction using Rupay CC using POP UPI.T&C Apply.",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "POP RuPay CC New User Offer-1st-31st Aug 2026"
},
"slug": "[redacted:token]",
"tags": [],
"title": "POP RuPay CC New User Offer-1st-31st Aug 2026",
"type": "html"
},
{
"__v": 0,
"_id": "6a6b0156e5f6a5cc8618bcf1",
"_schedule": {
"end": "2026-08-31T18:25:00.000Z",
"next_schedule": [
{
"end": "2026-08-31T18:25:00.000Z",
"start": "2026-07-31T18:00:00.000Z"
}
],
"start": "2026-07-31T18:00:00.000Z"
},
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"component_ids": [],
"content_path": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/general/free/original/[redacted:token].html",
"date_meta": {
"created_on": "2026-07-30T07:46:30.890Z",
"modified_on": "2026-07-31T21:41:33.753Z"
},
"description": "Get Flat Rs 15 cashback on first ever transaction using Jupiter UPI.T&C Apply.",
"id": "6a6b0156e5f6a5cc8618bcf1",
"orientation": "portrait",
"page_meta": [
{
"key": "htmlEditorType",
"value": "rich-text"
}
],
"platform": "web",
"published": true,
"seo": {
"breadcrumbs": [],
"canonical_url": "",
"description": "Get Flat Rs 15 cashback on first ever transaction using Jupiter UPI.T&C Apply.",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Jupiter UPI New User Offer-1st-31st Aug 2026"
},
"slug": "[redacted:token]",
"tags": [],
"title": "Jupiter UPI New User Offer-1st-31st Aug 2026",
"type": "html"
},
{
"__v": 0,
"_id": "6a6aff9fe5f6a5cc8618bcef",
"_schedule": {
"end": "2026-08-31T18:25:00.000Z",
"next_schedule": [
{
"end": "2026-08-31T18:25:00.000Z",
"start": "2026-07-31T18:00:00.000Z"
}
],
"start": "2026-07-31T18:00:00.000Z"
},
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"component_ids": [],
"content_path": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/general/free/original/[redacted:token].html",
"date_meta": {
"created_on": "2026-07-30T07:39:11.760Z",
"modified_on": "2026-07-31T21:41:25.152Z"
},
"description": "Flat Rs 75 Instant Cashback assured via Scratch Card for New MobiKwik UPI users.T&C Apply.",
"id": "6a6aff9fe5f6a5cc8618bcef",
"orientation": "portrait",
"page_meta": [
{
"key": "htmlEditorType",
"value": "rich-text"
}
],
"platform": "web",
"published": true,
"seo": {
"breadcrumbs": [],
"canonical_url": "",
"description": "Flat Rs 75 Instant Cashback assured via Scratch Card for New MobiKwik UPI users.T&C Apply.",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Mobikwik UPI New User Offer-1st-31st Aug 2026"
},
"slug": "[redacted:token]",
"tags": [],
"title": "Mobikwik UPI New User Offer-1st-31st Aug 2026",
"type": "html"
}
],
"page": {
"current": 1,
"has_next": true,
"item_total": 34,
"size": 5,
"type": "number"
},
"raw": {
"items": [
{
"__v": 0,
"_id": "6a6b04079c8d03a7db689470",
"_schedule": {
"end": "2026-08-31T18:25:00.000Z",
"next_schedule": [
{
"end": "2026-08-31T18:25:00.000Z",
"start": "2026-07-31T18:00:00.000Z"
}
],
"start": "2026-07-31T18:00:00.000Z"
},
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"component_ids": [],
"content_path": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/general/free/original/[redacted:token].html",
"date_meta": {
"created_on": "2026-07-30T07:57:59.290Z",
"modified_on": "2026-07-31T21:41:41.126Z"
},
"description": "Get Flat INR 100 cashback on your first ever transaction using Rupay CC using POP UPI.T&C Apply.",
"id": "6a6b04079c8d03a7db689470",
"orientation": "portrait",
"page_meta": [
{
"key": "htmlEditorType",
"value": "rich-text"
}
],
"platform": "web",
"published": true,
"seo": {
"breadcrumbs": [],
"canonical_url": "",
"description": "Get Flat INR 100 cashback on your first ever transaction using Rupay CC using POP UPI.T&C Apply.",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "POP RuPay CC New User Offer-1st-31st Aug 2026"
},
"slug": "[redacted:token]",
"tags": [],
"title": "POP RuPay CC New User Offer-1st-31st Aug 2026",
"type": "html"
},
{
"__v": 0,
"_id": "6a6b0156e5f6a5cc8618bcf1",
"_schedule": {
"end": "2026-08-31T18:25:00.000Z",
"next_schedule": [
{
"end": "2026-08-31T18:25:00.000Z",
"start": "2026-07-31T18:00:00.000Z"
}
],
"start": "2026-07-31T18:00:00.000Z"
},
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"component_ids": [],
"content_path": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/general/free/original/[redacted:token].html",
"date_meta": {
"created_on": "2026-07-30T07:46:30.890Z",
"modified_on": "2026-07-31T21:41:33.753Z"
},
"description": "Get Flat Rs 15 cashback on first ever transaction using Jupiter UPI.T&C Apply.",
"id": "6a6b0156e5f6a5cc8618bcf1",
"orientation": "portrait",
"page_meta": [
{
"key": "htmlEditorType",
"value": "rich-text"
}
],
"platform": "web",
"published": true,
"seo": {
"breadcrumbs": [],
"canonical_url": "",
"description": "Get Flat Rs 15 cashback on first ever transaction using Jupiter UPI.T&C Apply.",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Jupiter UPI New User Offer-1st-31st Aug 2026"
},
"slug": "[redacted:token]",
"tags": [],
"title": "Jupiter UPI New User Offer-1st-31st Aug 2026",
"type": "html"
},
{
"__v": 0,
"_id": "6a6aff9fe5f6a5cc8618bcef",
"_schedule": {
"end": "2026-08-31T18:25:00.000Z",
"next_schedule": [
{
"end": "2026-08-31T18:25:00.000Z",
"start": "2026-07-31T18:00:00.000Z"
}
],
"start": "2026-07-31T18:00:00.000Z"
},
"application": "685945f46c8c7aee3f3af605",
"archived": false,
"component_ids": [],
"content_path": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/misc/general/free/original/[redacted:token].html",
"date_meta": {
"created_on": "2026-07-30T07:39:11.760Z",
"modified_on": "2026-07-31T21:41:25.152Z"
},
"description": "Flat Rs 75 Instant Cashback assured via Scratch Card for New MobiKwik UPI users.T&C Apply.",
"id": "6a6aff9fe5f6a5cc8618bcef",
"orientation": "portrait",
"page_meta": [
{
"key": "htmlEditorType",
"value": "rich-text"
}
],
"platform": "web",
"published": true,
"seo": {
"breadcrumbs": [],
"canonical_url": "",
"description": "Flat Rs 75 Instant Cashback assured via Scratch Card for New MobiKwik UPI users.T&C Apply.",
"meta_tags": [],
"sitemap": {
"frequency": "never",
"priority": 0.5
},
"title": "Mobikwik UPI New User Offer-1st-31st Aug 2026"
},
"slug": "[redacted:token]",
"tags": [],
"title": "Mobikwik UPI New User Offer-1st-31st Aug 2026",
"type": "html"
}
],
"page": {
"current": 1,
"has_next": true,
"item_total": 34,
"size": 5,
"type": "number"
}
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 5 fields |
| `page.current` | `integer` | 1 |
| `page.has_next` | `boolean` | true |
| `page.item_total` | `integer` | 34 |
| `page.size` | `integer` | 5 |
| `page.type` | `string` | number |
| `raw` | `object` | 2 fields |
| `raw.items` | `array` | 3 items |
| `raw.page` | `object` | 5 fields |
## 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)
## JioMart: Product Detail Get
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.product.detail.get
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.product.detail.get/index.md
# Product Detail Get
Fetch JioMart product detail by product slug, optionally including size/availability data.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.product.detail.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"include_sizes": true,
"pincode": "400001",
"slug": "921-classic-red-label-basmati-rice-5kg-mj707c-49856704"
},
"capability": "jiomart.product.detail.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `include_sizes` | `boolean` | No | Include sizes supplied for this request. |
| `location` | `object` | No | Location supplied for this request. |
| `location.city` | `string` | No | City supplied for this request. |
| `location.latitude` | `string` | No | Latitude supplied for this request. |
| `location.longitude` | `string` | No | Longitude supplied for this request. |
| `location.pincode` | `string` | No | Pincode supplied for this request. |
| `location.state` | `string` | No | State supplied for this request. |
| `pincode` | `string` | No | Pincode supplied for this request. |
| `slug` | `string` | Yes | Slug supplied for this request. |
### Example input
```json
{
"include_sizes": true,
"pincode": "400001",
"slug": "921-classic-red-label-basmati-rice-5kg-mj707c-49856704"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"product": {
"promo_meta": {},
"department": {
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png"
},
"name": "Groceries",
"slug": "groceries",
"uid": 1
},
"medias": [
{
"alt": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/xlltsf/.p/ng/frontcopy.png.2b2f153bed.png"
},
{
"alt": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/xlltsf/.p/ng/backcopy.png.2006b1d720.png"
},
{
"alt": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/xlltsf/.p/ng/screenshot2022-05-03at4.52.11.png.3c13734cc9.png"
}
],
"uid": 49856704,
"has_variant": false,
"net_quantity": {},
"moq": {
"increment_unit": 1,
"minimum": 1
},
"rating": 0,
"category_map": {
"l1": {
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"cooking-essentials"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Cooking Essentials",
"uid": 116
},
"l2": {
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"rice"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Rice",
"uid": 339
},
"l3": {
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"basmati-rice"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Basmati Rice",
"uid": 2672
}
},
"attributes": {
"departments": "Groceries",
"available-at-rrl-fc": "false",
"brand-id": "17310",
"category-l2": "Rice",
"variant-seller-product-code": "GRM3",
"group-product-id": "RCQUISCTHM",
"item-dimensions-width-unit": "cm",
"sizes": [
"OS"
],
"dimensions-productweight": 5000,
"available-at-3p-seller": "true",
"is_custom_order": false,
"attributes": "{\"_id\":\"6650ff6a81e4158526f15941\",\"variants\":{\"product_code\":\"RVBBUTYRQI\",\"seller_product_code\":\"GRM3\",\"id\":\"RVBBUTYRQI\",\"title\":\"921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG\",\"status\":\"active\",\"external_ids\":{\"EANs\":{\"values\":[],\"primary\":null},\"ISBNs\":{\"values\":null},\"UPCs\":{\"values\":null}},\"availability_flags\":{\"kirana_1p\":false,\"kirana_3p\":false,\"rrl_fc\":false,\"rrl_store\":false,\"s…",
"is-sodexo-eligible": "false",
"type": "Catalog",
"stage": "pending",
"manufacturedetails-manufactureid": "15597",
"lookup-inventory": "false",
"is-liquid": "false",
"item-dimensions-length-value": "24",
"food-type": "green_dot",
"item-dimensions-height-value": "26",
"size_depth": 1,
"country_of_origin": "India",
"stock-jio-code": "XLLTSFRVBBUTYRQI",
"l3_category_names": [
"Basmati Rice"
],
"manufacturer-email": "[redacted:manufacturer-email]",
"item_code": "RVBBUTYRQI",
"dimensions-productwidth": 9,
"is-fragile": "false",
"l3-category": "Basmati Rice",
"qty": "5",
"category-l1": "Cooking Essentials",
"catalog-source": "INFIBEAM",
"item-dimensions-net-weight-value": "5000",
"item-dimensions-width-value": "9",
"item-dimensions-depth-value": "2",
"available-at-3p-kirana": "false",
"is_set": false,
"whats-in-the-box": "one",
"tags": [
"NON-RX",
"seller_3p",
"3p"
],
"is-rrl-exclusive": "false",
"size": "OS",
"available-at-1p-kirana": "false",
"brand": "921",
"brand_name": "921",
"item-dimensions-volume-value": "null",
"seller-type": "3p",
"dimensions-productlength": 24,
"is-hazmat": "false",
"item-dimensions-net-weight-unit": "gm",
"sodexo-payment-eligible": "false",
"search-keywords": "921 basmati rice,super basmati rice,extra long grain rice,aged aromatic rice,traditional basmati rice,fluffy basmati rice,921 super basmati,best rice for pulao and biryani,non-sticky basmati rice,premium long grain rice,Himalayan basmati rice",
"l2-category": "Rice",
"min_price_effective": 0,
"item-dimensions-height-unit": "cm",
"l1-category": "Cooking Essentials",
"product_details": "921 Basmati Rice is a variety of fresh wholesome and delicious elongated steamed Basmati cultivated in the lush green fields and soaked in pure and sweet water flowing straight down from the Himalayas!!!
The Rice is processed! polished! aged and packed hygienically to the highest standards to give a perf…",
"dimensions-productheight": 26,
"is_available": true,
"item-dimensions-length-unit": "cm",
"source-id": "RCQUISCTHM",
"item-dimensions-depth-unit": "cm",
"image_nature": "standard",
"vertical-code": "GROCERIES",
"manufacturer-website": "WWW.921BASMATIRICE.COM"
},
"rating_count": 0,
"type": "product",
"is_dependent": false,
"custom_order": {
"is_custom_order": false,
"manufacturing_time": 0,
"manufacturing_time_unit": "days"
},
"country_of_origin": "India",
"multi_size": true,
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"basmati-rice"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Basmati Rice",
"uid": 2672
}
],
"item_code": "RVBBUTYRQI",
"item_type": "standard",
"description": "921 Basmati Rice is a variety of fresh wholesome and delicious elongated steamed Basmati cultivated in the lush green fields and soaked in pure and sweet water flowing straight down from the Himalayas!!!
The Rice is processed! polished! aged and packed hygienically to the highest standards to give a perf…",
"name": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG",
"teaser_tag": "",
"size_guide": "",
"tryouts": [],
"price": {
"currency": "INR",
"effective": {
"max": 0,
"min": 0
},
"marked": {
"max": 0,
"min": 0
}
},
"tags": [
"NON-RX",
"seller_3p",
"3p"
],
"grouped_attributes": [],
"brand": {
"_custom_json": {
"description": "AUTHENTIC BASMATI RICE",
"id": 17310,
"links": null,
"merchant_info": {
"id": 17125,
"name": "G R M FOODS PRIVATE LIMITED",
"seller_number": "XLLTSF"
},
"name": "921",
"status": "active"
},
"action": {
"page": {
"query": {
"brand": [
"921--17310"
]
},
"type": "products"
},
"type": "page"
},
"custom_url": "",
"description": "921",
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/default_image.jpg"
},
"name": "921",
"uid": 93524
},
"highlights": [],
"similars": [],
"no_of_boxes": 1,
"seo": {
"description": "",
"title": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG"
},
"_custom_json": {
"_app": {},
"brand": "Demo Brand"
},
"slug": "[redacted:token]",
"_custom_meta": [],
"short_description": "",
"all_company_ids": [
21931
],
"image_nature": "standard"
},
"raw": {
"product": {
"promo_meta": {},
"department": {
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png"
},
"name": "Groceries",
"slug": "groceries",
"uid": 1
},
"medias": [
{
"alt": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/xlltsf/.p/ng/frontcopy.png.2b2f153bed.png"
},
{
"alt": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/xlltsf/.p/ng/backcopy.png.2006b1d720.png"
},
{
"alt": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/xlltsf/.p/ng/screenshot2022-05-03at4.52.11.png.3c13734cc9.png"
}
],
"uid": 49856704,
"has_variant": false,
"net_quantity": {},
"moq": {
"increment_unit": 1,
"minimum": 1
},
"rating": 0,
"category_map": {
"l1": {
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"cooking-essentials"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Cooking Essentials",
"uid": 116
},
"l2": {
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"rice"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Rice",
"uid": 339
},
"l3": {
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"basmati-rice"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Basmati Rice",
"uid": 2672
}
},
"attributes": {
"departments": "Groceries",
"available-at-rrl-fc": "false",
"brand-id": "17310",
"category-l2": "Rice",
"variant-seller-product-code": "GRM3",
"group-product-id": "RCQUISCTHM",
"item-dimensions-width-unit": "cm",
"sizes": [
"OS"
],
"dimensions-productweight": 5000,
"available-at-3p-seller": "true",
"is_custom_order": false,
"attributes": "{\"_id\":\"6650ff6a81e4158526f15941\",\"variants\":{\"product_code\":\"RVBBUTYRQI\",\"seller_product_code\":\"GRM3\",\"id\":\"RVBBUTYRQI\",\"title\":\"921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG\",\"status\":\"active\",\"external_ids\":{\"EANs\":{\"values\":[],\"primary\":null},\"ISBNs\":{\"values\":null},\"UPCs\":{\"values\":null}},\"availability_flags\":{\"kirana_1p\":false,\"kirana_3p\":false,\"rrl_fc\":false,\"rrl_store\":false,\"s…",
"is-sodexo-eligible": "false",
"type": "Catalog",
"stage": "pending",
"manufacturedetails-manufactureid": "15597",
"lookup-inventory": "false",
"is-liquid": "false",
"item-dimensions-length-value": "24",
"food-type": "green_dot",
"item-dimensions-height-value": "26",
"size_depth": 1,
"country_of_origin": "India",
"stock-jio-code": "XLLTSFRVBBUTYRQI",
"l3_category_names": [
"Basmati Rice"
],
"manufacturer-email": "[redacted:manufacturer-email]",
"item_code": "RVBBUTYRQI",
"dimensions-productwidth": 9,
"is-fragile": "false",
"l3-category": "Basmati Rice",
"qty": "5",
"category-l1": "Cooking Essentials",
"catalog-source": "INFIBEAM",
"item-dimensions-net-weight-value": "5000",
"item-dimensions-width-value": "9",
"item-dimensions-depth-value": "2",
"available-at-3p-kirana": "false",
"is_set": false,
"whats-in-the-box": "one",
"tags": [
"NON-RX",
"seller_3p",
"3p"
],
"is-rrl-exclusive": "false",
"size": "OS",
"available-at-1p-kirana": "false",
"brand": "921",
"brand_name": "921",
"item-dimensions-volume-value": "null",
"seller-type": "3p",
"dimensions-productlength": 24,
"is-hazmat": "false",
"item-dimensions-net-weight-unit": "gm",
"sodexo-payment-eligible": "false",
"search-keywords": "921 basmati rice,super basmati rice,extra long grain rice,aged aromatic rice,traditional basmati rice,fluffy basmati rice,921 super basmati,best rice for pulao and biryani,non-sticky basmati rice,premium long grain rice,Himalayan basmati rice",
"l2-category": "Rice",
"min_price_effective": 0,
"item-dimensions-height-unit": "cm",
"l1-category": "Cooking Essentials",
"product_details": "921 Basmati Rice is a variety of fresh wholesome and delicious elongated steamed Basmati cultivated in the lush green fields and soaked in pure and sweet water flowing straight down from the Himalayas!!!
The Rice is processed! polished! aged and packed hygienically to the highest standards to give a perf…",
"dimensions-productheight": 26,
"is_available": true,
"item-dimensions-length-unit": "cm",
"source-id": "RCQUISCTHM",
"item-dimensions-depth-unit": "cm",
"image_nature": "standard",
"vertical-code": "GROCERIES",
"manufacturer-website": "WWW.921BASMATIRICE.COM"
},
"rating_count": 0,
"type": "product",
"is_dependent": false,
"custom_order": {
"is_custom_order": false,
"manufacturing_time": 0,
"manufacturing_time_unit": "days"
},
"country_of_origin": "India",
"multi_size": true,
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"basmati-rice"
]
},
"type": "products"
},
"type": "page"
},
"logo": {
"type": "image",
"url": "https://hdn-1.fynd.com/media/banner_portrait/brand/original/540_ecba3a1af141467da8abc20500f983db.jpg"
},
"name": "Basmati Rice",
"uid": 2672
}
],
"item_code": "RVBBUTYRQI",
"item_type": "standard",
"description": "921 Basmati Rice is a variety of fresh wholesome and delicious elongated steamed Basmati cultivated in the lush green fields and soaked in pure and sweet water flowing straight down from the Himalayas!!!
The Rice is processed! polished! aged and packed hygienically to the highest standards to give a perf…",
"name": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG",
"teaser_tag": "",
"size_guide": "",
"tryouts": [],
"price": {
"currency": "INR",
"effective": {
"max": 0,
"min": 0
},
"marked": {
"max": 0,
"min": 0
}
},
"tags": [
"NON-RX",
"seller_3p",
"3p"
],
"grouped_attributes": [],
"brand": {
"_custom_json": {
"description": "AUTHENTIC BASMATI RICE",
"id": 17310,
"links": null,
"merchant_info": {
"id": 17125,
"name": "G R M FOODS PRIVATE LIMITED",
"seller_number": "XLLTSF"
},
"name": "921",
"status": "active"
},
"action": {
"page": {
"query": {
"brand": [
"921--17310"
]
},
"type": "products"
},
"type": "page"
},
"custom_url": "",
"description": "921",
"logo": {
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/default_image.jpg"
},
"name": "921",
"uid": 93524
},
"highlights": [],
"similars": [],
"no_of_boxes": 1,
"seo": {
"description": "",
"title": "921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG"
},
"_custom_json": {
"_app": {},
"brand": "Demo Brand"
},
"slug": "[redacted:token]",
"_custom_meta": [],
"short_description": "",
"all_company_ids": [
21931
],
"image_nature": "standard"
},
"sizes": {
"sellable": false,
"sizes": []
}
},
"sizes": {
"sellable": false,
"sizes": []
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `product` | `object` | 38 fields |
| `product._custom_json` | `object` | 2 fields |
| `product._custom_meta` | `array` | 0 items |
| `product.all_company_ids` | `array` | 1 items |
| `product.attributes` | `object` | 65 fields |
| `product.brand` | `object` | 7 fields |
| `product.categories` | `array` | 1 items |
| `product.category_map` | `object` | 3 fields |
| `product.country_of_origin` | `string` | India |
| `product.custom_order` | `object` | 3 fields |
| `product.department` | `object` | 4 fields |
| `product.description` | `string` | 921 Basmati Rice is a variet… |
| `product.grouped_attributes` | `array` | 0 items |
| `product.has_variant` | `boolean` | false |
| `product.highlights` | `array` | 0 items |
| `product.image_nature` | `string` | standard |
| `product.is_dependent` | `boolean` | false |
| `product.item_code` | `string` | RVBBUTYRQI |
| `product.item_type` | `string` | standard |
| `product.medias` | `array` | 3 items |
| `product.moq` | `object` | 2 fields |
| `product.multi_size` | `boolean` | true |
| `product.name` | `string` | 921 CLASSIC RED LABEL JEERA RICE SPECIAL BASMATI RICE 5KG |
| `product.net_quantity` | `object` | 0 fields |
| `product.no_of_boxes` | `integer` | 1 |
| `product.price` | `object` | 3 fields |
| `product.promo_meta` | `object` | 0 fields |
| `product.rating` | `integer` | 0 |
| `product.rating_count` | `integer` | 0 |
| `product.seo` | `object` | 2 fields |
| `product.short_description` | `string` | |
| `product.similars` | `array` | 0 items |
| `product.size_guide` | `string` | |
| `product.slug` | `string` | [redacted:token] |
| `product.tags` | `array` | 3 items |
| `product.teaser_tag` | `string` | |
| `product.tryouts` | `array` | 0 items |
| `product.type` | `string` | product |
| `product.uid` | `integer` | 49856704 |
| `raw` | `object` | 2 fields |
| `raw.product` | `object` | 38 fields |
| `raw.sizes` | `object` | 2 fields |
| `sizes` | `object` | 2 fields |
| `sizes.sellable` | `boolean` | false |
| `sizes.sizes` | `array` | 0 items |
## 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)
## JioMart: Products List
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.products.list
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.products.list/index.md
# Products List
List JioMart products for an arbitrary Vertex filter expression, such as department/category browse pages.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.products.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"filter": "journey:standard:::department:groceries",
"page_size": 20,
"pincode": "400001"
},
"capability": "jiomart.products.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `filter` | `string` | No | Filter supplied for this request. |
| `location` | `object` | No | Location supplied for this request. |
| `location.city` | `string` | No | City supplied for this request. |
| `location.latitude` | `string` | No | Latitude supplied for this request. |
| `location.longitude` | `string` | No | Longitude supplied for this request. |
| `location.pincode` | `string` | No | Pincode supplied for this request. |
| `location.state` | `string` | No | State supplied for this request. |
| `page` | `integer` | No | One-based result page to fetch. |
| `page_id` | `string` | No | Page identifier. |
| `page_size` | `integer` | No | Page size supplied for this request. |
| `pincode` | `string` | No | Pincode supplied for this request. |
| `sort_on` | `string` | No | Sort on supplied for this request. |
### Example input
```json
{
"filter": "journey:standard:::department:groceries",
"page_size": 20,
"pincode": "400001"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 13956,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"name": "Fresh",
"priority": 1,
"slug": "fresh-l1"
},
"l2_category": {
"id": 242,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/D5_9mE8va-logo.png",
"name": "Fresh Vegetables",
"priority": 1,
"slug": "fresh-vegetables"
},
"l3_category": {
"id": 13959,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/AlbOse5Nu-exotic-vegetables-20250331.png",
"name": "Premium Vegetables",
"priority": 1,
"slug": "premium-vegetables-l3"
}
},
"medias": [
{
"alt": "Button Mushroom 200 g",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000005900002451.jpg.b1c9de5153.jpg"
},
{
"alt": "Button Mushroom 200 g",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000005900002452.jpg.b381da9e86.jpg"
}
],
"uid": 7504240,
"sellable": true,
"net_quantity": "0.26/g",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7504240"
],
"sizes": [
"OS"
],
"variantId": [
"590000245"
]
},
"action": {
"page": {
"params": {
"slug": [
"button-mushroom-200-g-mffmsf-7504240"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7504240,
"l1-category": [
"Fresh"
],
"l2-category": [
"Fresh Vegetables"
],
"l3-category": [
"Premium Vegetables"
],
"max-qty-in-order": "4",
"popularity": 866,
"price-compare-factor": "0.5",
"seller-type": "1p",
"uom-unit": "g",
"uom-value": "100",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"premium-vegetables-l3"
]
},
"type": "products"
},
"type": "page"
},
"name": "Premium Vegetables",
"type": "category",
"uid": 13959
}
],
"item_code": "590000245",
"net-quantity-unit": "g",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Button Mushroom 200 g",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 52,
"min": 52
},
"marked": {
"max": 52,
"min": 52
}
},
"tags": [
"NON-RX",
"kirana_1p",
"GROCERIES"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Private Label",
"type": "brand",
"uid": 418
},
"rating_bucket": "0",
"net-quantity-value": 200,
"_custom_json": {},
"price_list": null,
"slug": "button-mushroom-200-g-mffmsf-7504240",
"sku_code": "590000245"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 133,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/zzOUJEM_wL-personal-care-20240620.png",
"name": "Personal Care",
"priority": 5,
"slug": "personal-care"
},
"l2_category": {
"id": 9740,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/t8DPVlZUyAe-0-111.png",
"name": "Health & Wellness",
"priority": 8,
"slug": "health-and-wellness-l2"
},
"l3_category": {
"id": 12506,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/IuUqq7ASGR-sexual-wellness-20200520.png",
"name": "Sexual Wellness",
"priority": 6,
"slug": "sexual-wellness-l3"
}
},
"medias": [
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.fd2a9e6214.jpg"
},
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.ba059c133d.jpg"
},
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.1a728aff03.jpg"
}
],
"uid": 7508493,
"sellable": true,
"net_quantity": "8.90/Pieces",
"moq": {
"increment_unit": 1,
"maximum": 12,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7508493"
],
"sizes": [
"OS"
],
"variantId": [
"491506599"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"item_id": 7508493,
"l1-category": [
"Personal Care"
],
"l2-category": [
"Health & Wellness"
],
"l3-category": [
"Sexual Wellness"
],
"max-qty-in-order": "12",
"popularity": 744,
"price-compare-factor": "1",
"seller-type": "1p",
"uom-unit": "count",
"uom-value": "1",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"sexual-wellness-l3"
]
},
"type": "products"
},
"type": "page"
},
"name": "Sexual Wellness",
"type": "category",
"uid": 12506
}
],
"item_code": "491506599",
"net-quantity-unit": "Pieces",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Manforce Strawberry Flavoured Condoms 10 pcs",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 89,
"min": 89
},
"marked": {
"max": 99,
"min": 99
}
},
"tags": [
"rrl_fc",
"NON-RX",
"QC"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "manforce",
"type": "brand",
"uid": 151
},
"rating_bucket": "0",
"net-quantity-value": 10,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "491506599"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 13956,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"name": "Fresh",
"priority": 1,
"slug": "fresh-l1"
},
"l2_category": {
"id": 637,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/AKPffsgGZOI-milk-milk-products-20240621.png",
"name": "Milk & Milk Products",
"priority": 6,
"slug": "milk-milk-products"
},
"l3_category": {
"id": 10416,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/ebhNLjBwhiN-milk-20200520.png",
"name": "Milk",
"priority": 1,
"slug": "milk"
}
},
"medias": [
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004943035981.jpg.48be26f2ad.jpg"
},
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004943035982.jpg.b4649f9ec9.jpg"
},
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/00000000049430359814.jpg.8ddbd82cda.jpg"
}
],
"uid": 7544983,
"sellable": true,
"net_quantity": "45.00/N",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7544983"
],
"sizes": [
"OS"
],
"variantId": [
"494303598"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7544983,
"l1-category": [
"Fresh"
],
"l2-category": [
"Milk & Milk Products"
],
"l3-category": [
"Milk"
],
"max-qty-in-order": "5",
"popularity": 264,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"milk"
]
},
"type": "products"
},
"type": "page"
},
"name": "Milk",
"type": "category",
"uid": 10416
}
],
"item_code": "494303598",
"net-quantity-unit": "N",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Prabhat Dairy Popular Double Toned Milk 1 L",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 45,
"min": 45
},
"marked": {
"max": 56,
"min": 56
}
},
"tags": [
"rrl_fc",
"QC",
"GROCERIES"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Prabhat",
"type": "brand",
"uid": 1520
},
"rating_bucket": "0",
"net-quantity-value": 1,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "494303598"
}
],
"page": {
"has_next": true,
"has_previous": false,
"item_total": 188000,
"next_id": "2",
"type": "cursor"
},
"raw": {
"filters": [
{
"key": {
"display": "Departments",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "department",
"visible": true
},
"values": [
{
"count": 93847,
"display": "Groceries",
"is_selected": true,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"priority": 1,
"uid": 1,
"value": "groceries"
},
{
"count": 11920,
"display": "Fashion",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/1vlzsBtlr-department.png",
"priority": 2,
"uid": 2,
"value": "fashion"
},
{
"count": 21947,
"display": "Electronics",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/z4j_oOnnD-department.png",
"priority": 3,
"uid": 4,
"value": "electronics"
}
]
},
{
"key": {
"display": "Categories",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l1_category",
"visible": true
},
"values": [
{
"count": 586,
"display": "Fresh",
"hierarchy": [
{
"department": 1,
"l1": 13956,
"l2": 241,
"l3": 12452
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"priority": 1,
"uid": 13956,
"value": "fresh-l1"
},
{
"count": 23654,
"display": "Biscuits, Drinks & Packaged Foods",
"hierarchy": [
{
"department": 1,
"l1": 113,
"l2": 200,
"l3": 2027
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/[redacted:token].png",
"priority": 2,
"uid": 113,
"value": "biscuits-drinks-packaged-foods"
},
{
"count": 35268,
"display": "Cooking Essentials",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2482
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"priority": 3,
"uid": 116,
"value": "cooking-essentials"
}
]
},
{
"key": {
"display": "L2 Category",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l2_category",
"visible": false
},
"values": [
{
"count": 8187,
"display": "Chips & Namkeens",
"hierarchy": [
{
"department": 1,
"l1": 113,
"l2": 629,
"l3": 2123
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/IKyGxKaZNil-chips-namkeens-20240621.png",
"priority": 1,
"uid": 629,
"value": "chips-namkeens"
},
{
"count": 7914,
"display": "Hair Care",
"hierarchy": [
{
"department": 1,
"l1": 133,
"l2": 293,
"l3": 7117
},
{
"department": 2,
"l1": 99,
"l2": 293,
"l3": 5966
},
{
"department": 10,
"l1": 176,
"l2": 293,
"l3": 6481
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/ETXy2IMlu-logo.png",
"priority": 1,
"uid": 293,
"value": "hair-care"
},
{
"count": 3383,
"display": "Atta, Flours & Sooji",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2462
},
{
"department": 1,
"l1": 143,
"l2": 323,
"l3": 2462
},
{
"department": 1,
"l1": 1084,
"l2": 323,
"l3": 2488
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/0hmaUADFVyC-atta-flours-sooji-20240621.png",
"priority": 1,
"uid": 323,
"value": "atta-flours-sooji"
}
]
}
],
"items": [
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 13956,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"name": "Fresh",
"priority": 1,
"slug": "fresh-l1"
},
"l2_category": {
"id": 242,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/D5_9mE8va-logo.png",
"name": "Fresh Vegetables",
"priority": 1,
"slug": "fresh-vegetables"
},
"l3_category": {
"id": 13959,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/AlbOse5Nu-exotic-vegetables-20250331.png",
"name": "Premium Vegetables",
"priority": 1,
"slug": "premium-vegetables-l3"
}
},
"medias": [
{
"alt": "Button Mushroom 200 g",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000005900002451.jpg.b1c9de5153.jpg"
},
{
"alt": "Button Mushroom 200 g",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000005900002452.jpg.b381da9e86.jpg"
}
],
"uid": 7504240,
"sellable": true,
"net_quantity": "0.26/g",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7504240"
],
"sizes": [
"OS"
],
"variantId": [
"590000245"
]
},
"action": {
"page": {
"params": {
"slug": [
"button-mushroom-200-g-mffmsf-7504240"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7504240,
"l1-category": [
"Fresh"
],
"l2-category": [
"Fresh Vegetables"
],
"l3-category": [
"Premium Vegetables"
],
"max-qty-in-order": "4",
"popularity": 866,
"price-compare-factor": "0.5",
"seller-type": "1p",
"uom-unit": "g",
"uom-value": "100",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"premium-vegetables-l3"
]
},
"type": "products"
},
"type": "page"
},
"name": "Premium Vegetables",
"type": "category",
"uid": 13959
}
],
"item_code": "590000245",
"net-quantity-unit": "g",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Button Mushroom 200 g",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 52,
"min": 52
},
"marked": {
"max": 52,
"min": 52
}
},
"tags": [
"NON-RX",
"kirana_1p",
"GROCERIES"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Private Label",
"type": "brand",
"uid": 418
},
"rating_bucket": "0",
"net-quantity-value": 200,
"_custom_json": {},
"price_list": null,
"slug": "button-mushroom-200-g-mffmsf-7504240",
"sku_code": "590000245"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 133,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/zzOUJEM_wL-personal-care-20240620.png",
"name": "Personal Care",
"priority": 5,
"slug": "personal-care"
},
"l2_category": {
"id": 9740,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/t8DPVlZUyAe-0-111.png",
"name": "Health & Wellness",
"priority": 8,
"slug": "health-and-wellness-l2"
},
"l3_category": {
"id": 12506,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/IuUqq7ASGR-sexual-wellness-20200520.png",
"name": "Sexual Wellness",
"priority": 6,
"slug": "sexual-wellness-l3"
}
},
"medias": [
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.fd2a9e6214.jpg"
},
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.ba059c133d.jpg"
},
{
"alt": "Manforce Strawberry Flavoured Condoms 10 pcs",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/[redacted:token].jpg.1a728aff03.jpg"
}
],
"uid": 7508493,
"sellable": true,
"net_quantity": "8.90/Pieces",
"moq": {
"increment_unit": 1,
"maximum": 12,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7508493"
],
"sizes": [
"OS"
],
"variantId": [
"491506599"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"item_id": 7508493,
"l1-category": [
"Personal Care"
],
"l2-category": [
"Health & Wellness"
],
"l3-category": [
"Sexual Wellness"
],
"max-qty-in-order": "12",
"popularity": 744,
"price-compare-factor": "1",
"seller-type": "1p",
"uom-unit": "count",
"uom-value": "1",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"sexual-wellness-l3"
]
},
"type": "products"
},
"type": "page"
},
"name": "Sexual Wellness",
"type": "category",
"uid": 12506
}
],
"item_code": "491506599",
"net-quantity-unit": "Pieces",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Manforce Strawberry Flavoured Condoms 10 pcs",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 89,
"min": 89
},
"marked": {
"max": 99,
"min": 99
}
},
"tags": [
"rrl_fc",
"NON-RX",
"QC"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "manforce",
"type": "brand",
"uid": 151
},
"rating_bucket": "0",
"net-quantity-value": 10,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "491506599"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 13956,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"name": "Fresh",
"priority": 1,
"slug": "fresh-l1"
},
"l2_category": {
"id": 637,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/AKPffsgGZOI-milk-milk-products-20240621.png",
"name": "Milk & Milk Products",
"priority": 6,
"slug": "milk-milk-products"
},
"l3_category": {
"id": 10416,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/ebhNLjBwhiN-milk-20200520.png",
"name": "Milk",
"priority": 1,
"slug": "milk"
}
},
"medias": [
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004943035981.jpg.48be26f2ad.jpg"
},
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004943035982.jpg.b4649f9ec9.jpg"
},
{
"alt": "Prabhat Dairy Popular Double Toned Milk 1 L",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/00000000049430359814.jpg.8ddbd82cda.jpg"
}
],
"uid": 7544983,
"sellable": true,
"net_quantity": "45.00/N",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7544983"
],
"sizes": [
"OS"
],
"variantId": [
"494303598"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7544983,
"l1-category": [
"Fresh"
],
"l2-category": [
"Milk & Milk Products"
],
"l3-category": [
"Milk"
],
"max-qty-in-order": "5",
"popularity": 264,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"milk"
]
},
"type": "products"
},
"type": "page"
},
"name": "Milk",
"type": "category",
"uid": 10416
}
],
"item_code": "494303598",
"net-quantity-unit": "N",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Prabhat Dairy Popular Double Toned Milk 1 L",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 45,
"min": 45
},
"marked": {
"max": 56,
"min": 56
}
},
"tags": [
"rrl_fc",
"QC",
"GROCERIES"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Prabhat",
"type": "brand",
"uid": 1520
},
"rating_bucket": "0",
"net-quantity-value": 1,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "494303598"
}
],
"meta": {
"attributionToken": "[redacted:attributiontoken]",
"error": {},
"nextPageToken": "[redacted:nextpagetoken]",
"provider": {
"version": "0.0.1"
}
},
"page": {
"has_next": true,
"has_previous": false,
"item_total": 188000,
"next_id": "2",
"type": "cursor"
},
"sort_on": [
{
"display": "Popularity",
"is_selected": false,
"logo": "https://cdn.pixelbin.io/v2/jiomartlt/jmrtlt/original/jmrtlt5/misc/default-assets/original/popular.png",
"name": "Popularity",
"priority": 1,
"value": "popular"
},
{
"display": "Price High to Low",
"is_selected": false,
"logo": "https://cdn.pixelbin.io/v2/falling-surf-7c8bb8/fyprod/original/products/pictures/attribute/logo/original/iG82Qjay9X-Popularity.png",
"name": "Price High to Low",
"priority": 2,
"value": "price_dsc"
},
{
"display": "Price Low to High",
"is_selected": false,
"logo": "https://cdn.pixelbin.io/v2/falling-surf-7c8bb8/fyprod/original/products/pictures/attribute/logo/original/iG82Qjay9X-Popularity.png",
"name": "Price Low to High",
"priority": 3,
"value": "price_asc"
}
]
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 5 fields |
| `page.has_next` | `boolean` | true |
| `page.has_previous` | `boolean` | false |
| `page.item_total` | `integer` | 188000 |
| `page.next_id` | `string` | 2 |
| `page.type` | `string` | cursor |
| `raw` | `object` | 5 fields |
| `raw.filters` | `array` | 3 items |
| `raw.items` | `array` | 3 items |
| `raw.meta` | `object` | 4 fields |
| `raw.page` | `object` | 5 fields |
| `raw.sort_on` | `array` | 3 items |
## 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)
## JioMart: Products Search
Canonical: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.products.search
Markdown: https://docs.upscrape.com/docs/platforms/jiomart/jiomart.products.search/index.md
# Products Search
Search JioMart products for a query and pincode.
- Platform: [JioMart](https://docs.upscrape.com/docs/platforms/jiomart)
- Capability ID: `jiomart.products.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"page": 1,
"page_size": 20,
"pincode": "400001",
"query": "rice"
},
"capability": "jiomart.products.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `location` | `object` | No | Location supplied for this request. |
| `location.city` | `string` | No | City supplied for this request. |
| `location.pincode` | `string` | No | Pincode supplied for this request. |
| `location.state` | `string` | No | State supplied for this request. |
| `page` | `integer` | No | One-based result page to fetch. |
| `page_id` | `string` | No | Page identifier. |
| `page_size` | `integer` | No | Page size supplied for this request. |
| `pincode` | `string` | No | Pincode supplied for this request. |
| `query` | `string` | Yes | Search query. |
| `sort_on` | `string` | No | Sort on supplied for this request. |
### Example input
```json
{
"page": 1,
"page_size": 20,
"pincode": "400001",
"query": "rice"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 116,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"name": "Cooking Essentials",
"priority": 3,
"slug": "cooking-essentials"
},
"l2_category": {
"id": 339,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/rCaqtI8xP-r-rice-20250708.png",
"name": "Rice",
"priority": 3,
"slug": "rice"
},
"l3_category": {
"id": 2659,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/[redacted:token].png",
"name": "Other Rice Varieties",
"priority": 4,
"slug": "other-rice-varieties"
}
},
"medias": [
{
"alt": "Loose Basmati Mogra Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004901880921.jpg.ab6a35adcb.jpg"
}
],
"uid": 7552102,
"sellable": true,
"net_quantity": "55.00/kg",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7552102"
],
"sizes": [
"OS"
],
"variantId": [
"490188092"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7552102,
"l1-category": [
"Cooking Essentials"
],
"l2-category": [
"Rice"
],
"l3-category": [
"Other Rice Varieties"
],
"max-qty-in-order": "4",
"popularity": 860,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"other-rice-varieties"
]
},
"type": "products"
},
"type": "page"
},
"name": "Other Rice Varieties",
"type": "category",
"uid": 2659
}
],
"item_code": "490188092",
"net-quantity-unit": "kg",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Loose Basmati Mogra Rice 1 kg",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 55,
"min": 55
},
"marked": {
"max": 55,
"min": 55
}
},
"tags": [
"kirana_1p",
"rrl_fc",
"QC"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Loose",
"type": "brand",
"uid": 2727
},
"rating_bucket": "0",
"net-quantity-value": 1,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "490188092"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 116,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"name": "Cooking Essentials",
"priority": 3,
"slug": "cooking-essentials"
},
"l2_category": {
"id": 339,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/rCaqtI8xP-r-rice-20250708.png",
"name": "Rice",
"priority": 3,
"slug": "rice"
},
"l3_category": {
"id": 2674,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/z8LZZ1yli40-kolam-rice-20220810.png",
"name": "Kolam Rice",
"priority": 2,
"slug": "kolam-rice"
}
},
"medias": [
{
"alt": "Loose Classic Kolam Steam Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/download.jpg.8c19b75fe3.jpg"
}
],
"uid": 7530560,
"sellable": true,
"net_quantity": "61.00/N",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7530560"
],
"sizes": [
"OS"
],
"variantId": [
"490201494"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7530560,
"l1-category": [
"Cooking Essentials"
],
"l2-category": [
"Rice"
],
"l3-category": [
"Kolam Rice"
],
"max-qty-in-order": "4",
"popularity": 178,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"kolam-rice"
]
},
"type": "products"
},
"type": "page"
},
"name": "Kolam Rice",
"type": "category",
"uid": 2674
}
],
"item_code": "490201494",
"net-quantity-unit": "N",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Loose Classic Kolam Steam Rice 1 kg",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 61,
"min": 61
},
"marked": {
"max": 61,
"min": 61
}
},
"tags": [
"1p",
"NON-RX",
"GLEX"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Loose",
"type": "brand",
"uid": 2727
},
"rating_bucket": "0",
"net-quantity-value": 1,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "490201494"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 116,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"name": "Cooking Essentials",
"priority": 3,
"slug": "cooking-essentials"
},
"l2_category": {
"id": 339,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/rCaqtI8xP-r-rice-20250708.png",
"name": "Rice",
"priority": 3,
"slug": "rice"
},
"l3_category": {
"id": 2672,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/Hs7Yr3kJnu-basmati-rice-20220810.png",
"name": "Basmati Rice",
"priority": 1,
"slug": "basmati-rice"
}
},
"medias": [
{
"alt": "India Gate Daily Delight Pure Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004936948701.jpg.ffbaa6ad6f.jpg"
},
{
"alt": "India Gate Daily Delight Pure Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004936948702.jpg.5227004260.jpg"
},
{
"alt": "India Gate Daily Delight Pure Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/00000000049369487016.jpg.4bb1d87978.jpg"
}
],
"uid": 7536285,
"sellable": true,
"net_quantity": "69.80/kg",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7536285"
],
"sizes": [
"OS"
],
"variantId": [
"493694870"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7536285,
"l1-category": [
"Cooking Essentials"
],
"l2-category": [
"Rice"
],
"l3-category": [
"Basmati Rice"
],
"max-qty-in-order": "3",
"popularity": 862,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"basmati-rice"
]
},
"type": "products"
},
"type": "page"
},
"name": "Basmati Rice",
"type": "category",
"uid": 2672
}
],
"item_code": "493694870",
"net-quantity-unit": "kg",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "India Gate Daily Delight Pure Basmati Rice 5 kg",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 349,
"min": 349
},
"marked": {
"max": 440,
"min": 440
}
},
"tags": [
"GROCERIES",
"NON-RX",
"rrl_fc"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "india gate",
"type": "brand",
"uid": 52
},
"rating_bucket": "0",
"net-quantity-value": 5,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "493694870"
}
],
"page": {
"has_next": true,
"has_previous": false,
"item_total": 4964,
"next_id": "2",
"type": "cursor"
},
"raw": {
"filters": [
{
"key": {
"display": "Departments",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "department",
"visible": true
},
"values": [
{
"count": 4128,
"display": "Groceries",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"priority": 1,
"uid": 1,
"value": "groceries"
},
{
"count": 3,
"display": "Fashion",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/1vlzsBtlr-department.png",
"priority": 2,
"uid": 2,
"value": "fashion"
},
{
"count": 12,
"display": "Electronics",
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/z4j_oOnnD-department.png",
"priority": 3,
"uid": 4,
"value": "electronics"
}
]
},
{
"key": {
"display": "Categories",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l1_category",
"visible": true
},
"values": [
{
"count": 9,
"display": "Fresh",
"hierarchy": [
{
"department": 1,
"l1": 13956,
"l2": 241,
"l3": 12452
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/CghR5kUee-logo.jpg",
"priority": 1,
"uid": 13956,
"value": "fresh-l1"
},
{
"count": 441,
"display": "Biscuits, Drinks & Packaged Foods",
"hierarchy": [
{
"department": 1,
"l1": 113,
"l2": 628,
"l3": 2031
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/[redacted:token].png",
"priority": 2,
"uid": 113,
"value": "biscuits-drinks-packaged-foods"
},
{
"count": 2678,
"display": "Cooking Essentials",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2471
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"priority": 3,
"uid": 116,
"value": "cooking-essentials"
}
]
},
{
"key": {
"display": "L2 Category",
"is_dynamic": false,
"kind": "multivalued",
"logo": "",
"name": "l2_category",
"visible": false
},
"values": [
{
"count": 679,
"display": "Atta, Flours & Sooji",
"hierarchy": [
{
"department": 1,
"l1": 116,
"l2": 323,
"l3": 2482
},
{
"department": 1,
"l1": 143,
"l2": 323,
"l3": 2482
},
{
"department": 1,
"l1": 1084,
"l2": 323,
"l3": 2488
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/0hmaUADFVyC-atta-flours-sooji-20240621.png",
"priority": 1,
"uid": 323,
"value": "atta-flours-sooji"
},
{
"count": 128,
"display": "Hair Care",
"hierarchy": [
{
"department": 1,
"l1": 133,
"l2": 293,
"l3": 7117
},
{
"department": 2,
"l1": 99,
"l2": 293,
"l3": 5644
},
{
"department": 10,
"l1": 176,
"l2": 293,
"l3": 6481
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/category/pictures/square-logo/original/ETXy2IMlu-logo.png",
"priority": 1,
"uid": 293,
"value": "hair-care"
},
{
"count": 114,
"display": "Dining",
"hierarchy": [
{
"department": 17,
"l1": 991,
"l2": 10,
"l3": 12896
},
{
"department": 12,
"l1": 4,
"l2": 10,
"l3": 9988
},
{
"department": 1,
"l1": 91,
"l2": 10,
"l3": 9988
}
],
"is_selected": false,
"logo": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/xCMTzS7nhnw-dining-20201127.png",
"priority": 1,
"uid": 10,
"value": "dining"
}
]
}
],
"items": [
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 116,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"name": "Cooking Essentials",
"priority": 3,
"slug": "cooking-essentials"
},
"l2_category": {
"id": 339,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/rCaqtI8xP-r-rice-20250708.png",
"name": "Rice",
"priority": 3,
"slug": "rice"
},
"l3_category": {
"id": 2659,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/[redacted:token].png",
"name": "Other Rice Varieties",
"priority": 4,
"slug": "other-rice-varieties"
}
},
"medias": [
{
"alt": "Loose Basmati Mogra Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004901880921.jpg.ab6a35adcb.jpg"
}
],
"uid": 7552102,
"sellable": true,
"net_quantity": "55.00/kg",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7552102"
],
"sizes": [
"OS"
],
"variantId": [
"490188092"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7552102,
"l1-category": [
"Cooking Essentials"
],
"l2-category": [
"Rice"
],
"l3-category": [
"Other Rice Varieties"
],
"max-qty-in-order": "4",
"popularity": 860,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"other-rice-varieties"
]
},
"type": "products"
},
"type": "page"
},
"name": "Other Rice Varieties",
"type": "category",
"uid": 2659
}
],
"item_code": "490188092",
"net-quantity-unit": "kg",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Loose Basmati Mogra Rice 1 kg",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 55,
"min": 55
},
"marked": {
"max": 55,
"min": 55
}
},
"tags": [
"kirana_1p",
"rrl_fc",
"QC"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Loose",
"type": "brand",
"uid": 2727
},
"rating_bucket": "0",
"net-quantity-value": 1,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "490188092"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 116,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"name": "Cooking Essentials",
"priority": 3,
"slug": "cooking-essentials"
},
"l2_category": {
"id": 339,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/rCaqtI8xP-r-rice-20250708.png",
"name": "Rice",
"priority": 3,
"slug": "rice"
},
"l3_category": {
"id": 2674,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/z8LZZ1yli40-kolam-rice-20220810.png",
"name": "Kolam Rice",
"priority": 2,
"slug": "kolam-rice"
}
},
"medias": [
{
"alt": "Loose Classic Kolam Steam Rice 1 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/download.jpg.8c19b75fe3.jpg"
}
],
"uid": 7530560,
"sellable": true,
"net_quantity": "61.00/N",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7530560"
],
"sizes": [
"OS"
],
"variantId": [
"490201494"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7530560,
"l1-category": [
"Cooking Essentials"
],
"l2-category": [
"Rice"
],
"l3-category": [
"Kolam Rice"
],
"max-qty-in-order": "4",
"popularity": 178,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"kolam-rice"
]
},
"type": "products"
},
"type": "page"
},
"name": "Kolam Rice",
"type": "category",
"uid": 2674
}
],
"item_code": "490201494",
"net-quantity-unit": "N",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "Loose Classic Kolam Steam Rice 1 kg",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 61,
"min": 61
},
"marked": {
"max": 61,
"min": 61
}
},
"tags": [
"1p",
"NON-RX",
"GLEX"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "Loose",
"type": "brand",
"uid": 2727
},
"rating_bucket": "0",
"net-quantity-value": 1,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "490201494"
},
{
"hierarchy": {
"department": {
"id": 1,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/department/pictures/square-logo/original/B14hzYYH_-department.png",
"name": "Groceries",
"priority": 1,
"slug": "groceries"
},
"l1_category": {
"id": 116,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/6TpL6wC4Ed-cooking-essentials-20240711.png",
"name": "Cooking Essentials",
"priority": 3,
"slug": "cooking-essentials"
},
"l2_category": {
"id": 339,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/rCaqtI8xP-r-rice-20250708.png",
"name": "Rice",
"priority": 3,
"slug": "rice"
},
"l3_category": {
"id": 2672,
"media": "https://cdn1.jiomartjcp.com/v2/jiomart-fynd/jio-pd/original/products/pictures/item/free/original/Hs7Yr3kJnu-basmati-rice-20220810.png",
"name": "Basmati Rice",
"priority": 1,
"slug": "basmati-rice"
}
},
"medias": [
{
"alt": "India Gate Daily Delight Pure Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004936948701.jpg.ffbaa6ad6f.jpg"
},
{
"alt": "India Gate Daily Delight Pure Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/0000000004936948702.jpg.5227004260.jpg"
},
{
"alt": "India Gate Daily Delight Pure Basmati Rice 5 kg",
"type": "image",
"url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/00000000049369487016.jpg.4bb1d87978.jpg"
}
],
"uid": 7536285,
"sellable": true,
"net_quantity": "69.80/kg",
"moq": {
"increment_unit": 1,
"minimum": 1
},
"sizes": [
"OS"
],
"rating": 0,
"instock_variants": {
"item_id": [
"7536285"
],
"sizes": [
"OS"
],
"variantId": [
"493694870"
]
},
"action": {
"page": {
"params": {
"slug": [
"[redacted:token]"
]
},
"type": "product"
},
"type": "page"
},
"attributes": {
"food-type": "green_dot",
"item_id": 7536285,
"l1-category": [
"Cooking Essentials"
],
"l2-category": [
"Rice"
],
"l3-category": [
"Basmati Rice"
],
"max-qty-in-order": "3",
"popularity": 862,
"price-compare-factor": "1",
"seller-type": "1p",
"vertical-code": "GROCERIES"
},
"type": "product",
"variants": [],
"store_ids": [
3442
],
"discount": "",
"seller_id": 1,
"country_of_origin": "India",
"categories": [
{
"_custom_json": {},
"action": {
"page": {
"query": {
"category": [
"basmati-rice"
]
},
"type": "products"
},
"type": "page"
},
"name": "Basmati Rice",
"type": "category",
"uid": 2672
}
],
"item_code": "493694870",
"net-quantity-unit": "kg",
"item_type": "standard",
"channel": "685945f46c8c7aee3f3af605",
"name": "India Gate Daily Delight Pure Basmati Rice 5 kg",
"discount_meta": {},
"teaser_tag": "",
"price": {
"currency_code": "INR",
"currency_symbol": "₹",
"effective": {
"max": 349,
"min": 349
},
"marked": {
"max": 440,
"min": 440
}
},
"tags": [
"GROCERIES",
"NON-RX",
"rrl_fc"
],
"in_stock_variant": false,
"journey": "standard",
"brand": {
"_custom_json": {},
"action": {
"page": {
"query": {
"brand": [
""
]
},
"type": "products"
},
"type": "page"
},
"name": "india gate",
"type": "brand",
"uid": 52
},
"rating_bucket": "0",
"net-quantity-value": 5,
"_custom_json": {},
"price_list": null,
"slug": "[redacted:token]",
"sku_code": "493694870"
}
],
"meta": {
"attributionToken": "[redacted:attributiontoken]",
"error": {},
"nextPageToken": "[redacted:nextpagetoken]",
"provider": {
"version": "0.0.1"
}
},
"page": {
"has_next": true,
"has_previous": false,
"item_total": 4964,
"next_id": "2",
"type": "cursor"
},
"sort_on": [
{
"display": "Relevance",
"is_selected": false,
"logo": "https://hdn-1.fynd.com/products/pictures/attribute/logo/original/QEvUfhsfyg-Latest-Products.png",
"name": "Relevance",
"priority": 0,
"value": "relevance"
},
{
"display": "Popularity",
"is_selected": false,
"logo": "https://cdn.pixelbin.io/v2/jiomartlt/jmrtlt/original/jmrtlt5/misc/default-assets/original/popular.png",
"name": "Popularity",
"priority": 1,
"value": "popular"
},
{
"display": "Price High to Low",
"is_selected": false,
"logo": "https://cdn.pixelbin.io/v2/falling-surf-7c8bb8/fyprod/original/products/pictures/attribute/logo/original/iG82Qjay9X-Popularity.png",
"name": "Price High to Low",
"priority": 2,
"value": "price_dsc"
}
]
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 5 fields |
| `page.has_next` | `boolean` | true |
| `page.has_previous` | `boolean` | false |
| `page.item_total` | `integer` | 4964 |
| `page.next_id` | `string` | 2 |
| `page.type` | `string` | cursor |
| `raw` | `object` | 5 fields |
| `raw.filters` | `array` | 3 items |
| `raw.items` | `array` | 3 items |
| `raw.meta` | `object` | 4 fields |
| `raw.page` | `object` | 5 fields |
| `raw.sort_on` | `array` | 3 items |
## 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)
## LinkedIn API
Canonical: https://docs.upscrape.com/docs/platforms/linkedin
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/index.md
# LinkedIn API
Public LinkedIn profiles, organizations, content, jobs, newsletters, and Learning data.
- Platform ID: `linkedin`
- Capabilities: 11
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Get Article](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.article.get)
- Capability ID: `linkedin.article.get`
- Cost: 1 credit per request
Fetches a public Pulse article with its full body, author, timestamps, images, hashtags, word count, and explicit coverage metadata.
### [Get Company](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.company.get)
- Capability ID: `linkedin.company.get`
- Cost: 1 credit per request
Fetches all supported same-document public company data with one upstream request: identity, About fields, offices, posts, media, affiliated pages and similar pages.
### [Get Company Jobs](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.company.jobs)
- Capability ID: `linkedin.company.jobs`
- Cost: 1 credit per request
Lists and continues through public job cards for one numeric LinkedIn organization id with explicit pagination and coverage metadata.
### [Get Company Life Page](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.company.life.get)
- Capability ID: `linkedin.company.life.get`
- Cost: 1 credit per request
Fetches and structures a company's public employer-brand Life page into content sections and deduplicated imagery with explicit coverage metadata.
### [Get Job](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.job.get)
- Capability ID: `linkedin.job.get`
- Cost: 1 credit per request
Fetches a public LinkedIn job posting with description, company, location, criteria, workplace, compensation, applicant count, apply URL, and explicit field coverage when exposed.
### [Search Jobs](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.jobs.search)
- Capability ID: `linkedin.jobs.search`
- Cost: 1 credit per request
Searches and continues through public LinkedIn job cards by absolute offset, with filters, stable continuation metadata, and explicit result-card limitations.
### [Get Learning Course](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.learning.course.get)
- Capability ID: `linkedin.learning.course.get`
- Cost: 1 credit per request
Fetches a public LinkedIn Learning course: rating, enrolment total, instructor, topics and full syllabus.
### [Get Newsletter](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.newsletter.get)
- Capability ID: `linkedin.newsletter.get`
- Cost: 1 credit per request
Fetches a public LinkedIn newsletter with publisher metadata and an ordered, normalized edition index plus explicit coverage limitations.
### [Get Post](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.post.get)
- Capability ID: `linkedin.post.get`
- Cost: 1 credit per request
Fetches the richest logged-out post projection: typed author, media, engagement counts, hashtags, embedded top comments, repost context, and explicit coverage metadata.
### [Get Profile](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.profile.get)
- Capability ID: `linkedin.profile.get`
- Cost: 1 credit per request
Fetches structured public LinkedIn profile data and activity embedded in the same public document with one upstream request.
### [Get Showcase Page](https://docs.upscrape.com/docs/platforms/linkedin/linkedin.showcase.get)
- Capability ID: `linkedin.showcase.get`
- Cost: 1 credit per request
Fetches a public LinkedIn Showcase entity using a typed organization projection that identifies the entity as a Showcase and reports coverage limitations.
## Common uses
- Research public professional and company profiles
- Monitor public posts, articles, newsletters, and employer-brand pages
- Build filtered job-market and hiring datasets
- Track public organization and Showcase page changes
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## LinkedIn Scraper: Get Article
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.article.get
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.article.get/index.md
# Get Article
Fetches a public Pulse article with its full body, author, timestamps, images, hashtags, word count, and explicit coverage metadata.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.article.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.linkedin.com/pulse/positive-sum-future-satya-nadella-bjs7c"
},
"capability": "linkedin.article.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | HTTPS LinkedIn Pulse article URL. Tracking query parameters are discarded. |
### Example input
```json
{
"url": "https://www.linkedin.com/pulse/positive-sum-future-satya-nadella-bjs7c"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"author_name": "Example Author",
"author_url": "https://www.linkedin.com/in/example-author",
"content": "Illustrative public article content captured from LinkedIn and anonymized for documentation.",
"content_length": 92,
"cover_image": "[redacted]",
"coverage": {
"limitations": [
"Engagement totals and identities are not exposed by the logged-out article page."
],
"missing_fields": [],
"source": "linkedin_public_article",
"status": "complete_public",
"truncated_fields": []
},
"description": "Illustrative public article description.",
"hashtags": [],
"images": [
{
"type": "image",
"url": "[redacted]"
}
],
"modified_at": "2026-01-01T00:00:00Z",
"published_at": "2026-01-01T00:00:00Z",
"slug": "example-linkedin-article",
"title": "Example LinkedIn article",
"url": "https://www.linkedin.com/pulse/example-linkedin-article",
"word_count": 11
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `author_name` | `string` | Example Author |
| `author_url` | `string` | https://www.linkedin.com/in/example-author |
| `content` | `string` | Illustrative public article content captured from LinkedIn and anonymiz… |
| `content_length` | `integer` | 92 |
| `cover_image` | `string` | [redacted] |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 1 items |
| `coverage.missing_fields` | `array` | 0 items |
| `coverage.source` | `string` | linkedin_public_article |
| `coverage.status` | `string` | complete_public |
| `coverage.truncated_fields` | `array` | 0 items |
| `description` | `string` | Illustrative public article description. |
| `hashtags` | `array` | 0 items |
| `images` | `array` | 1 items |
| `images` | `array` | 1 items |
| `modified_at` | `string` | 2026-01-01T00:00:00Z |
| `published_at` | `string` | 2026-01-01T00:00:00Z |
| `slug` | `string` | example-linkedin-article |
| `title` | `string` | Example LinkedIn article |
| `url` | `string` | https://www.linkedin.com/pulse/example-linkedin-article |
| `word_count` | `integer` | 11 |
## 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)
## LinkedIn Scraper: Get Company
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.company.get
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.company.get/index.md
# Get Company
Fetches all supported same-document public company data with one upstream request: identity, About fields, offices, posts, media, affiliated pages and similar pages.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.company.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.linkedin.com/company/microsoft"
},
"capability": "linkedin.company.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | LinkedIn company slug or HTTPS /company/{slug} URL. Sub-routes are normalized to the public overview; retrieval policy is internal and uses one upstream request. |
### Example input
```json
{
"url": "https://www.linkedin.com/company/microsoft"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"affiliated_pages": [
{
"industry": "Software Development",
"location": "San Francisco, CA",
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQGxQRyEwD643g/company-logo_100_100/B56Z3045ErGgAQ-/0/1777930048179/github_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "GitHub",
"url": "https://www.linkedin.com/company/github"
},
{
"industry": "IT Services and IT Consulting",
"location": "Redmond, Washington",
"logo_url": "https://media.licdn.com/dms/image/v2/D4E0BAQHgSFh_G4-OUQ/company-logo_100_100/B4EZ7Vy.5ZIAAQ-/0/1781703372677/microsoftlearn_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Microsoft Learn",
"url": "https://www.linkedin.com/showcase/microsoftlearn/"
},
{
"industry": "Technology, Information and Internet",
"location": "Redmond, Washington",
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQGtwKUNwBubxg/company-logo_100_100/company-logo_100_100/0/1688144190823/microsoft_azure_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Microsoft Azure",
"url": "https://www.linkedin.com/showcase/microsoft-azure/"
}
],
"availability": "available",
"canonical_url": "https://www.linkedin.com/company/microsoft",
"company_size": "10,001+ employees",
"country": "US",
"cover_image_url": "https://media.licdn.com/dms/image/v2/D4E3DAQGWOa_gAs1qXg/image-scale_325_1920/B4EZ8ZTX5SJEAI-/0/1782835937311/microsoft_cover?e=2147483647&v=beta&t=[redacted:token]",
"coverage": {
"limitations": [
"Only the logged-out organization overview is returned.",
"The complete posts feed and company people directory require an authenticated surface."
],
"missing_fields": [],
"source": "linkedin_public_organization_overview",
"status": "partial_public",
"truncated_fields": [
"recent_posts"
]
},
"description": "Every company has a mission. What's ours? To empower every person and every organization to achieve more. We believe technology can and should be a force for good and that meaningful innovation contributes to a brighter world in the future and today. Our culture doesn’t just encourage curiosity; it embraces it. Each day we make progress together by showing up as our authentic selves. We show up wi…",
"employee_count": 233084,
"entity_type": "company",
"followers": 28915962,
"headquarters": "Redmond, Washington",
"industry": "Software Development",
"locality": "Redmond",
"locations": [
{
"address_line_1": "1 Microsoft Way",
"address_line_2": "Redmond, Washington 98052, US",
"directions_url": "https://www.bing.com/maps?where=1+Microsoft+Way+Redmond+98052+Washington+US&trk=org-locations_url",
"primary": true
},
{
"address_line_1": "1 Denison Street",
"address_line_2": "North Sydney, NSW 2060, AU",
"directions_url": "https://www.bing.com/maps?where=1+Denison+Street++North+Sydney+2060+NSW+AU&trk=org-locations_url"
},
{
"address_line_1": "1950 Meadowvale Blvd",
"address_line_2": "Mississauga, Ontario L5N 8L9, CA",
"directions_url": "https://www.bing.com/maps?where=1950+Meadowvale+Blvd+Mississauga+L5N+8L9+Ontario+CA&trk=org-locations_url"
}
],
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_200_200/B56ZYQ0mrGGoAM-/0/1744038948046/microsoft_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Microsoft",
"organization_id": "1035",
"organization_type": "Public Company",
"postal_code": "98052",
"posts_count": 1,
"recent_posts": [
{
"author_name": "Microsoft",
"author_url": "https://www.linkedin.com/company/microsoft",
"headline": "July 2026",
"main_entity_url": "https://www.linkedin.com/posts/[redacted:token]",
"published_at": "2026-07-28T13:31:39.195Z",
"text": "Doctors are busy, visits can seem rushed. Many people – especially women – can feel like their doctor hasn’t really heard them.\n \nIn July's edition of The Monthly Tech-In, we explore how AI is helping clinicians spend more time listening to their patients and less time on administrative tasks. Beyond healthcare, we share stories about how farmers, researchers and executives are using AI to meet re…",
"url": "https://www.linkedin.com/posts/[redacted:token]"
}
],
"region": "Washington",
"requested_slug": "microsoft",
"similar_pages": [
{
"industry": "Software Development",
"location": "Mountain View, CA",
"logo_url": "https://media.licdn.com/dms/image/v2/D4E0BAQGv3cqOuUMY7g/company-logo_100_100/B4EZmhegXHGcAU-/0/1759350753990/google_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Google",
"url": "https://www.linkedin.com/company/google"
},
{
"industry": "Software Development",
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQGDLy4STCnHbg/company-logo_100_100/B56ZnZxDipI0AQ-/0/1760295142304/amazon_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Amazon",
"url": "https://www.linkedin.com/company/amazon"
},
{
"industry": "Computers and Electronics Manufacturing",
"location": "Cupertino, California",
"logo_url": "https://media.licdn.com/dms/image/v2/C560BAQHdAaarsO-eyA/company-logo_100_100/company-logo_100_100/0/1630637844948/apple_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Apple",
"url": "https://www.linkedin.com/company/apple"
}
],
"slug": "microsoft",
"specialties": [
"Business Software",
"Developer Tools",
"Home & Educational Software"
],
"street_address": "1 Microsoft Way",
"url": "https://www.linkedin.com/company/microsoft",
"website": "https://news.microsoft.com/"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `affiliated_pages` | `array` | 3 items |
| `affiliated_pages` | `array` | 3 items |
| `availability` | `string` | available |
| `canonical_url` | `string` | https://www.linkedin.com/company/microsoft |
| `company_size` | `string` | 10,001+ employees |
| `country` | `string` | US |
| `cover_image_url` | `string` | https://media.licdn.com/dms/image/v2/D4E3DAQGWOa_gAs1qXg/image-scale_32… |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 2 items |
| `coverage.missing_fields` | `array` | 0 items |
| `coverage.source` | `string` | linkedin_public_organization_overview |
| `coverage.status` | `string` | partial_public |
| `coverage.truncated_fields` | `array` | 1 items |
| `description` | `string` | Every company has a mission. What's ours? To empower every person and e… |
| `employee_count` | `integer` | 233084 |
| `entity_type` | `string` | company |
| `followers` | `integer` | 28915962 |
| `headquarters` | `string` | Redmond, Washington |
| `industry` | `string` | Software Development |
| `locality` | `string` | Redmond |
| `locations` | `array` | 3 items |
| `locations` | `array` | 3 items |
| `logo_url` | `string` | https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_2… |
| `name` | `string` | Microsoft |
| `organization_id` | `string` | 1035 |
| `organization_type` | `string` | Public Company |
| `postal_code` | `string` | 98052 |
| `posts_count` | `integer` | 1 |
| `recent_posts` | `array` | 1 items |
| `recent_posts` | `array` | 1 items |
| `region` | `string` | Washington |
| `requested_slug` | `string` | microsoft |
| `similar_pages` | `array` | 3 items |
| `similar_pages` | `array` | 3 items |
| `slug` | `string` | microsoft |
| `specialties` | `array` | 3 items |
| `specialties` | `array` | 3 items |
| `street_address` | `string` | 1 Microsoft Way |
| `url` | `string` | https://www.linkedin.com/company/microsoft |
| `website` | `string` | https://news.microsoft.com/ |
## 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)
## LinkedIn Scraper: Get Company Jobs
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.company.jobs
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.company.jobs/index.md
# Get Company Jobs
Lists and continues through public job cards for one numeric LinkedIn organization id with explicit pagination and coverage metadata.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.company.jobs`
- Cost: 1 credit per request
- Maximum runtime: 120 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"company_id": "1035",
"limit": 25,
"start": 0
},
"capability": "linkedin.company.jobs"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `company_id` | `string` | Yes | Numeric LinkedIn organization id (the f_C filter value), not the vanity slug from the company URL. |
| `date_posted` | `string` | No | Restrict jobs by their LinkedIn posting window. |
| `employment_types` | `array` | No | Employment types supplied for this request. |
| `experience_levels` | `array` | No | Experience levels supplied for this request. |
| `limit` | `integer` | No | Maximum job results to return. |
| `location` | `string` | No | Optional location filter. |
| `start` | `integer` | No | Absolute result offset for deterministic continuation with next_start. |
| `workplace_types` | `array` | No | Workplace types supplied for this request. |
### Example input
```json
{
"company_id": "1035",
"limit": 25,
"start": 0
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"company_id": "1035",
"count": 25,
"coverage": {
"limitations": [
"Search results contain LinkedIn's logged-out result-card projection; use linkedin.job.get for complete public job details.",
"has_more and next_start are emitted when the requested limit or a later-page failure truncates collection."
],
"missing_fields": [],
"source": "linkedin_public_job_search",
"status": "partial_public",
"truncated_fields": [
"results"
]
},
"has_more": true,
"next_start": 25,
"results": [
{
"company_name": "Microsoft",
"company_url": "https://www.linkedin.com/company/microsoft",
"job_id": "4454524491",
"location": "Redmond, WA",
"posted_at": "2026-08-14",
"title": "Director of Communications, Windows + Devices",
"url": "https://www.linkedin.com/jobs/view/4454524491",
"urn": "urn:li:jobPosting:4454524491"
},
{
"company_name": "Microsoft",
"company_url": "https://www.linkedin.com/company/microsoft",
"job_id": "4450330292",
"location": "Cheyenne, WY",
"posted_at": "2026-08-07",
"title": "Regional Managing Director, Data Center Community",
"url": "https://www.linkedin.com/jobs/view/4450330292",
"urn": "urn:li:jobPosting:4450330292"
},
{
"company_name": "Microsoft",
"company_url": "https://www.linkedin.com/company/microsoft",
"job_id": "4449490975",
"location": "Redmond, WA",
"posted_at": "2026-08-05",
"title": "Principal Software Engineer",
"url": "https://www.linkedin.com/jobs/view/4449490975",
"urn": "urn:li:jobPosting:4449490975"
}
],
"start": 0,
"truncated": true
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `company_id` | `string` | 1035 |
| `count` | `integer` | 25 |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 2 items |
| `coverage.missing_fields` | `array` | 0 items |
| `coverage.source` | `string` | linkedin_public_job_search |
| `coverage.status` | `string` | partial_public |
| `coverage.truncated_fields` | `array` | 1 items |
| `has_more` | `boolean` | true |
| `next_start` | `integer` | 25 |
| `results` | `array` | 3 items |
| `results` | `array` | 3 items |
| `start` | `integer` | 0 |
| `truncated` | `boolean` | true |
## 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)
## LinkedIn Scraper: Get Company Life Page
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.company.life.get
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.company.life.get/index.md
# Get Company Life Page
Fetches and structures a company's public employer-brand Life page into content sections and deduplicated imagery with explicit coverage metadata.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.company.life.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.linkedin.com/company/microsoft/life"
},
"capability": "linkedin.company.life.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | LinkedIn company slug or HTTPS /company/{slug}/life URL. |
### Example input
```json
{
"url": "https://www.linkedin.com/company/microsoft/life"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"company_slug": "microsoft",
"content_length": 0,
"cover_image": "https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_200_200/B56ZYQ0mrGGoAM-/0/1744038948046/microsoft_logo?e=2147483647&v=beta&t=[redacted:token]",
"coverage": {
"limitations": [
"The response structures the employer-brand sections and media rendered on LinkedIn's logged-out Life page.",
"Authenticated employee stories and interactive modules are unavailable when LinkedIn does not embed them publicly."
],
"missing_fields": [
"content",
"sections"
],
"source": "linkedin_public_company_life",
"status": "partial_public",
"truncated_fields": []
},
"description": "Microsoft | 28,915,963 followers on LinkedIn. Every company has a mission. What's ours? To empower every person and every organization to achieve more.",
"images": [],
"sections": [],
"title": "Microsoft: Life",
"url": "https://www.linkedin.com/company/microsoft/life"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `company_slug` | `string` | microsoft |
| `content_length` | `integer` | 0 |
| `cover_image` | `string` | https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_2… |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 2 items |
| `coverage.missing_fields` | `array` | 2 items |
| `coverage.source` | `string` | linkedin_public_company_life |
| `coverage.status` | `string` | partial_public |
| `coverage.truncated_fields` | `array` | 0 items |
| `description` | `string` | Microsoft \| 28,915,963 followers on LinkedIn. Every company has a missi… |
| `images` | `array` | 0 items |
| `sections` | `array` | 0 items |
| `title` | `string` | Microsoft: Life |
| `url` | `string` | https://www.linkedin.com/company/microsoft/life |
## 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)
## LinkedIn Scraper: Get Job
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.job.get
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.job.get/index.md
# Get Job
Fetches a public LinkedIn job posting with description, company, location, criteria, workplace, compensation, applicant count, apply URL, and explicit field coverage when exposed.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.job.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.linkedin.com/jobs/view/4419969671"
},
"capability": "linkedin.job.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | LinkedIn job URL in canonical or slugged form, or a bare numeric job id. |
### Example input
```json
{
"url": "https://www.linkedin.com/jobs/view/4419969671"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"applicant_count": null,
"company_logo": "https://media.licdn.com/dms/image/v2/D4E0BAQEfAZWzerj03w/company-logo_100_100/B4EZdkPGXYGcAQ-/0/1749733370529/general_motors_logo?e=2147483647&v=beta&t=[redacted:token]",
"company_name": "General Motors",
"company_url": "https://www.linkedin.com/company/general-motors",
"coverage": {
"limitations": [
"Only fields rendered by LinkedIn's logged-out job detail fragment are returned.",
"Applicant identity and authenticated application state are unavailable."
],
"missing_fields": [
"applicant_count",
"apply_url",
"salary"
],
"source": "linkedin_public_job_detail",
"status": "partial_public",
"truncated_fields": []
},
"description": "Job Description As a Senior Software Engineer – Go (Golang), you will design, develop, and deliver high-performance middleware and application software solutions supporting GM’s next-generation in-vehicle infotainment platforms and connected vehicle systems. You will play a critical role in building scalable, reliable, and efficient systems that enable advanced user experiences, vehicle integratio…",
"description_length": 6473,
"employment_type": "Full-time",
"experience_level": "Not Applicable",
"industry": "Motor Vehicle Manufacturing, Appliances, Electrical, and Electronics Manufacturing, and IT Services and IT Consulting",
"job_id": "4419969671",
"locality": "Warren, MI",
"posted_at": "2 weeks ago",
"title": "Senior Software Engineer – Go (Golang)",
"url": "https://www.linkedin.com/jobs/view/4419969671"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `applicant_count` | `null` | null |
| `company_logo` | `string` | https://media.licdn.com/dms/image/v2/D4E0BAQEfAZWzerj03w/company-logo_1… |
| `company_name` | `string` | General Motors |
| `company_url` | `string` | https://www.linkedin.com/company/general-motors |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 2 items |
| `coverage.missing_fields` | `array` | 3 items |
| `coverage.source` | `string` | linkedin_public_job_detail |
| `coverage.status` | `string` | partial_public |
| `coverage.truncated_fields` | `array` | 0 items |
| `description` | `string` | Job Description As a Senior Software Engineer – Go (Golang), you will d… |
| `description_length` | `integer` | 6473 |
| `employment_type` | `string` | Full-time |
| `experience_level` | `string` | Not Applicable |
| `industry` | `string` | Motor Vehicle Manufacturing, Appliances, Electrical, and Electronics Ma… |
| `job_id` | `string` | 4419969671 |
| `locality` | `string` | Warren, MI |
| `posted_at` | `string` | 2 weeks ago |
| `title` | `string` | Senior Software Engineer – Go (Golang) |
| `url` | `string` | https://www.linkedin.com/jobs/view/4419969671 |
## 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)
## LinkedIn Scraper: Search Jobs
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.jobs.search
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.jobs.search/index.md
# Search Jobs
Searches and continues through public LinkedIn job cards by absolute offset, with filters, stable continuation metadata, and explicit result-card limitations.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.jobs.search`
- Cost: 1 credit per request
- Maximum runtime: 120 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"date_posted": "past_month",
"keywords": "software engineer",
"limit": 25,
"location": "United States",
"start": 0,
"workplace_types": [
"remote",
"hybrid"
]
},
"capability": "linkedin.jobs.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `company_id` | `string` | No | Optional numeric LinkedIn organization id to restrict the search to one company. |
| `date_posted` | `string` | No | Restrict jobs by their LinkedIn posting window. |
| `employment_types` | `array` | No | Employment types supplied for this request. |
| `experience_levels` | `array` | No | Experience levels supplied for this request. |
| `keywords` | `string` | No | Search terms, e.g. a job title or skill. |
| `limit` | `integer` | No | Maximum job results to return. Pages are walked in tens until this is met. |
| `location` | `string` | No | Location filter as typed on LinkedIn, e.g. a country, region or city. |
| `start` | `integer` | No | Absolute result offset for deterministic continuation with next_start. |
| `workplace_types` | `array` | No | Workplace types supplied for this request. |
### Example input
```json
{
"date_posted": "past_month",
"keywords": "software engineer",
"limit": 25,
"location": "United States",
"start": 0,
"workplace_types": [
"remote",
"hybrid"
]
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"count": 25,
"coverage": {
"limitations": [
"Search results contain LinkedIn's logged-out result-card projection; use linkedin.job.get for complete public job details.",
"has_more and next_start are emitted when the requested limit or a later-page failure truncates collection."
],
"missing_fields": [],
"source": "linkedin_public_job_search",
"status": "partial_public",
"truncated_fields": [
"results"
]
},
"date_posted": "past_month",
"has_more": true,
"keywords": "software engineer",
"location": "United States",
"next_start": 25,
"results": [
{
"company_name": "General Motors",
"company_url": "https://www.linkedin.com/company/general-motors",
"job_id": "4419969671",
"location": "Warren, MI",
"posted_at": "2026-08-01",
"title": "Senior Software Engineer – Go (Golang)",
"url": "https://www.linkedin.com/jobs/view/4419969671",
"urn": "urn:li:jobPosting:4419969671"
},
{
"company_name": "General Motors",
"company_url": "https://www.linkedin.com/company/general-motors",
"job_id": "4419973506",
"location": "Mountain View, CA",
"posted_at": "2026-08-01",
"title": "Senior Software Engineer – Go (Golang)",
"url": "https://www.linkedin.com/jobs/view/4419973506",
"urn": "urn:li:jobPosting:4419973506"
},
{
"company_name": "JPMorganChase",
"company_url": "https://www.linkedin.com/company/jpmorganchase",
"job_id": "4453670973",
"location": "New York, NY",
"posted_at": "2026-08-13",
"title": "Software Engineer III (Java/AWS)",
"url": "https://www.linkedin.com/jobs/view/4453670973",
"urn": "urn:li:jobPosting:4453670973"
}
],
"start": 0,
"truncated": true,
"workplace_types": [
"remote",
"hybrid"
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `count` | `integer` | 25 |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 2 items |
| `coverage.missing_fields` | `array` | 0 items |
| `coverage.source` | `string` | linkedin_public_job_search |
| `coverage.status` | `string` | partial_public |
| `coverage.truncated_fields` | `array` | 1 items |
| `date_posted` | `string` | past_month |
| `has_more` | `boolean` | true |
| `keywords` | `string` | software engineer |
| `location` | `string` | United States |
| `next_start` | `integer` | 25 |
| `results` | `array` | 3 items |
| `results` | `array` | 3 items |
| `start` | `integer` | 0 |
| `truncated` | `boolean` | true |
| `workplace_types` | `array` | 2 items |
| `workplace_types` | `array` | 2 items |
## 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)
## LinkedIn Scraper: Get Learning Course
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.learning.course.get
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.learning.course.get/index.md
# Get Learning Course
Fetches a public LinkedIn Learning course: rating, enrolment total, instructor, topics and full syllabus.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.learning.course.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.linkedin.com/learning/python-essential-training-18764650"
},
"capability": "linkedin.learning.course.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | LinkedIn Learning course URL. Topic, browse and search routes are rejected; only course pages are supported. |
### Example input
```json
{
"url": "https://www.linkedin.com/learning/python-essential-training-18764650"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"course_id": "18764650",
"coverage": {
"limitations": [
"Course marketing metadata and syllabus are public; lesson video playback and authenticated progress are not returned."
],
"missing_fields": [],
"source": "linkedin_public_learning_course",
"status": "complete_public",
"truncated_fields": []
},
"description": "Get a comprehensive overview of the Python programming language and gain enough command of Python 3 to create well-designed scripts and maintain existing projects.",
"duration": "PT4H23M9S",
"duration_seconds": 15789,
"enrollments": 645558,
"image_url": "https://media.licdn.com/dms/image/v2/D560DAQEruxcXLwzu_A/learning-public-crop_675_1200/B56Z1oT93iKkAY-/0/1775571558434?e=2147483647&v=beta&t=[redacted:token]",
"instructors": [
{
"headline": "O'Reilly / Wiley Author | LinkedIn Learning Instructor | Principal Software Engineer @ GLG",
"image_url": "[redacted]",
"name": "Example Instructor 1",
"profile_url": "https://www.linkedin.com/in/example-instructor-1"
}
],
"language": "en",
"level": "Beginner",
"published_at": "2023-01-25",
"rating": 4.7,
"rating_count": 17471,
"slug": "python-essential-training",
"syllabus": [
{
"description": "Meet the instructor and preview key topics in this course, including data types, control flow, classes, object-oriented programming, and modules. This video shows a practical, crash-course approach to Python fundamentals and how to start coding confidently.",
"duration": "PT50S",
"duration_seconds": 50,
"name": "Getting started with Python"
},
{
"description": "This course is for anyone who wants to learn programming. Basic computer skills are required.",
"duration": "PT2M55S",
"duration_seconds": 175,
"name": "Who this course is for"
},
{
"description": "In this video, learn about the resources needed for this course so you can follow along.",
"duration": "PT1M15S",
"duration_seconds": 75,
"name": "Resources for this course"
}
],
"syllabus_count": 3,
"title": "Python Essential Training",
"topics": [
"Python (Programming Language)"
],
"url": "https://www.linkedin.com/learning/python-essential-training-18764650"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `course_id` | `string` | 18764650 |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 1 items |
| `coverage.missing_fields` | `array` | 0 items |
| `coverage.source` | `string` | linkedin_public_learning_course |
| `coverage.status` | `string` | complete_public |
| `coverage.truncated_fields` | `array` | 0 items |
| `description` | `string` | Get a comprehensive overview of the Python programming language and gai… |
| `duration` | `string` | PT4H23M9S |
| `duration_seconds` | `integer` | 15789 |
| `enrollments` | `integer` | 645558 |
| `image_url` | `string` | https://media.licdn.com/dms/image/v2/D560DAQEruxcXLwzu_A/learning-publi… |
| `instructors` | `array` | 1 items |
| `instructors` | `array` | 1 items |
| `language` | `string` | en |
| `level` | `string` | Beginner |
| `published_at` | `string` | 2023-01-25 |
| `rating` | `number` | 4.7 |
| `rating_count` | `integer` | 17471 |
| `slug` | `string` | python-essential-training |
| `syllabus` | `array` | 3 items |
| `syllabus` | `array` | 3 items |
| `syllabus_count` | `integer` | 3 |
| `title` | `string` | Python Essential Training |
| `topics` | `array` | 1 items |
| `topics` | `array` | 1 items |
| `url` | `string` | https://www.linkedin.com/learning/python-essential-training-18764650 |
## 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)
## LinkedIn Scraper: Get Newsletter
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.newsletter.get
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.newsletter.get/index.md
# Get Newsletter
Fetches a public LinkedIn newsletter with publisher metadata and an ordered, normalized edition index plus explicit coverage limitations.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.newsletter.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.linkedin.com/newsletters/the-monthly-tech-in-7056663228474425344"
},
"capability": "linkedin.newsletter.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | LinkedIn newsletter URL. Returns the newsletter and its list of editions; each edition is a Pulse article readable with linkedin.article.get. |
### Example input
```json
{
"url": "https://www.linkedin.com/newsletters/the-monthly-tech-in-7056663228474425344"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"author_name": "Example Publisher",
"coverage": {
"limitations": [
"The newsletter page exposes metadata and its rendered edition index; edition bodies are fetched with linkedin.article.get.",
"LinkedIn does not expose an authenticated-independent newsletter discovery or continuation API."
],
"missing_fields": [],
"source": "linkedin_public_newsletter_index",
"status": "partial_public",
"truncated_fields": [
"editions"
]
},
"description": "Your monthly source of \"byte-sized\" updates on Microsoft innovations and global tech advancements.",
"edition_count": 5,
"editions": [
{
"position": 1,
"slug": "july-microsoft-bht0e",
"title": "July 2026",
"url": "https://www.linkedin.com/pulse/july-microsoft-bht0e"
},
{
"position": 2,
"slug": "june-microsoft-0c1xe",
"title": "June 2026",
"url": "https://www.linkedin.com/pulse/june-microsoft-0c1xe"
},
{
"position": 3,
"slug": "may-2026-microsoft-sge3e",
"title": "May 2026",
"url": "https://www.linkedin.com/pulse/may-2026-microsoft-sge3e"
}
],
"logo_url": "https://media.licdn.com/dms/image/v2/D5612AQGsxOnGqhevEg/series-logo_image-shrink_100_100/series-logo_image-shrink_100_100/0/1682439618514?e=2147483647&v=beta&t=[redacted:token]",
"newsletter_id": "7056663228474425344",
"slug": "the-monthly-tech-in",
"title": "The Monthly Tech-In",
"url": "https://www.linkedin.com/newsletters/the-monthly-tech-in-7056663228474425344"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `author_name` | `string` | Example Publisher |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 2 items |
| `coverage.missing_fields` | `array` | 0 items |
| `coverage.source` | `string` | linkedin_public_newsletter_index |
| `coverage.status` | `string` | partial_public |
| `coverage.truncated_fields` | `array` | 1 items |
| `description` | `string` | Your monthly source of "byte-sized" updates on Microsoft innovations an… |
| `edition_count` | `integer` | 5 |
| `editions` | `array` | 3 items |
| `editions` | `array` | 3 items |
| `logo_url` | `string` | https://media.licdn.com/dms/image/v2/D5612AQGsxOnGqhevEg/series-logo_im… |
| `newsletter_id` | `string` | 7056663228474425344 |
| `slug` | `string` | the-monthly-tech-in |
| `title` | `string` | The Monthly Tech-In |
| `url` | `string` | https://www.linkedin.com/newsletters/the-monthly-tech-in-70566632284744… |
## 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)
## LinkedIn Scraper: Get Post
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.post.get
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.post.get/index.md
# Get Post
Fetches the richest logged-out post projection: typed author, media, engagement counts, hashtags, embedded top comments, repost context, and explicit coverage metadata.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.post.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.linkedin.com/posts/satyanadella_were-the-first-cloud-to-bring-up-an-nvidia-activity-7438280341322334208-Vw2c"
},
"capability": "linkedin.post.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | HTTPS LinkedIn public post or feed-update URL. Tracking query parameters are discarded. |
### Example input
```json
{
"url": "https://www.linkedin.com/posts/satyanadella_were-the-first-cloud-to-bring-up-an-nvidia-activity-7438280341322334208-Vw2c"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"activity_id": "0000000000000000000",
"author": {
"followers": null,
"image_url": "[redacted]",
"name": "Example Author",
"url": "https://www.linkedin.com/in/example-author"
},
"author_image": "[redacted]",
"author_name": "Example Author",
"author_url": "https://www.linkedin.com/in/example-author",
"comment_count": 503,
"comments": 503,
"coverage": {
"limitations": [
"Only fields embedded in LinkedIn's logged-out post document are returned.",
"Reaction identities and complete comment threads require an authenticated surface."
],
"missing_fields": [
"reaction_count",
"share_count"
],
"source": "linkedin_public_post",
"status": "partial_public",
"truncated_fields": [
"top_comments"
]
},
"hashtags": [],
"image": "[redacted]",
"is_repost": false,
"media": [
{
"type": "image",
"url": "[redacted]"
}
],
"published_at": "2026-01-01T00:00:00Z",
"reaction_count": null,
"share_count": null,
"text": "Illustrative public post content captured from LinkedIn and anonymized for documentation.",
"top_comments": [],
"type": "post",
"url": "https://www.linkedin.com/posts/[redacted:token]"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `activity_id` | `string` | 0000000000000000000 |
| `author` | `object` | 4 fields |
| `author.followers` | `null` | null |
| `author.image_url` | `string` | [redacted] |
| `author.name` | `string` | Example Author |
| `author.url` | `string` | https://www.linkedin.com/in/example-author |
| `author_image` | `string` | [redacted] |
| `author_name` | `string` | Example Author |
| `author_url` | `string` | https://www.linkedin.com/in/example-author |
| `comment_count` | `integer` | 503 |
| `comments` | `integer` | 503 |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 2 items |
| `coverage.missing_fields` | `array` | 2 items |
| `coverage.source` | `string` | linkedin_public_post |
| `coverage.status` | `string` | partial_public |
| `coverage.truncated_fields` | `array` | 1 items |
| `hashtags` | `array` | 0 items |
| `image` | `string` | [redacted] |
| `is_repost` | `boolean` | false |
| `media` | `array` | 1 items |
| `media` | `array` | 1 items |
| `published_at` | `string` | 2026-01-01T00:00:00Z |
| `reaction_count` | `null` | null |
| `share_count` | `null` | null |
| `text` | `string` | Illustrative public post content captured from LinkedIn and anonymized … |
| `top_comments` | `array` | 0 items |
| `type` | `string` | post |
| `url` | `string` | https://www.linkedin.com/posts/[redacted:token] |
## 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)
## LinkedIn Scraper: Get Profile
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.profile.get
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.profile.get/index.md
# Get Profile
Fetches structured public LinkedIn profile data and activity embedded in the same public document with one upstream request.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.profile.get`
- 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.linkedin.com/in/satyanadella"
},
"capability": "linkedin.profile.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | LinkedIn profile username, @username, or HTTPS /in/{slug} URL |
### Example input
```json
{
"url": "https://www.linkedin.com/in/satyanadella"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"articles": [
{
"cover_image": "[redacted]",
"date_published": "2026-01-01",
"headline": "Example value",
"likes": 2536,
"type": "Example value",
"url": "https://www.linkedin.com/in/example-professional"
},
{
"date_published": "2026-01-01",
"headline": "Example value",
"likes": 7312,
"type": "Example value",
"url": "https://www.linkedin.com/in/example-professional"
},
{
"cover_image": "[redacted]",
"date_published": "2026-01-01",
"headline": "Example value",
"likes": 6320,
"type": "Example value",
"url": "https://www.linkedin.com/in/example-professional"
}
],
"articles_count": 3,
"availability": "available",
"badge": "Example value",
"canonical_url": "https://www.linkedin.com/in/example-professional",
"connections": 0,
"country": "Example Country",
"coverage": {
"limitations": [
"Fields hidden or masked by LinkedIn's logged-out profile are reported as missing rather than inferred.",
"Recent activity contains only items embedded in the profile document; the authenticated activity feed is not queried."
],
"missing_fields": [],
"source": "linkedin_public_profile",
"status": "partial_public",
"truncated_fields": []
},
"current_company": "Example value",
"description": "Example value",
"education": [
{
"end_date": 1996,
"name": "Example Name",
"start_date": 1994,
"url": "https://www.linkedin.com/in/example-professional"
}
],
"experience": [
{
"company": "Example value",
"company_url": "https://www.linkedin.com/in/example-professional",
"location": "Example City"
}
],
"followers": 0,
"location": "Example City",
"name": "Example Name",
"posts_count": 3,
"profile_image": "[redacted]",
"profile_url": "https://www.linkedin.com/in/example-professional",
"recent_posts": [
{
"date_published": "2026-01-01",
"likes": 8293,
"text": "Example value",
"type": "Example value",
"url": "https://www.linkedin.com/in/example-professional"
},
{
"date_published": "2026-01-01",
"likes": 11682,
"text": "Example value",
"type": "Example value",
"url": "https://www.linkedin.com/in/example-professional"
},
{
"date_published": "2026-01-01",
"likes": 11113,
"text": "Example value",
"type": "Example value",
"url": "https://www.linkedin.com/in/example-professional"
}
],
"requested_username": "example-professional",
"similar_profiles": [
{
"name": "Example Name",
"url": "https://www.linkedin.com/in/example-professional",
"username": "example-professional"
},
{
"name": "Example Name",
"url": "https://www.linkedin.com/in/example-professional",
"username": "example-professional"
},
{
"name": "Example Name",
"url": "https://www.linkedin.com/in/example-professional",
"username": "example-professional"
}
],
"username": "example-professional"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `articles` | `array` | 3 items |
| `articles` | `array` | 3 items |
| `articles_count` | `integer` | 3 |
| `availability` | `string` | available |
| `badge` | `string` | Example value |
| `canonical_url` | `string` | https://www.linkedin.com/in/example-professional |
| `connections` | `integer` | 0 |
| `country` | `string` | Example Country |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 2 items |
| `coverage.missing_fields` | `array` | 0 items |
| `coverage.source` | `string` | linkedin_public_profile |
| `coverage.status` | `string` | partial_public |
| `coverage.truncated_fields` | `array` | 0 items |
| `current_company` | `string` | Example value |
| `description` | `string` | Example value |
| `education` | `array` | 1 items |
| `education` | `array` | 1 items |
| `experience` | `array` | 1 items |
| `experience` | `array` | 1 items |
| `followers` | `integer` | 0 |
| `location` | `string` | Example City |
| `name` | `string` | Example Name |
| `posts_count` | `integer` | 3 |
| `profile_image` | `string` | [redacted] |
| `profile_url` | `string` | https://www.linkedin.com/in/example-professional |
| `recent_posts` | `array` | 3 items |
| `recent_posts` | `array` | 3 items |
| `requested_username` | `string` | example-professional |
| `similar_profiles` | `array` | 3 items |
| `similar_profiles` | `array` | 3 items |
| `username` | `string` | example-professional |
## 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)
## LinkedIn Scraper: Get Showcase Page
Canonical: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.showcase.get
Markdown: https://docs.upscrape.com/docs/platforms/linkedin/linkedin.showcase.get/index.md
# Get Showcase Page
Fetches a public LinkedIn Showcase entity using a typed organization projection that identifies the entity as a Showcase and reports coverage limitations.
- Platform: [LinkedIn](https://docs.upscrape.com/docs/platforms/linkedin)
- Capability ID: `linkedin.showcase.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.linkedin.com/showcase/microsoft-azure"
},
"capability": "linkedin.showcase.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | LinkedIn Showcase slug or HTTPS /showcase/{slug} URL. |
### Example input
```json
{
"url": "https://www.linkedin.com/showcase/microsoft-azure"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"affiliated_pages": [
{
"industry": "Software Development",
"location": "Redmond, Washington",
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_100_100/B56ZYQ0mrGGoAU-/0/1744038948046/microsoft_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Microsoft",
"url": "https://www.linkedin.com/company/microsoft"
},
{
"industry": "Software Development",
"location": "San Francisco, CA",
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQGxQRyEwD643g/company-logo_100_100/B56Z3045ErGgAQ-/0/1777930048179/github_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "GitHub",
"url": "https://www.linkedin.com/company/github"
},
{
"industry": "IT Services and IT Consulting",
"location": "Redmond, Washington",
"logo_url": "https://media.licdn.com/dms/image/v2/D4E0BAQHgSFh_G4-OUQ/company-logo_100_100/B4EZ7Vy.5ZIAAQ-/0/1781703372677/microsoftlearn_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Microsoft Learn",
"url": "https://www.linkedin.com/showcase/microsoftlearn/"
}
],
"availability": "available",
"canonical_url": "https://www.linkedin.com/showcase/microsoft-azure/",
"company_size": "501-1,000 employees",
"country": "US",
"cover_image_url": "https://media.licdn.com/dms/image/v2/D4E3DAQESklKhgTpOmA/image-scale_191_1128/B4EZYQYAzuGYAg-/0/1744031452868/microsoft_azure_cover?e=2147483647&v=beta&t=[redacted:token]",
"coverage": {
"limitations": [
"Only the logged-out organization overview is returned.",
"The complete posts feed and company people directory require an authenticated surface.",
"Showcase pages expose the public organization projection; parent-company relationships are returned only when LinkedIn embeds them."
],
"missing_fields": [],
"source": "linkedin_public_showcase_overview",
"status": "partial_public",
"truncated_fields": []
},
"description": "Join the Microsoft Azure community to be the first to learn about tech innovations, industry trends, updates relevant to you and your team.",
"entity_type": "showcase",
"followers": 1202604,
"headquarters": "Redmond, Washington",
"industry": "Technology, Information and Internet",
"locality": "Redmond",
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQGtwKUNwBubxg/company-logo_200_200/company-logo_200_200/0/1688144190823/microsoft_azure_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Microsoft Azure",
"organization_id": "96411081",
"posts_count": 0,
"region": "Washington",
"requested_slug": "microsoft-azure",
"similar_pages": [
{
"industry": "Software Development",
"location": "Mountain View, CA",
"logo_url": "https://media.licdn.com/dms/image/v2/D4E0BAQGv3cqOuUMY7g/company-logo_100_100/B4EZmhegXHGcAU-/0/1759350753990/google_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Google",
"url": "https://www.linkedin.com/company/google"
},
{
"industry": "Software Development",
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQGDLy4STCnHbg/company-logo_100_100/B56ZnZxDipI0AQ-/0/1760295142304/amazon_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Amazon",
"url": "https://www.linkedin.com/company/amazon"
},
{
"industry": "Computers and Electronics Manufacturing",
"location": "Cupertino, California",
"logo_url": "https://media.licdn.com/dms/image/v2/C560BAQHdAaarsO-eyA/company-logo_100_100/company-logo_100_100/0/1630637844948/apple_logo?e=2147483647&v=beta&t=[redacted:token]",
"name": "Apple",
"url": "https://www.linkedin.com/company/apple"
}
],
"slug": "microsoft-azure",
"tagline": "Limitless innovation.",
"url": "https://www.linkedin.com/showcase/microsoft-azure",
"website": "https://azure.microsoft.com"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `affiliated_pages` | `array` | 3 items |
| `affiliated_pages` | `array` | 3 items |
| `availability` | `string` | available |
| `canonical_url` | `string` | https://www.linkedin.com/showcase/microsoft-azure/ |
| `company_size` | `string` | 501-1,000 employees |
| `country` | `string` | US |
| `cover_image_url` | `string` | https://media.licdn.com/dms/image/v2/D4E3DAQESklKhgTpOmA/image-scale_19… |
| `coverage` | `object` | 5 fields |
| `coverage.limitations` | `array` | 3 items |
| `coverage.missing_fields` | `array` | 0 items |
| `coverage.source` | `string` | linkedin_public_showcase_overview |
| `coverage.status` | `string` | partial_public |
| `coverage.truncated_fields` | `array` | 0 items |
| `description` | `string` | Join the Microsoft Azure community to be the first to learn about tech … |
| `entity_type` | `string` | showcase |
| `followers` | `integer` | 1202604 |
| `headquarters` | `string` | Redmond, Washington |
| `industry` | `string` | Technology, Information and Internet |
| `locality` | `string` | Redmond |
| `logo_url` | `string` | https://media.licdn.com/dms/image/v2/D560BAQGtwKUNwBubxg/company-logo_2… |
| `name` | `string` | Microsoft Azure |
| `organization_id` | `string` | 96411081 |
| `posts_count` | `integer` | 0 |
| `region` | `string` | Washington |
| `requested_slug` | `string` | microsoft-azure |
| `similar_pages` | `array` | 3 items |
| `similar_pages` | `array` | 3 items |
| `slug` | `string` | microsoft-azure |
| `tagline` | `string` | Limitless innovation. |
| `url` | `string` | https://www.linkedin.com/showcase/microsoft-azure |
| `website` | `string` | https://azure.microsoft.com |
## 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)
## Linktree API
Canonical: https://docs.upscrape.com/docs/platforms/linktree
Markdown: https://docs.upscrape.com/docs/platforms/linktree/index.md
# Linktree API
Public Linktree profiles, links, creator posts, Shop products, and directory discovery.
- Platform ID: `linktree`
- Capabilities: 5
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Get Directory Page](https://docs.upscrape.com/docs/platforms/linktree/linktree.directory.get)
- Capability ID: `linktree.directory.get`
- Cost: 1 credit per request
Fetch one page of Linktree's public profile directory using a primary category or secondary subcategory filter.
### [Harvest Directory Profiles](https://docs.upscrape.com/docs/platforms/linktree/linktree.directory.profiles)
- Capability ID: `linktree.directory.profiles`
- Cost: 1 credit per request
Collect profiles across a bounded number of public directory pages using a category or subcategory filter.
### [Get Profile](https://docs.upscrape.com/docs/platforms/linktree/linktree.profile.get)
- Capability ID: `linktree.profile.get`
- Cost: 1 credit per request
Fetch a public Linktree profile with bio, contact and social links, content links, verification, tier, and related profiles.
### [List Profile Posts](https://docs.upscrape.com/docs/platforms/linktree/linktree.profile.posts)
- Capability ID: `linktree.profile.posts`
- Cost: 1 credit per request
List bounded public posts from the active social-feed apps embedded on a Linktree profile.
### [Get Profile Shop](https://docs.upscrape.com/docs/platforms/linktree/linktree.profile.shop)
- Capability ID: `linktree.profile.shop`
- Cost: 1 credit per request
Fetch public Linktree Shop collections, products, prices, vendors, and shoppable posts for a profile.
## Common uses
- Research creator and brand link destinations
- Monitor public profile and social-feed changes
- Build creator discovery and outreach datasets
- Track public Linktree Shop products and shoppable posts
- Analyze category and subcategory directory coverage
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Linktree Scraper: Get Directory Page
Canonical: https://docs.upscrape.com/docs/platforms/linktree/linktree.directory.get
Markdown: https://docs.upscrape.com/docs/platforms/linktree/linktree.directory.get/index.md
# Get Directory Page
Fetch one page of Linktree's public profile directory using a primary category or secondary subcategory filter.
- Platform: [Linktree](https://docs.upscrape.com/docs/platforms/linktree)
- Capability ID: `linktree.directory.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"page": 1,
"subcategory": "personal"
},
"capability": "linktree.directory.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `category` | `string` | No | Primary directory category. Omit both filters for all profiles; mutually exclusive with subcategory. |
| `page` | `integer` | No | 1-indexed directory page number (default 1). |
| `subcategory` | `string` | No | Secondary directory filter discovered from Linktree's public taxonomy; mutually exclusive with category. |
### Example input
```json
{
"page": 1,
"subcategory": "personal"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"current_page": 1,
"profiles": [
{
"avatar_url": "https://ugc.production.linktr.ee/KnXNMCTwSKag5nWQFsDM_66b5iwx3kpvar1wu",
"category_id": "other",
"category_name": "Other",
"profile_url": "https://linktr.ee/pastellbunnii",
"username": "pastellbunnii",
"verified": false
},
{
"category_id": "other",
"category_name": "Other",
"profile_url": "https://linktr.ee/mdk88",
"username": "mdk88",
"verified": false
},
{
"avatar_url": "https://ugc.production.linktr.ee/yeq36Fz9SeeTOqZ2bW9y_p4AmDa6CfENB29um",
"category_id": "other",
"category_name": "Other",
"profile_title": "Our story, Our recovery",
"profile_url": "https://linktr.ee/missyandhemi",
"username": "missyandhemi",
"verified": false
}
],
"selected_category": "other",
"selected_subcategory": "personal",
"total_pages": 296
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `current_page` | `integer` | 1 |
| `profiles` | `array` | 3 items |
| `profiles` | `array` | 3 items |
| `selected_category` | `string` | other |
| `selected_subcategory` | `string` | personal |
| `total_pages` | `integer` | 296 |
## 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)
## Linktree Scraper: Harvest Directory Profiles
Canonical: https://docs.upscrape.com/docs/platforms/linktree/linktree.directory.profiles
Markdown: https://docs.upscrape.com/docs/platforms/linktree/linktree.directory.profiles/index.md
# Harvest Directory Profiles
Collect profiles across a bounded number of public directory pages using a category or subcategory filter.
- Platform: [Linktree](https://docs.upscrape.com/docs/platforms/linktree)
- Capability ID: `linktree.directory.profiles`
- Cost: 1 credit per request
- Maximum runtime: 120 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"category": "business",
"max_pages": 2
},
"capability": "linktree.directory.profiles"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `category` | `string` | No | Primary directory category. Omit both filters for all profiles; mutually exclusive with subcategory. |
| `max_pages` | `integer` | No | Maximum pages to fetch (about 18 profiles each; default 10, maximum 25). The walk stops sooner at the reported end. |
| `subcategory` | `string` | No | Secondary directory filter discovered from Linktree's public taxonomy; mutually exclusive with category. |
### Example input
```json
{
"category": "business",
"max_pages": 2
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"pages_fetched": 2,
"profiles": [
{
"avatar_url": "https://ugc.production.linktr.ee/LjwiPG26RCKWksfW1a2d_804MRaOmd7zHCIZg",
"category_id": "business",
"category_name": "Business",
"profile_title": "Yeesco",
"profile_url": "https://linktr.ee/lojasyeesco",
"username": "lojasyeesco",
"verified": false
},
{
"avatar_url": "https://ugc.production.linktr.ee/gktK40SHi6rJZd3BQFCA_gwckDcyA5PEYqjZ5",
"category_id": "business",
"category_name": "Business",
"profile_url": "https://linktr.ee/vannise2019",
"username": "vannise2019",
"verified": false
},
{
"avatar_url": "https://ugc.production.linktr.ee/HpU1lQbTHeGWCjC7kNfm_o4KTOhJ9dKjAPCvD",
"badges": [
"VERIFICATION_TICK"
],
"category_id": "business",
"category_name": "Business",
"profile_title": "Oh My Technology",
"profile_url": "https://linktr.ee/ohmytechnology",
"username": "ohmytechnology",
"verified": true
}
],
"selected_category": "business"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `pages_fetched` | `integer` | 2 |
| `profiles` | `array` | 3 items |
| `profiles` | `array` | 3 items |
| `selected_category` | `string` | business |
## 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)
## Linktree Scraper: Get Profile
Canonical: https://docs.upscrape.com/docs/platforms/linktree/linktree.profile.get
Markdown: https://docs.upscrape.com/docs/platforms/linktree/linktree.profile.get/index.md
# Get Profile
Fetch a public Linktree profile with bio, contact and social links, content links, verification, tier, and related profiles.
- Platform: [Linktree](https://docs.upscrape.com/docs/platforms/linktree)
- Capability ID: `linktree.profile.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"username": "linktree"
},
"capability": "linktree.profile.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `username` | `string` | Yes | Linktree handle or full profile URL (for example, nike or https://linktr.ee/nike). |
### Example input
```json
{
"username": "linktree"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"avatar_url": "https://ugc.production.linktr.ee/[redacted:token].png",
"country": "AU",
"created_at": "2021-08-25",
"display_name": "Linktree",
"links": [
{
"title": "Linktree's Linktree",
"type": "CLASSIC",
"url": "https://linktr.ee/linktr.ee"
},
{
"title": "Homepage",
"type": "CLASSIC",
"url": "http://linktr.ee/linktr.ee"
}
],
"links_count": 2,
"profile_url": "https://linktr.ee/linktree",
"related_profiles": [
{
"display_name": "Guy Raz",
"profile_url": "https://linktr.ee/guy.raz",
"username": "guy.raz"
},
{
"display_name": "Charli Andrea",
"profile_url": "https://linktr.ee/charliandrea",
"username": "charliandrea"
},
{
"display_name": "morepurposepod",
"profile_url": "https://linktr.ee/morepurposepod",
"username": "morepurposepod"
}
],
"tier": "pro",
"timezone": "Australia/Melbourne",
"username": "linktree",
"verified": false
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `avatar_url` | `string` | https://ugc.production.linktr.ee/[redacted:token].png |
| `country` | `string` | AU |
| `created_at` | `string` | 2021-08-25 |
| `display_name` | `string` | Linktree |
| `links` | `array` | 2 items |
| `links` | `array` | 2 items |
| `links_count` | `integer` | 2 |
| `profile_url` | `string` | https://linktr.ee/linktree |
| `related_profiles` | `array` | 3 items |
| `related_profiles` | `array` | 3 items |
| `tier` | `string` | pro |
| `timezone` | `string` | Australia/Melbourne |
| `username` | `string` | linktree |
| `verified` | `boolean` | false |
## 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)
## Linktree Scraper: List Profile Posts
Canonical: https://docs.upscrape.com/docs/platforms/linktree/linktree.profile.posts
Markdown: https://docs.upscrape.com/docs/platforms/linktree/linktree.profile.posts/index.md
# List Profile Posts
List bounded public posts from the active social-feed apps embedded on a Linktree profile.
- Platform: [Linktree](https://docs.upscrape.com/docs/platforms/linktree)
- Capability ID: `linktree.profile.posts`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 12,
"username": "whatislinked"
},
"capability": "linktree.profile.posts"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum public social-feed posts to return across active feeds (default 50). |
| `username` | `string` | Yes | Linktree handle or full profile URL. |
### Example input
```json
{
"limit": 12,
"username": "whatislinked"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"feed_count": 1,
"feeds": [
{
"active": true,
"id": "9679ac21-2601-41b9-af86-29555e27504a",
"layout": "SQUARE",
"source": "LINKTREE",
"title": "Follow me on Instagram",
"type": "INSTAGRAM"
}
],
"posts": [
{
"caption": "New season, new bags! 🍂👜 I found these gorgeous handbags at Target that can also be worn as crossbody bags — perfect for fall and winter looks! The colors are cozy, neutral, and totally on-trend. Would you go for? 😍.\n.\n#TargetFinds #WinterFashion #FallStyle #CrossbodyBag #TargetStyle #HandbagLover #TargetDeals #AffordableFashion #FashionFinds #LookChique #BrasileirasNosEUA #ModaDeInverno #EstiloOu…",
"external_id": "18088566758495582",
"feed_id": "9679ac21-2601-41b9-af86-29555e27504a",
"feed_title": "Follow me on Instagram",
"id": "93b35da4-143d-4fd4-ac8a-3f725a754b48",
"media_url": "https://scontent-sea5-1.cdninstagram.com/o1/v/t2/f2/m86/[redacted:token].mp4?_nc_cat=105&_nc_sid=5e9851&_nc_ht=scontent-sea5-1.cdninstagram.com&_nc_ohc=qL5vvbFKpjAQ7kNvwF3Ru93&efg=[redacted:token]&ccb=17-1&vs=c3e3bc147141f2b9&_nc_vs=[redacted:token]&_nc_gid=Gv15nGhscwV7QDOuOJJV7g&edm=ANo9K5cEAAAA&_nc_zt=28&_nc_tpa=[redacted:token]&oh=[redacted:token]&oe=690C364E",
"pinned": false,
"post_type": "VIDEO",
"thumbnail_url": "https://scontent-sea5-1.cdninstagram.com/v/t51.71878-15/[redacted:token].jpg?stp=dst-jpg_e35_tt6&_nc_cat=103&ccb=1-7&_nc_sid=18de74&efg=[redacted:token]%3D%3D&_nc_ohc=c4e8TCaMBgwQ7kNvwEZDQoX&_nc_oc=[redacted:token]&_nc_zt=23&_nc_ht=scontent-sea5-1.cdninstagram.com&edm=ANo9K5cEAAAA&_nc_gid=Gv15nGhscwV7QDOuOJJV7g&oh=[redacted:token]&oe=69100C41",
"timestamp": "2025-11-04T18:20:49+00:00",
"url": "https://www.instagram.com/reel/DQpPLVFgDqc/",
"visible": true
}
],
"posts_count": 12,
"profile_url": "https://linktr.ee/whatislinked",
"username": "whatislinked"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `feed_count` | `integer` | 1 |
| `feeds` | `array` | 1 items |
| `feeds` | `array` | 1 items |
| `posts` | `array` | 1 items |
| `posts` | `array` | 1 items |
| `posts_count` | `integer` | 12 |
| `profile_url` | `string` | https://linktr.ee/whatislinked |
| `username` | `string` | whatislinked |
## 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)
## Linktree Scraper: Get Profile Shop
Canonical: https://docs.upscrape.com/docs/platforms/linktree/linktree.profile.shop
Markdown: https://docs.upscrape.com/docs/platforms/linktree/linktree.profile.shop/index.md
# Get Profile Shop
Fetch public Linktree Shop collections, products, prices, vendors, and shoppable posts for a profile.
- Platform: [Linktree](https://docs.upscrape.com/docs/platforms/linktree)
- Capability ID: `linktree.profile.shop`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"username": "whatislinked"
},
"capability": "linktree.profile.shop"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `username` | `string` | Yes | Linktree handle or full profile/shop URL. |
### Example input
```json
{
"username": "whatislinked"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"collections": [
{
"has_commission_products": false,
"id": "8a819252-4ee0-4578-ac4e-917f7ac18bf2",
"products": [
{
"account_product_id": "a0f3c1f4-d41d-4c5e-80cc-5acc4d26ce02",
"currency": "USD",
"has_commission": false,
"id": "a0f3c1f4-d41d-4c5e-80cc-5acc4d26ce02",
"image_url": "https://www.sephora.com/productimages/sku/s2898419-main-zoom.jpg?imwidth=2000&pb=clean-at-sephora",
"price": 3200,
"title": "rhode Glazing Milk Hydrating Ceramide Facial Essence 4.2oz/124ml",
"type": "PRODUCT",
"url": "https://earn.linktr.ee/clicks/v2?b64=[redacted:token]%253D%253D",
"vendor": "sephora",
"vendor_display_name": "Sephora"
}
],
"title": "Sephora",
"type": "COLLECTION"
}
],
"has_commission_products": true,
"post_count": 59,
"posts": [
{
"has_commission_products": false,
"id": "3027c2a4-a5b7-4c77-96ba-ff9636a901ad",
"products": [
{
"account_product_id": "868e8933-45bd-4efd-9a74-55ab43adcb90",
"currency": "USD",
"has_commission": false,
"id": "868e8933-45bd-4efd-9a74-55ab43adcb90",
"title": "Security Check",
"type": "PRODUCT",
"url": "https://www.tiktok.com/t/ZT9kUKnD5t3gs-BzItz",
"vendor": "tiktok"
}
],
"type": "POST"
}
],
"product_count": 456,
"profile_url": "https://linktr.ee/whatislinked",
"shop_url": "https://linktr.ee/whatislinked/shop",
"username": "whatislinked"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `collections` | `array` | 1 items |
| `collections` | `array` | 1 items |
| `has_commission_products` | `boolean` | true |
| `post_count` | `integer` | 59 |
| `posts` | `array` | 1 items |
| `posts` | `array` | 1 items |
| `product_count` | `integer` | 456 |
| `profile_url` | `string` | https://linktr.ee/whatislinked |
| `shop_url` | `string` | https://linktr.ee/whatislinked/shop |
| `username` | `string` | whatislinked |
## 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)
## Morrisons API
Canonical: https://docs.upscrape.com/docs/platforms/morrisons
Markdown: https://docs.upscrape.com/docs/platforms/morrisons/index.md
# Morrisons API
Search products, categories, promotions, prices, product details, and stores across Morrisons UK.
- Platform ID: `morrisons`
- Capabilities: 7
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Categories List](https://docs.upscrape.com/docs/platforms/morrisons/morrisons.categories.list)
- Capability ID: `morrisons.categories.list`
- Cost: 1 credit per request
List the full Morrisons Groceries category tree (four levels) with category ids and breadcrumbs.
### [Category Products List](https://docs.upscrape.com/docs/platforms/morrisons/morrisons.category.products.list)
- Capability ID: `morrisons.category.products.list`
- Cost: 1 credit per request
List the decorated products on a Morrisons category's server-rendered page with price, promotion, rating, availability, total, and continuation status.
### [Product Detail Get](https://docs.upscrape.com/docs/platforms/morrisons/morrisons.product.detail.get)
- Capability ID: `morrisons.product.detail.get`
- Cost: 1 credit per request
Fetch a Morrisons product detail page: price, availability, rating, images, and the product information sections.
### [Products Search](https://docs.upscrape.com/docs/platforms/morrisons/morrisons.products.search)
- Capability ID: `morrisons.products.search`
- Cost: 1 credit per request
Search Morrisons Groceries by keyword and return the decorated server-rendered result page with honest total and continuation status.
### [Promotion Detail Get](https://docs.upscrape.com/docs/platforms/morrisons/morrisons.promotion.detail.get)
- Capability ID: `morrisons.promotion.detail.get`
- Cost: 1 credit per request
Fetch a Morrisons offer page with identifiers, active dates, reward groups, and its decorated products.
### [Search Suggestions List](https://docs.upscrape.com/docs/platforms/morrisons/morrisons.search.suggestions.list)
- Capability ID: `morrisons.search.suggestions.list`
- Cost: 1 credit per request
Return Morrisons primary, refined, or follow-on search suggestions for a query.
### [Stores List](https://docs.upscrape.com/docs/platforms/morrisons/morrisons.stores.list)
- Capability ID: `morrisons.stores.list`
- Cost: 1 credit per request
Search and paginate the public Morrisons store directory with addresses, coordinates, hours, departments, and services.
## Common uses
- Price and promotion monitoring across a big-four UK supermarket
- Assortment and own-label research for grocery brands and analysts
- Availability tracking for UK grocery delivery planning
- Share-of-shelf and rating analysis per category aisle
- Store footprint, opening-hours, and service coverage analysis
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Morrisons: Categories List
Canonical: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.categories.list
Markdown: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.categories.list/index.md
# Categories List
List the full Morrisons Groceries category tree (four levels) with category ids and breadcrumbs.
- Platform: [Morrisons](https://docs.upscrape.com/docs/platforms/morrisons)
- Capability ID: `morrisons.categories.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "morrisons.categories.list"
}'
```
## Input
This capability accepts an empty input object.
### Example input
```json
{}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"categories": [
{
"breadcrumbs": [],
"category_id": "1dfcd495-45fc-405d-a831-4c48ade8c2c5",
"children": [
{
"breadcrumbs": [],
"category_id": "cb7d594b-0696-4995-b3ca-8aa693886697",
"children": [],
"name": "New This Week",
"product_count": 0,
"retailer_category_id": "193929"
}
],
"name": "New",
"product_count": 0,
"retailer_category_id": "192077"
},
{
"breadcrumbs": [],
"category_id": "094cee3b-0f6c-40f1-b5ab-08026d73b02c",
"children": [
{
"breadcrumbs": [],
"category_id": "f0f1755b-87a5-4878-b27e-6b0ad4f12dbd",
"children": [
{
"breadcrumbs": [],
"category_id": "748cf4c7-88ce-4311-ac0a-60747553f518",
"children": [],
"name": "Avocados",
"product_count": 0,
"retailer_category_id": "184005"
},
{
"breadcrumbs": [],
"category_id": "71318055-3bc9-4f58-9f4b-0cecec3173b0",
"children": [],
"name": "Celery",
"product_count": 0,
"retailer_category_id": "183982"
},
{
"breadcrumbs": [],
"category_id": "6ac36a86-2d1e-425c-9e38-92a1a44aa2ea",
"children": [],
"name": "Cucumber",
"product_count": 0,
"retailer_category_id": "183964"
}
],
"name": "Salads",
"product_count": 0,
"retailer_category_id": "176758"
},
{
"breadcrumbs": [],
"category_id": "0ba0c980-a60b-49c2-b7b7-389aeda6cb3f",
"children": [
{
"breadcrumbs": [],
"category_id": "0f00c63d-b67d-4159-a09c-6d69786d2461",
"children": [],
"name": "Prepared Vegetables",
"product_count": 0,
"retailer_category_id": "183868"
},
{
"breadcrumbs": [],
"category_id": "ecb439e6-8e0a-4001-a108-228e718de8d0",
"children": [],
"name": "Vegetable Meal Kits",
"product_count": 0,
"retailer_category_id": "183871"
},
{
"breadcrumbs": [],
"category_id": "d35684e4-dc03-44fc-87cb-7c3b8899c072",
"children": [
{
"breadcrumbs": [],
"category_id": "3fa89551-532b-4cf8-b7e9-475ce08c7446",
"children": [
{
"breadcrumbs": [],
"category_id": "1e17bff9-dfc7-4345-9497-4aad8ebe5627",
"children": [],
"name": "Red Cabbage",
"product_count": 0,
"retailer_category_id": "183875"
},
{
"breadcrumbs": [],
"category_id": "dd1b9bb8-98ef-448f-8ced-3f7840272baf",
"children": [],
"name": "Savoy Cabbage",
"product_count": 0,
"retailer_category_id": "183878"
},
{
"breadcrumbs": [],
"category_id": "3c8da705-8070-4e01-94fe-2e3c6a114b64",
"children": [],
"name": "Sweetheart Cabbage",
"product_count": 0,
"retailer_category_id": "183877"
}
],
"name": "Cabbage",
"product_count": 0,
"retailer_category_id": "183873"
},
{
"breadcrumbs": [],
"category_id": "895e47de-0220-4878-973f-b68bbfef97d6",
"children": [],
"name": "Green Vegetables",
"product_count": 0,
"retailer_category_id": "183880"
},
{
"breadcrumbs": [],
"category_id": "021cda40-55aa-4e29-ba70-0e03766ea0dc",
"children": [],
"name": "Kale",
"product_count": 0,
"retailer_category_id": "183883"
}
],
"name": "Spinach, Cabbage & Greens",
"product_count": 0,
"retailer_category_id": "183872"
}
],
"name": "Vegetables",
"product_count": 0,
"retailer_category_id": "176756"
},
{
"breadcrumbs": [],
"category_id": "bc58fa02-e8fa-4ecb-a6fc-f273c3661239",
"children": [
{
"breadcrumbs": [],
"category_id": "8944b16c-aa11-45ef-a935-bfd90933e315",
"children": [
{
"breadcrumbs": [],
"category_id": "58b72cdc-f7c4-48cf-b425-635734406758",
"children": [],
"name": "Braeburn Apples",
"product_count": 0,
"retailer_category_id": "183915"
},
{
"breadcrumbs": [],
"category_id": "e8db2d6a-870a-48e7-8fdb-1c95cdac7e5c",
"children": [],
"name": "Bramley Apples",
"product_count": 0,
"retailer_category_id": "183916"
},
{
"breadcrumbs": [],
"category_id": "e59b8f02-9753-46e9-a90a-fe764df8c686",
"children": [],
"name": "British Apples",
"product_count": 0,
"retailer_category_id": "183914"
}
],
"name": "Apples",
"product_count": 0,
"retailer_category_id": "183912"
},
{
"breadcrumbs": [],
"category_id": "4cfb0b62-5158-42bc-8f3b-3db7458f19a4",
"children": [],
"name": "Pears",
"product_count": 0,
"retailer_category_id": "183913"
},
{
"breadcrumbs": [],
"category_id": "7a751a2a-d98c-4a7c-b785-bc2e82d87204",
"children": [
{
"breadcrumbs": [],
"category_id": "d577c86a-e47b-4f38-bae0-8e4ddaddaa9d",
"children": [],
"name": "Blueberries",
"product_count": 0,
"retailer_category_id": "188286"
},
{
"breadcrumbs": [],
"category_id": "d0862f92-b717-479a-9899-468ff1bcf15f",
"children": [],
"name": "Raspberries",
"product_count": 0,
"retailer_category_id": "188287"
},
{
"breadcrumbs": [],
"category_id": "a6fa4688-6763-4f5d-b103-179ab7b3cc67",
"children": [],
"name": "Strawberries",
"product_count": 0,
"retailer_category_id": "188285"
}
],
"name": "Berries",
"product_count": 0,
"retailer_category_id": "188288"
}
],
"name": "Fruit",
"product_count": 0,
"retailer_category_id": "176757"
}
],
"name": "Fruit & Veg",
"product_count": 0,
"retailer_category_id": "176738"
},
{
"breadcrumbs": [],
"category_id": "7fd143ec-3236-4177-94d1-aff4913c9a2e",
"children": [
{
"breadcrumbs": [],
"category_id": "702b1c4e-074e-4e05-8ac2-272b49fab4b7",
"children": [
{
"breadcrumbs": [],
"category_id": "56399bf9-bf69-4cd1-8f71-da4d39af2675",
"children": [
{
"breadcrumbs": [],
"category_id": "96e2c60c-9959-4560-bf08-a0d12098ac7d",
"children": [],
"name": "Beef Braising",
"product_count": 0,
"retailer_category_id": "184235"
},
{
"breadcrumbs": [],
"category_id": "e79507b6-e8e7-4c0f-b037-a4a19180cb9c",
"children": [],
"name": "Fillet Steaks",
"product_count": 0,
"retailer_category_id": "184234"
},
{
"breadcrumbs": [],
"category_id": "d5e25804-6da0-41c8-a2c0-9010c515b945",
"children": [],
"name": "Beef Grillsteaks",
"product_count": 0,
"retailer_category_id": "184229"
}
],
"name": "Beef Steaks",
"product_count": 0,
"retailer_category_id": "184228"
},
{
"breadcrumbs": [],
"category_id": "95c30463-9238-4fef-ba39-7d1b66c369e9",
"children": [],
"name": "Slow Cooked Beef",
"product_count": 0,
"retailer_category_id": "179619"
},
{
"breadcrumbs": [],
"category_id": "15e605e0-a95f-4954-b8f2-2f0a999207e6",
"children": [],
"name": "Beef Burgers & Meatballs",
"product_count": 0,
"retailer_category_id": "184227"
}
],
"name": "Beef",
"product_count": 0,
"retailer_category_id": "179580"
},
{
"breadcrumbs": [],
"category_id": "568eaac9-1e1b-4535-a269-0da4c8ebe48f",
"children": [],
"name": "BBQ Meat",
"product_count": 0,
"retailer_category_id": "188648"
},
{
"breadcrumbs": [],
"category_id": "70c2e1bc-8e96-4110-ac0c-50e1917c814c",
"children": [
{
"breadcrumbs": [],
"category_id": "fdc17b37-aa20-4fa6-9b4a-5e53e9464ab1",
"children": [],
"name": "Breaded Chicken Portions, Kievs & Goujons",
"product_count": 0,
"retailer_category_id": "184541"
},
{
"breadcrumbs": [],
"category_id": "6ccb8e2e-8495-48ec-80a3-138100d6c1b5",
"children": [],
"name": "Chicken Breast Fillets & Diced Chicken",
"product_count": 0,
"retailer_category_id": "184538"
},
{
"breadcrumbs": [],
"category_id": "5563ba41-bd78-4cab-8f0d-9b409d521593",
"children": [],
"name": "Slow Cooked Chicken",
"product_count": 0,
"retailer_category_id": "179618"
}
],
"name": "Chicken",
"product_count": 0,
"retailer_category_id": "184534"
}
],
"name": "Meat & Fish",
"product_count": 0,
"retailer_category_id": "179549"
}
],
"raw": {
"categories": [
{
"breadcrumbs": [],
"categoryId": "1dfcd495-45fc-405d-a831-4c48ade8c2c5",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "cb7d594b-0696-4995-b3ca-8aa693886697",
"childCategories": [],
"name": "New This Week",
"productCount": 0,
"retailerCategoryId": "193929"
}
],
"name": "New",
"productCount": 0,
"retailerCategoryId": "192077"
},
{
"breadcrumbs": [],
"categoryId": "094cee3b-0f6c-40f1-b5ab-08026d73b02c",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "f0f1755b-87a5-4878-b27e-6b0ad4f12dbd",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "748cf4c7-88ce-4311-ac0a-60747553f518",
"childCategories": [],
"name": "Avocados",
"productCount": 0,
"retailerCategoryId": "184005"
},
{
"breadcrumbs": [],
"categoryId": "71318055-3bc9-4f58-9f4b-0cecec3173b0",
"childCategories": [],
"name": "Celery",
"productCount": 0,
"retailerCategoryId": "183982"
},
{
"breadcrumbs": [],
"categoryId": "6ac36a86-2d1e-425c-9e38-92a1a44aa2ea",
"childCategories": [],
"name": "Cucumber",
"productCount": 0,
"retailerCategoryId": "183964"
}
],
"name": "Salads",
"productCount": 0,
"retailerCategoryId": "176758"
},
{
"breadcrumbs": [],
"categoryId": "0ba0c980-a60b-49c2-b7b7-389aeda6cb3f",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "0f00c63d-b67d-4159-a09c-6d69786d2461",
"childCategories": [],
"name": "Prepared Vegetables",
"productCount": 0,
"retailerCategoryId": "183868"
},
{
"breadcrumbs": [],
"categoryId": "ecb439e6-8e0a-4001-a108-228e718de8d0",
"childCategories": [],
"name": "Vegetable Meal Kits",
"productCount": 0,
"retailerCategoryId": "183871"
},
{
"breadcrumbs": [],
"categoryId": "d35684e4-dc03-44fc-87cb-7c3b8899c072",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "3fa89551-532b-4cf8-b7e9-475ce08c7446",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "1e17bff9-dfc7-4345-9497-4aad8ebe5627",
"childCategories": [],
"name": "Red Cabbage",
"productCount": 0,
"retailerCategoryId": "183875"
},
{
"breadcrumbs": [],
"categoryId": "dd1b9bb8-98ef-448f-8ced-3f7840272baf",
"childCategories": [],
"name": "Savoy Cabbage",
"productCount": 0,
"retailerCategoryId": "183878"
},
{
"breadcrumbs": [],
"categoryId": "3c8da705-8070-4e01-94fe-2e3c6a114b64",
"childCategories": [],
"name": "Sweetheart Cabbage",
"productCount": 0,
"retailerCategoryId": "183877"
}
],
"name": "Cabbage",
"productCount": 0,
"retailerCategoryId": "183873"
},
{
"breadcrumbs": [],
"categoryId": "895e47de-0220-4878-973f-b68bbfef97d6",
"childCategories": [],
"name": "Green Vegetables",
"productCount": 0,
"retailerCategoryId": "183880"
},
{
"breadcrumbs": [],
"categoryId": "021cda40-55aa-4e29-ba70-0e03766ea0dc",
"childCategories": [],
"name": "Kale",
"productCount": 0,
"retailerCategoryId": "183883"
}
],
"name": "Spinach, Cabbage & Greens",
"productCount": 0,
"retailerCategoryId": "183872"
}
],
"name": "Vegetables",
"productCount": 0,
"retailerCategoryId": "176756"
},
{
"breadcrumbs": [],
"categoryId": "bc58fa02-e8fa-4ecb-a6fc-f273c3661239",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "8944b16c-aa11-45ef-a935-bfd90933e315",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "58b72cdc-f7c4-48cf-b425-635734406758",
"childCategories": [],
"name": "Braeburn Apples",
"productCount": 0,
"retailerCategoryId": "183915"
},
{
"breadcrumbs": [],
"categoryId": "e8db2d6a-870a-48e7-8fdb-1c95cdac7e5c",
"childCategories": [],
"name": "Bramley Apples",
"productCount": 0,
"retailerCategoryId": "183916"
},
{
"breadcrumbs": [],
"categoryId": "e59b8f02-9753-46e9-a90a-fe764df8c686",
"childCategories": [],
"name": "British Apples",
"productCount": 0,
"retailerCategoryId": "183914"
}
],
"name": "Apples",
"productCount": 0,
"retailerCategoryId": "183912"
},
{
"breadcrumbs": [],
"categoryId": "4cfb0b62-5158-42bc-8f3b-3db7458f19a4",
"childCategories": [],
"name": "Pears",
"productCount": 0,
"retailerCategoryId": "183913"
},
{
"breadcrumbs": [],
"categoryId": "7a751a2a-d98c-4a7c-b785-bc2e82d87204",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "d577c86a-e47b-4f38-bae0-8e4ddaddaa9d",
"childCategories": [],
"name": "Blueberries",
"productCount": 0,
"retailerCategoryId": "188286"
},
{
"breadcrumbs": [],
"categoryId": "d0862f92-b717-479a-9899-468ff1bcf15f",
"childCategories": [],
"name": "Raspberries",
"productCount": 0,
"retailerCategoryId": "188287"
},
{
"breadcrumbs": [],
"categoryId": "a6fa4688-6763-4f5d-b103-179ab7b3cc67",
"childCategories": [],
"name": "Strawberries",
"productCount": 0,
"retailerCategoryId": "188285"
}
],
"name": "Berries",
"productCount": 0,
"retailerCategoryId": "188288"
}
],
"name": "Fruit",
"productCount": 0,
"retailerCategoryId": "176757"
}
],
"name": "Fruit & Veg",
"productCount": 0,
"retailerCategoryId": "176738"
},
{
"breadcrumbs": [],
"categoryId": "7fd143ec-3236-4177-94d1-aff4913c9a2e",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "702b1c4e-074e-4e05-8ac2-272b49fab4b7",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "56399bf9-bf69-4cd1-8f71-da4d39af2675",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "96e2c60c-9959-4560-bf08-a0d12098ac7d",
"childCategories": [],
"name": "Beef Braising",
"productCount": 0,
"retailerCategoryId": "184235"
},
{
"breadcrumbs": [],
"categoryId": "e79507b6-e8e7-4c0f-b037-a4a19180cb9c",
"childCategories": [],
"name": "Fillet Steaks",
"productCount": 0,
"retailerCategoryId": "184234"
},
{
"breadcrumbs": [],
"categoryId": "d5e25804-6da0-41c8-a2c0-9010c515b945",
"childCategories": [],
"name": "Beef Grillsteaks",
"productCount": 0,
"retailerCategoryId": "184229"
}
],
"name": "Beef Steaks",
"productCount": 0,
"retailerCategoryId": "184228"
},
{
"breadcrumbs": [],
"categoryId": "95c30463-9238-4fef-ba39-7d1b66c369e9",
"childCategories": [],
"name": "Slow Cooked Beef",
"productCount": 0,
"retailerCategoryId": "179619"
},
{
"breadcrumbs": [],
"categoryId": "15e605e0-a95f-4954-b8f2-2f0a999207e6",
"childCategories": [],
"name": "Beef Burgers & Meatballs",
"productCount": 0,
"retailerCategoryId": "184227"
}
],
"name": "Beef",
"productCount": 0,
"retailerCategoryId": "179580"
},
{
"breadcrumbs": [],
"categoryId": "568eaac9-1e1b-4535-a269-0da4c8ebe48f",
"childCategories": [],
"name": "BBQ Meat",
"productCount": 0,
"retailerCategoryId": "188648"
},
{
"breadcrumbs": [],
"categoryId": "70c2e1bc-8e96-4110-ac0c-50e1917c814c",
"childCategories": [
{
"breadcrumbs": [],
"categoryId": "fdc17b37-aa20-4fa6-9b4a-5e53e9464ab1",
"childCategories": [],
"name": "Breaded Chicken Portions, Kievs & Goujons",
"productCount": 0,
"retailerCategoryId": "184541"
},
{
"breadcrumbs": [],
"categoryId": "6ccb8e2e-8495-48ec-80a3-138100d6c1b5",
"childCategories": [],
"name": "Chicken Breast Fillets & Diced Chicken",
"productCount": 0,
"retailerCategoryId": "184538"
},
{
"breadcrumbs": [],
"categoryId": "5563ba41-bd78-4cab-8f0d-9b409d521593",
"childCategories": [],
"name": "Slow Cooked Chicken",
"productCount": 0,
"retailerCategoryId": "179618"
}
],
"name": "Chicken",
"productCount": 0,
"retailerCategoryId": "184534"
}
],
"name": "Meat & Fish",
"productCount": 0,
"retailerCategoryId": "179549"
}
]
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `categories` | `array` | 3 items |
| `categories` | `array` | 3 items |
| `raw` | `object` | 1 fields |
| `raw.categories` | `array` | 3 items |
## 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)
## Morrisons: Category Products List
Canonical: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.category.products.list
Markdown: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.category.products.list/index.md
# Category Products List
List the decorated products on a Morrisons category's server-rendered page with price, promotion, rating, availability, total, and continuation status.
- Platform: [Morrisons](https://docs.upscrape.com/docs/platforms/morrisons)
- Capability ID: `morrisons.category.products.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"category_id": "177938"
},
"capability": "morrisons.category.products.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `category_id` | `string` | Yes | Morrisons retailerCategoryId (e.g. "177938") or an official https://groceries.morrisons.com/categories/ URL. |
### Example input
```json
{
"category_id": "177938"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"category": {
"categoryId": "8b93a210-6a3c-49a9-b06c-4b1d8218d863",
"imageProductId": "d44fc746-6047-4029-b0d0-58eee340dc51",
"name": "Yeast",
"productCount": 4,
"retailerCategoryId": "177938"
},
"items": [
{
"available": true,
"brand": "Allinson",
"image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/300x300.jpg",
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/640x640.webp 6…",
"description": "Allinson's Easy Bake Yeast Tin",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/500x500.jpg"
}
],
"name": "Allinson's Easy Bake Yeast Tin",
"price": {
"current": {
"amount": "1.79",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "17.90",
"currency": "GBP"
},
"label": "fop.price.per.kg"
}
},
"product_id": "d44fc746-6047-4029-b0d0-58eee340dc51",
"rating": {
"count": 5,
"overall": "5.0"
},
"retailer_product_id": "107573440",
"url": "https://groceries.morrisons.com/products/allinson-s-easy-bake-yeast-tin/107573440"
},
{
"available": true,
"brand": "Morrisons",
"image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/300x300.jpg",
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/640x640.webp 6…",
"description": "Morrisons Fast Action Yeast Sachets 8 x 7g",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/500x500.jpg"
}
],
"name": "Morrisons Fast Action Yeast Sachets 8 x 7g",
"price": {
"current": {
"amount": "1.55",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "27.68",
"currency": "GBP"
},
"label": "fop.price.per.kg"
}
},
"product_id": "edfdbe1e-48b3-4fee-8ba1-17256f222407",
"rating": {
"count": 5,
"overall": "4.2"
},
"retailer_product_id": "105626122",
"url": "https://groceries.morrisons.com/products/morrisons-fast-action-yeast-sachets-8-x-7g/105626122"
},
{
"available": true,
"brand": "Allinson's",
"image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/300x300.jpg",
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/640x640.webp 6…",
"description": "Allinson's Easy Bake Yeast Sachets 6x7g",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/500x500.jpg"
}
],
"name": "Allinson's Easy Bake Yeast Sachets 6x7g",
"price": {
"current": {
"amount": "1.40",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "33.33",
"currency": "GBP"
},
"label": "fop.price.per.kg"
}
},
"product_id": "72dd5e8a-ef7a-43bd-8a57-2575cce9d23b",
"rating": {
"count": 0,
"overall": "0.0"
},
"retailer_product_id": "115285093",
"url": "https://groceries.morrisons.com/products/allinson-s-easy-bake-yeast-sachets-6x7g/115285093"
}
],
"page": {
"has_more": false,
"page": 1,
"returned": 4,
"total_products": 4,
"url": "https://groceries.morrisons.com/categories/food-cupboard/baking-ingredients/bread-pizza-making/yeast/177938"
},
"raw": {
"products": {
"alternatives": {
"data": {},
"didInvalidate": false,
"fetchError": false,
"isFetching": false,
"lastUpdated": null
},
"catalogue": {
"data": {
"breadcrumbs": [
{
"fullURLPath": "Food-Cupboard",
"id": "c2fe6663-6cbf-4ed5-86f1-c306d0360dfb",
"name": "Food Cupboard",
"retailerCategoryId": "102705"
},
{
"fullURLPath": "Food-Cupboard/Baking-Ingredients",
"id": "d10a8756-2ae6-487f-8a6d-0e8a24353e7d",
"name": "Baking Ingredients",
"retailerCategoryId": "177910"
},
{
"fullURLPath": "Food-Cupboard/Baking-Ingredients/Bread-Pizza-Making",
"id": "0ab4f89c-87a9-4986-ab71-335302f0b4f5",
"name": "Bread & Pizza Making",
"retailerCategoryId": "177915"
}
],
"categories": [],
"currentCategory": {
"categoryId": "8b93a210-6a3c-49a9-b06c-4b1d8218d863",
"imageProductId": "d44fc746-6047-4029-b0d0-58eee340dc51",
"name": "Yeast",
"productCount": 4,
"retailerCategoryId": "177938"
},
"filters": [
{
"attributes": [
{
"id": "Allinson",
"label": "Allinson",
"selected": false
},
{
"id": "Morrisons",
"label": "Morrisons",
"selected": false
},
{
"id": "Allinson's",
"label": "Allinson's",
"selected": false
}
],
"id": "brands",
"label": "brands",
"type": "BRANDS"
},
{
"attributes": [
{
"id": "vegetarian",
"label": "Vegetarian",
"selected": false
},
{
"id": "vegan",
"label": "Vegan",
"selected": false
},
{
"id": "glutenFree",
"label": "Gluten free",
"selected": false
}
],
"id": "dietaryAndLifestyle",
"label": "Dietary and lifestyle",
"type": "RETAILER"
}
],
"fullURLPath": "Food-Cupboard/Baking-Ingredients/Bread-Pizza-Making/Yeast",
"missedPromotions": [],
"productGroups": [
{
"additionalProductAttributes": [
{},
{},
{}
],
"clusterBreadcrumbs": [],
"name": "fop.headertitle.other",
"products": [
"d44fc746-6047-4029-b0d0-58eee340dc51",
"edfdbe1e-48b3-4fee-8ba1-17256f222407",
"72dd5e8a-ef7a-43bd-8a57-2575cce9d23b"
],
"type": "ungrouped"
}
],
"retailerCategoryId": "177938",
"sortOptions": [
{
"id": "favorite",
"messageKey": "sorting.option.favorite",
"selected": true
},
{
"id": "pricePerAscending",
"messageKey": "sorting.option.price.per.ascending",
"selected": false
},
{
"id": "pricePerDescending",
"messageKey": "sorting.option.price.per.descending",
"selected": false
}
],
"totalProducts": 4
},
"didInvalidate": false,
"error": null,
"fetchError": false,
"isFetching": false,
"lastFetchedLocation": "/categories/food-cupboard/baking-ingredients/bread-pizza-making/yeast/177938",
"lastUpdated": 1787376402173,
"selectedSortOptionId": "favorite"
},
"missedPromotions": [],
"offers": {
"data": {
"description": "",
"promoId": "",
"promotionGroups": [
{
"products": [],
"quantity": 0
}
],
"promotionPageType": "UNKNOWN",
"retailerPromotionId": "",
"sortOptions": []
},
"didInvalidate": false,
"fetchError": false,
"isFetching": false,
"lastUpdated": null
},
"productEntities": {
"244aa4da-f731-44d6-8373-e78118d9ad9a": {
"alcohol": false,
"available": true,
"brand": "Allinson",
"categoryPath": [
"Food Cupboard",
"Baking Ingredients",
"Bread & Pizza Making"
],
"featured": "false",
"icons": {
"certification": [],
"legal": []
},
"image": {
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/640x640.webp 6…",
"description": "Allinson's Dried Active Yeast Tin",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/300x300.jpg"
},
"imageIds": [
"19ba062d-6d07-48ca-938d-138e56958e7e"
],
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/640x640.webp 6…",
"description": "Allinson's Dried Active Yeast Tin",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/19ba062d-6d07-48ca-938d-138e56958e7e/500x500.jpg"
}
],
"isInCurrentCatalog": true,
"isInProductList": false,
"isNew": false,
"isVerifiedPurchase": false,
"maxQuantityReached": false,
"name": "Allinson's Dried Active Yeast Tin",
"price": {
"current": {
"amount": "1.20",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "9.60",
"currency": "GBP"
},
"label": "fop.price.per.kg"
}
},
"productId": "244aa4da-f731-44d6-8373-e78118d9ad9a",
"quantityInBasket": 0,
"ratingSummary": {
"count": 4,
"overallRating": "4.2"
},
"retailerFinancingPlanIds": [],
"retailerProductId": "100134946",
"size": {
"value": "125g"
},
"taxCodesDisplayNames": [],
"timeRestricted": false
},
"72dd5e8a-ef7a-43bd-8a57-2575cce9d23b": {
"alcohol": false,
"available": true,
"brand": "Allinson's",
"categoryPath": [
"Food Cupboard",
"Baking Ingredients",
"Bread & Pizza Making"
],
"featured": "false",
"icons": {
"certification": [],
"legal": []
},
"image": {
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/640x640.webp 6…",
"description": "Allinson's Easy Bake Yeast Sachets 6x7g",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/300x300.jpg"
},
"imageIds": [
"a0a3f02c-1104-4588-a15b-b36e2591b51f"
],
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/640x640.webp 6…",
"description": "Allinson's Easy Bake Yeast Sachets 6x7g",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/a0a3f02c-1104-4588-a15b-b36e2591b51f/500x500.jpg"
}
],
"isInCurrentCatalog": true,
"isInProductList": false,
"isNew": false,
"isVerifiedPurchase": false,
"maxQuantityReached": false,
"name": "Allinson's Easy Bake Yeast Sachets 6x7g",
"price": {
"current": {
"amount": "1.40",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "33.33",
"currency": "GBP"
},
"label": "fop.price.per.kg"
}
},
"productId": "72dd5e8a-ef7a-43bd-8a57-2575cce9d23b",
"quantityInBasket": 0,
"ratingSummary": {
"count": 0,
"overallRating": "0.0"
},
"retailerFinancingPlanIds": [],
"retailerProductId": "115285093",
"size": {
"value": "6 x 7g"
},
"taxCodesDisplayNames": [],
"timeRestricted": false
},
"d44fc746-6047-4029-b0d0-58eee340dc51": {
"alcohol": false,
"available": true,
"brand": "Allinson",
"categoryPath": [
"Food Cupboard",
"Baking Ingredients",
"Bread & Pizza Making"
],
"featured": "false",
"icons": {
"certification": [],
"legal": []
},
"image": {
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/640x640.webp 6…",
"description": "Allinson's Easy Bake Yeast Tin",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/300x300.jpg"
},
"imageIds": [
"6985488d-240d-4403-8d33-8dc39a8fcccc"
],
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/640x640.webp 6…",
"description": "Allinson's Easy Bake Yeast Tin",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/500x500.jpg"
}
],
"isInCurrentCatalog": true,
"isInProductList": false,
"isNew": false,
"isVerifiedPurchase": false,
"maxQuantityReached": false,
"name": "Allinson's Easy Bake Yeast Tin",
"price": {
"current": {
"amount": "1.79",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "17.90",
"currency": "GBP"
},
"label": "fop.price.per.kg"
}
},
"productId": "d44fc746-6047-4029-b0d0-58eee340dc51",
"quantityInBasket": 0,
"ratingSummary": {
"count": 5,
"overallRating": "5.0"
},
"retailerFinancingPlanIds": [],
"retailerProductId": "107573440",
"size": {
"value": "100g"
},
"taxCodesDisplayNames": [],
"timeRestricted": false
},
"edfdbe1e-48b3-4fee-8ba1-17256f222407": {
"alcohol": false,
"attributes": [
{
"icon": "vegetarian",
"label": "Vegetarian"
},
{
"icon": "vegan",
"label": "Vegan"
}
],
"available": true,
"brand": "Morrisons",
"categoryPath": [
"Food Cupboard",
"Baking Ingredients",
"Bread & Pizza Making"
],
"featured": "false",
"icons": {
"certification": [],
"legal": []
},
"image": {
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/640x640.webp 6…",
"description": "Morrisons Fast Action Yeast Sachets 8 x 7g",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/300x300.jpg"
},
"imageIds": [
"67cc97c7-c488-451a-a409-f4250bb8d731"
],
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/640x640.webp 6…",
"description": "Morrisons Fast Action Yeast Sachets 8 x 7g",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/67cc97c7-c488-451a-a409-f4250bb8d731/500x500.jpg"
}
],
"isInCurrentCatalog": true,
"isInProductList": false,
"isNew": false,
"isVerifiedPurchase": false,
"maxQuantityReached": false,
"name": "Morrisons Fast Action Yeast Sachets 8 x 7g",
"price": {
"current": {
"amount": "1.55",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "27.68",
"currency": "GBP"
},
"label": "fop.price.per.kg"
}
},
"productId": "edfdbe1e-48b3-4fee-8ba1-17256f222407",
"quantityInBasket": 0,
"ratingSummary": {
"count": 5,
"overallRating": "4.2"
},
"retailerFinancingPlanIds": [],
"retailerProductId": "105626122",
"size": {
"value": "8 x 7g"
},
"taxCodesDisplayNames": [],
"timeRestricted": false
}
},
"vantageEvents": {
"click": {
"counts": {}
}
}
}
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `category` | `object` | 5 fields |
| `category.categoryId` | `string` | 8b93a210-6a3c-49a9-b06c-4b1d8218d863 |
| `category.imageProductId` | `string` | d44fc746-6047-4029-b0d0-58eee340dc51 |
| `category.name` | `string` | Yeast |
| `category.productCount` | `integer` | 4 |
| `category.retailerCategoryId` | `string` | 177938 |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 5 fields |
| `page.has_more` | `boolean` | false |
| `page.page` | `integer` | 1 |
| `page.returned` | `integer` | 4 |
| `page.total_products` | `integer` | 4 |
| `page.url` | `string` | https://groceries.morrisons.com/categories/food-cupboard/baking-ingredi… |
| `raw` | `object` | 1 fields |
| `raw.products` | `object` | 6 fields |
## 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)
## Morrisons: Product Detail Get
Canonical: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.product.detail.get
Markdown: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.product.detail.get/index.md
# Product Detail Get
Fetch a Morrisons product detail page: price, availability, rating, images, and the product information sections.
- Platform: [Morrisons](https://docs.upscrape.com/docs/platforms/morrisons)
- Capability ID: `morrisons.product.detail.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"product_id": "107573440"
},
"capability": "morrisons.product.detail.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `product_id` | `string` | No | Morrisons retailerProductId (e.g. "107573440"). |
| `url` | `string` | No | Official Morrisons /products/ URL. Used when product_id is not given. |
### Example input
```json
{
"product_id": "107573440"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"product": {
"available": true,
"brand": "Allinson",
"description": "",
"details": [
{
"content": "Allinson's for bread makers & hand baking makes up to 14 loaves\nThe magic combination\nAllinson's trusted bread flour blended with the magic of Allinson's yeast is the winning combination, for a perfectly risen dough.",
"title": "Brand Marketing"
},
{
"content": "Allinson",
"title": "Brand"
},
{
"content": "Customer Service:\nAllinson's Flour,\nLondon Rd,\nPeterborough,\nPE7 8QJ.\nwww.allinsonflour.co.uk",
"title": "Return To Address"
}
],
"images": [
"https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/500x500.jpg"
],
"media": [
"https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/500x500.jpg"
],
"name": "Allinson's Easy Bake Yeast Tin",
"price": {
"current": {
"amount": "1.79",
"currency": "GBP"
}
},
"rating": {
"count": 5,
"overall": "5.0"
},
"retailer_product_id": "107573440",
"size": "100g",
"url": "https://groceries.morrisons.com/products/allinson-s-easy-bake-yeast-tin/107573440"
},
"raw": {
"structured_data": {
"@context": "https://schema.org",
"@type": "Product",
"aggregateRating": {
"@type": "AggregateRating",
"ratingCount": 5,
"ratingValue": "5.0"
},
"brand": "Allinson",
"description": "",
"image": [
"https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/6985488d-240d-4403-8d33-8dc39a8fcccc/500x500.jpg"
],
"name": "Allinson's Easy Bake Yeast Tin",
"offers": {
"@type": "Offer",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"price": "1.79",
"priceCurrency": "GBP"
},
"review": [],
"size": "100g",
"sku": "107573440"
}
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `product` | `object` | 12 fields |
| `product.available` | `boolean` | true |
| `product.brand` | `string` | Allinson |
| `product.description` | `string` | |
| `product.details` | `array` | 3 items |
| `product.images` | `array` | 1 items |
| `product.media` | `array` | 1 items |
| `product.name` | `string` | Allinson's Easy Bake Yeast Tin |
| `product.price` | `object` | 1 fields |
| `product.rating` | `object` | 2 fields |
| `product.retailer_product_id` | `string` | 107573440 |
| `product.size` | `string` | 100g |
| `product.url` | `string` | https://groceries.morrisons.com/products/allinson-s-easy-bake-yeast-tin… |
| `raw` | `object` | 1 fields |
| `raw.structured_data` | `object` | 11 fields |
## 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)
## Morrisons: Products Search
Canonical: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.products.search
Markdown: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.products.search/index.md
# Products Search
Search Morrisons Groceries by keyword and return the decorated server-rendered result page with honest total and continuation status.
- Platform: [Morrisons](https://docs.upscrape.com/docs/platforms/morrisons)
- Capability ID: `morrisons.products.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"query": "whole milk"
},
"capability": "morrisons.products.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | `string` | Yes | Product search query, for example "whole milk". |
### Example input
```json
{
"query": "whole milk"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"available": true,
"brand": "Morrisons",
"image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/5c73f420-c286-493a-a9e7-3d77c0a55577/300x300.jpg",
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/5c73f420-c286-493a-a9e7-3d77c0a55577/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/5c73f420-c286-493a-a9e7-3d77c0a55577/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/5c73f420-c286-493a-a9e7-3d77c0a55577/640x640.webp 6…",
"description": "Morrisons Long Life British Whole Milk",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/5c73f420-c286-493a-a9e7-3d77c0a55577/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/5c73f420-c286-493a-a9e7-3d77c0a55577/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/5c73f420-c286-493a-a9e7-3d77c0a55577/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/5c73f420-c286-493a-a9e7-3d77c0a55577/500x500.jpg"
},
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/0b0e495e-251d-4271-bbb7-d74200f97c86/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/0b0e495e-251d-4271-bbb7-d74200f97c86/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/0b0e495e-251d-4271-bbb7-d74200f97c86/640x640.webp 6…",
"description": "Morrisons Long Life British Whole Milk",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/0b0e495e-251d-4271-bbb7-d74200f97c86/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/0b0e495e-251d-4271-bbb7-d74200f97c86/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/0b0e495e-251d-4271-bbb7-d74200f97c86/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/0b0e495e-251d-4271-bbb7-d74200f97c86/500x500.jpg"
}
],
"name": "Morrisons Long Life British Whole Milk",
"price": {
"current": {
"amount": "6.00",
"currency": "GBP"
},
"original": {
"amount": "6.15",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "1.00",
"currency": "GBP"
},
"label": "fop.price.per.litre",
"original": {
"amount": "1.03",
"currency": "GBP"
}
}
},
"product_id": "cb84116a-abaa-4f3e-adf2-517487783dc1",
"rating": {
"count": 7,
"overall": "4.7"
},
"retailer_product_id": "103113892",
"url": "https://groceries.morrisons.com/products/morrisons-long-life-british-whole-milk/103113892"
},
{
"available": true,
"brand": "Morrisons",
"image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/74c3b23e-501d-4d01-bba2-2bd8bcd96536/300x300.jpg",
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/74c3b23e-501d-4d01-bba2-2bd8bcd96536/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/74c3b23e-501d-4d01-bba2-2bd8bcd96536/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/74c3b23e-501d-4d01-bba2-2bd8bcd96536/640x640.webp 6…",
"description": "Morrisons British Whole Milk 2 Pint",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/74c3b23e-501d-4d01-bba2-2bd8bcd96536/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/74c3b23e-501d-4d01-bba2-2bd8bcd96536/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/74c3b23e-501d-4d01-bba2-2bd8bcd96536/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/74c3b23e-501d-4d01-bba2-2bd8bcd96536/500x500.jpg"
},
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/f2278795-4692-4935-8032-4fab81cbe4bd/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/f2278795-4692-4935-8032-4fab81cbe4bd/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/f2278795-4692-4935-8032-4fab81cbe4bd/640x640.webp 6…",
"description": "Morrisons British Whole Milk 2 Pint",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/f2278795-4692-4935-8032-4fab81cbe4bd/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/f2278795-4692-4935-8032-4fab81cbe4bd/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/f2278795-4692-4935-8032-4fab81cbe4bd/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/f2278795-4692-4935-8032-4fab81cbe4bd/500x500.jpg"
},
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/4221663e-1759-40a2-806f-fdd006e8163b/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/4221663e-1759-40a2-806f-fdd006e8163b/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/4221663e-1759-40a2-806f-fdd006e8163b/640x640.webp 6…",
"description": "Morrisons British Whole Milk 2 Pint",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/4221663e-1759-40a2-806f-fdd006e8163b/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/4221663e-1759-40a2-806f-fdd006e8163b/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/4221663e-1759-40a2-806f-fdd006e8163b/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/4221663e-1759-40a2-806f-fdd006e8163b/500x500.jpg"
}
],
"name": "Morrisons British Whole Milk 2 Pint",
"price": {
"current": {
"amount": "1.20",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "1.06",
"currency": "GBP"
},
"label": "fop.price.per.litre"
}
},
"product_id": "8701fb36-18d7-461d-b167-415a3b51b94e",
"rating": {
"count": 4,
"overall": "4.0"
},
"retailer_product_id": "113240377",
"url": "https://groceries.morrisons.com/products/morrisons-british-whole-milk-2-pint/113240377"
},
{
"available": true,
"brand": "Morrisons",
"image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/8ee3e09d-ea36-4dd8-8a53-89bbdb9e5f74/300x300.jpg",
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/8ee3e09d-ea36-4dd8-8a53-89bbdb9e5f74/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/8ee3e09d-ea36-4dd8-8a53-89bbdb9e5f74/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/8ee3e09d-ea36-4dd8-8a53-89bbdb9e5f74/640x640.webp 6…",
"description": "Morrisons British Whole Milk 2 Pint",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/8ee3e09d-ea36-4dd8-8a53-89bbdb9e5f74/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/8ee3e09d-ea36-4dd8-8a53-89bbdb9e5f74/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/8ee3e09d-ea36-4dd8-8a53-89bbdb9e5f74/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/8ee3e09d-ea36-4dd8-8a53-89bbdb9e5f74/500x500.jpg"
},
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/922492bf-3ced-4696-9230-42b94c01e251/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/922492bf-3ced-4696-9230-42b94c01e251/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/922492bf-3ced-4696-9230-42b94c01e251/640x640.webp 6…",
"description": "Morrisons British Whole Milk 2 Pint",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/922492bf-3ced-4696-9230-42b94c01e251/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/922492bf-3ced-4696-9230-42b94c01e251/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/922492bf-3ced-4696-9230-42b94c01e251/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/922492bf-3ced-4696-9230-42b94c01e251/500x500.jpg"
}
],
"name": "Morrisons British Whole Milk 2 Pint",
"price": {
"current": {
"amount": "1.20",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "1.06",
"currency": "GBP"
},
"label": "fop.price.per.litre"
}
},
"product_id": "be536963-9603-4476-8f14-e2eaa0282e8e",
"rating": {
"count": 5,
"overall": "3.4"
},
"retailer_product_id": "103143451",
"url": "https://groceries.morrisons.com/products/morrisons-british-whole-milk-2-pint/103143451"
}
],
"page": {
"has_more": true,
"page": 1,
"returned": 50,
"total_products": 51
},
"query": "whole milk"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 4 fields |
| `page.has_more` | `boolean` | true |
| `page.page` | `integer` | 1 |
| `page.returned` | `integer` | 50 |
| `page.total_products` | `integer` | 51 |
| `query` | `string` | whole milk |
## 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)
## Morrisons: Promotion Detail Get
Canonical: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.promotion.detail.get
Markdown: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.promotion.detail.get/index.md
# Promotion Detail Get
Fetch a Morrisons offer page with identifiers, active dates, reward groups, and its decorated products.
- Platform: [Morrisons](https://docs.upscrape.com/docs/platforms/morrisons)
- Capability ID: `morrisons.promotion.detail.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"promotion_id": "6820a0fa-47cb-4d0d-867f-b7e029adc935"
},
"capability": "morrisons.promotion.detail.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `promotion_id` | `string` | No | Promotion identifier. |
| `url` | `string` | No | Url supplied for this request. |
### Example input
```json
{
"promotion_id": "6820a0fa-47cb-4d0d-867f-b7e029adc935"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"available": true,
"brand": "Morrisons",
"image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/300x300.jpg",
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/640x640.webp 6…",
"description": "Morrisons Squeezy Burger Relish (310g)",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/500x500.jpg"
}
],
"name": "Morrisons Squeezy Burger Relish (310g)",
"price": {
"current": {
"amount": "1.70",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "5.48",
"currency": "GBP"
},
"label": "fop.price.per.kg"
}
},
"product_id": "dc1cb091-8e98-4145-b603-9a064008039c",
"rating": {
"count": 9,
"overall": "3.4"
},
"retailer_product_id": "105213678",
"url": "https://groceries.morrisons.com/products/morrisons-squeezy-burger-relish-310g/105213678"
},
{
"available": true,
"brand": "Morrisons",
"image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/300x300.jpg",
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/640x640.webp 6…",
"description": "Morrisons Sliced White Rolls 6 Pack",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/500x500.jpg"
}
],
"name": "Morrisons Sliced White Rolls 6 Pack",
"price": {
"current": {
"amount": "0.95",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "15.8",
"currency": "GBX"
},
"label": "fop.price.per.each"
}
},
"product_id": "702fe59d-abda-454a-81a8-3147e881c41c",
"rating": {
"count": 71,
"overall": "2.4"
},
"retailer_product_id": "105694619",
"url": "https://groceries.morrisons.com/products/morrisons-sliced-white-rolls-6-pack/105694619"
},
{
"available": true,
"brand": "Morrisons",
"image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/300x300.jpg",
"images": [
{
"bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/640x640.webp 6…",
"description": "Morrisons British Iceberg Lettuce",
"fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/200x200.webp 2…",
"src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/500x500.jpg"
}
],
"name": "Morrisons British Iceberg Lettuce",
"price": {
"current": {
"amount": "0.89",
"currency": "GBP"
},
"unit": {
"current": {
"amount": "89.0",
"currency": "GBX"
},
"label": "fop.price.per.each"
}
},
"product_id": "fa34258d-fcd7-473d-9af0-eaaae6f80be1",
"rating": {
"count": 101,
"overall": "2.4"
},
"retailer_product_id": "108370943",
"url": "https://groceries.morrisons.com/products/morrisons-british-iceberg-lettuce/108370943"
}
],
"promotion": {
"active_period": {
"activeFrom": "2026-07-19T23:00:00Z",
"activeTo": "2026-09-07T23:00:00Z"
},
"breadcrumbs": [],
"description": "BBQ Burger Bundle for £10",
"groups": [
{
"products": [
"dc1cb091-8e98-4145-b603-9a064008039c"
],
"quantity": 1,
"reward": {
"offer": "£10.00",
"type": "OFFER"
}
},
{
"products": [
"702fe59d-abda-454a-81a8-3147e881c41c"
],
"quantity": 1,
"reward": {
"offer": "£10.00",
"type": "OFFER"
}
},
{
"products": [
"fa34258d-fcd7-473d-9af0-eaaae6f80be1"
],
"quantity": 1,
"reward": {
"offer": "£10.00",
"type": "OFFER"
}
}
],
"long_description": "Buy all items for £10. Order by 07/09/2026, offer subject to availability. Maximum 20 promotional items per customer.",
"presentation_mode": "DEFAULT",
"promotion_id": "6820a0fa-47cb-4d0d-867f-b7e029adc935",
"promotion_page_type": "BUNDLE",
"retailer_promotion_id": "1010595828",
"url": "https://groceries.morrisons.com/offers/bbq-burger-bundle-for-10/1010595828"
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `promotion` | `object` | 10 fields |
| `promotion.active_period` | `object` | 2 fields |
| `promotion.breadcrumbs` | `array` | 0 items |
| `promotion.description` | `string` | BBQ Burger Bundle for £10 |
| `promotion.groups` | `array` | 3 items |
| `promotion.long_description` | `string` | Buy all items for £10. Order by 07/09/2026, offer subject to availabili… |
| `promotion.presentation_mode` | `string` | DEFAULT |
| `promotion.promotion_id` | `string` | 6820a0fa-47cb-4d0d-867f-b7e029adc935 |
| `promotion.promotion_page_type` | `string` | BUNDLE |
| `promotion.retailer_promotion_id` | `string` | 1010595828 |
| `promotion.url` | `string` | https://groceries.morrisons.com/offers/bbq-burger-bundle-for-10/1010595… |
## 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)
## Morrisons: Search Suggestions List
Canonical: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.search.suggestions.list
Markdown: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.search.suggestions.list/index.md
# Search Suggestions List
Return Morrisons primary, refined, or follow-on search suggestions for a query.
- Platform: [Morrisons](https://docs.upscrape.com/docs/platforms/morrisons)
- Capability ID: `morrisons.search.suggestions.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"kind": "primary",
"limit": 8,
"query": "milk"
},
"capability": "morrisons.search.suggestions.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `kind` | `string` | No | Kind supplied for this request. Allowed values: `primary`, `refined`, `follow_on`. |
| `limit` | `integer` | No | Maximum number of results to return. |
| `query` | `string` | Yes | Search query. |
### Example input
```json
{
"kind": "primary",
"limit": 8,
"query": "milk"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"kind": "primary",
"query": "milk",
"suggestions": [
"milk",
"semi skimmed milk",
"oat milk"
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `kind` | `string` | primary |
| `query` | `string` | milk |
| `suggestions` | `array` | 3 items |
| `suggestions` | `array` | 3 items |
## 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)
## Morrisons: Stores List
Canonical: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.stores.list
Markdown: https://docs.upscrape.com/docs/platforms/morrisons/morrisons.stores.list/index.md
# Stores List
Search and paginate the public Morrisons store directory with addresses, coordinates, hours, departments, and services.
- Platform: [Morrisons](https://docs.upscrape.com/docs/platforms/morrisons)
- Capability ID: `morrisons.stores.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"page": 1,
"page_size": 5,
"query": "London"
},
"capability": "morrisons.stores.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `page` | `integer` | No | One-based result page to fetch. |
| `page_size` | `integer` | No | Page size supplied for this request. |
| `query` | `string` | No | Case-insensitive text search across store name, address, and services. |
| `region` | `string` | No | Case-insensitive exact Morrisons region name. |
### Example input
```json
{
"page": 1,
"page_size": 5,
"query": "London"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"page": {
"has_more": true,
"page": 1,
"page_size": 5,
"returned": 5,
"total": 102
},
"stores": [
{
"address": {
"addressLine1": "King Street",
"addressLine2": "",
"city": "London",
"country": "England",
"county": "Greater London",
"postcode": "W3 9NX"
},
"convenience": {
"ExtensionValue": ""
},
"departments": [
{
"name": "pharmacy",
"openingTimes": [
{
"close": "00:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "00:00:00"
}
],
"serviceName": "Pharmacy"
},
{
"name": "cafe",
"openingTimes": [
{
"close": "17:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "08:00:00"
},
{
"close": "17:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "08:00:00"
},
{
"close": "17:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "08:00:00"
}
],
"serviceName": "Cafe"
},
{
"name": "gardenCentre",
"openingTimes": [
{
"close": "00:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "00:00:00"
}
],
"serviceName": "Garden Centre"
}
],
"linked_locations": [],
"location": {
"latitude": 51.508962,
"longitude": -0.273549
},
"name": "Acton",
"opening_times": [
{
"close": "22:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "07:00:00"
},
{
"close": "22:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "07:00:00"
},
{
"close": "22:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "07:00:00"
}
],
"pharmacy": {
"ExtensionValue": ""
},
"region": "Greater London",
"service_highlights": [
{
"name": "nutmeg",
"priority": 17,
"serviceName": "Nutmeg Clothing"
},
{
"name": "amazonLockers",
"priority": 18,
"serviceName": "Amazon Locker"
},
{
"name": "butcher",
"priority": 25,
"serviceName": "Butcher"
}
],
"services": [
{
"name": "24HourCash",
"serviceName": "ATM"
},
{
"name": "amazonLockers",
"serviceName": "Amazon Locker"
},
{
"name": "amazonReturnsKiosk",
"serviceName": "Amazon Returns Kiosk"
}
],
"special_opening_times": [
{
"name": "supermarket",
"specialOpeningTimes": [
{
"close": "20:00:00",
"closed": false,
"date": "2026-08-31",
"label": "Monday 31st August (August Bank Holiday)",
"open": "07:00:00"
}
]
},
{
"name": "cafe",
"specialOpeningTimes": [
{
"close": "17:00:00",
"closed": false,
"date": "2026-08-31",
"label": "Monday 31st August (August Bank Holiday)",
"open": "08:00:00"
}
]
},
{
"name": "gardenCentre",
"specialOpeningTimes": [
{
"close": "00:00:00",
"closed": false,
"date": "2026-08-31",
"label": "Monday 31st August (August Bank Holiday)",
"open": "00:00:00"
}
]
}
],
"store_format": "supermarket",
"store_type": "Morrisons"
},
{
"address": {
"addressLine1": "York Place",
"addressLine2": "London Road",
"city": "Bath",
"country": "England",
"county": "Somerset",
"postcode": "BA1 6AN"
},
"convenience": {
"ExtensionValue": ""
},
"departments": [
{
"name": "pharmacy",
"openingTimes": [
{
"close": "00:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "00:00:00"
}
],
"serviceName": "Pharmacy"
},
{
"name": "cafe",
"openingTimes": [
{
"close": "17:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "08:00:00"
},
{
"close": "17:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "08:00:00"
},
{
"close": "17:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "08:00:00"
}
],
"serviceName": "Cafe"
},
{
"name": "gardenCentre",
"openingTimes": [
{
"close": "00:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "00:00:00"
}
],
"serviceName": "Garden Centre"
}
],
"linked_locations": [],
"location": {
"latitude": 51.392109,
"longitude": -2.351593
},
"name": "Bath",
"opening_times": [
{
"close": "22:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "07:00:00"
},
{
"close": "22:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "07:00:00"
},
{
"close": "22:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "07:00:00"
}
],
"pharmacy": {
"ExtensionValue": ""
},
"region": "South West",
"service_highlights": [
{
"name": "morrisonsNow",
"priority": 2,
"serviceName": "Morrisons Now"
},
{
"name": "clickAndCollect",
"priority": 3,
"serviceName": "Click & Collect"
},
{
"name": "electricVehicleChargingUltra",
"priority": 5,
"serviceName": "Electric Vehicle Charging (Ultra Rapid)"
}
],
"services": [
{
"name": "24HourCash",
"serviceName": "ATM"
},
{
"name": "amazonLockers",
"serviceName": "Amazon Locker"
},
{
"name": "amazonReturnsKiosk",
"serviceName": "Amazon Returns Kiosk"
}
],
"special_opening_times": [
{
"name": "supermarket",
"specialOpeningTimes": [
{
"close": "20:00:00",
"closed": false,
"date": "2026-08-31",
"label": "Monday 31st August (August Bank Holiday)",
"open": "07:00:00"
}
]
},
{
"name": "cafe",
"specialOpeningTimes": [
{
"close": "17:00:00",
"closed": false,
"date": "2026-08-31",
"label": "Monday 31st August (August Bank Holiday)",
"open": "08:00:00"
}
]
},
{
"name": "gardenCentre",
"specialOpeningTimes": [
{
"close": "00:00:00",
"closed": false,
"date": "2026-08-31",
"label": "Monday 31st August (August Bank Holiday)",
"open": "00:00:00"
}
]
}
],
"store_format": "supermarket",
"store_type": "Morrisons"
},
{
"address": {
"addressLine1": "Beacontree Heath",
"addressLine2": "Wood Lane",
"city": "Dagenham",
"country": "England",
"county": "Essex",
"postcode": "RM10 7RA"
},
"convenience": {
"ExtensionValue": ""
},
"departments": [
{
"name": "pharmacy",
"openingTimes": [
{
"close": "00:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "00:00:00"
}
],
"serviceName": "Pharmacy"
},
{
"name": "cafe",
"openingTimes": [
{
"close": "18:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "08:00:00"
},
{
"close": "18:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "08:00:00"
},
{
"close": "18:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "08:00:00"
}
],
"serviceName": "Cafe"
},
{
"name": "gardenCentre",
"openingTimes": [
{
"close": "00:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "00:00:00"
},
{
"close": "00:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "00:00:00"
}
],
"serviceName": "Garden Centre"
}
],
"linked_locations": [],
"location": {
"latitude": 51.560107,
"longitude": 0.148194
},
"name": "Becontree Heath",
"opening_times": [
{
"close": "22:00:00",
"day": "Monday",
"day_id": 1,
"day_short": "mon",
"open": "07:00:00"
},
{
"close": "22:00:00",
"day": "Tuesday",
"day_id": 2,
"day_short": "tue",
"open": "07:00:00"
},
{
"close": "22:00:00",
"day": "Wednesday",
"day_id": 3,
"day_short": "wed",
"open": "07:00:00"
}
],
"pharmacy": {
"ExtensionValue": ""
},
"region": "Greater London",
"service_highlights": [
{
"name": "morrisonsNow",
"priority": 2,
"serviceName": "Morrisons Now"
},
{
"name": "clickAndCollect",
"priority": 3,
"serviceName": "Click & Collect"
},
{
"name": "brew",
"priority": 4,
"serviceName": "BREW - hot drinks to takeaway"
}
],
"services": [
{
"name": "24HourCash",
"serviceName": "ATM"
},
{
"name": "amazonLockers",
"serviceName": "Amazon Locker"
},
{
"name": "amazonReturnsKiosk",
"serviceName": "Amazon Returns Kiosk"
}
],
"special_opening_times": [
{
"name": "supermarket",
"specialOpeningTimes": [
{
"close": "20:00:00",
"closed": false,
"date": "2026-08-31",
"label": "Monday 31st August (August Bank Holiday)",
"open": "07:00:00"
}
]
},
{
"name": "cafe",
"specialOpeningTimes": [
{
"close": "00:00:00",
"closed": false,
"date": "2026-08-31",
"label": "Monday 31st August (August Bank Holiday)",
"open": "00:00:00"
}
]
},
{
"name": "gardenCentre",
"specialOpeningTimes": [
{
"close": "00:00:00",
"closed": false,
"date": "2026-08-31",
"label": "Monday 31st August (August Bank Holiday)",
"open": "00:00:00"
}
]
}
],
"store_format": "supermarket",
"store_type": "Morrisons"
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `page` | `object` | 5 fields |
| `page.has_more` | `boolean` | true |
| `page.page` | `integer` | 1 |
| `page.page_size` | `integer` | 5 |
| `page.returned` | `integer` | 5 |
| `page.total` | `integer` | 102 |
| `stores` | `array` | 3 items |
| `stores` | `array` | 3 items |
## 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)
## Nana Express API
Canonical: https://docs.upscrape.com/docs/platforms/nana
Markdown: https://docs.upscrape.com/docs/platforms/nana/index.md
# Nana Express API
Track Nana Express categories, products, prices, and stock across known Saudi stores.
- Platform ID: `nana`
- Capabilities: 2
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Categories List](https://docs.upscrape.com/docs/platforms/nana/nana.categories.list)
- Capability ID: `nana.categories.list`
- Cost: 1 credit per request
List categories available in a Nana store.
### [Products List](https://docs.upscrape.com/docs/platforms/nana/nana.products.list)
- Capability ID: `nana.products.list`
- Cost: 1 credit per request
List products for a Nana store category.
## Common uses
- Monitor grocery assortment, prices, and availability by Nana store
- Map Nana category trees for retail intelligence and catalog discovery
- Compare product identity, brand, pack size, and purchase limits across categories
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Nana Express: Categories List
Canonical: https://docs.upscrape.com/docs/platforms/nana/nana.categories.list
Markdown: https://docs.upscrape.com/docs/platforms/nana/nana.categories.list/index.md
# Categories List
List categories available in a Nana store.
- Platform: [Nana Express](https://docs.upscrape.com/docs/platforms/nana)
- Capability ID: `nana.categories.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"store_id": "STR00002232"
},
"capability": "nana.categories.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `store_id` | `string` | Yes | Known Nana store ID supplied by the caller; this temporary release does not dynamically resolve store IDs. |
### Example input
```json
{
"store_id": "STR00002232"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"categories": [
{
"children": [
{
"id": "COL2065829044",
"name": "Minced Meat",
"product_count": 2
},
{
"id": "COL3303748058",
"name": "Boneless Meat",
"product_count": 8
},
{
"id": "COL6485448451",
"name": "Bone-in Meat",
"product_count": 8
}
],
"id": "COL7214322072",
"image": "https://storage.googleapis.com/catalog-pim/misc/fb012fd2-6181-420c-8326-6716c320482c.png",
"name": "Chilled Meat"
},
{
"children": [
{
"id": "COL3926903428",
"image": "https://storage.googleapis.com/catalog-pim/misc/012c7446-d595-40d3-adec-b94d8f4fb6c8.png",
"name": "Flavoured Water",
"product_count": 2
},
{
"id": "COL5382064033",
"image": "https://storage.googleapis.com/catalog-pim/misc/f9fd2e4c-c9d2-440b-82f1-7d154a492f55.png",
"name": "Sparkling Water",
"product_count": 11
},
{
"id": "COL5879282482",
"image": "https://storage.googleapis.com/catalog-pim/misc/b8be7b11-4514-4c37-95a3-bbc6890a1d50.png",
"name": "Mineral Water",
"product_count": 13
}
],
"id": "COL1139197048",
"image": "https://storage.googleapis.com/catalog-pim/misc/7c4f6918-d1af-4784-b629-463f8d0a8c95.jpg",
"name": "Water & Ice",
"product_count": 39
},
{
"children": [
{
"id": "COL8999711492",
"name": "Basmati Rice",
"product_count": 67
},
{
"id": "COL1100958934",
"name": "Assorted Rice",
"product_count": 10
},
{
"id": "COL1600616172",
"name": "Pasta",
"product_count": 120
}
],
"id": "COL6082763880",
"image": "https://storage.googleapis.com/catalog-pim/misc/3543e0d6-7d0c-45bb-b276-2d657f52114f.png",
"name": "Rice, Pasta & Grains",
"product_count": 129
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `categories` | `array` | 3 items |
| `categories` | `array` | 3 items |
## 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)
## Nana Express: Products List
Canonical: https://docs.upscrape.com/docs/platforms/nana/nana.products.list
Markdown: https://docs.upscrape.com/docs/platforms/nana/nana.products.list/index.md
# Products List
List products for a Nana store category.
- Platform: [Nana Express](https://docs.upscrape.com/docs/platforms/nana)
- Capability ID: `nana.products.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"category_id": "COL2581000813",
"store_id": "STR00002232"
},
"capability": "nana.products.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `category_id` | `string` | Yes | The category ID obtained from nana.categories.list |
| `category_name` | `string` | No | Optional category display name from nana.categories.list, preserved in normalized output. |
| `store_id` | `string` | Yes | Known Nana store ID supplied by the caller; this temporary release does not dynamically resolve store IDs. |
### Example input
```json
{
"category_id": "COL2581000813",
"store_id": "STR00002232"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"products": [
{
"brand": "Activia",
"currency": "SAR",
"dynamics_product_id": "DPID0040682",
"id": "[redacted:token]",
"image_url": "https://storage.googleapis.com/catalog-pim/catalog/c/f/3/5/[redacted:token].jpg",
"in_stock": true,
"item_unit": "PCs",
"max_quantity": 14,
"name": "Activia Kefir Milk Full Fat - 280ml",
"pid": "PID10309625",
"price": 6.5,
"selling_unit": "ML"
},
{
"brand": " Galaxy",
"currency": "SAR",
"dynamics_product_id": "DPID0039325",
"id": "[redacted:token]",
"image_url": "https://storage.googleapis.com/catalog-pim/catalog/c/1/e/5/[redacted:token].jpg",
"in_stock": true,
"item_unit": "PCs",
"max_quantity": 41,
"name": "Galaxy Chocolate With Hazelnut Minis - 11 Bars - 137.5g",
"pid": "PID10308268",
"price": 21,
"selling_unit": "Gram"
},
{
"brand": "Nunu",
"currency": "SAR",
"dynamics_product_id": "DPID0038028",
"id": "[redacted:token]",
"image_url": "https://storage.googleapis.com/catalog-pim/catalog/4/c/9/8/[redacted:token].jpg",
"in_stock": true,
"item_unit": "PCs",
"max_quantity": 7,
"name": "Nunu Moisturising Oil Gel with a Refreshing Scent Enriched with Vitamin E - 200ml",
"pid": "PID10306971",
"price": 34,
"selling_unit": "ML"
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `products` | `array` | 3 items |
| `products` | `array` | 3 items |
## 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)
## ParkWhiz API
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/index.md
# ParkWhiz API
Parking availability, prices, facilities, venues, events, and city hubs from ParkWhiz.
- Platform ID: `parkwhiz`
- Capabilities: 12
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [List Event Quotes](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.event-quotes)
- Capability ID: `parkwhiz.event-quotes`
- Cost: 1 credit per request
Fetch all parking locations with coordinates, prices, and availability for a ParkWhiz event.
### [Get Event](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.event.get)
- Capability ID: `parkwhiz.event.get`
- Cost: 1 credit per request
Retrieve ParkWhiz event identity, venue, time window, type, and canonical path.
### [Search Parking Facilities](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.facilities.search)
- Capability ID: `parkwhiz.facilities.search`
- Cost: 1 credit per request
Find ParkWhiz garages and parking lots near coordinates.
### [Get Parking Facility](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.facility.get)
- Capability ID: `parkwhiz.facility.get`
- Cost: 1 credit per request
Retrieve details for a ParkWhiz garage or parking lot by location ID.
### [List Facility Reviews](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.facility.reviews)
- Capability ID: `parkwhiz.facility.reviews`
- Cost: 1 credit per request
List privacy-minimized public ratings and comments for a ParkWhiz parking facility.
### [Search Metro Hubs](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.hubs.search)
- Capability ID: `parkwhiz.hubs.search`
- Cost: 1 credit per request
Find ParkWhiz city and metro hubs near coordinates.
### [Search Monthly Parking](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.monthly-parking.search)
- Capability ID: `parkwhiz.monthly-parking.search`
- Cost: 1 credit per request
Search ParkWhiz monthly parking inventory near coordinates.
### [Search Hourly Parking](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.parking.search)
- Capability ID: `parkwhiz.parking.search`
- Cost: 1 credit per request
Search transient ParkWhiz parking availability and prices near coordinates for a specific time window.
### [Search Events](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.search-events)
- Capability ID: `parkwhiz.search-events`
- Cost: 1 credit per request
Search ParkWhiz for events by name or venue ID.
### [Search Venues](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.search-venues)
- Capability ID: `parkwhiz.search-venues`
- Cost: 1 credit per request
Search ParkWhiz for venues by name.
### [Smart Lookup](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.smart-lookup)
- Capability ID: `parkwhiz.smart-lookup`
- Cost: 1 credit per request
Find the cheapest parking option for a ParkWhiz event by event URL or ID and address, using exact location match or fuzzy address matching.
### [Get Venue](https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.venue.get)
- Capability ID: `parkwhiz.venue.get`
- Cost: 1 credit per request
Retrieve ParkWhiz venue details, location, type, and parking context.
## Common uses
- Compare event, hourly, and monthly parking inventory
- Track parking prices and availability near destinations
- Enrich venue and event datasets with parking context
- Research garages, lots, ratings, and metro coverage
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## ParkWhiz: List Event Quotes
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.event-quotes
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.event-quotes/index.md
# List Event Quotes
Fetch all parking locations with coordinates, prices, and availability for a ParkWhiz event.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.event-quotes`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"event_id": 1723404
},
"capability": "parkwhiz.event-quotes"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `event_id` | `integer` | No | ParkWhiz event ID |
| `event_url` | `string` | No | Canonical ParkWhiz event page URL |
### Example input
```json
{
"event_id": 1723404
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"event_id": 1723404,
"locations": [
{
"address": "624 S. Missouri St.",
"available": true,
"base_price": 0,
"distance_meters": 180,
"lat": 39.75938806910632,
"location_id": 3094,
"lon": -86.16577148437501,
"name": "Jobsite Supply Lot",
"quote_id": "ce19bf71-b9e4-40d1-8c97-ca53bc9a3233",
"site_url": "/p/indianapolis-parking/624-s-missouri-st",
"total_price": 0
},
{
"address": "425 W. Merrill St.",
"available": true,
"base_price": 55,
"distance_meters": 285,
"lat": 39.75908334055541,
"location_id": 12462,
"lon": -86.16694401211137,
"name": "Merrill Lot",
"quote_id": "82ca6907-3fde-487a-85ec-a17cd879ac70",
"site_url": "/p/indianapolis-parking/425-w-merrill-st",
"total_price": 58.85
},
{
"address": "502 S. West St.",
"available": true,
"base_price": 37.99,
"distance_meters": 353,
"lat": 39.7592374470115,
"location_id": 3087,
"lon": -86.16785778664962,
"name": "502 S. West St. Lot",
"quote_id": "e9e556f4-0b11-4298-870a-3f2fca3b39ca",
"site_url": "/p/indianapolis-parking/502-s-west-st",
"total_price": 44.43
}
],
"scraped_at": "2026-08-30T12:44:31Z",
"venue_lat": 39.760139861560184,
"venue_lon": -86.16390466690063
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `event_id` | `integer` | 1723404 |
| `locations` | `array` | 3 items |
| `locations` | `array` | 3 items |
| `scraped_at` | `string` | 2026-08-30T12:44:31Z |
| `venue_lat` | `number` | 39.760139861560184 |
| `venue_lon` | `number` | -86.16390466690063 |
## 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)
## ParkWhiz: Get Event
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.event.get
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.event.get/index.md
# Get Event
Retrieve ParkWhiz event identity, venue, time window, type, and canonical path.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.event.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"event_id": 1723404
},
"capability": "parkwhiz.event.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `event_id` | `integer` | Yes | Event identifier. |
### Example input
```json
{
"event_id": 1723404
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"event": {
"end_time": "2026-09-09T22:00:00.000-04:00",
"event_id": 1723404,
"event_type": "concert",
"name": "Bruno Mars: The Romantic Tour",
"site_url": "/lucas-oil-stadium-parking/bruno-mars-the-romantic-tour-1723404/",
"start_time": "2026-09-09T19:00:00.000-04:00",
"times_tbd": false,
"venue_id": 59
},
"scraped_at": "2026-08-30T12:44:25Z"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `event` | `object` | 8 fields |
| `event.end_time` | `string` | 2026-09-09T22:00:00.000-04:00 |
| `event.event_id` | `integer` | 1723404 |
| `event.event_type` | `string` | concert |
| `event.name` | `string` | Bruno Mars: The Romantic Tour |
| `event.site_url` | `string` | /lucas-oil-stadium-parking/bruno-mars-the-romantic-tour-1723404/ |
| `event.start_time` | `string` | 2026-09-09T19:00:00.000-04:00 |
| `event.times_tbd` | `boolean` | false |
| `event.venue_id` | `integer` | 59 |
| `scraped_at` | `string` | 2026-08-30T12:44:25Z |
## 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)
## ParkWhiz: Search Parking Facilities
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.facilities.search
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.facilities.search/index.md
# Search Parking Facilities
Find ParkWhiz garages and parking lots near coordinates.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.facilities.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"distance_miles": 0.5,
"latitude": 41.881943,
"longitude": -87.630976
},
"capability": "parkwhiz.facilities.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `distance_miles` | `number` | No | Distance miles supplied for this request. |
| `latitude` | `number` | Yes | Latitude supplied for this request. |
| `longitude` | `number` | Yes | Longitude supplied for this request. |
### Example input
```json
{
"distance_miles": 0.5,
"latitude": 41.881943,
"longitude": -87.630976
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"facilities": [
{
"address1": "17 N Clark St",
"city": "Chicago",
"country": "US",
"currency": "USD",
"entrances": [
{
"coordinates": [
41.882468335747035,
-87.63081005623033
]
}
],
"location_id": 56097,
"name": "70 W Madison",
"postal_code": "60657",
"site_url": "/p/chicago-parking/17-n-clark-st",
"state": "IL"
},
{
"address1": "11 S. LaSalle St.",
"city": "Chicago",
"country": "US",
"currency": "USD",
"entrances": [
{
"coordinates": [
41.881595727958754,
-87.63224612921478
]
}
],
"location_id": 8503,
"name": "Residence Inn Chicago Downtown/Loop - Valet Kiosk",
"postal_code": "60603",
"site_url": "/p/chicago-parking/11-s-lasalle-st",
"state": "IL"
},
{
"address1": "122 W. Monroe St.",
"city": "Chicago",
"country": "US",
"currency": "USD",
"entrances": [
{
"coordinates": [
41.8807336078693,
-87.63175377622248
]
}
],
"location_id": 63898,
"name": "Kimpton Gray Chicago - Valet Kiosk",
"postal_code": "60603",
"site_url": "/p/chicago-parking/122-w-monroe-st-2",
"state": "IL"
}
],
"latitude": 41.881943,
"longitude": -87.630976,
"scraped_at": "2026-08-30T12:44:21Z"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `facilities` | `array` | 3 items |
| `facilities` | `array` | 3 items |
| `latitude` | `number` | 41.881943 |
| `longitude` | `number` | -87.630976 |
| `scraped_at` | `string` | 2026-08-30T12:44:21Z |
## 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)
## ParkWhiz: Get Parking Facility
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.facility.get
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.facility.get/index.md
# Get Parking Facility
Retrieve details for a ParkWhiz garage or parking lot by location ID.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.facility.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"location_id": 2504
},
"capability": "parkwhiz.facility.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `location_id` | `integer` | Yes | Location identifier. |
### Example input
```json
{
"location_id": 2504
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"facility": {
"address1": "113 N. Wells St.",
"city": "Chicago",
"country": "US",
"currency": "USD",
"entrances": [
{
"coordinates": [
41.8837027231259,
-87.63375874612393
]
}
],
"location_id": 2504,
"name": "120 N Lasalle Garage - Valet",
"postal_code": "60602",
"site_url": "/p/chicago-parking/113-n-wells-st-2",
"state": "IL"
},
"scraped_at": "2026-08-30T12:44:23Z"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `facility` | `object` | 10 fields |
| `facility.address1` | `string` | 113 N. Wells St. |
| `facility.city` | `string` | Chicago |
| `facility.country` | `string` | US |
| `facility.currency` | `string` | USD |
| `facility.entrances` | `array` | 1 items |
| `facility.location_id` | `integer` | 2504 |
| `facility.name` | `string` | 120 N Lasalle Garage - Valet |
| `facility.postal_code` | `string` | 60602 |
| `facility.site_url` | `string` | /p/chicago-parking/113-n-wells-st-2 |
| `facility.state` | `string` | IL |
| `scraped_at` | `string` | 2026-08-30T12:44:23Z |
## 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)
## ParkWhiz: List Facility Reviews
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.facility.reviews
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.facility.reviews/index.md
# List Facility Reviews
List privacy-minimized public ratings and comments for a ParkWhiz parking facility.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.facility.reviews`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 3,
"location_id": 2504,
"page": 1
},
"capability": "parkwhiz.facility.reviews"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of results to return. |
| `location_id` | `integer` | Yes | Location identifier. |
| `page` | `integer` | No | One-based result page to fetch. |
### Example input
```json
{
"limit": 3,
"location_id": 2504,
"page": 1
}
```
## 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)
## ParkWhiz: Search Metro Hubs
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.hubs.search
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.hubs.search/index.md
# Search Metro Hubs
Find ParkWhiz city and metro hubs near coordinates.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.hubs.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"distance_miles": 50,
"latitude": 41.881943,
"limit": 10,
"longitude": -87.630976,
"only_major_metros": true,
"page": 1
},
"capability": "parkwhiz.hubs.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `distance_miles` | `integer` | No | Distance miles supplied for this request. |
| `latitude` | `number` | Yes | Latitude supplied for this request. |
| `limit` | `integer` | No | Maximum number of results to return. |
| `longitude` | `number` | Yes | Longitude supplied for this request. |
| `only_major_metros` | `boolean` | No | Only major metros supplied for this request. |
| `page` | `integer` | No | One-based result page to fetch. |
### Example input
```json
{
"distance_miles": 50,
"latitude": 41.881943,
"limit": 10,
"longitude": -87.630976,
"only_major_metros": true,
"page": 1
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"hubs": [
{
"city": "Chicago",
"coordinates": [
41.8781136,
-87.6297982
],
"country": "US",
"hub_id": 2,
"name": "Chicago",
"postal_code": "60604",
"state": "IL"
}
],
"page": 1,
"scraped_at": "2026-08-30T12:44:27Z"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `hubs` | `array` | 1 items |
| `hubs` | `array` | 1 items |
| `page` | `integer` | 1 |
| `scraped_at` | `string` | 2026-08-30T12:44:27Z |
## 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)
## ParkWhiz: Search Monthly Parking
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.monthly-parking.search
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.monthly-parking.search/index.md
# Search Monthly Parking
Search ParkWhiz monthly parking inventory near coordinates.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.monthly-parking.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"distance_miles": 0.5,
"latitude": 41.881943,
"longitude": -87.630976
},
"capability": "parkwhiz.monthly-parking.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `distance_miles` | `number` | No | Distance miles supplied for this request. |
| `latitude` | `number` | Yes | Latitude supplied for this request. |
| `longitude` | `number` | Yes | Longitude supplied for this request. |
### Example input
```json
{
"distance_miles": 0.5,
"latitude": 41.881943,
"longitude": -87.630976
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"latitude": 41.881943,
"locations": [
{
"address": "217 W. Washington St.",
"available": true,
"base_price": 70,
"distance_meters": 333,
"lat": 41.88309000202042,
"location_id": 6157,
"lon": -87.63469012696696,
"name": "Washington Wells Garage",
"quote_id": "b6076f9f-c307-4c6e-838e-ef49fc49026a",
"site_url": "/p/chicago-parking/217-w-washington-st",
"total_price": 70
},
{
"address": "230 W. Washington St.",
"available": true,
"base_price": 70,
"distance_meters": 362,
"lat": 41.8833271040038,
"location_id": 5617,
"lon": -87.63493487611413,
"name": "Washington-Franklin Garage",
"quote_id": "26dc381b-92d2-476b-b720-f122f69fa5d8",
"site_url": "/p/chicago-parking/230-w-washington-st",
"total_price": 70
},
{
"address": "181 N. Clark St.",
"available": true,
"base_price": 120,
"distance_meters": 381,
"lat": 41.88537314303264,
"location_id": 6155,
"lon": -87.63081550598145,
"name": "Government Center Self Park Garage",
"quote_id": "bc3e2014-571d-492c-a14f-1b1564177d4f",
"site_url": "/p/chicago-parking/181-n-clark-st",
"total_price": 120
}
],
"longitude": -87.630976,
"scraped_at": "2026-08-30T12:44:20Z",
"search_type": "monthly"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `latitude` | `number` | 41.881943 |
| `locations` | `array` | 3 items |
| `locations` | `array` | 3 items |
| `longitude` | `number` | -87.630976 |
| `scraped_at` | `string` | 2026-08-30T12:44:20Z |
| `search_type` | `string` | monthly |
## 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)
## ParkWhiz: Search Hourly Parking
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.parking.search
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.parking.search/index.md
# Search Hourly Parking
Search transient ParkWhiz parking availability and prices near coordinates for a specific time window.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.parking.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"distance_miles": 0.5,
"end_time": "2026-09-09T20:00:00-05:00",
"latitude": 41.881943,
"longitude": -87.630976,
"start_time": "2026-09-09T16:00:00-05:00"
},
"capability": "parkwhiz.parking.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `distance_miles` | `number` | No | Distance miles supplied for this request. |
| `end_time` | `string` | Yes | End time supplied for this request. |
| `latitude` | `number` | Yes | Latitude supplied for this request. |
| `longitude` | `number` | Yes | Longitude supplied for this request. |
| `start_time` | `string` | Yes | Start time supplied for this request. |
### Example input
```json
{
"distance_miles": 0.5,
"end_time": "2026-09-09T20:00:00-05:00",
"latitude": 41.881943,
"longitude": -87.630976,
"start_time": "2026-09-09T16:00:00-05:00"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"latitude": 41.881943,
"locations": [
{
"address": "122 W. Monroe St.",
"available": true,
"base_price": 50,
"distance_meters": 149,
"lat": 41.8807336078693,
"location_id": 63898,
"lon": -87.63175377622248,
"name": "Kimpton Gray Chicago - Valet Kiosk",
"quote_id": "884a6389-3cc7-4de4-b1af-1b309ee062d4",
"site_url": "/p/chicago-parking/122-w-monroe-st-2",
"total_price": 53.5
},
{
"address": "35 S. Dearborn St.",
"available": true,
"base_price": 18,
"distance_meters": 161,
"lat": 41.88127251918902,
"location_id": 11672,
"lon": -87.62924820206537,
"name": "30 W. Monroe St. Garage",
"quote_id": "87c7e29d-1ec4-4ea1-b8e0-69c353a358d4",
"site_url": "/p/chicago-parking/35-s-dearborn-st",
"total_price": 21.06
},
{
"address": "22 W. Monroe St.",
"available": true,
"base_price": 52,
"distance_meters": 227,
"lat": 41.880813221222844,
"location_id": 64895,
"lon": -87.62868046760559,
"name": "Hampton Inn Majestic Chicago - Valet kiosk",
"quote_id": "0d342b45-e20a-4703-ab16-6f657714f483",
"site_url": "/p/chicago-parking/22-w-monroe-st",
"total_price": 58.97
}
],
"longitude": -87.630976,
"scraped_at": "2026-08-30T12:44:18Z",
"search_type": "transient"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `latitude` | `number` | 41.881943 |
| `locations` | `array` | 3 items |
| `locations` | `array` | 3 items |
| `longitude` | `number` | -87.630976 |
| `scraped_at` | `string` | 2026-08-30T12:44:18Z |
| `search_type` | `string` | transient |
## 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)
## ParkWhiz: Search Events
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.search-events
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.search-events/index.md
# Search Events
Search ParkWhiz for events by name or venue ID.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.search-events`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"query": "Bruno Mars"
},
"capability": "parkwhiz.search-events"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of results to return. |
| `page` | `integer` | No | One-based result page to fetch. |
| `query` | `string` | No | Event name |
| `sort` | `string` | No | Sort order for returned results. Allowed values: `name`, `start_time`. |
| `starting_after` | `string` | No | Only events starting after this RFC3339 timestamp |
| `starting_before` | `string` | No | Only events starting before this RFC3339 timestamp |
| `venue_id` | `integer` | No | ParkWhiz venue ID |
### Example input
```json
{
"query": "Bruno Mars"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"events": [
{
"end_time": "2026-09-09T22:00:00.000-04:00",
"event_id": 1723404,
"name": "Bruno Mars: The Romantic Tour",
"start_time": "2026-09-09T19:00:00.000-04:00",
"venue_city": "Indianapolis, IN",
"venue_id": 59,
"venue_name": "Lucas Oil Stadium"
},
{
"end_time": "2026-09-19T22:00:00.000-04:00",
"event_id": 1723405,
"name": "Bruno Mars: The Romantic Tour",
"start_time": "2026-09-19T19:00:00.000-04:00",
"venue_city": "Miami Gardens, FL",
"venue_id": 117,
"venue_name": "Hard Rock Stadium"
},
{
"end_time": "2026-09-23T22:00:00.000-05:00",
"event_id": 1723407,
"name": "Bruno Mars: The Romantic Tour",
"start_time": "2026-09-23T19:00:00.000-05:00",
"venue_city": "San Antonio, TX",
"venue_id": 1349,
"venue_name": "Alamodome"
}
],
"query": "Bruno Mars",
"scraped_at": "2026-08-01T10:54:22Z"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `events` | `array` | 3 items |
| `events` | `array` | 3 items |
| `query` | `string` | Bruno Mars |
| `scraped_at` | `string` | 2026-08-01T10:54:22Z |
## 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)
## ParkWhiz: Search Venues
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.search-venues
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.search-venues/index.md
# Search Venues
Search ParkWhiz for venues by name.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.search-venues`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"query": "SoFi Stadium"
},
"capability": "parkwhiz.search-venues"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of results to return. |
| `page` | `integer` | No | One-based result page to fetch. |
| `query` | `string` | Yes | Venue name |
### Example input
```json
{
"query": "SoFi Stadium"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"query": "SoFi Stadium",
"scraped_at": "2026-08-01T10:54:23Z",
"venues": [
{
"address": "1001 S. Stadium Drive",
"city": "Inglewood",
"name": "SoFi Stadium",
"state": "CA",
"venue_id": 473556
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `query` | `string` | SoFi Stadium |
| `scraped_at` | `string` | 2026-08-01T10:54:23Z |
| `venues` | `array` | 1 items |
| `venues` | `array` | 1 items |
## 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)
## ParkWhiz: Smart Lookup
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.smart-lookup
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.smart-lookup/index.md
# Smart Lookup
Find the cheapest parking option for a ParkWhiz event by event URL or ID and address, using exact location match or fuzzy address matching.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.smart-lookup`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"address": "624 S. Missouri St.",
"event_id": 1723404
},
"capability": "parkwhiz.smart-lookup"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `address` | `string` | No | Parking lot address or name for fuzzy matching |
| `event_id` | `integer` | No | ParkWhiz event ID |
| `event_url` | `string` | No | Canonical ParkWhiz event page URL |
| `location_id` | `integer` | No | ParkWhiz location ID for exact matching |
### Example input
```json
{
"address": "624 S. Missouri St.",
"event_id": 1723404
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"address": "624 S. Missouri St.",
"event_id": 1723404,
"location_address": "624 S. Missouri St.",
"location_id": 3094,
"location_lat": 39.75938806910632,
"location_lon": -86.16577148437501,
"location_name": "Jobsite Supply Lot",
"lookup_method": "exact",
"parking_end": "2026-09-09T23:00:00",
"parking_start": "2026-09-09T18:00:00",
"pw_availability": "available",
"pw_base_price": 0,
"pw_total_price": 0,
"quote_id": "ab808f06-8698-4106-b222-98d55135d920",
"scraped_at": "2026-08-30T12:44:29Z",
"site_url": "/p/indianapolis-parking/624-s-missouri-st"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `address` | `string` | 624 S. Missouri St. |
| `event_id` | `integer` | 1723404 |
| `location_address` | `string` | 624 S. Missouri St. |
| `location_id` | `integer` | 3094 |
| `location_lat` | `number` | 39.75938806910632 |
| `location_lon` | `number` | -86.16577148437501 |
| `location_name` | `string` | Jobsite Supply Lot |
| `lookup_method` | `string` | exact |
| `parking_end` | `string` | 2026-09-09T23:00:00 |
| `parking_start` | `string` | 2026-09-09T18:00:00 |
| `pw_availability` | `string` | available |
| `pw_base_price` | `integer` | 0 |
| `pw_total_price` | `integer` | 0 |
| `quote_id` | `string` | ab808f06-8698-4106-b222-98d55135d920 |
| `scraped_at` | `string` | 2026-08-30T12:44:29Z |
| `site_url` | `string` | /p/indianapolis-parking/624-s-missouri-st |
## 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)
## ParkWhiz: Get Venue
Canonical: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.venue.get
Markdown: https://docs.upscrape.com/docs/platforms/parkwhiz/parkwhiz.venue.get/index.md
# Get Venue
Retrieve ParkWhiz venue details, location, type, and parking context.
- Platform: [ParkWhiz](https://docs.upscrape.com/docs/platforms/parkwhiz)
- Capability ID: `parkwhiz.venue.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"venue_id": 59
},
"capability": "parkwhiz.venue.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `venue_id` | `integer` | Yes | Venue identifier. |
### Example input
```json
{
"venue_id": 59
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"scraped_at": "2026-08-30T12:44:24Z",
"venue": {
"address1": "500 S. Capitol Ave.",
"city": "Indianapolis",
"coordinates": [
39.760139861560184,
-86.16390466690063
],
"country": "US",
"description": "There is no better place for football in Indianapolis than Lucas Oil Stadium, home of the legendary Indianapolis Colts. This championship-winning team has many thousands of loyal fans, so it is important to book Lucas Oil Stadium parking ahead of time with ParkWhiz. The current team traces their history back to the Baltimore Colts, which had predecessors in previous decades, but formed as an NFL e…",
"enhanced_airport": false,
"name": "Lucas Oil Stadium",
"postal_code": "46225",
"primarily_transient": false,
"state": "IN",
"timezone": "America/New_York",
"venue_id": 59,
"venue_type": "Sports",
"website": "https://www.lucasoilstadium.com/events-tickets/"
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `scraped_at` | `string` | 2026-08-30T12:44:24Z |
| `venue` | `object` | 14 fields |
| `venue.address1` | `string` | 500 S. Capitol Ave. |
| `venue.city` | `string` | Indianapolis |
| `venue.coordinates` | `array` | 2 items |
| `venue.country` | `string` | US |
| `venue.description` | `string` | There is no better place for football in Indianapolis than Lucas Oil St… |
| `venue.enhanced_airport` | `boolean` | false |
| `venue.name` | `string` | Lucas Oil Stadium |
| `venue.postal_code` | `string` | 46225 |
| `venue.primarily_transient` | `boolean` | false |
| `venue.state` | `string` | IN |
| `venue.timezone` | `string` | America/New_York |
| `venue.venue_id` | `integer` | 59 |
| `venue.venue_type` | `string` | Sports |
| `venue.website` | `string` | https://www.lucasoilstadium.com/events-tickets/ |
## 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)
## Pepperfry API
Canonical: https://docs.upscrape.com/docs/platforms/pepperfry
Markdown: https://docs.upscrape.com/docs/platforms/pepperfry/index.md
# Pepperfry API
Public Pepperfry category, product, deal, and delivery data for commerce research.
- Platform ID: `pepperfry`
- Capabilities: 4
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Category](https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.catalog.category)
- Capability ID: `pepperfry.catalog.category`
- Cost: 1 credit per request
Fetch category listing pages from category URLs and return normalized listing rows.
### [DealsGet](https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.deals.get)
- Capability ID: `pepperfry.deals.get`
- Cost: 1 credit per request
List public product offers from Pepperfry's limited-time-offers catalog.
### [PincodeCheck](https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.pincode.check)
- Capability ID: `pepperfry.pincode.check`
- Cost: 1 credit per request
Check product-specific public delivery and serviceability metadata for an Indian pincode.
### [Product](https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.product.get)
- Capability ID: `pepperfry.product.get`
- Cost: 1 credit per request
Fetch a public Pepperfry product page and normalize its pricing, availability, images, and specifications.
## Common uses
- Furniture assortment and price monitoring
- Category and promotion tracking
- Product specification enrichment
- Product-specific delivery coverage checks
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Pepperfry: Category
Canonical: https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.catalog.category
Markdown: https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.catalog.category/index.md
# Category
Fetch category listing pages from category URLs and return normalized listing rows.
- Platform: [Pepperfry](https://docs.upscrape.com/docs/platforms/pepperfry)
- Capability ID: `pepperfry.catalog.category`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"category_path": "/category/sofas.html",
"max_pages": 1,
"page": 1
},
"capability": "pepperfry.catalog.category"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `category_path` | `string` | Yes | Category path supplied for this request. |
| `max_pages` | `integer` | No | Max pages supplied for this request. |
| `page` | `integer` | No | One-based result page to fetch. |
### Example input
```json
{
"category_path": "/category/sofas.html",
"max_pages": 1,
"page": 1
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"category_path": "/category/sofas.html",
"end_page": 1,
"has_more": true,
"listings": [
{
"currency": "INR",
"page": 1,
"position": 1,
"product_id": "2195300",
"title": "Cresco Fabric 3 Seater Sofa In Camel Brown Colour",
"url": "https://www.pepperfry.com/product/[redacted:token].html"
},
{
"currency": "INR",
"page": 1,
"position": 2,
"product_id": "2315175",
"title": "Moss 3 Seater Sofa In White Colour",
"url": "https://www.pepperfry.com/product/[redacted:token].html"
},
{
"currency": "INR",
"page": 1,
"position": 3,
"product_id": "2191642",
"title": "Frejol Velvet 3 Seater Sofa In Cream Colour",
"url": "https://www.pepperfry.com/product/[redacted:token].html"
}
],
"pages_fetched": 1,
"start_page": 1
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `category_path` | `string` | /category/sofas.html |
| `end_page` | `integer` | 1 |
| `has_more` | `boolean` | true |
| `listings` | `array` | 3 items |
| `listings` | `array` | 3 items |
| `pages_fetched` | `integer` | 1 |
| `start_page` | `integer` | 1 |
## 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)
## Pepperfry: DealsGet
Canonical: https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.deals.get
Markdown: https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.deals.get/index.md
# DealsGet
List public product offers from Pepperfry's limited-time-offers catalog.
- Platform: [Pepperfry](https://docs.upscrape.com/docs/platforms/pepperfry)
- Capability ID: `pepperfry.deals.get`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"deal_url": "https://www.pepperfry.com/discover/Limited-Time-Offers.html",
"max_pages": 1,
"page": 1
},
"capability": "pepperfry.deals.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `deal_filter` | `string` | No | Deal filter supplied for this request. |
| `deal_url` | `string` | No | Public URL for Deal. |
| `max_pages` | `integer` | No | Max pages supplied for this request. |
| `page` | `integer` | No | One-based result page to fetch. |
### Example input
```json
{
"deal_url": "https://www.pepperfry.com/discover/Limited-Time-Offers.html",
"max_pages": 1,
"page": 1
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"deals": [
{
"deal_id": "2317211",
"title": "Dundee Half Leather 3 Seater Sofa in Tuscany Cedar colour",
"url": "https://www.pepperfry.com/product/[redacted:token].html"
},
{
"deal_id": "2317202",
"title": "Clarissa Half Leather 3 Seater Sofa in Exotica Harvest Gold colour",
"url": "https://www.pepperfry.com/product/[redacted:token].html"
},
{
"deal_id": "2317199",
"title": "Tuscon Half Leather 3 Seater Sofa in Exotica forest Green colour",
"url": "https://www.pepperfry.com/product/[redacted:token].html"
}
],
"end_page": 1,
"has_more": true,
"pages_fetched": 1,
"start_page": 1
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `deals` | `array` | 3 items |
| `deals` | `array` | 3 items |
| `end_page` | `integer` | 1 |
| `has_more` | `boolean` | true |
| `pages_fetched` | `integer` | 1 |
| `start_page` | `integer` | 1 |
## 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)
## Pepperfry: PincodeCheck
Canonical: https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.pincode.check
Markdown: https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.pincode.check/index.md
# PincodeCheck
Check product-specific public delivery and serviceability metadata for an Indian pincode.
- Platform: [Pepperfry](https://docs.upscrape.com/docs/platforms/pepperfry)
- Capability ID: `pepperfry.pincode.check`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"pincode": "400001",
"product_id": "2195300"
},
"capability": "pepperfry.pincode.check"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `pincode` | `string` | Yes | Pincode supplied for this request. |
| `product_id` | `string` | Yes | Product identifier. |
### Example input
```json
{
"pincode": "400001",
"product_id": "2195300"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"is_serviceable": true,
"pincode": "400001"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `is_serviceable` | `boolean` | true |
| `pincode` | `string` | 400001 |
## 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)
## Pepperfry: Product
Canonical: https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.product.get
Markdown: https://docs.upscrape.com/docs/platforms/pepperfry/pepperfry.product.get/index.md
# Product
Fetch a public Pepperfry product page and normalize its pricing, availability, images, and specifications.
- Platform: [Pepperfry](https://docs.upscrape.com/docs/platforms/pepperfry)
- Capability ID: `pepperfry.product.get`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"pincode": "400001",
"product_url": "https://www.pepperfry.com/product/cresco-fabric-3-seater-sofa-in-camel-brown-colour-2195300.html"
},
"capability": "pepperfry.product.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `pincode` | `string` | No | Pincode supplied for this request. |
| `product_url` | `string` | Yes | Public URL for Product. |
### Example input
```json
{
"pincode": "400001",
"product_url": "https://www.pepperfry.com/product/cresco-fabric-3-seater-sofa-in-camel-brown-colour-2195300.html"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"brand": "Interio By Godrej",
"currency": "INR",
"description": "Shop Cresco Fabric 3 Seater Sofa In Camel Brown Colour at 61% OFF by Interio By Godrej Online. Get great deals & offers on various Sofa Sets. ✔Free Shipping ✔Easy Returns ✔No Cost EMI",
"image_urls": [
"https://ii1.pepperfry.com/media/catalog/product/c/r/1250x625/[redacted:token].jpg",
"https://ii1.pepperfry.com/media/catalog/product/c/r/1250x625/[redacted:token].jpg",
"https://ii1.pepperfry.com/media/catalog/product/c/r/1250x625/[redacted:token].jpg"
],
"mrp": 14990,
"pincode": "400001",
"price": 14990,
"product_id": "FN2195300-S-PM5458",
"title": "Cresco Fabric 3 Seater Sofa In Camel Brown Colour",
"url": "https://www.pepperfry.com/product/[redacted:token].html?country=IN&requestPlatform=web"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `brand` | `string` | Interio By Godrej |
| `currency` | `string` | INR |
| `description` | `string` | Shop Cresco Fabric 3 Seater Sofa In Camel Brown Colour at 61% OFF by In… |
| `image_urls` | `array` | 3 items |
| `image_urls` | `array` | 3 items |
| `mrp` | `integer` | 14990 |
| `pincode` | `string` | 400001 |
| `price` | `integer` | 14990 |
| `product_id` | `string` | FN2195300-S-PM5458 |
| `title` | `string` | Cresco Fabric 3 Seater Sofa In Camel Brown Colour |
| `url` | `string` | https://www.pepperfry.com/product/[redacted:token].html?country=IN&requ… |
## 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)
## PharmEasy API
Canonical: https://docs.upscrape.com/docs/platforms/pharmeasy
Markdown: https://docs.upscrape.com/docs/platforms/pharmeasy/index.md
# PharmEasy API
Search PharmEasy medicines and enrich them with location, prescription, and composition metadata.
- Platform ID: `pharmeasy`
- Capabilities: 3
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Get medicine details](https://docs.upscrape.com/docs/platforms/pharmeasy/pharmeasy.get_medicine_details)
- Capability ID: `pharmeasy.get_medicine_details`
- Cost: 1 credit per request
Read public PharmEasy medicine detail metadata, price, availability, prescription requirement, and active ingredients.
### [List categories](https://docs.upscrape.com/docs/platforms/pharmeasy/pharmeasy.list_categories)
- Capability ID: `pharmeasy.list_categories`
- Cost: 1 credit per request
List PharmEasy healthcare and medicine category metadata from the live category API.
### [Search medicines](https://docs.upscrape.com/docs/platforms/pharmeasy/pharmeasy.search_medicines)
- Capability ID: `pharmeasy.search_medicines`
- Cost: 1 credit per request
Search PharmEasy medicine and healthcare product suggestions with optional PIN-code targeting.
## Common uses
- Medicine catalog discovery
- PIN-code availability targeting
- Prescription and ingredient enrichment
- Healthcare category monitoring
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## PharmEasy: Get medicine details
Canonical: https://docs.upscrape.com/docs/platforms/pharmeasy/pharmeasy.get_medicine_details
Markdown: https://docs.upscrape.com/docs/platforms/pharmeasy/pharmeasy.get_medicine_details/index.md
# Get medicine details
Read public PharmEasy medicine detail metadata, price, availability, prescription requirement, and active ingredients.
- Platform: [PharmEasy](https://docs.upscrape.com/docs/platforms/pharmeasy)
- Capability ID: `pharmeasy.get_medicine_details`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"medicine_slug": "dolo-650mg-strip-of-15-tablets-44140",
"pincode": "400001"
},
"capability": "pharmeasy.get_medicine_details"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `medicine_slug` | `string` | Yes | Canonical PharmEasy product slug without a URL or path. |
| `pincode` | `string` | No | Optional six-digit Indian PIN code used for location targeting. |
### Example input
```json
{
"medicine_slug": "dolo-650mg-strip-of-15-tablets-44140",
"pincode": "400001"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"medicine": {
"active_ingredients": [
"Paracetamol / Acetaminophen(650.0 Mg)"
],
"availability": "https://schema.org/InStock",
"brand": "DOLO",
"composition": "Paracetamol / Acetaminophen(650.0 Mg)",
"currency": "INR",
"manufacturer": "MICRO LABS",
"medicine_id": "44140",
"name": "Dolo 650 Tablet",
"prescription_required": false,
"prescription_status": "https://schema.org/OTC",
"price": 24.09,
"slug": "dolo-650mg-strip-of-15-tablets-44140",
"url": "https://pharmeasy.in/online-medicine-order/dolo-650mg-strip-of-15-tablets-44140"
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `medicine` | `object` | 13 fields |
| `medicine.active_ingredients` | `array` | 1 items |
| `medicine.availability` | `string` | https://schema.org/InStock |
| `medicine.brand` | `string` | DOLO |
| `medicine.composition` | `string` | Paracetamol / Acetaminophen(650.0 Mg) |
| `medicine.currency` | `string` | INR |
| `medicine.manufacturer` | `string` | MICRO LABS |
| `medicine.medicine_id` | `string` | 44140 |
| `medicine.name` | `string` | Dolo 650 Tablet |
| `medicine.prescription_required` | `boolean` | false |
| `medicine.prescription_status` | `string` | https://schema.org/OTC |
| `medicine.price` | `number` | 24.09 |
| `medicine.slug` | `string` | dolo-650mg-strip-of-15-tablets-44140 |
| `medicine.url` | `string` | https://pharmeasy.in/online-medicine-order/dolo-650mg-strip-of-15-table… |
## 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)
## PharmEasy: List categories
Canonical: https://docs.upscrape.com/docs/platforms/pharmeasy/pharmeasy.list_categories
Markdown: https://docs.upscrape.com/docs/platforms/pharmeasy/pharmeasy.list_categories/index.md
# List categories
List PharmEasy healthcare and medicine category metadata from the live category API.
- Platform: [PharmEasy](https://docs.upscrape.com/docs/platforms/pharmeasy)
- Capability ID: `pharmeasy.list_categories`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "pharmeasy.list_categories"
}'
```
## Input
This capability accepts an empty input object.
### Example input
```json
{}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"categories": [
{
"category_id": 9297,
"deeplink": "push.pharmeasy.clevertap://deeplink/healthcare_product_list?category_id=9297&category_name=Health Must Haves",
"image_url": "https://cdn01.pharmeasy.in/dam/discovery/categoryImages/2c44c56f4f7436469bb8f93475c9ad54.png?f=png",
"name": "Health Must Haves",
"slug": "top-products-9297"
},
{
"category_id": 575,
"deeplink": "push.pharmeasy.clevertap://deeplink/healthcare_product_list?category_id=575&category_name=Sexual Wellness",
"discount_text": "Upto 53% off",
"image_url": "https://cdn01.pharmeasy.in/dam/discovery/categoryImages/24a22873d4693fb19654ea9e3fd1437d.png?f=png",
"name": "Sexual Wellness",
"slug": "sexual-wellness-575"
},
{
"category_id": 623,
"deeplink": "push.pharmeasy.clevertap://deeplink/healthcare_product_list?category_id=623&category_name=Vitamins and Supplements",
"discount_text": "Upto 80% off",
"image_url": "https://cdn01.pharmeasy.in/dam/discovery/categoryImages/71ab5b001d2c3ef699d6661a1c583998.jpg?f=jpg",
"name": "Vitamins & Supplements",
"slug": "fitness-supplements-623"
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `categories` | `array` | 3 items |
| `categories` | `array` | 3 items |
## 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)
## PharmEasy: Search medicines
Canonical: https://docs.upscrape.com/docs/platforms/pharmeasy/pharmeasy.search_medicines
Markdown: https://docs.upscrape.com/docs/platforms/pharmeasy/pharmeasy.search_medicines/index.md
# Search medicines
Search PharmEasy medicine and healthcare product suggestions with optional PIN-code targeting.
- Platform: [PharmEasy](https://docs.upscrape.com/docs/platforms/pharmeasy)
- Capability ID: `pharmeasy.search_medicines`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 10,
"pincode": "400001",
"query": "paracetamol"
},
"capability": "pharmeasy.search_medicines"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of unique products to return. |
| `pincode` | `string` | No | Optional six-digit Indian PIN code used for location targeting. |
| `query` | `string` | Yes | Medicine or healthcare product name to search. |
### Example input
```json
{
"limit": 10,
"pincode": "400001",
"query": "paracetamol"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"pincode": "400001",
"products": [
{
"active_ingredients": [
"PARACETAMOL / ACETAMINOPHEN"
],
"entity_type": 2,
"is_medicine": true,
"medicine_id": "44140",
"name": "Dolo 650Mg Strip Of 15 Tablets",
"prescription_required": false,
"slug": "dolo-650mg-strip-of-15-tablets-44140",
"subtitle": "15 Tablet(s) in Strip",
"url": "https://pharmeasy.in/online-medicine-order/dolo-650mg-strip-of-15-tablets-44140"
},
{
"active_ingredients": [
"NIMESULIDE+PARACETAMOL / ACETAMINOPHEN"
],
"entity_type": 2,
"is_medicine": true,
"medicine_id": "6216",
"name": "Nicip Plus Strip Of 10 Tablets",
"prescription_required": false,
"slug": "nicip-plus-tablet-6216",
"subtitle": "10 Tablet(s) in Strip",
"url": "https://pharmeasy.in/online-medicine-order/nicip-plus-tablet-6216"
},
{
"active_ingredients": [
"PARACETAMOL / ACETAMINOPHEN"
],
"entity_type": 2,
"is_medicine": true,
"medicine_id": "188729",
"name": "Leemol 650Mg Strip Of 15 Tablets",
"prescription_required": false,
"slug": "leemol-650mg-tablet-15-s-188729",
"subtitle": "15 Tablet(s) in Strip",
"url": "https://pharmeasy.in/online-medicine-order/leemol-650mg-tablet-15-s-188729"
}
],
"query": "paracetamol"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `pincode` | `string` | 400001 |
| `products` | `array` | 3 items |
| `products` | `array` | 3 items |
| `query` | `string` | paracetamol |
## 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)
## Pinterest API
Canonical: https://docs.upscrape.com/docs/platforms/pinterest
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/index.md
# Pinterest API
Extract public Pinterest profiles, boards, sections, and pin metadata.
- Platform ID: `pinterest`
- Capabilities: 9
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Get Full Board](https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-full.get)
- Capability ID: `pinterest.board-full.get`
- Cost: 1 credit per request
Compatibility endpoint for bounded board snapshots. For large or complete backups, use pinterest.board-pins.list and follow pagination.next_cursor; unbounded boards over 1,000 pins are rejected instead of returning silent partial data. Pin media includes video_url when recovered plus explicit media_type and media_detection evidence.
### [Get Board ID](https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-id.get)
- Capability ID: `pinterest.board-id.get`
- Cost: 1 credit per request
Extracts the numeric board ID from a Pinterest board URL. The board ID is required for some API operations and is extracted from the page's embedded data.
### [Get Board Info](https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-info.get)
- Capability ID: `pinterest.board-info.get`
- Cost: 1 credit per request
Fetches board metadata without pins. Returns board name, description, pin count, section count, owner, privacy setting, cover images, and section list with pin counts.
### [List Board Pins](https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-pins.list)
- Capability ID: `pinterest.board-pins.list`
- Cost: 1 credit per request
Returns one bounded page of public board pins plus pagination.next_cursor. Keep requesting with cursor until pagination.has_more is false. Designed for large-board backups and resumable collection. Pin media includes video_url when recovered plus media_type and media_detection so unverified media is not mislabeled as a confirmed image.
### [Get Pin](https://docs.upscrape.com/docs/platforms/pinterest/pinterest.pin.get)
- Capability ID: `pinterest.pin.get`
- Cost: 1 credit per request
Fetches complete metadata for a single Pinterest pin including title, description, images, engagement metrics, creator info, rich metadata, and video_url for regular and Idea video pins. media_type and media_detection expose whether video was confirmed, detected without a URL, checked, or remains unverified.
### [List Section Pins](https://docs.upscrape.com/docs/platforms/pinterest/pinterest.section-pins.list)
- Capability ID: `pinterest.section-pins.list`
- Cost: 1 credit per request
Returns one bounded page of public section pins plus pagination.next_cursor. Keep requesting with cursor until pagination.has_more is false. Designed for large-section backups and resumable collection. Pin media includes video_url when recovered plus explicit media_type and media_detection evidence.
### [Get Section](https://docs.upscrape.com/docs/platforms/pinterest/pinterest.section.get)
- Capability ID: `pinterest.section.get`
- Cost: 1 credit per request
Compatibility endpoint for small section snapshots. Sections reporting or returning more than 1,000 pins are rejected instead of returning silent partial data; use pinterest.section-pins.list for large or resumable backups. Returned pins include video_url when recovered plus explicit media_type and media_detection evidence.
### [Get User Boards](https://docs.upscrape.com/docs/platforms/pinterest/pinterest.user-boards.get)
- Capability ID: `pinterest.user-boards.get`
- Cost: 1 credit per request
Fetches all public boards for a Pinterest user. Returns board metadata including name, description, pin count, section count, privacy setting, cover image, and owner information.
### [Get User](https://docs.upscrape.com/docs/platforms/pinterest/pinterest.user.get)
- Capability ID: `pinterest.user.get`
- Cost: 1 credit per request
Fetches a Pinterest user's public profile data including username, display name, follower count, profile image URL, and verification status (partner, merchant, domain verified).
## Common uses
- Monitor brand-owned Pinterest profiles and boards
- Analyze board structure, sections, and publishing volume
- Collect public pin metadata and media URLs
- Archive public board content for creative research
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Pinterest Scraper: Get Full Board
Canonical: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-full.get
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-full.get/index.md
# Get Full Board
Compatibility endpoint for bounded board snapshots. For large or complete backups, use pinterest.board-pins.list and follow pagination.next_cursor; unbounded boards over 1,000 pins are rejected instead of returning silent partial data. Pin media includes video_url when recovered plus explicit media_type and media_detection evidence.
- Platform: [Pinterest](https://docs.upscrape.com/docs/platforms/pinterest)
- Capability ID: `pinterest.board-full.get`
- Cost: 1 credit per request
- Maximum runtime: 120 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"max_pins": 25,
"max_sections": 0,
"page_size": 25,
"url": "https://www.pinterest.com/PinterestPredicts/gimme-gummy/"
},
"capability": "pinterest.board-full.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `max_pins` | `integer` | No | Maximum total number of pins to return across board-level pins and section pins. Omit or set to 0 to fetch all available pins. |
| `max_sections` | `integer` | No | Maximum number of sections to scrape. When set, only the first N sections will have their pins fetched. Section metadata is always returned for all sections via stats.total_sections. Omit or set to 0 to scrape all sections. |
| `page_size` | `integer` | No | Pinterest pagination page size for full-board pin fetching. Board pin requests are capped at 250 and section pin requests at 50. |
| `url` | `string` | Yes | Full Pinterest board URL or ?boardId= URL |
### Example input
```json
{
"max_pins": 25,
"max_sections": 0,
"page_size": 25,
"url": "https://www.pinterest.com/PinterestPredicts/gimme-gummy/"
}
```
## 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)
## Pinterest Scraper: Get Board ID
Canonical: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-id.get
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-id.get/index.md
# Get Board ID
Extracts the numeric board ID from a Pinterest board URL. The board ID is required for some API operations and is extracted from the page's embedded data.
- Platform: [Pinterest](https://docs.upscrape.com/docs/platforms/pinterest)
- Capability ID: `pinterest.board-id.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.pinterest.com/PinterestPredicts/gimme-gummy/"
},
"capability": "pinterest.board-id.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | Full Pinterest board URL |
### Example input
```json
{
"url": "https://www.pinterest.com/PinterestPredicts/gimme-gummy/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"board_id": "871517034080907898"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `board_id` | `string` | 871517034080907898 |
## 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)
## Pinterest Scraper: Get Board Info
Canonical: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-info.get
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-info.get/index.md
# Get Board Info
Fetches board metadata without pins. Returns board name, description, pin count, section count, owner, privacy setting, cover images, and section list with pin counts.
- Platform: [Pinterest](https://docs.upscrape.com/docs/platforms/pinterest)
- Capability ID: `pinterest.board-info.get`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.pinterest.com/PinterestPredicts/gimme-gummy/"
},
"capability": "pinterest.board-info.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | Full Pinterest board URL |
### Example input
```json
{
"url": "https://www.pinterest.com/PinterestPredicts/gimme-gummy/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"board": {
"collaborator_count": 0,
"description": "Bendy phone cases, rubberized nail art and 3D jewelry will become your new tactile obsession.",
"follower_count": 0,
"id": "871517034080907898",
"is_collaborative": false,
"name": "Gimme Gummy",
"owner": {
"full_name": "Pinterest Predicts",
"id": "871517102799028482",
"username": "pinterestpredicts"
},
"pin_count": 145,
"privacy": "public",
"section_count": 0,
"url": "/pinterestpredicts/gimme-gummy/"
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `board` | `object` | 11 fields |
| `board.collaborator_count` | `integer` | 0 |
| `board.description` | `string` | Bendy phone cases, rubberized nail art and 3D jewelry will become your … |
| `board.follower_count` | `integer` | 0 |
| `board.id` | `string` | 871517034080907898 |
| `board.is_collaborative` | `boolean` | false |
| `board.name` | `string` | Gimme Gummy |
| `board.owner` | `object` | 3 fields |
| `board.pin_count` | `integer` | 145 |
| `board.privacy` | `string` | public |
| `board.section_count` | `integer` | 0 |
| `board.url` | `string` | /pinterestpredicts/gimme-gummy/ |
## 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)
## Pinterest Scraper: List Board Pins
Canonical: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-pins.list
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.board-pins.list/index.md
# List Board Pins
Returns one bounded page of public board pins plus pagination.next_cursor. Keep requesting with cursor until pagination.has_more is false. Designed for large-board backups and resumable collection. Pin media includes video_url when recovered plus media_type and media_detection so unverified media is not mislabeled as a confirmed image.
- Platform: [Pinterest](https://docs.upscrape.com/docs/platforms/pinterest)
- Capability ID: `pinterest.board-pins.list`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 25,
"url": "https://www.pinterest.com/PinterestPredicts/gimme-gummy/"
},
"capability": "pinterest.board-pins.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cursor` | `string` | No | Opaque continuation cursor returned by the previous page |
| `limit` | `integer` | No | Maximum pins returned in this page |
| `url` | `string` | Yes | Full public Pinterest board URL |
### Example input
```json
{
"limit": 25,
"url": "https://www.pinterest.com/PinterestPredicts/gimme-gummy/"
}
```
## 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)
## Pinterest Scraper: Get Pin
Canonical: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.pin.get
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.pin.get/index.md
# Get Pin
Fetches complete metadata for a single Pinterest pin including title, description, images, engagement metrics, creator info, rich metadata, and video_url for regular and Idea video pins. media_type and media_detection expose whether video was confirmed, detected without a URL, checked, or remains unverified.
- Platform: [Pinterest](https://docs.upscrape.com/docs/platforms/pinterest)
- Capability ID: `pinterest.pin.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.pinterest.com/pin/46443439902640817/"
},
"capability": "pinterest.pin.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | Full Pinterest pin URL |
### Example input
```json
{
"url": "https://www.pinterest.com/pin/46443439902640817/"
}
```
## 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)
## Pinterest Scraper: List Section Pins
Canonical: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.section-pins.list
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.section-pins.list/index.md
# List Section Pins
Returns one bounded page of public section pins plus pagination.next_cursor. Keep requesting with cursor until pagination.has_more is false. Designed for large-section backups and resumable collection. Pin media includes video_url when recovered plus explicit media_type and media_detection evidence.
- Platform: [Pinterest](https://docs.upscrape.com/docs/platforms/pinterest)
- Capability ID: `pinterest.section-pins.list`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 25,
"url": "https://www.pinterest.com/ashishbishnoi18/myboard/mysection/"
},
"capability": "pinterest.section-pins.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cursor` | `string` | No | Opaque continuation cursor returned by the previous page |
| `limit` | `integer` | No | Maximum pins returned in this page |
| `url` | `string` | Yes | Full public Pinterest section URL |
### Example input
```json
{
"limit": 25,
"url": "https://www.pinterest.com/ashishbishnoi18/myboard/mysection/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"board": {
"id": "64950488315410023",
"is_collaborative": false,
"name": "myboard",
"pin_count": 0,
"privacy": "public",
"url": "/ashishbishnoi18/myboard/"
},
"description": " ",
"domain": "Uploaded by user",
"dominant_color": "#746c57",
"favorite_count": 0,
"has_products": false,
"id": "64950419623552970",
"images": {
"236x": {
"height": 419,
"url": "https://i.pinimg.com/236x/4a/ba/b4/4abab487c45905abb79fcc5abf3acac3.jpg",
"width": 236
},
"orig": {
"height": 1920,
"url": "https://i.pinimg.com/originals/4a/ba/b4/4abab487c45905abb79fcc5abf3acac3.jpg",
"width": 1080
}
},
"is_native": true,
"is_promoted": false,
"is_repin": true,
"is_story_pin": true,
"is_video": true,
"media_detection": "confirmed",
"media_type": "video",
"native_creator": {
"full_name": "[redacted]",
"username": "[redacted]",
"verified_identity": {
"verified": false
}
},
"pinner": {
"full_name": "[redacted]",
"username": "ashishbishnoi18",
"verified_identity": {
"verified": false
}
},
"repin_count": 0,
"save_count": 23436,
"video_url": "https://v1.pinimg.com/videos/iht/720p/ae/bc/d2/aebcd2c0e48476eebf1a663db0dc5b8b.mp4"
}
],
"outcome": {
"reason": "page_finished",
"status": "complete"
},
"pagination": {
"has_more": false,
"retrieved_total": 6
},
"section": {
"board_id": "64950488315410023",
"id": "5469010104714075890",
"pin_count": 6,
"slug": "mysection",
"title": "mysection"
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 1 items |
| `items` | `array` | 1 items |
| `outcome` | `object` | 2 fields |
| `outcome.reason` | `string` | page_finished |
| `outcome.status` | `string` | complete |
| `pagination` | `object` | 2 fields |
| `pagination.has_more` | `boolean` | false |
| `pagination.retrieved_total` | `integer` | 6 |
| `section` | `object` | 5 fields |
| `section.board_id` | `string` | 64950488315410023 |
| `section.id` | `string` | 5469010104714075890 |
| `section.pin_count` | `integer` | 6 |
| `section.slug` | `string` | mysection |
| `section.title` | `string` | mysection |
## 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)
## Pinterest Scraper: Get Section
Canonical: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.section.get
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.section.get/index.md
# Get Section
Compatibility endpoint for small section snapshots. Sections reporting or returning more than 1,000 pins are rejected instead of returning silent partial data; use pinterest.section-pins.list for large or resumable backups. Returned pins include video_url when recovered plus explicit media_type and media_detection evidence.
- Platform: [Pinterest](https://docs.upscrape.com/docs/platforms/pinterest)
- Capability ID: `pinterest.section.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.pinterest.com/ashishbishnoi18/myboard/mysection/"
},
"capability": "pinterest.section.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | Full Pinterest section URL |
### Example input
```json
{
"url": "https://www.pinterest.com/ashishbishnoi18/myboard/mysection/"
}
```
## 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)
## Pinterest Scraper: Get User Boards
Canonical: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.user-boards.get
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.user-boards.get/index.md
# Get User Boards
Fetches all public boards for a Pinterest user. Returns board metadata including name, description, pin count, section count, privacy setting, cover image, and owner information.
- Platform: [Pinterest](https://docs.upscrape.com/docs/platforms/pinterest)
- Capability ID: `pinterest.user-boards.get`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.pinterest.com/PinterestPredicts/"
},
"capability": "pinterest.user-boards.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | Full Pinterest profile URL |
### Example input
```json
{
"url": "https://www.pinterest.com/PinterestPredicts/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"boards": [
{
"collaborator_count": 2,
"created_at": "Mon, 22 Sep 2025 19:19:42 +0000",
"description": "The motto for 2026? Live, laugh, leaf. It’s crunch time, baby.",
"follower_count": 239969,
"has_custom_cover": true,
"id": "871517034080951175",
"image_cover_hd_url": "https://i.pinimg.com/474x/90/9b/8b/909b8be39e2348288b8c5d1d83f74c97.jpg",
"image_cover_url": "https://i.pinimg.com/custom_covers/200x150/871517034080951175_1764016421.jpg",
"is_collaborative": true,
"name": "Cabbage Crush",
"node_id": "Qm9hcmQ6ODcxNTE3MDM0MDgwOTUxMTc1",
"owner": {
"follower_count": 291542,
"full_name": "Pinterest Predicts",
"id": "871517102799028482",
"image_medium_url": "https://i.pinimg.com/75x75_RS/1c/b5/61/1cb561c8e7b9c709f78d110a4b5f0863.jpg",
"is_partner": true,
"node_id": "VXNlcjo4NzE1MTcxMDI3OTkwMjg0ODI=",
"username": "PinterestPredicts",
"verified_identity": {
"verified": true
}
},
"pin_count": 126,
"privacy": "public",
"section_count": 0,
"url": "/pinterestpredicts/cabbage-crush/"
},
{
"collaborator_count": 2,
"created_at": "Mon, 22 Sep 2025 18:36:43 +0000",
"description": "This icy hue brings subzero sophistication to makeup, fashion and the frostiest of cocktails.",
"follower_count": 240491,
"has_custom_cover": true,
"id": "871517034080951130",
"image_cover_hd_url": "https://i.pinimg.com/474x/19/a3/e3/19a3e30754e9dd362d32494b161c5685.jpg",
"image_cover_url": "https://i.pinimg.com/custom_covers/200x150/871517034080951130_1764023523.jpg",
"is_collaborative": true,
"name": "Cool Blue",
"node_id": "Qm9hcmQ6ODcxNTE3MDM0MDgwOTUxMTMw",
"owner": {
"follower_count": 291542,
"full_name": "Pinterest Predicts",
"id": "871517102799028482",
"image_medium_url": "https://i.pinimg.com/75x75_RS/1c/b5/61/1cb561c8e7b9c709f78d110a4b5f0863.jpg",
"is_partner": true,
"node_id": "VXNlcjo4NzE1MTcxMDI3OTkwMjg0ODI=",
"username": "PinterestPredicts",
"verified_identity": {
"verified": true
}
},
"pin_count": 199,
"privacy": "public",
"section_count": 0,
"url": "/pinterestpredicts/cool-blue/"
},
{
"collaborator_count": 1,
"created_at": "Wed, 20 Aug 2025 15:11:08 +0000",
"description": "Enter: the opulent party. Dial up the drama with velvet drapery, red roses and string quartets.",
"follower_count": 240647,
"has_custom_cover": true,
"id": "871517034080906069",
"image_cover_hd_url": "https://i.pinimg.com/474x/bf/80/ef/bf80ef001ff39dcedeca5615449a624e.jpg",
"image_cover_url": "https://i.pinimg.com/custom_covers/200x150/871517034080906069_1766897613.jpg",
"is_collaborative": true,
"name": "Opera Aesthetic",
"node_id": "Qm9hcmQ6ODcxNTE3MDM0MDgwOTA2MDY5",
"owner": {
"follower_count": 291542,
"full_name": "Pinterest Predicts",
"id": "871517102799028482",
"image_medium_url": "https://i.pinimg.com/75x75_RS/1c/b5/61/1cb561c8e7b9c709f78d110a4b5f0863.jpg",
"is_partner": true,
"node_id": "VXNlcjo4NzE1MTcxMDI3OTkwMjg0ODI=",
"username": "PinterestPredicts",
"verified_identity": {
"verified": true
}
},
"pin_count": 228,
"privacy": "public",
"section_count": 0,
"url": "/pinterestpredicts/opera-aesthetic/"
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `boards` | `array` | 3 items |
| `boards` | `array` | 3 items |
## 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)
## Pinterest Scraper: Get User
Canonical: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.user.get
Markdown: https://docs.upscrape.com/docs/platforms/pinterest/pinterest.user.get/index.md
# Get User
Fetches a Pinterest user's public profile data including username, display name, follower count, profile image URL, and verification status (partner, merchant, domain verified).
- Platform: [Pinterest](https://docs.upscrape.com/docs/platforms/pinterest)
- Capability ID: `pinterest.user.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.pinterest.com/PinterestPredicts/"
},
"capability": "pinterest.user.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | Full Pinterest profile URL |
### Example input
```json
{
"url": "https://www.pinterest.com/PinterestPredicts/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"user": {
"follower_count": 291542,
"full_name": "Pinterest Predicts",
"id": "871517102799028482",
"image_medium_url": "https://i.pinimg.com/75x75_RS/1c/b5/61/1cb561c8e7b9c709f78d110a4b5f0863.jpg",
"is_partner": true,
"node_id": "VXNlcjo4NzE1MTcxMDI3OTkwMjg0ODI=",
"username": "pinterestpredicts"
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `user` | `object` | 7 fields |
| `user.follower_count` | `integer` | 291542 |
| `user.full_name` | `string` | Pinterest Predicts |
| `user.id` | `string` | 871517102799028482 |
| `user.image_medium_url` | `string` | https://i.pinimg.com/75x75_RS/1c/b5/61/1cb561c8e7b9c709f78d110a4b5f0863… |
| `user.is_partner` | `boolean` | true |
| `user.node_id` | `string` | VXNlcjo4NzE1MTcxMDI3OTkwMjg0ODI= |
| `user.username` | `string` | pinterestpredicts |
## 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)
## Reddit API
Canonical: https://docs.upscrape.com/docs/platforms/reddit
Markdown: https://docs.upscrape.com/docs/platforms/reddit/index.md
# Reddit API
Monitor Reddit communities, posts, threads, and public user activity without managing browser sessions.
- Platform ID: `reddit`
- Capabilities: 9
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [List Comments](https://docs.upscrape.com/docs/platforms/reddit/reddit.comments.list)
- Capability ID: `reddit.comments.list`
- Cost: 1 credit per request
List recent public comments from one or more subreddits, newest first, with cursor pagination.
### [List Post Comments](https://docs.upscrape.com/docs/platforms/reddit/reddit.post.comments.list)
- Capability ID: `reddit.post.comments.list`
- Cost: 1 credit per request
List public comments from one Reddit thread by canonical post URL, with cursor pagination.
### [Get Post](https://docs.upscrape.com/docs/platforms/reddit/reddit.post.get)
- Capability ID: `reddit.post.get`
- Cost: 1 credit per request
Fetch one public Reddit post by canonical thread URL.
### [List Posts](https://docs.upscrape.com/docs/platforms/reddit/reddit.posts.list)
- Capability ID: `reddit.posts.list`
- Cost: 1 credit per request
List public posts from one or more subreddits, with new, hot, top, and rising rankings and cursor pagination.
### [Search Posts](https://docs.upscrape.com/docs/platforms/reddit/reddit.posts.search)
- Capability ID: `reddit.posts.search`
- Cost: 1 credit per request
Search public posts globally or within selected subreddits, with Reddit sort and time filters and cursor pagination.
### [Get Subreddit](https://docs.upscrape.com/docs/platforms/reddit/reddit.subreddit.get)
- Capability ID: `reddit.subreddit.get`
- Cost: 1 credit per request
Fetch public community metadata, including Reddit's anonymous weekly-visitor estimate when available.
### [Search Subreddits](https://docs.upscrape.com/docs/platforms/reddit/reddit.subreddit.search)
- Capability ID: `reddit.subreddit.search`
- Cost: 1 credit per request
Search public communities by name or topic and return normalized community cards ordered by Reddit relevance.
### [List User Comments](https://docs.upscrape.com/docs/platforms/reddit/reddit.user.comments.list)
- Capability ID: `reddit.user.comments.list`
- Cost: 1 credit per request
List comments publicly visible on a Reddit user's comments feed, newest first, with cursor pagination.
### [List User Posts](https://docs.upscrape.com/docs/platforms/reddit/reddit.user.posts.list)
- Capability ID: `reddit.user.posts.list`
- Cost: 1 credit per request
List posts publicly visible on a Reddit user's submitted feed, newest first, with cursor pagination.
## Common uses
- Community and topic monitoring
- Customer and market research
- Public discussion and creator analysis
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Reddit: List Comments
Canonical: https://docs.upscrape.com/docs/platforms/reddit/reddit.comments.list
Markdown: https://docs.upscrape.com/docs/platforms/reddit/reddit.comments.list/index.md
# List Comments
List recent public comments from one or more subreddits, newest first, with cursor pagination.
- Platform: [Reddit](https://docs.upscrape.com/docs/platforms/reddit)
- Capability ID: `reddit.comments.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 25,
"subreddits": "SaaS"
},
"capability": "reddit.comments.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `after` | `string` | No | Opaque cursor from a previous result's next field. |
| `limit` | `integer` | No | Page size (default 50). |
| `subreddits` | `string` | Yes | One to 25 comma-separated subreddit names, optionally prefixed with r/, or the literal all. |
### Example input
```json
{
"limit": 25,
"subreddits": "SaaS"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"author": "AutoModerator",
"body": "Low-Effort/AI content is auto-removed. I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.",
"created_utc": 1787376875,
"id": "t1_p563b8h",
"nsfw": false,
"parent_permalink": null,
"parent_title": "I wanted to see my rentals like my stock portfolio, so we built it",
"permalink": "https://www.reddit.com/r/SaaS/comments/1vux3n0/i_wanted_to_see_my_rentals_like_my_stock/p563b8h/",
"score": 0,
"subreddit": "SaaS",
"type": "comment"
},
{
"author": "Prince-ow",
"body": "actually i think asking right after a specific action is probably the sweet spot but a simple question tied to what they just did feels much less annoying than a generic survey, and the feedback is usually more useful because the experience is still fresh.",
"created_utc": 1787376833,
"id": "t1_p5637ys",
"nsfw": false,
"parent_permalink": null,
"parent_title": "how often do you actually ask customers for feedback?",
"permalink": "https://www.reddit.com/r/SaaS/comments/1vv0srd/how_often_do_you_actually_ask_customers_for/p5637ys/",
"score": 0,
"subreddit": "SaaS",
"type": "comment"
},
{
"author": "Agitated_Offer_4343",
"body": "the stronger question is what theyre typing into ChatGPT at 2am when the pain is so bad theyll pay to make it stop. not who they are, but the exact words they use when theyve already decided to fix it if your daily plan includes reading five real Reddit threads or support tickets where someone describes that exact moment youll learn more than any AI lesson. thats the pain intensity made concrete",
"created_utc": 1787376720,
"id": "t1_p562z84",
"nsfw": false,
"parent_permalink": null,
"parent_title": "Marketing/Distribution/Promotion - My Learning Plan",
"permalink": "https://www.reddit.com/r/SaaS/comments/1vu2751/marketingdistributionpromotion_my_learning_plan/p562z84/",
"score": 0,
"subreddit": "SaaS",
"type": "comment"
}
],
"next": "t1_p55yk3l"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `next` | `string` | t1_p55yk3l |
## 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)
## Reddit: List Post Comments
Canonical: https://docs.upscrape.com/docs/platforms/reddit/reddit.post.comments.list
Markdown: https://docs.upscrape.com/docs/platforms/reddit/reddit.post.comments.list/index.md
# List Post Comments
List public comments from one Reddit thread by canonical post URL, with cursor pagination.
- Platform: [Reddit](https://docs.upscrape.com/docs/platforms/reddit)
- Capability ID: `reddit.post.comments.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 25,
"url": "https://www.reddit.com/r/redditdev/comments/1vgbm9c/our_plans_for_the_future_of_reddits_public_data/"
},
"capability": "reddit.post.comments.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `after` | `string` | No | Opaque cursor from a previous result's next field. |
| `limit` | `integer` | No | Page size (default 50). |
| `url` | `string` | Yes | Absolute reddit.com thread URL. |
### Example input
```json
{
"limit": 25,
"url": "https://www.reddit.com/r/redditdev/comments/1vgbm9c/our_plans_for_the_future_of_reddits_public_data/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"author": "emily_in_boots",
"body": "I'm a developer who writes both devvit and PRAW bots. It's completely impossible to migrate mission critical bots we depend on to devvit. I have spoken to pl00h and other devvit admins about this as well. I use both praw and devvit and choose the best tool for the job, but often that is still praw. We need a fully relational database. We need the compute power to run LLMs - would be very expensive…",
"created_utc": 1785948996,
"id": "t1_p1w1jph",
"nsfw": false,
"parent_permalink": null,
"parent_title": "Our Plans for the Future of Reddit’s Public Data API and the Developer Platform",
"permalink": "https://www.reddit.com/r/redditdev/comments/1vgbm9c/our_plans_for_the_future_of_reddits_public_data/p1w1jph/",
"score": 0,
"subreddit": "redditdev",
"type": "comment"
},
{
"author": "baseballlover723",
"body": "Lastly, my bots reflect countless hours of coding and an enormous repository of code that would take years to port. Yeah, we have half a decade worth of investment into tools built on the public API. And the contract they offered me was terrible. I sure hope nobody else signed that contract for a mod tool port (and if you did, you should not say anything, because that would breach your contract). …",
"created_utc": 1785950432,
"id": "t1_p1w7dw0",
"nsfw": false,
"parent_permalink": null,
"parent_title": "Our Plans for the Future of Reddit’s Public Data API and the Developer Platform",
"permalink": "https://www.reddit.com/r/redditdev/comments/1vgbm9c/our_plans_for_the_future_of_reddits_public_data/p1w7dw0/",
"score": 0,
"subreddit": "redditdev",
"type": "comment"
},
{
"author": "abrownn",
"body": "Excellent comment and this reflects many of my concerns as well, namely point 4, 5, 6, and 7. Many mods make atypical mod bots/tools that wouldn't be at home on the Devvit platform that are critical to moderation and keeping communities safe.",
"created_utc": 1785950800,
"id": "t1_p1w8war",
"nsfw": false,
"parent_permalink": null,
"parent_title": "Our Plans for the Future of Reddit’s Public Data API and the Developer Platform",
"permalink": "https://www.reddit.com/r/redditdev/comments/1vgbm9c/our_plans_for_the_future_of_reddits_public_data/p1w8war/",
"score": 0,
"subreddit": "redditdev",
"type": "comment"
}
],
"next": "t1_p3j3e9c"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `next` | `string` | t1_p3j3e9c |
## 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)
## Reddit: Get Post
Canonical: https://docs.upscrape.com/docs/platforms/reddit/reddit.post.get
Markdown: https://docs.upscrape.com/docs/platforms/reddit/reddit.post.get/index.md
# Get Post
Fetch one public Reddit post by canonical thread URL.
- Platform: [Reddit](https://docs.upscrape.com/docs/platforms/reddit)
- Capability ID: `reddit.post.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "https://www.reddit.com/r/redditdev/comments/1vgbm9c/our_plans_for_the_future_of_reddits_public_data/"
},
"capability": "reddit.post.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | Absolute reddit.com thread URL. |
### Example input
```json
{
"url": "https://www.reddit.com/r/redditdev/comments/1vgbm9c/our_plans_for_the_future_of_reddits_public_data/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"author": "KeyserSosa",
"body": "Today u/spez posted about why, among other parts of Reddit, our Public Data API needs to evolve. It wasn’t built for today’s scale, automated abuse, or commercial scraping. We want useful bots, community tools, and good-faith developers to have a clear, well-supported way to build on Reddit without enabling bad actors to scrape, resell, or misuse Reddit data. Our long-term vision is for all good, …",
"created_utc": 1785945942,
"id": "t3_1vgbm9c",
"nsfw": false,
"num_comments": 0,
"permalink": "https://www.reddit.com/r/redditdev/comments/1vgbm9c/our_plans_for_the_future_of_reddits_public_data/",
"score": 0,
"subreddit": "redditdev",
"title": "Our Plans for the Future of Reddit’s Public Data API and the Developer Platform",
"type": "post",
"url": null
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `author` | `string` | KeyserSosa |
| `body` | `string` | Today u/spez posted about why, among other parts of Reddit, our Public … |
| `created_utc` | `integer` | 1785945942 |
| `id` | `string` | t3_1vgbm9c |
| `nsfw` | `boolean` | false |
| `num_comments` | `integer` | 0 |
| `permalink` | `string` | https://www.reddit.com/r/redditdev/comments/1vgbm9c/our_plans_for_the_f… |
| `score` | `integer` | 0 |
| `subreddit` | `string` | redditdev |
| `title` | `string` | Our Plans for the Future of Reddit’s Public Data API and the Developer … |
| `type` | `string` | post |
| `url` | `null` | null |
## 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)
## Reddit: List Posts
Canonical: https://docs.upscrape.com/docs/platforms/reddit/reddit.posts.list
Markdown: https://docs.upscrape.com/docs/platforms/reddit/reddit.posts.list/index.md
# List Posts
List public posts from one or more subreddits, with new, hot, top, and rising rankings and cursor pagination.
- Platform: [Reddit](https://docs.upscrape.com/docs/platforms/reddit)
- Capability ID: `reddit.posts.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 25,
"sort": "new",
"subreddits": "webdev,startups"
},
"capability": "reddit.posts.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `after` | `string` | No | Opaque cursor from a previous result's next field. |
| `limit` | `integer` | No | Page size (default 50). |
| `sort` | `string` | No | Reddit listing order. |
| `subreddits` | `string` | Yes | One to 25 comma-separated subreddit names, optionally prefixed with r/, or the literal all. |
| `time` | `string` | No | Ranking window. Primarily affects top listings. |
### Example input
```json
{
"limit": 25,
"sort": "new",
"subreddits": "webdev,startups"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"author": "Latter-Ad2194",
"body": "i need to convert a dynamic website into static without the access to its wp files or wp admin access The static site should be entirely same like every minor details like header/footer elements size, logo placement etc",
"created_utc": 1787376778,
"id": "t3_1vv3ov2",
"nsfw": false,
"num_comments": 0,
"permalink": "https://www.reddit.com/r/webdev/comments/1vv3ov2/how_do_i_clone_a_website/",
"score": 1,
"subreddit": "webdev",
"title": "How do I clone a website",
"type": "post",
"url": null
},
{
"author": "Lower_Fishing_2672",
"body": "I just started learning code, and I use Visual Code Studio with Python. I was ecstatic to learn but with my few hours of learning I would use the chat feature whenever I’m stuck like the AI thingy. It makes me feel bad cause it feels like I’m not LEARNING just cheating if that makes sense. In a world that has been plagued with AI, how do you guys manage? How do you feel? Do you treat it as another…",
"created_utc": 1787374963,
"id": "t3_1vv345x",
"nsfw": false,
"num_comments": 17,
"permalink": "https://www.reddit.com/r/webdev/comments/1vv345x/just_started_but_feel_bad/",
"score": 5,
"subreddit": "webdev",
"title": "Just Started But Feel Bad",
"type": "post",
"url": null
},
{
"author": "velvetmoth_24",
"body": "Hey everyone! I’ve recently started exploring web development as a hobby and I’m really enjoying the process of learning by building small projects. I already have a decent understanding of HTML, CSS, and JavaScript, although I haven’t had much experience building larger or production-level websites yet. I’m thinking of using Astro for my next projects because I really like its approach to perform…",
"created_utc": 1787374339,
"id": "t3_1vv2wl0",
"nsfw": false,
"num_comments": 4,
"permalink": "https://www.reddit.com/r/webdev/comments/1vv2wl0/looking_for_some_astro_advice/",
"score": 4,
"subreddit": "webdev",
"title": "Looking for some Astro advice",
"type": "post",
"url": null
}
],
"next": "[redacted:token]"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `next` | `string` | [redacted:token] |
## 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)
## Reddit: Search Posts
Canonical: https://docs.upscrape.com/docs/platforms/reddit/reddit.posts.search
Markdown: https://docs.upscrape.com/docs/platforms/reddit/reddit.posts.search/index.md
# Search Posts
Search public posts globally or within selected subreddits, with Reddit sort and time filters and cursor pagination.
- Platform: [Reddit](https://docs.upscrape.com/docs/platforms/reddit)
- Capability ID: `reddit.posts.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 25,
"q": "supabase alternative",
"sort": "new",
"time": "all"
},
"capability": "reddit.posts.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `after` | `string` | No | Opaque cursor from a previous result's next field. |
| `limit` | `integer` | No | Page size (default 50). |
| `q` | `string` | Yes | Search query passed to Reddit's public post search. |
| `sort` | `string` | No | Reddit search order. |
| `subreddits` | `string` | No | Optional restriction to one to 25 comma-separated subreddit names. |
| `time` | `string` | No | Search time window. |
### Example input
```json
{
"limit": 25,
"q": "supabase alternative",
"sort": "new",
"time": "all"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"author": "ClaudeAI-mod-bot",
"body": "Agentic Engineering Workflow: Shared Knowledge Base with Adversarial AI Review Workflow value: 75/100 Status: active · Freshness: 70/100 · Confidence: 0.90 · Level: advanced Categories: Quality Control, Token Saving, Context & Memory, Debugging, Shipping, CLAUDE.md, Skills, MCP, Multi-Agent Original source: r/ClaudeAI post/comment What problem this solves Inefficient knowledge sharing and review p…",
"created_utc": 1787372245,
"id": "t3_1vv28k3",
"nsfw": false,
"num_comments": 0,
"permalink": "https://www.reddit.com/r/ClaudeWorkflows/comments/1vv28k3/workflow_agentic_engineering_workflow_shared/",
"score": 0,
"subreddit": "ClaudeWorkflows",
"title": "[Workflow] Agentic Engineering Workflow: Shared Knowledge Base with Adversarial AI Review",
"type": "post",
"url": null
},
{
"author": "take52020",
"body": "I built an internal tool for my team using Lovable. We're an advertising agency and the tool stores a lot of images, videos, and other content that our team accesses regularly. I'm using Supabase for the database and file storage right now, but the egress charges are starting to get surprisingly expensive as the amount of content and usage grows. Has anyone else run into this with Supabase? I'm wo…",
"created_utc": 1787369880,
"id": "t3_1vv1gng",
"nsfw": false,
"num_comments": 0,
"permalink": "https://www.reddit.com/r/lovable/comments/1vv1gng/alternatives_to_supabase_for_storing_files/",
"score": 0,
"subreddit": "lovable",
"title": "Alternatives to supabase for storing files?",
"type": "post",
"url": null
},
{
"author": "bitdoze",
"body": "I've been tracking the growth of self-hosted apps on Cloudflare Workers and decided to put together a comprehensive list. Every project on this list runs entirely on Workers + D1 + R2/KV/Durable Objects — no VPS, no Docker, no server to maintain. Here are some highlights by category: Email (8 apps ) — Agentic Inbox (6.9k ⭐, official Cloudflare project), HQBase (shared team inbox with per-mailbox R…",
"created_utc": 1787301675,
"id": "t3_1vualgt",
"nsfw": false,
"num_comments": 0,
"permalink": "https://www.reddit.com/r/selfhosted/comments/1vualgt/[redacted:token]/",
"score": 0,
"subreddit": "selfhosted",
"title": "I cataloged 28 self-hosted apps that run entirely on Cloudflare Workers",
"type": "post",
"url": null
}
],
"next": "t3_1vlrox1"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `next` | `string` | t3_1vlrox1 |
## 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)
## Reddit: Get Subreddit
Canonical: https://docs.upscrape.com/docs/platforms/reddit/reddit.subreddit.get
Markdown: https://docs.upscrape.com/docs/platforms/reddit/reddit.subreddit.get/index.md
# Get Subreddit
Fetch public community metadata, including Reddit's anonymous weekly-visitor estimate when available.
- Platform: [Reddit](https://docs.upscrape.com/docs/platforms/reddit)
- Capability ID: `reddit.subreddit.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"name": "webdev"
},
"capability": "reddit.subreddit.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | Yes | Subreddit name, optionally prefixed with r/ (case-insensitive). |
### Example input
```json
{
"name": "webdev"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"active_users": null,
"created_utc": null,
"description": "A community dedicated to all things web development: both front-end and back-end. For more design-related questions, try /r/web_design.",
"icon_url": "https://styles.redditmedia.com/t5_2qs0q/styles/communityIcon_kxcmzy9bt1381.jpg?width=64&frame=1&auto=webp&s=[redacted:token]",
"name": "webdev",
"nsfw": false,
"subscribers": null,
"title": null,
"url": "https://www.reddit.com/r/webdev/",
"weekly_visitors": 459900
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `active_users` | `null` | null |
| `created_utc` | `null` | null |
| `description` | `string` | A community dedicated to all things web development: both front-end and… |
| `icon_url` | `string` | https://styles.redditmedia.com/t5_2qs0q/styles/communityIcon_kxcmzy9bt1… |
| `name` | `string` | webdev |
| `nsfw` | `boolean` | false |
| `subscribers` | `null` | null |
| `title` | `null` | null |
| `url` | `string` | https://www.reddit.com/r/webdev/ |
| `weekly_visitors` | `integer` | 459900 |
## 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)
## Reddit: Search Subreddits
Canonical: https://docs.upscrape.com/docs/platforms/reddit/reddit.subreddit.search
Markdown: https://docs.upscrape.com/docs/platforms/reddit/reddit.subreddit.search/index.md
# Search Subreddits
Search public communities by name or topic and return normalized community cards ordered by Reddit relevance.
- Platform: [Reddit](https://docs.upscrape.com/docs/platforms/reddit)
- Capability ID: `reddit.subreddit.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 10,
"q": "web development"
},
"capability": "reddit.subreddit.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Result count (default 10). |
| `q` | `string` | Yes | Community name, prefix, or topic. |
### Example input
```json
{
"limit": 10,
"q": "web development"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"active_users": null,
"created_utc": null,
"description": "A community dedicated to all things web development: both front-end and back-end. For more design-related questions, try /r/web_design.",
"icon_url": "https://styles.redditmedia.com/t5_2qs0q/styles/communityIcon_kxcmzy9bt1381.jpg?width=64&frame=1&auto=webp&s=[redacted:token]",
"name": "webdev",
"nsfw": false,
"subscribers": null,
"title": null,
"url": "https://www.reddit.com/r/webdev/",
"weekly_visitors": 459900
},
{
"active_users": null,
"created_utc": null,
"description": "Community for discussions about web development",
"icon_url": "https://styles.redditmedia.com/t5_2qtxp/styles/communityIcon_kkm13y8xu5qg1.png?width=64&frame=1&auto=webp&s=[redacted:token]",
"name": "webdevelopment",
"nsfw": false,
"subscribers": null,
"title": null,
"url": "https://www.reddit.com/r/webdevelopment/",
"weekly_visitors": 9926
},
{
"active_users": null,
"created_utc": null,
"description": "/r/frontend is a subreddit for front end web developers who want to move the web forward or want to learn how. If you're looking to find or share the latest and greatest tips, links, thoughts, and discussions on the world of front web development, this is the place to do it.",
"icon_url": null,
"name": "Frontend",
"nsfw": false,
"subscribers": null,
"title": null,
"url": "https://www.reddit.com/r/Frontend/",
"weekly_visitors": 35210
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
## 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)
## Reddit: List User Comments
Canonical: https://docs.upscrape.com/docs/platforms/reddit/reddit.user.comments.list
Markdown: https://docs.upscrape.com/docs/platforms/reddit/reddit.user.comments.list/index.md
# List User Comments
List comments publicly visible on a Reddit user's comments feed, newest first, with cursor pagination.
- Platform: [Reddit](https://docs.upscrape.com/docs/platforms/reddit)
- Capability ID: `reddit.user.comments.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 25,
"username": "reddit"
},
"capability": "reddit.user.comments.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `after` | `string` | No | Opaque cursor from a previous result's next field. |
| `limit` | `integer` | No | Page size (default 50). |
| `username` | `string` | Yes | Public Reddit username, optionally prefixed with u/. |
### Example input
```json
{
"limit": 25,
"username": "reddit"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"author": "reddit",
"body": "Thanks! I've sent you the first message here: https://www.reddit.com/message/messages/2y4wpa2 In order for me to send you the rest of the message I'll need you to reply there when you have a chance. To your questions: unfortunately, a lot our tooling doesn't work with modteams of this size, but - no promises here as I don't know what this would take - I will see if there's anything we can do for y…",
"created_utc": 1749669575,
"id": "t1_mx9407o",
"nsfw": false,
"parent_permalink": null,
"parent_title": "ACTION NEEDED: PLEASE READ",
"permalink": "https://www.reddit.com/r/modlimit/comments/1l8ejw1/action_needed_please_read/mx9407o/",
"score": 0,
"subreddit": "modlimit",
"type": "comment"
},
{
"author": "reddit",
"body": "It's real, I'm real! Totally appreciate you checking though, thanks in advance if you participate in the study!",
"created_utc": 1722557733,
"id": "t1_lg2az5a",
"nsfw": false,
"parent_permalink": null,
"parent_title": "Is this a legitimate DM from Reddit, or is this a phishing scam against Reddit mods?",
"permalink": "https://www.reddit.com/r/ModSupport/comments/1ehvn4d/is_this_a_legitimate_dm_from_reddit_or_is_this_a/lg2az5a/",
"score": 0,
"subreddit": "ModSupport",
"type": "comment"
},
{
"author": "reddit",
"body": "legit",
"created_utc": 1722557557,
"id": "t1_lg2ai5m",
"nsfw": false,
"parent_permalink": null,
"parent_title": "Is this a legitimate DM from Reddit, or is this a phishing scam against Reddit mods?",
"permalink": "https://www.reddit.com/r/ModSupport/comments/1ehvn4d/is_this_a_legitimate_dm_from_reddit_or_is_this_a/lg2ai5m/",
"score": 0,
"subreddit": "ModSupport",
"type": "comment"
}
],
"next": "t1_hngqva3"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `next` | `string` | t1_hngqva3 |
## 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)
## Reddit: List User Posts
Canonical: https://docs.upscrape.com/docs/platforms/reddit/reddit.user.posts.list
Markdown: https://docs.upscrape.com/docs/platforms/reddit/reddit.user.posts.list/index.md
# List User Posts
List posts publicly visible on a Reddit user's submitted feed, newest first, with cursor pagination.
- Platform: [Reddit](https://docs.upscrape.com/docs/platforms/reddit)
- Capability ID: `reddit.user.posts.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 25,
"username": "reddit"
},
"capability": "reddit.user.posts.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `after` | `string` | No | Opaque cursor from a previous result's next field. |
| `limit` | `integer` | No | Page size (default 50). |
| `username` | `string` | Yes | Public Reddit username, optionally prefixed with u/. |
### Example input
```json
{
"limit": 25,
"username": "reddit"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"author": "reddit",
"body": "Hey Folks! We're here to remind everyone how to keep your accounts safe on reddit. Reddit will never ask you for your password or 2FA codes, nor will we ask you via private messages to change your email address. We will only reach out to you via reddit.com email or reddit platform messaging from this account, u/reddit, if there are issues with your account. We will never do so on any other platfor…",
"created_utc": 1775250548,
"id": "t3_1sbpwv9",
"nsfw": false,
"num_comments": 0,
"permalink": "https://www.reddit.com/r/help/comments/1sbpwv9/keeping_your_account_safe_on_reddit/",
"score": 0,
"subreddit": "help",
"title": "Keeping your account safe on reddit",
"type": "post",
"url": null
},
{
"author": "reddit",
"body": "Hello mods of modlimit, hopefully by now you've seen this post . In short, we are removing dormant user accounts from mod lists in an effort for us to increase transparency and security on Reddit. This is only users and bots that have not logged into Reddit in over 1 year. You're receiving this message because we've identified these dormant accounts which will be removed by June 18, 2025: this is …",
"created_utc": 1749600291,
"id": "t3_1l8ejw1",
"nsfw": false,
"num_comments": 0,
"permalink": "https://www.reddit.com/r/modlimit/comments/1l8ejw1/action_needed_please_read/",
"score": 0,
"subreddit": "modlimit",
"title": "ACTION NEEDED: PLEASE READ",
"type": "post",
"url": null
},
{
"author": "reddit",
"body": "Hi everybody. Given that this subreddit name once belonged to a long-banned subreddit, we wanted to confirm that we made the decision to reclaim the name, clear old content and subscribers, and allow the community name to be adopted for use as a new subreddit. The new mod team plans to use the space in a way that respects, educates about, and honors Holocaust remembrance. submitted by /u/reddit to…",
"created_utc": 1745429599,
"id": "t3_1k65533",
"nsfw": false,
"num_comments": 0,
"permalink": "https://www.reddit.com/r/holocaust/comments/1k65533/rholocaust_is_reopening/",
"score": 0,
"subreddit": "holocaust",
"title": "r/Holocaust is reopening",
"type": "post",
"url": null
}
],
"next": "t3_qzw5a6"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `next` | `string` | t3_qzw5a6 |
## 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)
## SmartRecruiters Jobs API
Canonical: https://docs.upscrape.com/docs/platforms/smart-recruiters
Markdown: https://docs.upscrape.com/docs/platforms/smart-recruiters/index.md
# SmartRecruiters Jobs API
Search public SmartRecruiters jobs and retrieve their hiring taxonomies.
- Platform ID: `smart-recruiters`
- Capabilities: 5
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [List SmartRecruiters departments](https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.departments.list)
- Capability ID: `smart-recruiters.departments.list`
- Cost: 1 credit per request
List the public department taxonomy for a SmartRecruiters company.
### [List SmartRecruiters job taxonomies](https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.job-taxonomies.list)
- Capability ID: `smart-recruiters.job-taxonomies.list`
- Cost: 1 credit per request
List the public industries, job functions, experience levels, and employment types used by SmartRecruiters postings.
### [Get a SmartRecruiters job](https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.job.get)
- Capability ID: `smart-recruiters.job.get`
- Cost: 1 credit per request
Retrieve a public SmartRecruiters posting by company and posting ID.
### [Search SmartRecruiters jobs globally](https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.jobs.global-search)
- Capability ID: `smart-recruiters.jobs.global-search`
- Cost: 1 credit per request
Search the bounded public SmartRecruiters career index across employers without exposing unsupported pagination controls.
### [Search SmartRecruiters jobs](https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.jobs.search)
- Capability ID: `smart-recruiters.jobs.search`
- Cost: 1 credit per request
Search active public postings for a SmartRecruiters company with title, location, workplace, department, language, job-ad, and release-date filters.
## Common uses
- Aggregate current openings from employer career sites
- Monitor hiring activity by company, location, and department
- Enrich job-market datasets with normalized posting details
- Discover valid department and job taxonomy filters before large searches
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## SmartRecruiters Jobs: List SmartRecruiters departments
Canonical: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.departments.list
Markdown: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.departments.list/index.md
# List SmartRecruiters departments
List the public department taxonomy for a SmartRecruiters company.
- Platform: [SmartRecruiters Jobs](https://docs.upscrape.com/docs/platforms/smart-recruiters)
- Capability ID: `smart-recruiters.departments.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"company": "smartrecruiters"
},
"capability": "smart-recruiters.departments.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `career_site_url` | `string` | No | Public URL for Career site. |
| `company` | `string` | No | Company supplied for this request. |
| `response_language` | `string` | No | Preferred language for localized response labels, sent as Accept-Language. |
### Example input
```json
{
"company": "smartrecruiters"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"departments": [
{
"archived": false,
"department_id": "5408591",
"label": "Account Management"
},
{
"archived": true,
"department_id": "5408608",
"label": "Attrax"
},
{
"archived": true,
"department_id": "5408625",
"label": "Attrax IT"
}
],
"total_found": 34
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `departments` | `array` | 3 items |
| `departments` | `array` | 3 items |
| `total_found` | `integer` | 34 |
## 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)
## SmartRecruiters Jobs: List SmartRecruiters job taxonomies
Canonical: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.job-taxonomies.list
Markdown: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.job-taxonomies.list/index.md
# List SmartRecruiters job taxonomies
List the public industries, job functions, experience levels, and employment types used by SmartRecruiters postings.
- Platform: [SmartRecruiters Jobs](https://docs.upscrape.com/docs/platforms/smart-recruiters)
- Capability ID: `smart-recruiters.job-taxonomies.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "smart-recruiters.job-taxonomies.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `response_language` | `string` | No | Preferred language for localized taxonomy labels, sent as Accept-Language. |
### Example input
```json
{}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"employment_types": [
{
"id": "part-time",
"label": "Part-time"
},
{
"id": "contract",
"label": "Contract"
},
{
"id": "permanent",
"label": "Full-time"
}
],
"experience_levels": [
{
"id": "associate",
"label": "Associate"
},
{
"id": "director",
"label": "Director"
},
{
"id": "entry_level",
"label": "Entry Level"
}
],
"functions": [
{
"id": "accounting_auditing",
"label": "Accounting/Auditing"
},
{
"id": "administrative",
"label": "Administrative"
},
{
"id": "advertising",
"label": "Advertising"
}
],
"industries": [
{
"id": "accounting",
"label": "Accounting"
},
{
"id": "airlines_aviation",
"label": "Airlines/Aviation"
},
{
"id": "alternative_dispute_resolution",
"label": "Alternative Dispute Resolution"
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `employment_types` | `array` | 3 items |
| `employment_types` | `array` | 3 items |
| `experience_levels` | `array` | 3 items |
| `experience_levels` | `array` | 3 items |
| `functions` | `array` | 3 items |
| `functions` | `array` | 3 items |
| `industries` | `array` | 3 items |
| `industries` | `array` | 3 items |
## 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)
## SmartRecruiters Jobs: Get a SmartRecruiters job
Canonical: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.job.get
Markdown: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.job.get/index.md
# Get a SmartRecruiters job
Retrieve a public SmartRecruiters posting by company and posting ID.
- Platform: [SmartRecruiters Jobs](https://docs.upscrape.com/docs/platforms/smart-recruiters)
- Capability ID: `smart-recruiters.job.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"company": "smartrecruiters",
"posting_id": "744000143115219"
},
"capability": "smart-recruiters.job.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `career_site_url` | `string` | No | Public URL for Career site. |
| `company` | `string` | No | Company supplied for this request. |
| `posting_id` | `string` | Yes | Posting identifier. |
| `response_language` | `string` | No | Preferred language for localized response labels, sent as Accept-Language. |
### Example input
```json
{
"company": "smartrecruiters",
"posting_id": "744000143115219"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"region": "REMOTE",
"department": "Engineering",
"industry_id": "computer_software",
"posting_uuid": "f14d00ce-bfd2-4ebf-8a01-c8e0fa636a49",
"employment_type_id": "permanent",
"posted_at": "2026-08-12T14:04:56.128Z",
"function_id": "engineering",
"apply_url": "https://jobs.smartrecruiters.com/smartrecruiters/[redacted:token]?oga=true",
"location": "Poland, REMOTE, Poland",
"industry": "Computer Software",
"job_ad_id": "6f7661db-986b-45a9-be40-859cf4f2b78a",
"city": "Poland",
"function": "Engineering",
"detail_url": "https://jobs.smartrecruiters.com/smartrecruiters/[redacted:token]",
"remote": true,
"visibility": "PUBLIC",
"description": "SmartRecruiters is the Recruiting AI Company that transforms hiring for the world’s leading enterprises. Built for global scale, SmartRecruiters, an SAP company, delivers an AI-powered hiring platform that automates and optimizes the entire talent acquisition process, ensuring faster and smarter hiring decisions. More than 4,000 companies, including Amazon, Visa, and McDonald's, rely on SmartRecru…",
"department_id": "5408693",
"experience_level": "Mid-Senior Level",
"job_id": "744000143115219",
"employment_type": "Full-time",
"description_sections": {
"additional_information": "SmartRecruiters is proud to be an Equal Employment Opportunity employer. We do not discriminate based upon race, religion, color, national origin, gender (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender identity, gender expression, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected charact…",
"company_description": "SmartRecruiters is the Recruiting AI Company that transforms hiring for the world’s leading enterprises. Built for global scale, SmartRecruiters, an SAP company, delivers an AI-powered hiring platform that automates and optimizes the entire talent acquisition process, ensuring faster and smarter hiring decisions. More than 4,000 companies, including Amazon, Visa, and McDonald's, rely on SmartRecru…",
"job_description": "SmartRecruiters is looking for a Senior Information Security Engineer to join the Governance, Risk & Compliance (GRC) team. This role is critical to ensuring that SmartRecruiters' applications, systems, and processes remain compliant with industry standards and regulatory requirements, including ISO 27001, ISO 22301, ISO 42001, SOC 2 Type II, Cyber Essentials, GDPR, and the EU AI Act. The successf…",
"qualifications": "5+ years of experience in information security, governance, risk, and/or compliance roles with a technical orientation Demonstrated compliance or auditing experience with at least one major framework Solid understanding of controls auditing principles and evidence management Knowledge of risk management methodologies and experience conducting or supporting risk assessments Ability to manage and de…"
},
"company_identifier": "smartrecruiters",
"country": "pl",
"workplace_type": "REMOTE",
"default_job_ad": true,
"company": "SmartRecruiters Inc",
"active": true,
"experience_level_id": "mid_senior_level",
"hybrid": false,
"custom_fields": [
{
"field_id": "58b7e4d6e4b0885c92cd98ee",
"field_label": "Department",
"value_id": "5408693",
"value_label": "Engineering"
},
{
"field_id": "COUNTRY",
"field_label": "Country/Region",
"value_id": "pl",
"value_label": "Poland"
},
{
"field_id": "58b7e4d6e4b0885c92cd98eb",
"field_label": "Brands",
"value_id": "default",
"value_label": "SmartRecruiters Inc"
}
],
"title": "Senior Information Security Engineer",
"reference_number": "REF2010Z"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `active` | `boolean` | true |
| `apply_url` | `string` | https://jobs.smartrecruiters.com/smartrecruiters/[redacted:token]?oga=t… |
| `city` | `string` | Poland |
| `company` | `string` | SmartRecruiters Inc |
| `company_identifier` | `string` | smartrecruiters |
| `country` | `string` | pl |
| `custom_fields` | `array` | 3 items |
| `custom_fields` | `array` | 3 items |
| `default_job_ad` | `boolean` | true |
| `department` | `string` | Engineering |
| `department_id` | `string` | 5408693 |
| `description` | `string` | SmartRecruiters is the Recruiting AI Company that transforms hiring for… |
| `description_sections` | `object` | 4 fields |
| `description_sections.additional_information` | `string` | SmartRecruiters is proud to be an Equal Employment Opportunity employer… |
| `description_sections.company_description` | `string` | SmartRecruiters is the Recruiting AI Company that transforms hiring for… |
| `description_sections.job_description` | `string` | SmartRecruiters is looking for a Senior Information Security Engineer t… |
| `description_sections.qualifications` | `string` | 5+ years of experience in information security, governance, risk, and/o… |
| `detail_url` | `string` | https://jobs.smartrecruiters.com/smartrecruiters/[redacted:token] |
| `employment_type` | `string` | Full-time |
| `employment_type_id` | `string` | permanent |
| `experience_level` | `string` | Mid-Senior Level |
| `experience_level_id` | `string` | mid_senior_level |
| `function` | `string` | Engineering |
| `function_id` | `string` | engineering |
| `hybrid` | `boolean` | false |
| `industry` | `string` | Computer Software |
| `industry_id` | `string` | computer_software |
| `job_ad_id` | `string` | 6f7661db-986b-45a9-be40-859cf4f2b78a |
| `job_id` | `string` | 744000143115219 |
| `location` | `string` | Poland, REMOTE, Poland |
| `posted_at` | `string` | 2026-08-12T14:04:56.128Z |
| `posting_uuid` | `string` | f14d00ce-bfd2-4ebf-8a01-c8e0fa636a49 |
| `reference_number` | `string` | REF2010Z |
| `region` | `string` | REMOTE |
| `remote` | `boolean` | true |
| `title` | `string` | Senior Information Security Engineer |
| `visibility` | `string` | PUBLIC |
| `workplace_type` | `string` | REMOTE |
## 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)
## SmartRecruiters Jobs: Search SmartRecruiters jobs globally
Canonical: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.jobs.global-search
Markdown: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.jobs.global-search/index.md
# Search SmartRecruiters jobs globally
Search the bounded public SmartRecruiters career index across employers without exposing unsupported pagination controls.
- Platform: [SmartRecruiters Jobs](https://docs.upscrape.com/docs/platforms/smart-recruiters)
- Capability ID: `smart-recruiters.jobs.global-search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"query": "software engineer"
},
"capability": "smart-recruiters.jobs.global-search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | `string` | Yes | Text query across the public SmartRecruiters career index. |
### Example input
```json
{
"query": "software engineer"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"jobs": [
{
"apply_url": "https://jobs.smartrecruiters.com/SmithsGroup2/[redacted:token]",
"city": "Pasadena",
"company": "Smiths Group",
"company_identifier": "SmithsGroup2",
"country": "us",
"default_job_ad": false,
"description_sections": {},
"detail_url": "[redacted:acquisition_url]",
"hybrid": false,
"job_id": "744000145368049",
"location": "Pasadena, TX",
"posted_at": "2026-08-24T21:29:36.651Z",
"region": "TX",
"remote": false,
"title": "Industrial Customer Service Representative-Couplings",
"workplace_type": "ONSITE"
},
{
"apply_url": "https://jobs.smartrecruiters.com/NBCUniversal3/744000145367909-video-player-architect",
"city": "New York",
"company": "NBCUniversal",
"company_identifier": "NBCUniversal3",
"country": "us",
"default_job_ad": false,
"description_sections": {},
"detail_url": "[redacted:acquisition_url]",
"hybrid": true,
"job_id": "744000145367909",
"location": "New York, NEW YORK",
"posted_at": "2026-08-24T21:28:35.054Z",
"region": "NEW YORK",
"remote": false,
"title": "Video Player Architect",
"workplace_type": "HYBRID"
},
{
"apply_url": "https://jobs.smartrecruiters.com/BoschGroup/[redacted:token]",
"city": "Guadalajara",
"company": "Bosch Group",
"company_identifier": "BoschGroup",
"country": "mx",
"default_job_ad": false,
"description_sections": {},
"detail_url": "[redacted:acquisition_url]",
"hybrid": true,
"job_id": "744000145367509",
"location": "Guadalajara, Mexico",
"posted_at": "2026-08-24T21:25:43.691Z",
"remote": false,
"title": "Sr. Engineering Product Quality I",
"workplace_type": "HYBRID"
}
],
"result_limit": 100,
"returned_count": 71,
"total_found": 48703,
"truncated": true
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `jobs` | `array` | 3 items |
| `jobs` | `array` | 3 items |
| `result_limit` | `integer` | 100 |
| `returned_count` | `integer` | 71 |
| `total_found` | `integer` | 48703 |
| `truncated` | `boolean` | true |
## 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)
## SmartRecruiters Jobs: Search SmartRecruiters jobs
Canonical: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.jobs.search
Markdown: https://docs.upscrape.com/docs/platforms/smart-recruiters/smart-recruiters.jobs.search/index.md
# Search SmartRecruiters jobs
Search active public postings for a SmartRecruiters company with title, location, workplace, department, language, job-ad, and release-date filters.
- Platform: [SmartRecruiters Jobs](https://docs.upscrape.com/docs/platforms/smart-recruiters)
- Capability ID: `smart-recruiters.jobs.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"company": "smartrecruiters",
"limit": 5,
"max_pages": 1,
"offset": 0
},
"capability": "smart-recruiters.jobs.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `career_site_url` | `string` | No | Public URL for Career site. |
| `city` | `array` | No | City supplied for this request. |
| `company` | `string` | No | Company supplied for this request. |
| `country` | `string` | No | Country supplied for this request. |
| `custom_fields` | `object` | No | Custom fields supplied for this request. |
| `department` | `array` | No | Public department IDs returned by smart-recruiters.departments.list. |
| `job_ad_id` | `string` | No | Job ad identifier. |
| `languages` | `array` | No | Filter postings by their configured content languages. |
| `limit` | `integer` | No | Maximum number of results to return. |
| `max_pages` | `integer` | No | Max pages supplied for this request. |
| `offset` | `integer` | No | Zero-based number of results to skip. |
| `query` | `string` | No | Text query within this company's public postings. |
| `region` | `string` | No | Region supplied for this request. |
| `released_after` | `string` | No | Released after supplied for this request. |
| `response_language` | `string` | No | Preferred language for localized response labels, sent as Accept-Language. |
| `workplace_types` | `array` | No | Workplace types supplied for this request. |
### Example input
```json
{
"company": "smartrecruiters",
"limit": 5,
"max_pages": 1,
"offset": 0
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"has_more": true,
"jobs": [
{
"api_url": "[redacted:acquisition_url]",
"city": "Poland",
"company": "SmartRecruiters Inc",
"company_identifier": "smartrecruiters",
"country": "pl",
"custom_fields": [
{
"field_id": "58b7e4d6e4b0885c92cd98ee",
"field_label": "Department",
"value_id": "5408693",
"value_label": "Engineering"
},
{
"field_id": "COUNTRY",
"field_label": "Country/Region",
"value_id": "pl",
"value_label": "Poland"
},
{
"field_id": "58b7e4d6e4b0885c92cd98eb",
"field_label": "Brands",
"value_id": "default",
"value_label": "SmartRecruiters Inc"
}
],
"default_job_ad": true,
"department": "Engineering",
"department_id": "5408693",
"description_sections": {},
"detail_url": "[redacted:acquisition_url]",
"employment_type": "Full-time",
"employment_type_id": "permanent",
"experience_level": "Mid-Senior Level",
"experience_level_id": "mid_senior_level",
"function": "Engineering",
"function_id": "engineering",
"hybrid": false,
"industry": "Computer Software",
"industry_id": "computer_software",
"job_ad_id": "6f7661db-986b-45a9-be40-859cf4f2b78a",
"job_id": "744000143115219",
"location": "Poland, REMOTE, Poland",
"posted_at": "2026-08-12T14:04:56.128Z",
"posting_uuid": "f14d00ce-bfd2-4ebf-8a01-c8e0fa636a49",
"reference_number": "REF2010Z",
"region": "REMOTE",
"remote": true,
"title": "Senior Information Security Engineer",
"visibility": "PUBLIC",
"workplace_type": "REMOTE"
},
{
"api_url": "[redacted:acquisition_url]",
"city": "Poland",
"company": "SmartRecruiters Inc",
"company_identifier": "smartrecruiters",
"country": "pl",
"custom_fields": [
{
"field_id": "58b7e4d6e4b0885c92cd98ee",
"field_label": "Department",
"value_id": "5408931",
"value_label": "Technical Services"
},
{
"field_id": "68f89f37181dbd53b2d51cc1",
"field_label": "SAP Cost Center",
"value_id": "ccc63762-5f8e-43c3-b3e1-05a5ce9b24e1",
"value_label": "545000309"
},
{
"field_id": "COUNTRY",
"field_label": "Country/Region",
"value_id": "pl",
"value_label": "Poland"
}
],
"default_job_ad": true,
"department": "Technical Services",
"department_id": "5408931",
"description_sections": {},
"detail_url": "[redacted:acquisition_url]",
"employment_type": "Contract",
"employment_type_id": "contract",
"experience_level": "Associate",
"experience_level_id": "associate",
"function": "Information Technology",
"function_id": "information_technology",
"hybrid": false,
"industry": "Computer Software",
"industry_id": "computer_software",
"job_ad_id": "f9fbb59b-d9db-4c26-a4c9-959f920b370a",
"job_id": "744000137413079",
"location": "Poland, Remote, Poland",
"posted_at": "2026-07-13T09:50:21.127Z",
"posting_uuid": "ce2ba761-eff2-41f8-98b9-53b12094807c",
"reference_number": "REF2025N",
"region": "Remote",
"remote": true,
"title": "Data Operations Consultant",
"visibility": "PUBLIC",
"workplace_type": "REMOTE"
},
{
"api_url": "[redacted:acquisition_url]",
"city": "United Kingdom",
"company": "SmartRecruiters Inc",
"company_identifier": "smartrecruiters",
"country": "gb",
"custom_fields": [
{
"field_id": "58b7e4d6e4b0885c92cd98ee",
"field_label": "Department",
"value_id": "5408693",
"value_label": "Engineering"
},
{
"field_id": "68f89f37181dbd53b2d51cc1",
"field_label": "SAP Cost Center",
"value_id": "d2acbef5-f31a-44a7-b0a9-428a575ee04e",
"value_label": "545000402"
},
{
"field_id": "COUNTRY",
"field_label": "Country/Region",
"value_id": "pl",
"value_label": "Poland"
}
],
"default_job_ad": false,
"department": "Engineering",
"department_id": "5408693",
"description_sections": {},
"detail_url": "[redacted:acquisition_url]",
"employment_type": "Full-time",
"employment_type_id": "permanent",
"experience_level": "Mid-Senior Level",
"experience_level_id": "mid_senior_level",
"function": "Engineering",
"function_id": "engineering",
"hybrid": false,
"industry": "Computer Software",
"industry_id": "computer_software",
"job_ad_id": "28701fe8-9e63-4131-9dd3-85af3a4cbde2",
"job_id": "744000132911099",
"location": "United Kingdom, REMOTE, United Kingdom",
"posted_at": "2026-06-18T16:11:52.116Z",
"posting_uuid": "e80cdb77-be80-43b9-87f7-41d5f91cb6c3",
"reference_number": "REF1915U",
"region": "REMOTE",
"remote": true,
"title": "Senior AI Engineer",
"visibility": "PUBLIC",
"workplace_type": "REMOTE"
}
],
"limit": 5,
"next_offset": 5,
"offset": 0,
"pages_fetched": 1,
"total_found": 8
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `has_more` | `boolean` | true |
| `jobs` | `array` | 3 items |
| `jobs` | `array` | 3 items |
| `limit` | `integer` | 5 |
| `next_offset` | `integer` | 5 |
| `offset` | `integer` | 0 |
| `pages_fetched` | `integer` | 1 |
| `total_found` | `integer` | 8 |
## 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)
## SpotHero API
Canonical: https://docs.upscrape.com/docs/platforms/spothero
Markdown: https://docs.upscrape.com/docs/platforms/spothero/index.md
# SpotHero API
Hourly, monthly, and event parking inventory, prices, facilities, venues, and availability from SpotHero.
- Platform ID: `spothero`
- Capabilities: 7
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [List Event Facilities](https://docs.upscrape.com/docs/platforms/spothero/spothero.event-facilities)
- Capability ID: `spothero.event-facilities`
- Cost: 1 credit per request
Fetch all parking facilities with coordinates, prices, and availability for a SpotHero event in one call.
### [Get Event](https://docs.upscrape.com/docs/platforms/spothero/spothero.event.get)
- Capability ID: `spothero.event.get`
- Cost: 1 credit per request
Retrieve SpotHero event, destination, coordinates, and parking window by event ID.
### [Lookup Parking](https://docs.upscrape.com/docs/platforms/spothero/spothero.lookup)
- Capability ID: `spothero.lookup`
- Cost: 1 credit per request
Look up parking price and availability for a specific lot at a SpotHero event, matched by lot name or facility ID.
### [Search Monthly Parking](https://docs.upscrape.com/docs/platforms/spothero/spothero.monthly-parking.search)
- Capability ID: `spothero.monthly-parking.search`
- Cost: 1 credit per request
Search SpotHero monthly parking inventory near coordinates for a requested start date.
### [Search Hourly Parking](https://docs.upscrape.com/docs/platforms/spothero/spothero.parking.search)
- Capability ID: `spothero.parking.search`
- Cost: 1 credit per request
Search SpotHero hourly and daily parking inventory near coordinates for a time window.
### [Search Events](https://docs.upscrape.com/docs/platforms/spothero/spothero.search)
- Capability ID: `spothero.search`
- Cost: 1 credit per request
Search SpotHero for events by name or destination, returning event IDs, times, and venue info.
### [Search Venues](https://docs.upscrape.com/docs/platforms/spothero/spothero.venues)
- Capability ID: `spothero.venues`
- Cost: 1 credit per request
Search SpotHero for destinations/venues by name, returning destination IDs, cities, and coordinates.
## Common uses
- Compare hourly, daily, monthly, and event parking inventory
- Track parking prices and availability near destinations
- Enrich event and venue datasets with nearby parking options
- Research parking facilities, operators, ratings, and walking distance
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## SpotHero: List Event Facilities
Canonical: https://docs.upscrape.com/docs/platforms/spothero/spothero.event-facilities
Markdown: https://docs.upscrape.com/docs/platforms/spothero/spothero.event-facilities/index.md
# List Event Facilities
Fetch all parking facilities with coordinates, prices, and availability for a SpotHero event in one call.
- Platform: [SpotHero](https://docs.upscrape.com/docs/platforms/spothero)
- Capability ID: `spothero.event-facilities`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"event_id": 1292136
},
"capability": "spothero.event-facilities"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `event_id` | `integer` | No | SpotHero event ID (alternative to event_url). |
| `event_url` | `string` | No | SpotHero event page URL containing ?id=. |
### Example input
```json
{
"event_id": 1292136
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"event_id": 1292136,
"facilities": [
{
"address": "355 Somerset Street",
"available": true,
"base_price": 60,
"facility_id": 102979,
"facility_type": "garage",
"lat": 40.739937,
"lon": -74.156181,
"navigation_tip": "Enter this location at 890 S 3rd St. This is the Harrison Parking Center Garage, operated by LAZ Parking. It is located on the East side of S 3rd St. between Somerset St. and Burlington St.",
"operator": "LAZ Parking",
"rating_average": 4.4,
"rating_count": 262,
"title": "890 S 3rd St. - Harrison Parking Center",
"total_price": 65.1,
"walking_meters": 1447
},
{
"address": "438 Market Street",
"available": false,
"facility_id": 100806,
"facility_type": "lot",
"lat": 40.732771,
"lon": -74.160318,
"navigation_tip": "Enter this location on Market Street. This is the 438 Market St. parking lot, operated by Little Man Parking. It is located on the South side of the 438 Market St. between Prospect St. and Congress St. You can only access this location by traveling East on Market St.",
"operator": "Little Man Parking",
"rating_average": 3.8,
"rating_count": 49,
"title": "438 Market St. - Lot",
"walking_meters": 1456
},
{
"address": "937 Raymond Boulevard",
"available": true,
"base_price": 18,
"facility_id": 108753,
"facility_type": "lot",
"lat": 40.733241,
"lon": -74.16064,
"navigation_tip": "Enter this location at 50 Jersey St. This is the entrance address for the 937 Raymond Blvd. Lot, operated by Air Garage. It is located on the Northwest side of Jersey St. between Raymond Blvd. and the end of Jersey St.",
"operator": "AirGarage Parking",
"rating_average": 4.5,
"rating_count": 271,
"title": "50 Jersey St. (937 Raymond Blvd.) - Lot",
"total_price": 19.53,
"walking_meters": 1527
}
],
"scraped_at": "2026-08-30T12:44:35Z",
"venue_lat": 40.736844,
"venue_lon": -74.150235
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `event_id` | `integer` | 1292136 |
| `facilities` | `array` | 3 items |
| `facilities` | `array` | 3 items |
| `scraped_at` | `string` | 2026-08-30T12:44:35Z |
| `venue_lat` | `number` | 40.736844 |
| `venue_lon` | `number` | -74.150235 |
## 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)
## SpotHero: Get Event
Canonical: https://docs.upscrape.com/docs/platforms/spothero/spothero.event.get
Markdown: https://docs.upscrape.com/docs/platforms/spothero/spothero.event.get/index.md
# Get Event
Retrieve SpotHero event, destination, coordinates, and parking window by event ID.
- Platform: [SpotHero](https://docs.upscrape.com/docs/platforms/spothero)
- Capability ID: `spothero.event.get`
- Cost: 1 credit per request
- Maximum runtime: 15 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"event_id": 1292136
},
"capability": "spothero.event.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `event_id` | `integer` | Yes | Event identifier. |
### Example input
```json
{
"event_id": 1292136
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"event": {
"city": "Harrison",
"destination_id": 1235,
"destination_title": "Sports Illustrated Stadium",
"ends": "2026-08-22T21:30:00-04:00",
"event_id": 1292136,
"latitude": 40.736844,
"longitude": -74.150235,
"parking_ends": "2026-08-22T22:30:00-04:00",
"parking_starts": "2026-08-22T18:30:00-04:00",
"starts": "2026-08-22T19:30:00-04:00",
"title": "Chicago Fire FC at New York Red Bulls"
},
"scraped_at": "2026-08-30T12:44:34Z"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `event` | `object` | 11 fields |
| `event.city` | `string` | Harrison |
| `event.destination_id` | `integer` | 1235 |
| `event.destination_title` | `string` | Sports Illustrated Stadium |
| `event.ends` | `string` | 2026-08-22T21:30:00-04:00 |
| `event.event_id` | `integer` | 1292136 |
| `event.latitude` | `number` | 40.736844 |
| `event.longitude` | `number` | -74.150235 |
| `event.parking_ends` | `string` | 2026-08-22T22:30:00-04:00 |
| `event.parking_starts` | `string` | 2026-08-22T18:30:00-04:00 |
| `event.starts` | `string` | 2026-08-22T19:30:00-04:00 |
| `event.title` | `string` | Chicago Fire FC at New York Red Bulls |
| `scraped_at` | `string` | 2026-08-30T12:44:34Z |
## 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)
## SpotHero: Lookup Parking
Canonical: https://docs.upscrape.com/docs/platforms/spothero/spothero.lookup
Markdown: https://docs.upscrape.com/docs/platforms/spothero/spothero.lookup/index.md
# Lookup Parking
Look up parking price and availability for a specific lot at a SpotHero event, matched by lot name or facility ID.
- Platform: [SpotHero](https://docs.upscrape.com/docs/platforms/spothero)
- Capability ID: `spothero.lookup`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"event_id": 1292136,
"facility_id": 102979
},
"capability": "spothero.lookup"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `event_id` | `integer` | No | SpotHero event ID (alternative to event_url). |
| `event_url` | `string` | No | SpotHero event page URL containing ?id=. |
| `facility_id` | `integer` | No | SpotHero facility ID (bypasses name matching; alternative to lot). |
| `lot` | `string` | No | Parking lot name for fuzzy matching (required if facility_id is not set). |
### Example input
```json
{
"event_id": 1292136,
"facility_id": 102979
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"address": "355 Somerset Street",
"availability": "available",
"event_id": 1292136,
"facility_id": 102979,
"facility_type": "garage",
"lat": 40.739937,
"lon": -74.156181,
"lot": "",
"scraped_at": "2026-08-30T12:44:34Z",
"sh_base": 60,
"sh_total": 65.1,
"start_time": "2026-08-22T18:30:00-04:00",
"url": "https://spothero.com/checkout/102979",
"walking_meters": 1447,
"walking_seconds": 1186
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `address` | `string` | 355 Somerset Street |
| `availability` | `string` | available |
| `event_id` | `integer` | 1292136 |
| `facility_id` | `integer` | 102979 |
| `facility_type` | `string` | garage |
| `lat` | `number` | 40.739937 |
| `lon` | `number` | -74.156181 |
| `lot` | `string` | |
| `scraped_at` | `string` | 2026-08-30T12:44:34Z |
| `sh_base` | `integer` | 60 |
| `sh_total` | `number` | 65.1 |
| `start_time` | `string` | 2026-08-22T18:30:00-04:00 |
| `url` | `string` | https://spothero.com/checkout/102979 |
| `walking_meters` | `integer` | 1447 |
| `walking_seconds` | `integer` | 1186 |
## 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)
## SpotHero: Search Monthly Parking
Canonical: https://docs.upscrape.com/docs/platforms/spothero/spothero.monthly-parking.search
Markdown: https://docs.upscrape.com/docs/platforms/spothero/spothero.monthly-parking.search/index.md
# Search Monthly Parking
Search SpotHero monthly parking inventory near coordinates for a requested start date.
- Platform: [SpotHero](https://docs.upscrape.com/docs/platforms/spothero)
- Capability ID: `spothero.monthly-parking.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"latitude": 41.881943,
"limit": 20,
"longitude": -87.630976,
"max_distance_meters": 3000,
"starts": "2026-09-01T00:00:00-05:00"
},
"capability": "spothero.monthly-parking.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `latitude` | `number` | Yes | Latitude supplied for this request. |
| `limit` | `integer` | No | Maximum number of results to return. |
| `longitude` | `number` | Yes | Longitude supplied for this request. |
| `max_distance_meters` | `integer` | No | Max distance meters supplied for this request. |
| `starts` | `string` | Yes | Starts supplied for this request. |
### Example input
```json
{
"latitude": 41.881943,
"limit": 20,
"longitude": -87.630976,
"max_distance_meters": 3000,
"starts": "2026-09-01T00:00:00-05:00"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"facilities": [
{
"address": "35 South Dearborn Street",
"available": true,
"base_price": 525,
"facility_id": 10369,
"facility_type": "garage",
"lat": 41.881422,
"lon": -87.629297,
"navigation_tip": "Enter this location at 35 S Dearborn St. This is the entrance address for the 30 W Monroe St. garage, operated by LAZ Parking. It is located on the east/right-hand side of S Dearborn St. (a one-way street) between W Monroe St. and W Madison St.",
"operator": "LAZ Parking",
"rating_average": 4.6,
"rating_count": 3479,
"title": "35 S Dearborn St. (30 W Monroe St.) - Garage",
"total_price": 540.75,
"walking_meters": 204
},
{
"address": "22 West Monroe Street",
"available": true,
"base_price": 380,
"facility_id": 152959,
"facility_type": "valet_stand",
"lat": 41.880845,
"lon": -87.6286,
"navigation_tip": "Arrive at 22 W Monroe St. This valet stand is for Hampton Inn Majestic operated by LAZ Parking. It is located on the North/Left-hand side of W Monroe St. (a one-way street) between S Dearborn St. and S State St.",
"operator": "LAZ Parking",
"rating_average": 4.3,
"rating_count": 51,
"title": "22 W Monroe St. - Hampton Inn Majestic Valet Stand",
"total_price": 391.4,
"walking_meters": 314
},
{
"address": "181 North Clark Street",
"available": true,
"base_price": 135,
"facility_id": 9001,
"facility_type": "garage",
"lat": 41.88541,
"lon": -87.6306938,
"navigation_tip": "Enter this location at 181 N Clark St. This is the Government Center garage operated by InterPark. It is located on the east/left-hand side of N Clark St. (a one-way street) between W Lake St. and W Randolph St.",
"operator": "InterPark Parking",
"rating_average": 4.9,
"rating_count": 5,
"title": "181 N Clark St - Government Center (Monthly)",
"total_price": 139.05,
"walking_meters": 384
}
],
"latitude": 41.881943,
"longitude": -87.630976,
"scraped_at": "2026-08-30T12:44:34Z",
"search_type": "monthly",
"starts": "2026-09-01T00:00:00-05:00"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `facilities` | `array` | 3 items |
| `facilities` | `array` | 3 items |
| `latitude` | `number` | 41.881943 |
| `longitude` | `number` | -87.630976 |
| `scraped_at` | `string` | 2026-08-30T12:44:34Z |
| `search_type` | `string` | monthly |
| `starts` | `string` | 2026-09-01T00:00:00-05:00 |
## 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)
## SpotHero: Search Hourly Parking
Canonical: https://docs.upscrape.com/docs/platforms/spothero/spothero.parking.search
Markdown: https://docs.upscrape.com/docs/platforms/spothero/spothero.parking.search/index.md
# Search Hourly Parking
Search SpotHero hourly and daily parking inventory near coordinates for a time window.
- Platform: [SpotHero](https://docs.upscrape.com/docs/platforms/spothero)
- Capability ID: `spothero.parking.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"ends": "2026-09-09T20:00:00-05:00",
"include_unavailable": false,
"latitude": 41.881943,
"limit": 20,
"longitude": -87.630976,
"max_distance_meters": 3000,
"starts": "2026-09-09T16:00:00-05:00"
},
"capability": "spothero.parking.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ends` | `string` | Yes | Ends supplied for this request. |
| `include_unavailable` | `boolean` | No | Include unavailable supplied for this request. |
| `latitude` | `number` | Yes | Latitude supplied for this request. |
| `limit` | `integer` | No | Maximum number of results to return. |
| `longitude` | `number` | Yes | Longitude supplied for this request. |
| `max_distance_meters` | `integer` | No | Max distance meters supplied for this request. |
| `starts` | `string` | Yes | Starts supplied for this request. |
### Example input
```json
{
"ends": "2026-09-09T20:00:00-05:00",
"include_unavailable": false,
"latitude": 41.881943,
"limit": 20,
"longitude": -87.630976,
"max_distance_meters": 3000,
"starts": "2026-09-09T16:00:00-05:00"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"ends": "2026-09-09T20:00:00-05:00",
"facilities": [
{
"address": "13 North Clark Street",
"available": true,
"base_price": 24,
"facility_id": 2231,
"facility_type": "garage",
"lat": 41.88230499999999,
"lon": -87.630762,
"navigation_tip": "Enter this location on North Clark Street. NOTE: This garage does not have any signs or an obvious entrance, so please read the directions carefully. \n\nEnter this location at 11 N Clark St. This is entrance address for the 70 Madison St. Building valet garage. It is located on the east/left-hand side of N Clark (a one-way street) between W Washington St. and W Madison St. \n\nThe entrance is immed…",
"operator": "LAZ Parking",
"rating_average": 4.6,
"rating_count": 1502,
"title": "13 N Clark St. (70 W Madison Building)",
"total_price": 25.44,
"walking_meters": 61
},
{
"address": "38 North Wells Street",
"available": true,
"base_price": 15,
"facility_id": 4532,
"facility_type": "garage",
"lat": 41.882829071688995,
"lon": -87.63399845581961,
"navigation_tip": "Enter this location at 38 N Wells St. This is the Washington-Wells garage operated by Interpark. It is located on the west/right-hand side of N Wells St. (a one-way street) between W Washington St. and W Madison St. You may also enter this location at its other entrance, 217 W Washington St.",
"rating_average": 4.8,
"rating_count": 6440,
"title": "38 N Wells St. - Washington-Wells Garage",
"total_price": 15.99,
"walking_meters": 342
},
{
"address": "41 West Marble Place",
"available": true,
"base_price": 19,
"facility_id": 2759,
"facility_type": "garage",
"lat": 41.88008769999999,
"lon": -87.6291143,
"navigation_tip": "The best address for GPS is 131 S Dearborn. This is the former Citadel Center garage, operated by LAZ. The facility entrance is located in the alley (Marble Place) on the east side of Dearborn, between Adams St. and Monroe. While heading northbound on Dearborn St., after crossing Adams St., turn right into the alley, just past the Monroe CTA Blue Line entrance. After turning into the alley, the g…",
"operator": "LAZ - Indirect Parking",
"rating_average": 4.9,
"rating_count": 6173,
"title": "41 W Marble St (131 S Dearborn St.) - Formerly Citadel Center",
"total_price": 20.14,
"walking_meters": 350
}
],
"latitude": 41.881943,
"longitude": -87.630976,
"scraped_at": "2026-08-30T12:44:33Z",
"search_type": "transient",
"starts": "2026-09-09T16:00:00-05:00"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `ends` | `string` | 2026-09-09T20:00:00-05:00 |
| `facilities` | `array` | 3 items |
| `facilities` | `array` | 3 items |
| `latitude` | `number` | 41.881943 |
| `longitude` | `number` | -87.630976 |
| `scraped_at` | `string` | 2026-08-30T12:44:33Z |
| `search_type` | `string` | transient |
| `starts` | `string` | 2026-09-09T16:00:00-05:00 |
## 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)
## SpotHero: Search Events
Canonical: https://docs.upscrape.com/docs/platforms/spothero/spothero.search
Markdown: https://docs.upscrape.com/docs/platforms/spothero/spothero.search/index.md
# Search Events
Search SpotHero for events by name or destination, returning event IDs, times, and venue info.
- Platform: [SpotHero](https://docs.upscrape.com/docs/platforms/spothero)
- Capability ID: `spothero.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"query": "Chicago Bulls"
},
"capability": "spothero.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `destination_id` | `integer` | No | SpotHero destination/venue ID to list events at (e.g. 79050 for SoFi Stadium). |
| `limit` | `integer` | No | Maximum number of results to return. |
| `query` | `string` | No | Event name to search (e.g. 'Bruno Mars', 'Chicago Bulls'). |
### Example input
```json
{
"query": "Chicago Bulls"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"events": [
{
"city": "Chicago",
"destination_id": 2,
"destination_title": "United Center",
"end_time": "2026-10-07T22:00:00-05:00",
"event_id": 1418307,
"parking_ends": "2026-10-07T23:00:00-05:00",
"parking_starts": "2026-10-07T18:00:00-05:00",
"start_time": "2026-10-07T19:00:00-05:00",
"title": "Pre-Season: Chicago Bulls v Phoenix Suns"
},
{
"city": "Chicago",
"destination_id": 2,
"destination_title": "United Center",
"end_time": "2026-10-09T22:00:00-05:00",
"event_id": 1418601,
"parking_ends": "2026-10-09T23:00:00-05:00",
"parking_starts": "2026-10-09T18:00:00-05:00",
"start_time": "2026-10-09T19:00:00-05:00",
"title": "Pre-Season: Chicago Bulls v Memphis Grizzlies"
},
{
"city": "Denver",
"destination_id": 47314,
"destination_title": "Ball Arena",
"end_time": "2026-10-11T22:00:00-06:00",
"event_id": 1432261,
"parking_ends": "2026-10-11T23:00:00-06:00",
"parking_starts": "2026-10-11T18:00:00-06:00",
"start_time": "2026-10-11T19:00:00-06:00",
"title": "NBA Preseason - Chicago Bulls at Denver Nuggets"
}
],
"query": "Chicago Bulls",
"scraped_at": "2026-08-30T12:44:34Z"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `events` | `array` | 3 items |
| `events` | `array` | 3 items |
| `query` | `string` | Chicago Bulls |
| `scraped_at` | `string` | 2026-08-30T12:44:34Z |
## 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)
## SpotHero: Search Venues
Canonical: https://docs.upscrape.com/docs/platforms/spothero/spothero.venues
Markdown: https://docs.upscrape.com/docs/platforms/spothero/spothero.venues/index.md
# Search Venues
Search SpotHero for destinations/venues by name, returning destination IDs, cities, and coordinates.
- Platform: [SpotHero](https://docs.upscrape.com/docs/platforms/spothero)
- Capability ID: `spothero.venues`
- Cost: 1 credit per request
- Maximum runtime: 15 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"query": "Madison Square Garden"
},
"capability": "spothero.venues"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of results to return. |
| `query` | `string` | Yes | Venue or destination name to search (e.g. 'SoFi Stadium', 'Madison Square Garden'). |
### Example input
```json
{
"query": "Madison Square Garden"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"destinations": [
{
"city": "New York",
"destination_id": 745,
"latitude": 40.750504,
"longitude": -73.993439,
"title": "Madison Square Garden"
},
{
"city": "New York",
"destination_id": 50372,
"latitude": 40.750477,
"longitude": -73.99331,
"title": "Infosys Theater at Madison Square Garden"
}
],
"query": "Madison Square Garden",
"scraped_at": "2026-08-01T10:55:22Z"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `destinations` | `array` | 2 items |
| `destinations` | `array` | 2 items |
| `query` | `string` | Madison Square Garden |
| `scraped_at` | `string` | 2026-08-01T10:55:22Z |
## 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)
## Tesco API
Canonical: https://docs.upscrape.com/docs/platforms/tesco
Markdown: https://docs.upscrape.com/docs/platforms/tesco/index.md
# Tesco API
Search and analyze Tesco UK's grocery catalog, shelves, prices, promotions, and product details.
- Platform ID: `tesco`
- Capabilities: 4
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Categories List](https://docs.upscrape.com/docs/platforms/tesco/tesco.categories.list)
- Capability ID: `tesco.categories.list`
- Cost: 1 credit per request
Fetch the Tesco Groceries category taxonomy tree with the opaque facet ids used by tesco.category.products.list.
### [Category Products List](https://docs.upscrape.com/docs/platforms/tesco/tesco.category.products.list)
- Capability ID: `tesco.category.products.list`
- Cost: 1 credit per request
List one page of a Tesco category shelf for a taxonomy facet id, with prices, promotions, ratings, and GTINs.
### [Product Detail Get](https://docs.upscrape.com/docs/platforms/tesco/tesco.product.detail.get)
- Capability ID: `tesco.product.detail.get`
- Cost: 1 credit per request
Fetch the full Tesco product detail record by tpnc or product URL: price, promotions, product status, reviews, nutrition, and ingredients.
### [Products Search](https://docs.upscrape.com/docs/platforms/tesco/tesco.products.search)
- Capability ID: `tesco.products.search`
- Cost: 1 credit per request
Search Tesco's anonymous storefront by keyword and return the ranked product ids and canonical product URLs for one results page.
## Common uses
- Price and promotion monitoring across the UK's largest grocer
- Assortment and category-share analysis for CPG and own-label brands
- Product content audits covering images, descriptions, nutrition, and allergens
- Review and rating tracking for own-label and branded SKUs
- GTIN/EAN enrichment for retail data pipelines
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Tesco: Categories List
Canonical: https://docs.upscrape.com/docs/platforms/tesco/tesco.categories.list
Markdown: https://docs.upscrape.com/docs/platforms/tesco/tesco.categories.list/index.md
# Categories List
Fetch the Tesco Groceries category taxonomy tree with the opaque facet ids used by tesco.category.products.list.
- Platform: [Tesco](https://docs.upscrape.com/docs/platforms/tesco)
- Capability ID: `tesco.categories.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "tesco.categories.list"
}'
```
## Input
This capability accepts an empty input object.
### Example input
```json
{}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"catId": "b;Q2xvdGhpbmclMjAmJTIwQWNjZXNzb3JpZXM=",
"children": [
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Bags",
"pageType": "NONE",
"parent": "Womens Accessories"
},
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Gloves",
"pageType": "NONE",
"parent": "Womens Accessories"
},
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Hats",
"pageType": "NONE",
"parent": "Womens Accessories"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Womens Accessories",
"pageType": "NONE",
"parent": "Women"
},
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Blouses",
"pageType": "NONE",
"parent": "Womens Blouses & Shirts"
},
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Shirts",
"pageType": "NONE",
"parent": "Womens Blouses & Shirts"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Womens Blouses & Shirts",
"pageType": "NONE",
"parent": "Women"
},
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Co-Ords",
"pageType": "NONE",
"parent": "Womens Co ords"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Womens Co ords",
"pageType": "NONE",
"parent": "Women"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Women",
"pageType": "CATEGORY",
"parent": "Clothing & Accessories"
},
{
"catId": "b;[redacted:token]=",
"children": [
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Plunge Bras",
"pageType": "NONE",
"parent": "Bras"
},
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "T-shirt Bras",
"pageType": "NONE",
"parent": "Bras"
},
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Push up Bras",
"pageType": "NONE",
"parent": "Bras"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Bras",
"pageType": "NONE",
"parent": "Lingerie & Nightwear"
},
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Bikini Briefs",
"pageType": "NONE",
"parent": "Knickers"
},
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Full Brief",
"pageType": "NONE",
"parent": "Knickers"
},
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "High Leg Knickers",
"pageType": "NONE",
"parent": "Knickers"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Knickers",
"pageType": "NONE",
"parent": "Lingerie & Nightwear"
},
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Bra & Knicker Sets",
"pageType": "NONE",
"parent": "Sets"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Sets",
"pageType": "NONE",
"parent": "Lingerie & Nightwear"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Lingerie & Nightwear",
"pageType": "NONE",
"parent": "Clothing & Accessories"
},
{
"catId": "b;[redacted:token]=",
"children": [
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Accessories",
"pageType": "NONE",
"parent": "Holiday Shop"
},
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Shorts",
"pageType": "NONE",
"parent": "Holiday Shop"
},
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Swimwear",
"pageType": "NONE",
"parent": "Holiday Shop"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Holiday Shop",
"pageType": "NONE",
"parent": "Men"
},
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "T-Shirts & Polos",
"pageType": "NONE",
"parent": "The F&F Edit"
},
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Shirts",
"pageType": "NONE",
"parent": "The F&F Edit"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "The F&F Edit",
"pageType": "NONE",
"parent": "Men"
},
{
"catId": "b;[redacted:token]=",
"children": [
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Hats, Gloves & Scarves",
"pageType": "NONE",
"parent": "Mens Accessories"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Mens Accessories",
"pageType": "NONE",
"parent": "Men"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Men",
"pageType": "NONE",
"parent": "Clothing & Accessories"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "superDepartment",
"name": "Clothing & Accessories",
"pageType": "NONE",
"parent": null
},
{
"catId": "b;U3VtbWVy",
"children": [
{
"catId": "b;[redacted:token]=",
"children": [
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Finest BBQ Food",
"pageType": "NONE",
"parent": "Finest BBQ Food"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Finest BBQ Food",
"pageType": "NONE",
"parent": "Your Finest Favourites"
},
{
"catId": "b;[redacted:token]=",
"children": [
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Finest Ice Creams & Desserts",
"pageType": "NONE",
"parent": "Finest Ice Creams & Desserts"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Finest Ice Creams & Desserts",
"pageType": "NONE",
"parent": "Your Finest Favourites"
},
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Finest Picnic Food",
"pageType": "NONE",
"parent": "Finest Picnic Food"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Finest Picnic Food",
"pageType": "NONE",
"parent": "Your Finest Favourites"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Your Finest Favourites",
"pageType": "NONE",
"parent": "Summer"
},
{
"catId": "b;U3VtbWVyJTdDRHJpbmtz",
"children": [
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Finest Drinks",
"pageType": "NONE",
"parent": "Finest Drinks"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Finest Drinks",
"pageType": "NONE",
"parent": "Drinks"
},
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Beer",
"pageType": "NONE",
"parent": "Beer & Cider"
},
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Cider",
"pageType": "NONE",
"parent": "Beer & Cider"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Beer & Cider",
"pageType": "NONE",
"parent": "Drinks"
},
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Red Wine",
"pageType": "NONE",
"parent": "Wine & Prosecco"
},
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "White Wine",
"pageType": "NONE",
"parent": "Wine & Prosecco"
},
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Rose Wine",
"pageType": "NONE",
"parent": "Wine & Prosecco"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Wine & Prosecco",
"pageType": "NONE",
"parent": "Drinks"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Drinks",
"pageType": "NONE",
"parent": "Summer"
},
{
"catId": "b;U3VtbWVyJTdDQkJRJTIwRm9vZA==",
"children": [
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "BBQ Chicken, Meat & Fish",
"pageType": "NONE",
"parent": "Chicken, Meat & Fish"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Chicken, Meat & Fish",
"pageType": "NONE",
"parent": "BBQ Food"
},
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Plant Based & Vegetarian",
"pageType": "NONE",
"parent": "Plant Based & Vegetarian"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Plant Based & Vegetarian",
"pageType": "NONE",
"parent": "BBQ Food"
},
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "BBQ Rolls, Buns & Breads",
"pageType": "NONE",
"parent": "Rolls, Buns & Breads"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Rolls, Buns & Breads",
"pageType": "NONE",
"parent": "BBQ Food"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "BBQ Food",
"pageType": "NONE",
"parent": "Summer"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "superDepartment",
"name": "Summer",
"pageType": "CATEGORY",
"parent": null
},
{
"catId": "b;QmFjayUyMFRvJTIwU2Nob29s",
"children": [
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]==",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Pens & Pencils",
"pageType": "NONE",
"parent": "Pens & Pencils"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Pens & Pencils",
"pageType": "NONE",
"parent": "Stationery, Arts & Crafts"
},
{
"catId": "b;[redacted:token]",
"children": [
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Markers & Highlighters",
"pageType": "NONE",
"parent": "Markers & Highlighters"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Markers & Highlighters",
"pageType": "NONE",
"parent": "Stationery, Arts & Crafts"
},
{
"catId": "b;[redacted:token]=",
"children": [
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Notebooks, Pads & Diaries",
"pageType": "NONE",
"parent": "Notebooks, Pads & Diaries"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Notebooks, Pads & Diaries",
"pageType": "NONE",
"parent": "Stationery, Arts & Crafts"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Stationery, Arts & Crafts",
"pageType": "NONE",
"parent": "Back To School"
},
{
"catId": "b;QmFjayUyMFRvJTIwU2Nob29sJTdDTHVuY2hib3g=",
"children": [
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Lunch Boxes & Lunch Bags",
"pageType": "NONE",
"parent": "Lunch Boxes & Lunch Bags"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Lunch Boxes & Lunch Bags",
"pageType": "NONE",
"parent": "Lunchbox"
},
{
"catId": "b;[redacted:token]=",
"children": [
{
"catId": "b;[redacted:token]=",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Water Bottles",
"pageType": "NONE",
"parent": "Water Bottles"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Water Bottles",
"pageType": "NONE",
"parent": "Lunchbox"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Lunchbox",
"pageType": "NONE",
"parent": "Back To School"
},
{
"catId": "b;[redacted:token]=",
"children": [
{
"catId": "b;[redacted:token]==",
"children": [
{
"catId": "b;[redacted:token]",
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "School Bags & Backpacks",
"pageType": "NONE",
"parent": "School Bags & Backpacks"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "School Bags & Backpacks",
"pageType": "NONE",
"parent": "School Bags & Backpacks"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "School Bags & Backpacks",
"pageType": "NONE",
"parent": "Back To School"
}
],
"images": [
{
"images": [
{
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "superDepartment",
"name": "Back To School",
"pageType": "CATEGORY",
"parent": null
}
],
"raw": {
"data": {
"taxonomy": [
{
"__typename": "TaxonomyItemType",
"catId": "b;Q2xvdGhpbmclMjAmJTIwQWNjZXNzb3JpZXM=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Bags",
"pageType": "NONE",
"parent": "Womens Accessories"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Gloves",
"pageType": "NONE",
"parent": "Womens Accessories"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Hats",
"pageType": "NONE",
"parent": "Womens Accessories"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Womens Accessories",
"pageType": "NONE",
"parent": "Women"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Blouses",
"pageType": "NONE",
"parent": "Womens Blouses & Shirts"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Shirts",
"pageType": "NONE",
"parent": "Womens Blouses & Shirts"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Womens Blouses & Shirts",
"pageType": "NONE",
"parent": "Women"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Co-Ords",
"pageType": "NONE",
"parent": "Womens Co ords"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Womens Co ords",
"pageType": "NONE",
"parent": "Women"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Women",
"pageType": "CATEGORY",
"parent": "Clothing & Accessories"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Plunge Bras",
"pageType": "NONE",
"parent": "Bras"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "T-shirt Bras",
"pageType": "NONE",
"parent": "Bras"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Push up Bras",
"pageType": "NONE",
"parent": "Bras"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Bras",
"pageType": "NONE",
"parent": "Lingerie & Nightwear"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Bikini Briefs",
"pageType": "NONE",
"parent": "Knickers"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Full Brief",
"pageType": "NONE",
"parent": "Knickers"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "High Leg Knickers",
"pageType": "NONE",
"parent": "Knickers"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Knickers",
"pageType": "NONE",
"parent": "Lingerie & Nightwear"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Bra & Knicker Sets",
"pageType": "NONE",
"parent": "Sets"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Sets",
"pageType": "NONE",
"parent": "Lingerie & Nightwear"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Lingerie & Nightwear",
"pageType": "NONE",
"parent": "Clothing & Accessories"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Accessories",
"pageType": "NONE",
"parent": "Holiday Shop"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Shorts",
"pageType": "NONE",
"parent": "Holiday Shop"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Swimwear",
"pageType": "NONE",
"parent": "Holiday Shop"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Holiday Shop",
"pageType": "NONE",
"parent": "Men"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "T-Shirts & Polos",
"pageType": "NONE",
"parent": "The F&F Edit"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Shirts",
"pageType": "NONE",
"parent": "The F&F Edit"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "The F&F Edit",
"pageType": "NONE",
"parent": "Men"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Hats, Gloves & Scarves",
"pageType": "NONE",
"parent": "Mens Accessories"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Mens Accessories",
"pageType": "NONE",
"parent": "Men"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Men",
"pageType": "NONE",
"parent": "Clothing & Accessories"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "superDepartment",
"name": "Clothing & Accessories",
"pageType": "NONE",
"parent": null
},
{
"__typename": "TaxonomyItemType",
"catId": "b;U3VtbWVy",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Finest BBQ Food",
"pageType": "NONE",
"parent": "Finest BBQ Food"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Finest BBQ Food",
"pageType": "NONE",
"parent": "Your Finest Favourites"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Finest Ice Creams & Desserts",
"pageType": "NONE",
"parent": "Finest Ice Creams & Desserts"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Finest Ice Creams & Desserts",
"pageType": "NONE",
"parent": "Your Finest Favourites"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Finest Picnic Food",
"pageType": "NONE",
"parent": "Finest Picnic Food"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Finest Picnic Food",
"pageType": "NONE",
"parent": "Your Finest Favourites"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Your Finest Favourites",
"pageType": "NONE",
"parent": "Summer"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;U3VtbWVyJTdDRHJpbmtz",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Finest Drinks",
"pageType": "NONE",
"parent": "Finest Drinks"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Finest Drinks",
"pageType": "NONE",
"parent": "Drinks"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Beer",
"pageType": "NONE",
"parent": "Beer & Cider"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Cider",
"pageType": "NONE",
"parent": "Beer & Cider"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Beer & Cider",
"pageType": "NONE",
"parent": "Drinks"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Red Wine",
"pageType": "NONE",
"parent": "Wine & Prosecco"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "White Wine",
"pageType": "NONE",
"parent": "Wine & Prosecco"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Rose Wine",
"pageType": "NONE",
"parent": "Wine & Prosecco"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Wine & Prosecco",
"pageType": "NONE",
"parent": "Drinks"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Drinks",
"pageType": "NONE",
"parent": "Summer"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;U3VtbWVyJTdDQkJRJTIwRm9vZA==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "BBQ Chicken, Meat & Fish",
"pageType": "NONE",
"parent": "Chicken, Meat & Fish"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Chicken, Meat & Fish",
"pageType": "NONE",
"parent": "BBQ Food"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Plant Based & Vegetarian",
"pageType": "NONE",
"parent": "Plant Based & Vegetarian"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Plant Based & Vegetarian",
"pageType": "NONE",
"parent": "BBQ Food"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "BBQ Rolls, Buns & Breads",
"pageType": "NONE",
"parent": "Rolls, Buns & Breads"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Rolls, Buns & Breads",
"pageType": "NONE",
"parent": "BBQ Food"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "BBQ Food",
"pageType": "NONE",
"parent": "Summer"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "superDepartment",
"name": "Summer",
"pageType": "CATEGORY",
"parent": null
},
{
"__typename": "TaxonomyItemType",
"catId": "b;QmFjayUyMFRvJTIwU2Nob29s",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Pens & Pencils",
"pageType": "NONE",
"parent": "Pens & Pencils"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Pens & Pencils",
"pageType": "NONE",
"parent": "Stationery, Arts & Crafts"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Markers & Highlighters",
"pageType": "NONE",
"parent": "Markers & Highlighters"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Markers & Highlighters",
"pageType": "NONE",
"parent": "Stationery, Arts & Crafts"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Notebooks, Pads & Diaries",
"pageType": "NONE",
"parent": "Notebooks, Pads & Diaries"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Notebooks, Pads & Diaries",
"pageType": "NONE",
"parent": "Stationery, Arts & Crafts"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Stationery, Arts & Crafts",
"pageType": "NONE",
"parent": "Back To School"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;QmFjayUyMFRvJTIwU2Nob29sJTdDTHVuY2hib3g=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Lunch Boxes & Lunch Bags",
"pageType": "NONE",
"parent": "Lunch Boxes & Lunch Bags"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Lunch Boxes & Lunch Bags",
"pageType": "NONE",
"parent": "Lunchbox"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "Back To School Water Bottles",
"pageType": "NONE",
"parent": "Water Bottles"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "Water Bottles",
"pageType": "NONE",
"parent": "Lunchbox"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "Lunchbox",
"pageType": "NONE",
"parent": "Back To School"
},
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]=",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]==",
"children": [
{
"__typename": "TaxonomyItemType",
"catId": "b;[redacted:token]",
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "shelf",
"name": "School Bags & Backpacks",
"pageType": "NONE",
"parent": "School Bags & Backpacks"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "aisle",
"name": "School Bags & Backpacks",
"pageType": "NONE",
"parent": "School Bags & Backpacks"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "department",
"name": "School Bags & Backpacks",
"pageType": "NONE",
"parent": "Back To School"
}
],
"images": [
{
"__typename": "TaxonomyImages",
"images": [
{
"__typename": "TaxonomyImagesInfoType",
"type": "standard",
"url": "[redacted:acquisition_url]"
}
],
"style": "thumbnail"
}
],
"label": "superDepartment",
"name": "Back To School",
"pageType": "CATEGORY",
"parent": null
}
]
},
"status": 200
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `raw` | `object` | 2 fields |
| `raw.data` | `object` | 1 fields |
| `raw.status` | `integer` | 200 |
## 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)
## Tesco: Category Products List
Canonical: https://docs.upscrape.com/docs/platforms/tesco/tesco.category.products.list
Markdown: https://docs.upscrape.com/docs/platforms/tesco/tesco.category.products.list/index.md
# Category Products List
List one page of a Tesco category shelf for a taxonomy facet id, with prices, promotions, ratings, and GTINs.
- Platform: [Tesco](https://docs.upscrape.com/docs/platforms/tesco)
- Capability ID: `tesco.category.products.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"count": 24,
"facet": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"page": 1,
"sort_by": "relevance"
},
"capability": "tesco.category.products.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `count` | `integer` | No | Products per page. Defaults to 24. |
| `facet` | `string` | Yes | Opaque category facet id from tesco.categories.list, e.g. b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA== (Fresh Fruit). |
| `page` | `integer` | No | 1-based shelf page. Defaults to 1. |
| `sort_by` | `string` | No | Upstream sort key. Observed values: relevance (default), price-ascending, price-descending. |
### Example input
```json
{
"count": 24,
"facet": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"page": 1,
"sort_by": "relevance"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"gtin": "00000003249833",
"departmentId": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"departmentName": "Fresh Fruit",
"adId": null,
"isRestrictedOrderAmendment": null,
"isNew": false,
"reviews": {
"stats": {
"noOfReviews": 191,
"overallRating": 2.9,
"overallRatingRange": 5
}
},
"isInFavourites": null,
"typename": "ProductType",
"brandName": "TESCO",
"tpnb": "77091643",
"minWeight": 0,
"modelMetadata": null,
"description": [],
"id": "284477542",
"baseProductId": "77091643",
"increment": 0,
"maxQuantityAllowed": 99,
"timeRestrictedDelivery": null,
"restrictions": [],
"details": {
"components": [
{
"isLowEverydayPricing": false
}
]
},
"images": {
"display": [
{
"default": {
"url": "[redacted:acquisition_url]"
}
}
]
},
"shortDescription": null,
"averageWeight": 0,
"sellers": {
"results": [
{
"fulfilment": null,
"id": "284477542",
"isForSale": true,
"price": {
"actual": 2.9,
"price": 2.9,
"unitOfMeasure": "each",
"unitPrice": 0.58
},
"promotions": [
{
"attributes": [
"CLUBCARD_PRICING"
],
"description": "£1.99 Clubcard Price",
"endDate": "2026-08-10T23:00:00Z",
"id": "101748027",
"price": {
"afterDiscount": 2.9,
"beforeDiscount": null
},
"promotionType": null,
"startDate": "2026-07-27T23:00:00Z",
"unitSellingInfo": "£0.40/each"
}
],
"seller": null,
"status": "AvailableForSale"
}
]
},
"displayType": "Quantity",
"restrictedDelivery": null,
"quantityInBasket": null,
"bulkBuyLimitGroupId": null,
"media": {
"defaultImage": {
"aspectRatio": 1,
"url": "[redacted:acquisition_url]"
}
},
"shelfId": "b;[redacted:token]",
"superDepartmentId": "b;RnJlc2glMjBGb29k",
"maxWeight": 0,
"aisleId": "b;[redacted:token]==",
"aisleName": "Apples & Pears",
"context": null,
"defaultImageUrl": "[redacted:acquisition_url]",
"bulkBuyLimit": 99,
"groupBulkBuyLimit": 0,
"productType": "SingleProduct",
"bulkBuyLimitMessage": null,
"title": "Tesco Pink Lady Apples 5 Pack",
"catchWeightList": null,
"tpnc": "284477542",
"shelfName": "Pink & Red Apples",
"superDepartmentName": "Fresh Food"
},
{
"gtin": "00000003330654",
"departmentId": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"departmentName": "Fresh Fruit",
"adId": null,
"isRestrictedOrderAmendment": null,
"isNew": false,
"reviews": {
"stats": {
"noOfReviews": 99,
"overallRating": 3.2,
"overallRatingRange": 5
}
},
"isInFavourites": null,
"typename": "ProductType",
"brandName": "ROSEDENE FARMS",
"tpnb": "87739508",
"minWeight": 0,
"modelMetadata": null,
"description": [],
"id": "305831903",
"baseProductId": "87739508",
"increment": 0,
"maxQuantityAllowed": 99,
"timeRestrictedDelivery": null,
"restrictions": [],
"details": {
"components": [
{
"isLowEverydayPricing": false
},
{
"competitors": [
{
"id": "ALDI",
"priceMatch": {
"isMatching": true
}
}
]
}
]
},
"images": {
"display": [
{
"default": {
"url": "[redacted:acquisition_url]"
}
}
]
},
"shortDescription": null,
"averageWeight": 0,
"sellers": {
"results": [
{
"fulfilment": null,
"id": "305831903",
"isForSale": true,
"price": {
"actual": 1.59,
"price": 1.59,
"unitOfMeasure": "each",
"unitPrice": 0.26
},
"promotions": [],
"seller": null,
"status": "AvailableForSale"
}
]
},
"displayType": "Quantity",
"restrictedDelivery": null,
"quantityInBasket": null,
"bulkBuyLimitGroupId": null,
"media": {
"defaultImage": {
"aspectRatio": 1,
"url": "[redacted:acquisition_url]"
}
},
"shelfId": "b;[redacted:token]",
"superDepartmentId": "b;RnJlc2glMjBGb29k",
"maxWeight": 0,
"aisleId": "b;[redacted:token]==",
"aisleName": "Apples & Pears",
"context": null,
"defaultImageUrl": "[redacted:acquisition_url]",
"bulkBuyLimit": 99,
"groupBulkBuyLimit": 0,
"productType": "SingleProduct",
"bulkBuyLimitMessage": null,
"title": "Rosedene Farms Gala Apples 6 Pack",
"catchWeightList": null,
"tpnc": "305831903",
"shelfName": "Pink & Red Apples",
"superDepartmentName": "Fresh Food"
},
{
"gtin": "00000003260531",
"departmentId": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"departmentName": "Fresh Fruit",
"adId": null,
"isRestrictedOrderAmendment": null,
"isNew": false,
"reviews": {
"stats": {
"noOfReviews": 255,
"overallRating": 2.7,
"overallRatingRange": 5
}
},
"isInFavourites": null,
"typename": "ProductType",
"brandName": "TESCO finest",
"tpnb": "78911934",
"minWeight": 0,
"modelMetadata": null,
"description": [],
"id": "288115395",
"baseProductId": "78911934",
"increment": 0,
"maxQuantityAllowed": 99,
"timeRestrictedDelivery": null,
"restrictions": [],
"details": {
"components": [
{
"isLowEverydayPricing": false
}
]
},
"images": {
"display": [
{
"default": {
"url": "[redacted:acquisition_url]"
}
}
]
},
"shortDescription": null,
"averageWeight": 0,
"sellers": {
"results": [
{
"fulfilment": null,
"id": "288115395",
"isForSale": true,
"price": {
"actual": 2.5,
"price": 2.5,
"unitOfMeasure": "kg",
"unitPrice": 4.17
},
"promotions": [],
"seller": null,
"status": "AvailableForSale"
}
]
},
"displayType": "Quantity",
"restrictedDelivery": null,
"quantityInBasket": null,
"bulkBuyLimitGroupId": null,
"media": {
"defaultImage": {
"aspectRatio": 1,
"url": "[redacted:acquisition_url]"
}
},
"shelfId": "b;[redacted:token]=",
"superDepartmentId": "b;RnJlc2glMjBGb29k",
"maxWeight": 0,
"aisleId": "b;[redacted:token]",
"aisleName": "Oranges, Lemons & Citrus Fruit",
"context": null,
"defaultImageUrl": "[redacted:acquisition_url]",
"bulkBuyLimit": 99,
"groupBulkBuyLimit": 0,
"productType": "SingleProduct",
"bulkBuyLimitMessage": null,
"title": "Tesco Finest Sweet Easy Peelers 600g",
"catchWeightList": null,
"tpnc": "288115395",
"shelfName": "Clementines & Easy Peelers",
"superDepartmentName": "Fresh Food"
}
],
"page": {
"count": 24,
"matchType": null,
"offset": 0,
"pageId": null,
"pageNo": 1,
"pageSize": 24,
"query": {
"actualTerm": null,
"queryPhase": "primary",
"searchTerm": null
},
"totalCount": 185
},
"raw": {
"data": {
"category": {
"__typename": "ProductListType",
"facetLists": [
{
"__typename": "ProductListFacetsType",
"category": "Superdepartment",
"categoryId": "superDepartment",
"facets": [
{
"__typename": "FacetType",
"binCount": 268,
"facetId": "Fresh Food",
"facetName": "Fresh Food",
"isSelected": true
}
]
},
{
"__typename": "ProductListFacetsType",
"category": "Department",
"categoryId": "department",
"facets": [
{
"__typename": "FacetType",
"binCount": 268,
"facetId": "Fresh Fruit",
"facetName": "Fresh Fruit",
"isSelected": true
}
]
},
{
"__typename": "ProductListFacetsType",
"category": "Aisle",
"categoryId": "aisle",
"facets": [
{
"__typename": "FacetType",
"binCount": 5,
"facetId": "Bananas",
"facetName": "Bananas",
"isSelected": false
},
{
"__typename": "FacetType",
"binCount": 43,
"facetId": "Apples & Pears",
"facetName": "Apples & Pears",
"isSelected": false
},
{
"__typename": "FacetType",
"binCount": 27,
"facetId": "Berries & Cherries",
"facetName": "Berries & Cherries",
"isSelected": false
}
]
}
],
"facets": null,
"options": {
"__typename": "ListOptionsType",
"sortBy": [
"relevance",
"price-ascending",
"price-descending"
]
},
"pageInformation": {
"__typename": "ListInfoType",
"count": 24,
"matchType": null,
"offset": 0,
"pageId": null,
"pageNo": 1,
"pageSize": 24,
"query": {
"__typename": "QueryType",
"actualTerm": null,
"queryPhase": "primary",
"searchTerm": null
},
"totalCount": 185
},
"results": [
{
"__typename": "CompositeResultType",
"node": {
"gtin": "00000003249833",
"departmentId": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"departmentName": "Fresh Fruit",
"adId": null,
"isRestrictedOrderAmendment": null,
"isNew": false,
"reviews": {
"__typename": "ReviewsType",
"stats": {
"__typename": "ReviewStatsType",
"noOfReviews": 191,
"overallRating": 2.9,
"overallRatingRange": 5
}
},
"isInFavourites": null,
"typename": "ProductType",
"brandName": "TESCO",
"tpnb": "77091643",
"minWeight": 0,
"modelMetadata": null,
"description": [],
"id": "284477542",
"baseProductId": "77091643",
"increment": 0,
"maxQuantityAllowed": 99,
"timeRestrictedDelivery": null,
"restrictions": [],
"details": {
"__typename": "ProductDetailsType",
"components": [
{
"__typename": "AdditionalInfo",
"isLowEverydayPricing": false
}
]
},
"images": {
"__typename": "ProductImagesType",
"display": [
{
"__typename": "ProductAlternativeImageType",
"default": {
"__typename": "ProductImageType",
"url": "[redacted:acquisition_url]"
}
}
]
},
"shortDescription": null,
"averageWeight": 0,
"sellers": {
"__typename": "ProductSellers",
"results": [
{
"__typename": "ProductType",
"fulfilment": null,
"id": "284477542",
"isForSale": true,
"price": {
"__typename": "PriceType",
"actual": 2.9,
"price": 2.9,
"unitOfMeasure": "each",
"unitPrice": 0.58
},
"promotions": [
{
"__typename": "PromotionType",
"attributes": [
"CLUBCARD_PRICING"
],
"description": "£1.99 Clubcard Price",
"endDate": "2026-08-10T23:00:00Z",
"id": "101748027",
"price": {
"__typename": "PromotionPriceType",
"afterDiscount": 2.9,
"beforeDiscount": null
},
"promotionType": null,
"startDate": "2026-07-27T23:00:00Z",
"unitSellingInfo": "£0.40/each"
}
],
"seller": null,
"status": "AvailableForSale"
}
]
},
"displayType": "Quantity",
"restrictedDelivery": null,
"quantityInBasket": null,
"bulkBuyLimitGroupId": null,
"media": {
"__typename": "ProductMediaType",
"defaultImage": {
"__typename": "ProductMediaDefaultImageType",
"aspectRatio": 1,
"url": "[redacted:acquisition_url]"
}
},
"shelfId": "b;[redacted:token]",
"superDepartmentId": "b;RnJlc2glMjBGb29k",
"maxWeight": 0,
"aisleId": "b;[redacted:token]==",
"__typename": "ProductType",
"aisleName": "Apples & Pears",
"context": null,
"defaultImageUrl": "[redacted:acquisition_url]",
"bulkBuyLimit": 99,
"groupBulkBuyLimit": 0,
"productType": "SingleProduct",
"bulkBuyLimitMessage": null,
"title": "Tesco Pink Lady Apples 5 Pack",
"catchWeightList": null,
"tpnc": "284477542",
"shelfName": "Pink & Red Apples",
"superDepartmentName": "Fresh Food"
}
},
{
"__typename": "CompositeResultType",
"node": {
"gtin": "00000003330654",
"departmentId": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"departmentName": "Fresh Fruit",
"adId": null,
"isRestrictedOrderAmendment": null,
"isNew": false,
"reviews": {
"__typename": "ReviewsType",
"stats": {
"__typename": "ReviewStatsType",
"noOfReviews": 99,
"overallRating": 3.2,
"overallRatingRange": 5
}
},
"isInFavourites": null,
"typename": "ProductType",
"brandName": "ROSEDENE FARMS",
"tpnb": "87739508",
"minWeight": 0,
"modelMetadata": null,
"description": [],
"id": "305831903",
"baseProductId": "87739508",
"increment": 0,
"maxQuantityAllowed": 99,
"timeRestrictedDelivery": null,
"restrictions": [],
"details": {
"__typename": "ProductDetailsType",
"components": [
{
"__typename": "AdditionalInfo",
"isLowEverydayPricing": false
},
{
"__typename": "CompetitorsInfo",
"competitors": [
{
"__typename": "Competitor",
"id": "ALDI",
"priceMatch": {
"__typename": "PriceMatch",
"isMatching": true
}
}
]
}
]
},
"images": {
"__typename": "ProductImagesType",
"display": [
{
"__typename": "ProductAlternativeImageType",
"default": {
"__typename": "ProductImageType",
"url": "[redacted:acquisition_url]"
}
}
]
},
"shortDescription": null,
"averageWeight": 0,
"sellers": {
"__typename": "ProductSellers",
"results": [
{
"__typename": "ProductType",
"fulfilment": null,
"id": "305831903",
"isForSale": true,
"price": {
"__typename": "PriceType",
"actual": 1.59,
"price": 1.59,
"unitOfMeasure": "each",
"unitPrice": 0.26
},
"promotions": [],
"seller": null,
"status": "AvailableForSale"
}
]
},
"displayType": "Quantity",
"restrictedDelivery": null,
"quantityInBasket": null,
"bulkBuyLimitGroupId": null,
"media": {
"__typename": "ProductMediaType",
"defaultImage": {
"__typename": "ProductMediaDefaultImageType",
"aspectRatio": 1,
"url": "[redacted:acquisition_url]"
}
},
"shelfId": "b;[redacted:token]",
"superDepartmentId": "b;RnJlc2glMjBGb29k",
"maxWeight": 0,
"aisleId": "b;[redacted:token]==",
"__typename": "ProductType",
"aisleName": "Apples & Pears",
"context": null,
"defaultImageUrl": "[redacted:acquisition_url]",
"bulkBuyLimit": 99,
"groupBulkBuyLimit": 0,
"productType": "SingleProduct",
"bulkBuyLimitMessage": null,
"title": "Rosedene Farms Gala Apples 6 Pack",
"catchWeightList": null,
"tpnc": "305831903",
"shelfName": "Pink & Red Apples",
"superDepartmentName": "Fresh Food"
}
},
{
"__typename": "CompositeResultType",
"node": {
"gtin": "00000003260531",
"departmentId": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"departmentName": "Fresh Fruit",
"adId": null,
"isRestrictedOrderAmendment": null,
"isNew": false,
"reviews": {
"__typename": "ReviewsType",
"stats": {
"__typename": "ReviewStatsType",
"noOfReviews": 255,
"overallRating": 2.7,
"overallRatingRange": 5
}
},
"isInFavourites": null,
"typename": "ProductType",
"brandName": "TESCO finest",
"tpnb": "78911934",
"minWeight": 0,
"modelMetadata": null,
"description": [],
"id": "288115395",
"baseProductId": "78911934",
"increment": 0,
"maxQuantityAllowed": 99,
"timeRestrictedDelivery": null,
"restrictions": [],
"details": {
"__typename": "ProductDetailsType",
"components": [
{
"__typename": "AdditionalInfo",
"isLowEverydayPricing": false
}
]
},
"images": {
"__typename": "ProductImagesType",
"display": [
{
"__typename": "ProductAlternativeImageType",
"default": {
"__typename": "ProductImageType",
"url": "[redacted:acquisition_url]"
}
}
]
},
"shortDescription": null,
"averageWeight": 0,
"sellers": {
"__typename": "ProductSellers",
"results": [
{
"__typename": "ProductType",
"fulfilment": null,
"id": "288115395",
"isForSale": true,
"price": {
"__typename": "PriceType",
"actual": 2.5,
"price": 2.5,
"unitOfMeasure": "kg",
"unitPrice": 4.17
},
"promotions": [],
"seller": null,
"status": "AvailableForSale"
}
]
},
"displayType": "Quantity",
"restrictedDelivery": null,
"quantityInBasket": null,
"bulkBuyLimitGroupId": null,
"media": {
"__typename": "ProductMediaType",
"defaultImage": {
"__typename": "ProductMediaDefaultImageType",
"aspectRatio": 1,
"url": "[redacted:acquisition_url]"
}
},
"shelfId": "b;[redacted:token]=",
"superDepartmentId": "b;RnJlc2glMjBGb29k",
"maxWeight": 0,
"aisleId": "b;[redacted:token]",
"__typename": "ProductType",
"aisleName": "Oranges, Lemons & Citrus Fruit",
"context": null,
"defaultImageUrl": "[redacted:acquisition_url]",
"bulkBuyLimit": 99,
"groupBulkBuyLimit": 0,
"productType": "SingleProduct",
"bulkBuyLimitMessage": null,
"title": "Tesco Finest Sweet Easy Peelers 600g",
"catchWeightList": null,
"tpnc": "288115395",
"shelfName": "Clementines & Easy Peelers",
"superDepartmentName": "Fresh Food"
}
}
]
}
},
"status": 200
},
"total_count": 185
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 8 fields |
| `page.count` | `integer` | 24 |
| `page.matchType` | `null` | null |
| `page.offset` | `integer` | 0 |
| `page.pageId` | `null` | null |
| `page.pageNo` | `integer` | 1 |
| `page.pageSize` | `integer` | 24 |
| `page.query` | `object` | 3 fields |
| `page.totalCount` | `integer` | 185 |
| `raw` | `object` | 2 fields |
| `raw.data` | `object` | 1 fields |
| `raw.status` | `integer` | 200 |
| `total_count` | `integer` | 185 |
## 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)
## Tesco: Product Detail Get
Canonical: https://docs.upscrape.com/docs/platforms/tesco/tesco.product.detail.get
Markdown: https://docs.upscrape.com/docs/platforms/tesco/tesco.product.detail.get/index.md
# Product Detail Get
Fetch the full Tesco product detail record by tpnc or product URL: price, promotions, product status, reviews, nutrition, and ingredients.
- Platform: [Tesco](https://docs.upscrape.com/docs/platforms/tesco)
- Capability ID: `tesco.product.detail.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"tpnc": "284477542"
},
"capability": "tesco.product.detail.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `tpnc` | `string` | Yes | Numeric Tesco product id (tpnc), or a full tesco.com product URL such as https://www.tesco.com/groceries/en-GB/products/284477542. |
### Example input
```json
{
"tpnc": "284477542"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"product": {
"foodIcons": [],
"gtin": "00000003249833",
"icons": [],
"departmentId": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"departmentName": "Fresh Fruit",
"seller": null,
"charges": [],
"isRestrictedOrderAmendment": null,
"promotions": [
{
"attributes": [
"CLUBCARD_PRICING"
],
"description": "£1.99 Clubcard Price",
"endDate": "2026-08-10T23:00:00Z",
"id": "101748027",
"info": null,
"metaData": {
"seo": {
"afterDiscountPrice": 1.99
}
},
"price": {
"afterDiscount": 2.9,
"beforeDiscount": null
},
"promotionType": null,
"qualities": [
"membership:UKClubcard",
"price_cut",
"discount"
],
"startDate": "2026-07-27T23:00:00Z",
"unitSellingInfo": "£0.40/each"
}
],
"isNew": false,
"reviews": {
"entries": [
{
"author": {
"authoredByMe": false,
"nickname": null
},
"promotionalReview": false,
"rating": {
"range": 5,
"value": 1
},
"reviewId": "trn:tesco:ugc:rnr:uuid:736e0d6a-0439-4c11-b03f-61d2993415be",
"sampledReview": false,
"status": "Approved",
"submissionDateTime": "2026-07-28T14:42:40.330Z",
"summary": "Bad qualit",
"syndicated": false,
"syndicationSource": {
"clientUrl": null,
"name": null
},
"text": "Bad quality, used to be a 6 pack too.. Now it is a 5 pack for the same price with a lower grade.",
"verifiedBuyer": true
},
{
"author": {
"authoredByMe": false,
"nickname": null
},
"promotionalReview": false,
"rating": {
"range": 5,
"value": 2
},
"reviewId": "trn:tesco:ugc:rnr:uuid:34faff1a-34fc-476f-9ed3-9df2441c7343",
"sampledReview": false,
"status": "Approved",
"submissionDateTime": "2026-05-27T22:24:18.251Z",
"summary": "Will not be buying them again",
"syndicated": false,
"syndicationSource": {
"clientUrl": null,
"name": null
},
"text": "The apples were tasteless and the flesh weird to chew",
"verifiedBuyer": true
},
{
"author": {
"authoredByMe": false,
"nickname": null
},
"promotionalReview": false,
"rating": {
"range": 5,
"value": 1
},
"reviewId": "trn:tesco:ugc:rnr:uuid:eaf505fb-bed6-4d03-80bb-0d0ee4e9e261",
"sampledReview": false,
"status": "Approved",
"submissionDateTime": "2026-05-25T22:03:30.341Z",
"summary": "Disappointing ",
"syndicated": false,
"syndicationSource": {
"clientUrl": null,
"name": null
},
"text": "What a shame. Our favourite apples and every one is damaged... and I can't find the place to get a refund. Asda is easy... I might just go back to them ",
"verifiedBuyer": true
}
],
"info": {
"count": 10,
"offset": 0,
"page": 1,
"total": 191
},
"stats": {
"noOfReviews": 191,
"overallRating": 2.9,
"ratingsDistribution": [
{
"name": "1.0",
"value": "61"
},
{
"name": "2.0",
"value": "37"
},
{
"name": "3.0",
"value": "19"
}
]
}
},
"isInFavourites": null,
"brandName": "TESCO",
"tpnb": "77091643",
"importerAddress": null,
"minWeight": null,
"manufacturer": null,
"status": "AvailableForSale",
"description": [
"Apples."
],
"id": "284477542",
"returnTo": {
"addressLine1": "Tesco Stores Ltd.",
"addressLine10": "9am-6pm",
"addressLine11": null,
"addressLine12": null,
"addressLine13": null,
"addressLine14": null,
"addressLine15": null,
"addressLine16": null,
"addressLine18": null,
"addressLine19": null,
"addressLine2": "Welwyn Garden City AL7 1GA",
"addressLine20": null,
"addressLine3": "U.K. Freephone 0800 50 55 55 Mon-Sat",
"addressLine4": "9am-6pm & Tesco Ireland Ltd.",
"addressLine5": "Gresham House",
"addressLine6": "Marine Road",
"addressLine7": "Dun Laoghaire",
"addressLine8": "Co. Dublin. Freephone 1800 248 123",
"addressLine9": "Mon-Sat"
},
"multiPackDetails": null,
"baseProductId": "77091643",
"depositAmount": null,
"restrictions": [],
"price": {
"actual": 2.9,
"unitOfMeasure": "each",
"unitPrice": 0.58
},
"details": {
"originInformation": [
{
"title": "Produce of",
"value": "Produce of Argentina, Australia, Chile, Spain, France, United Kingdom, Italy, New Zealand, USA, South Africa"
}
],
"packSize": [
{
"units": "SNGL",
"value": null
}
],
"boxContents": null,
"features": null,
"numberOfUses": "Variable Servings",
"upperAgeLimit": null,
"guidelineDailyAmount": {
"dailyAmounts": [
{
"name": "Energy",
"percent": "4",
"rating": "-",
"value": "313kJ 74kcal"
},
{
"name": "Fat",
"percent": "1",
"rating": "LOW",
"value": "0.7g"
},
{
"name": "Saturates",
"percent": "1",
"rating": "LOW",
"value": "0.2g"
}
],
"title": "One typical apple"
},
"manufacturerMarketing": null,
"ingredients": [
"Apple"
],
"specifications": [],
"alcoholInfo": null,
"drainedWeight": null,
"otherInformation": null,
"otherNutritionInformation": null,
"netContents": "Minimum 5",
"recyclingInfo": null,
"additives": null,
"safetyWarning": null,
"preparationAndUsage": [
"Wash before use.
"
],
"healthmark": null,
"components": [
{
"isLowEverydayPricing": false,
"isLowPricePromise": false
}
],
"nutritionalClaims": null,
"brandMarketing": null,
"storage": null,
"cookingInstructions": {
"cookingGuidelines": [],
"cookingMethods": [],
"cookingPrecautions": [],
"microwave": {
"chilled": {
"detail": null,
"instructions": []
},
"frozen": {
"detail": null,
"instructions": []
}
},
"otherInstructions": [],
"oven": {
"chilled": {
"instructions": [],
"temperature": null,
"time": null
},
"frozen": {
"instructions": [],
"temperature": null,
"time": null
}
}
},
"freezingInstructions": null,
"directions": null,
"nutritionInfo": [
{
"name": "Typical Values",
"perComp": "100g contains",
"perServing": "A serving contains",
"referenceIntake": null,
"referencePercentage": null
},
{
"name": "Energy",
"perComp": "236kJ / 56kcal",
"perServing": "313kJ / 74kcal",
"referenceIntake": null,
"referencePercentage": null
},
{
"name": "Fat",
"perComp": "0.5g",
"perServing": "0.7g",
"referenceIntake": null,
"referencePercentage": null
}
],
"warnings": null,
"productMarketing": [
"Sweet & Sparkling Hand picked and grown longer for their pink blush and distinctive fizz At Tesco we believe in the importance of expertly selecting our seasonal produce for its freshness and quality. All our Pink Lady ® apples come from trusted growers around the world. A longer growing season with warm days and cool nights means our Pink Lady apples spend more time in the sun to give them their …"
],
"preparationGuidelines": null,
"energyEfficiency": {
"class": null,
"energyClassUrl": null,
"productInfoDoc": null
},
"allergenInfo": null,
"healthClaims": null,
"hazardInfo": null,
"dosage": null,
"legalLabelling": [],
"lowerAgeLimit": null,
"nappyInfo": null,
"clothingInfo": null
},
"images": {
"display": [
{
"default": {
"originalUrl": "[redacted:acquisition_url]",
"url": "[redacted:acquisition_url]"
},
"zoom": {
"url": "[redacted:acquisition_url]"
}
}
]
},
"averageWeight": null,
"sellers": {
"results": [
{
"id": "284477542",
"isForSale": true,
"price": {
"actual": 2.9,
"unitOfMeasure": "each",
"unitPrice": 0.58
},
"promotions": [
{
"attributes": [
"CLUBCARD_PRICING"
],
"description": "£1.99 Clubcard Price",
"endDate": "2026-08-10T23:00:00Z",
"id": "101748027",
"info": null,
"metaData": {
"seo": {
"afterDiscountPrice": 1.99
}
},
"price": {
"afterDiscount": 2.9,
"beforeDiscount": null
},
"promotionType": null,
"qualities": [
"membership:UKClubcard",
"price_cut",
"discount"
],
"startDate": "2026-07-27T23:00:00Z",
"unitSellingInfo": "£0.40/each"
}
],
"returnDetails": null,
"seller": null,
"status": "AvailableForSale",
"unavailabilityReasons": null
}
],
"totalCount": 1
},
"displayType": "Quantity",
"bulkBuyLimitGroupId": null,
"media": {
"defaultImage": {
"aspectRatio": 1,
"url": "[redacted:acquisition_url]"
},
"videos": []
},
"shelfId": "b;[redacted:token]",
"superDepartmentId": "b;RnJlc2glMjBGb29k",
"maxWeight": null,
"aisleId": "b;[redacted:token]==",
"aisleName": "Apples & Pears",
"shelfLife": null,
"defaultImageUrl": "[redacted:acquisition_url]",
"bulkBuyLimit": 99,
"groupBulkBuyLimit": 0,
"productType": "SingleProduct",
"bulkBuyLimitMessage": null,
"title": "Tesco Pink Lady Apples 5 Pack",
"catchWeightList": null,
"tpnc": "284477542",
"isForSale": true,
"shelfName": "Pink & Red Apples",
"distributorAddress": null,
"superDepartmentName": "Fresh Food"
},
"raw": {
"data": {
"product": {
"foodIcons": [],
"gtin": "00000003249833",
"icons": [],
"departmentId": "b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA==",
"departmentName": "Fresh Fruit",
"seller": null,
"charges": [],
"isRestrictedOrderAmendment": null,
"promotions": [
{
"__typename": "PromotionType",
"attributes": [
"CLUBCARD_PRICING"
],
"description": "£1.99 Clubcard Price",
"endDate": "2026-08-10T23:00:00Z",
"id": "101748027",
"info": null,
"metaData": {
"__typename": "PromotionMetaDataType",
"seo": {
"__typename": "SEOMetadataType",
"afterDiscountPrice": 1.99
}
},
"price": {
"__typename": "PromotionPriceType",
"afterDiscount": 2.9,
"beforeDiscount": null
},
"promotionType": null,
"qualities": [
"membership:UKClubcard",
"price_cut",
"discount"
],
"startDate": "2026-07-27T23:00:00Z",
"unitSellingInfo": "£0.40/each"
}
],
"isNew": false,
"reviews": {
"__typename": "ReviewsType",
"entries": [
{
"__typename": "ReviewType",
"author": {
"__typename": "ReviewAuthorType",
"authoredByMe": false,
"nickname": null
},
"promotionalReview": false,
"rating": {
"__typename": "RatingType",
"range": 5,
"value": 1
},
"reviewId": "trn:tesco:ugc:rnr:uuid:736e0d6a-0439-4c11-b03f-61d2993415be",
"sampledReview": false,
"status": "Approved",
"submissionDateTime": "2026-07-28T14:42:40.330Z",
"summary": "Bad qualit",
"syndicated": false,
"syndicationSource": {
"__typename": "SyndicationSourceType",
"clientUrl": null,
"name": null
},
"text": "Bad quality, used to be a 6 pack too.. Now it is a 5 pack for the same price with a lower grade.",
"verifiedBuyer": true
},
{
"__typename": "ReviewType",
"author": {
"__typename": "ReviewAuthorType",
"authoredByMe": false,
"nickname": null
},
"promotionalReview": false,
"rating": {
"__typename": "RatingType",
"range": 5,
"value": 2
},
"reviewId": "trn:tesco:ugc:rnr:uuid:34faff1a-34fc-476f-9ed3-9df2441c7343",
"sampledReview": false,
"status": "Approved",
"submissionDateTime": "2026-05-27T22:24:18.251Z",
"summary": "Will not be buying them again",
"syndicated": false,
"syndicationSource": {
"__typename": "SyndicationSourceType",
"clientUrl": null,
"name": null
},
"text": "The apples were tasteless and the flesh weird to chew",
"verifiedBuyer": true
},
{
"__typename": "ReviewType",
"author": {
"__typename": "ReviewAuthorType",
"authoredByMe": false,
"nickname": null
},
"promotionalReview": false,
"rating": {
"__typename": "RatingType",
"range": 5,
"value": 1
},
"reviewId": "trn:tesco:ugc:rnr:uuid:eaf505fb-bed6-4d03-80bb-0d0ee4e9e261",
"sampledReview": false,
"status": "Approved",
"submissionDateTime": "2026-05-25T22:03:30.341Z",
"summary": "Disappointing ",
"syndicated": false,
"syndicationSource": {
"__typename": "SyndicationSourceType",
"clientUrl": null,
"name": null
},
"text": "What a shame. Our favourite apples and every one is damaged... and I can't find the place to get a refund. Asda is easy... I might just go back to them ",
"verifiedBuyer": true
}
],
"info": {
"__typename": "ListInfoType",
"count": 10,
"offset": 0,
"page": 1,
"total": 191
},
"stats": {
"__typename": "ReviewStatsType",
"noOfReviews": 191,
"overallRating": 2.9,
"ratingsDistribution": [
{
"__typename": "NameValuePairType",
"name": "1.0",
"value": "61"
},
{
"__typename": "NameValuePairType",
"name": "2.0",
"value": "37"
},
{
"__typename": "NameValuePairType",
"name": "3.0",
"value": "19"
}
]
}
},
"isInFavourites": null,
"brandName": "TESCO",
"tpnb": "77091643",
"importerAddress": null,
"minWeight": null,
"manufacturer": null,
"status": "AvailableForSale",
"description": [
"Apples."
],
"id": "284477542",
"returnTo": {
"__typename": "AddressType",
"addressLine1": "Tesco Stores Ltd.",
"addressLine10": "9am-6pm",
"addressLine11": null,
"addressLine12": null,
"addressLine13": null,
"addressLine14": null,
"addressLine15": null,
"addressLine16": null,
"addressLine18": null,
"addressLine19": null,
"addressLine2": "Welwyn Garden City AL7 1GA",
"addressLine20": null,
"addressLine3": "U.K. Freephone 0800 50 55 55 Mon-Sat",
"addressLine4": "9am-6pm & Tesco Ireland Ltd.",
"addressLine5": "Gresham House",
"addressLine6": "Marine Road",
"addressLine7": "Dun Laoghaire",
"addressLine8": "Co. Dublin. Freephone 1800 248 123",
"addressLine9": "Mon-Sat"
},
"multiPackDetails": null,
"baseProductId": "77091643",
"depositAmount": null,
"restrictions": [],
"price": {
"__typename": "PriceType",
"actual": 2.9,
"unitOfMeasure": "each",
"unitPrice": 0.58
},
"details": {
"originInformation": [
{
"__typename": "OriginInformationType",
"title": "Produce of",
"value": "Produce of Argentina, Australia, Chile, Spain, France, United Kingdom, Italy, New Zealand, USA, South Africa"
}
],
"packSize": [
{
"__typename": "PackSizeType",
"units": "SNGL",
"value": null
}
],
"boxContents": null,
"features": null,
"numberOfUses": "Variable Servings",
"upperAgeLimit": null,
"guidelineDailyAmount": {
"__typename": "GuidelineDailyAmountType",
"dailyAmounts": [
{
"__typename": "GuidelineDailyAmountItemType",
"name": "Energy",
"percent": "4",
"rating": "-",
"value": "313kJ 74kcal"
},
{
"__typename": "GuidelineDailyAmountItemType",
"name": "Fat",
"percent": "1",
"rating": "LOW",
"value": "0.7g"
},
{
"__typename": "GuidelineDailyAmountItemType",
"name": "Saturates",
"percent": "1",
"rating": "LOW",
"value": "0.2g"
}
],
"title": "One typical apple"
},
"manufacturerMarketing": null,
"ingredients": [
"Apple"
],
"specifications": [],
"alcoholInfo": null,
"drainedWeight": null,
"otherInformation": null,
"otherNutritionInformation": null,
"netContents": "Minimum 5",
"recyclingInfo": null,
"additives": null,
"safetyWarning": null,
"preparationAndUsage": [
"Wash before use.
"
],
"healthmark": null,
"components": [
{
"__typename": "AdditionalInfo",
"isLowEverydayPricing": false,
"isLowPricePromise": false
}
],
"nutritionalClaims": null,
"brandMarketing": null,
"storage": null,
"cookingInstructions": {
"__typename": "CookingInstructionsType",
"cookingGuidelines": [],
"cookingMethods": [],
"cookingPrecautions": [],
"microwave": {
"__typename": "MicrowaveCookingInstructionType",
"chilled": {
"__typename": "MicrowaveCookingInstructionDetailType",
"detail": null,
"instructions": []
},
"frozen": {
"__typename": "MicrowaveCookingInstructionDetailType",
"detail": null,
"instructions": []
}
},
"otherInstructions": [],
"oven": {
"__typename": "OvenCookingInstructionType",
"chilled": {
"__typename": "OvenCookingInstructionDetailType",
"instructions": [],
"temperature": null,
"time": null
},
"frozen": {
"__typename": "OvenCookingInstructionDetailType",
"instructions": [],
"temperature": null,
"time": null
}
}
},
"freezingInstructions": null,
"directions": null,
"nutritionInfo": [
{
"__typename": "NutritionalInfoItemType",
"name": "Typical Values",
"perComp": "100g contains",
"perServing": "A serving contains",
"referenceIntake": null,
"referencePercentage": null
},
{
"__typename": "NutritionalInfoItemType",
"name": "Energy",
"perComp": "236kJ / 56kcal",
"perServing": "313kJ / 74kcal",
"referenceIntake": null,
"referencePercentage": null
},
{
"__typename": "NutritionalInfoItemType",
"name": "Fat",
"perComp": "0.5g",
"perServing": "0.7g",
"referenceIntake": null,
"referencePercentage": null
}
],
"__typename": "ProductDetailsType",
"warnings": null,
"productMarketing": [
"Sweet & Sparkling Hand picked and grown longer for their pink blush and distinctive fizz At Tesco we believe in the importance of expertly selecting our seasonal produce for its freshness and quality. All our Pink Lady ® apples come from trusted growers around the world. A longer growing season with warm days and cool nights means our Pink Lady apples spend more time in the sun to give them their …"
],
"preparationGuidelines": null,
"energyEfficiency": {
"__typename": "EnergyEfficiencyType",
"class": null,
"energyClassUrl": null,
"productInfoDoc": null
},
"allergenInfo": null,
"healthClaims": null,
"hazardInfo": null,
"dosage": null,
"legalLabelling": [],
"lowerAgeLimit": null,
"nappyInfo": null,
"clothingInfo": null
},
"images": {
"__typename": "ProductImagesType",
"display": [
{
"__typename": "ProductAlternativeImageType",
"default": {
"__typename": "ProductImageType",
"originalUrl": "[redacted:acquisition_url]",
"url": "[redacted:acquisition_url]"
},
"zoom": {
"__typename": "ProductImageType",
"url": "[redacted:acquisition_url]"
}
}
]
},
"averageWeight": null,
"sellers": {
"__typename": "ProductSellers",
"results": [
{
"__typename": "ProductType",
"id": "284477542",
"isForSale": true,
"price": {
"__typename": "PriceType",
"actual": 2.9,
"unitOfMeasure": "each",
"unitPrice": 0.58
},
"promotions": [
{
"__typename": "PromotionType",
"attributes": [
"CLUBCARD_PRICING"
],
"description": "£1.99 Clubcard Price",
"endDate": "2026-08-10T23:00:00Z",
"id": "101748027",
"info": null,
"metaData": {
"__typename": "PromotionMetaDataType",
"seo": {
"__typename": "SEOMetadataType",
"afterDiscountPrice": 1.99
}
},
"price": {
"__typename": "PromotionPriceType",
"afterDiscount": 2.9,
"beforeDiscount": null
},
"promotionType": null,
"qualities": [
"membership:UKClubcard",
"price_cut",
"discount"
],
"startDate": "2026-07-27T23:00:00Z",
"unitSellingInfo": "£0.40/each"
}
],
"returnDetails": null,
"seller": null,
"status": "AvailableForSale",
"unavailabilityReasons": null
}
],
"totalCount": 1
},
"displayType": "Quantity",
"bulkBuyLimitGroupId": null,
"media": {
"__typename": "ProductMediaType",
"defaultImage": {
"__typename": "ProductMediaDefaultImageType",
"aspectRatio": 1,
"url": "[redacted:acquisition_url]"
},
"videos": []
},
"shelfId": "b;[redacted:token]",
"superDepartmentId": "b;RnJlc2glMjBGb29k",
"maxWeight": null,
"aisleId": "b;[redacted:token]==",
"__typename": "ProductType",
"aisleName": "Apples & Pears",
"shelfLife": null,
"defaultImageUrl": "[redacted:acquisition_url]",
"bulkBuyLimit": 99,
"groupBulkBuyLimit": 0,
"productType": "SingleProduct",
"bulkBuyLimitMessage": null,
"title": "Tesco Pink Lady Apples 5 Pack",
"catchWeightList": null,
"tpnc": "284477542",
"isForSale": true,
"shelfName": "Pink & Red Apples",
"distributorAddress": null,
"superDepartmentName": "Fresh Food"
}
},
"status": 200
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `product` | `object` | 51 fields |
| `product.aisleId` | `string` | b;[redacted:token]== |
| `product.aisleName` | `string` | Apples & Pears |
| `product.averageWeight` | `null` | null |
| `product.baseProductId` | `string` | 77091643 |
| `product.brandName` | `string` | TESCO |
| `product.bulkBuyLimit` | `integer` | 99 |
| `product.bulkBuyLimitGroupId` | `null` | null |
| `product.bulkBuyLimitMessage` | `null` | null |
| `product.catchWeightList` | `null` | null |
| `product.charges` | `array` | 0 items |
| `product.defaultImageUrl` | `string` | [redacted:acquisition_url] |
| `product.departmentId` | `string` | b;RnJlc2glMjBGb29kJTdDRnJlc2glMjBGcnVpdA== |
| `product.departmentName` | `string` | Fresh Fruit |
| `product.depositAmount` | `null` | null |
| `product.description` | `array` | 1 items |
| `product.details` | `object` | 40 fields |
| `product.displayType` | `string` | Quantity |
| `product.distributorAddress` | `null` | null |
| `product.foodIcons` | `array` | 0 items |
| `product.groupBulkBuyLimit` | `integer` | 0 |
| `product.gtin` | `string` | 00000003249833 |
| `product.icons` | `array` | 0 items |
| `product.id` | `string` | 284477542 |
| `product.images` | `object` | 1 fields |
| `product.importerAddress` | `null` | null |
| `product.isForSale` | `boolean` | true |
| `product.isInFavourites` | `null` | null |
| `product.isNew` | `boolean` | false |
| `product.isRestrictedOrderAmendment` | `null` | null |
| `product.manufacturer` | `null` | null |
| `product.maxWeight` | `null` | null |
| `product.media` | `object` | 2 fields |
| `product.minWeight` | `null` | null |
| `product.multiPackDetails` | `null` | null |
| `product.price` | `object` | 3 fields |
| `product.productType` | `string` | SingleProduct |
| `product.promotions` | `array` | 1 items |
| `product.restrictions` | `array` | 0 items |
| `product.returnTo` | `object` | 19 fields |
| `product.reviews` | `object` | 3 fields |
| `product.seller` | `null` | null |
| `product.sellers` | `object` | 2 fields |
| `product.shelfId` | `string` | b;[redacted:token] |
| `product.shelfLife` | `null` | null |
| `product.shelfName` | `string` | Pink & Red Apples |
| `product.status` | `string` | AvailableForSale |
| `product.superDepartmentId` | `string` | b;RnJlc2glMjBGb29k |
| `product.superDepartmentName` | `string` | Fresh Food |
| `product.title` | `string` | Tesco Pink Lady Apples 5 Pack |
| `product.tpnb` | `string` | 77091643 |
| `product.tpnc` | `string` | 284477542 |
| `raw` | `object` | 2 fields |
| `raw.data` | `object` | 1 fields |
| `raw.status` | `integer` | 200 |
## 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)
## Tesco: Products Search
Canonical: https://docs.upscrape.com/docs/platforms/tesco/tesco.products.search
Markdown: https://docs.upscrape.com/docs/platforms/tesco/tesco.products.search/index.md
# Products Search
Search Tesco's anonymous storefront by keyword and return the ranked product ids and canonical product URLs for one results page.
- Platform: [Tesco](https://docs.upscrape.com/docs/platforms/tesco)
- Capability ID: `tesco.products.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"page": 1,
"query": "milk"
},
"capability": "tesco.products.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `page` | `integer` | No | 1-based search results page. Defaults to 1. |
| `query` | `string` | Yes | Product search term, for example milk. |
### Example input
```json
{
"page": 1,
"query": "milk"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"position": 1,
"tpnc": "309449739",
"url": "https://www.tesco.com/shop/en-GB/products/309449739"
},
{
"position": 2,
"tpnc": "320980398",
"url": "https://www.tesco.com/shop/en-GB/products/320980398"
},
{
"position": 3,
"tpnc": "287971983",
"url": "https://www.tesco.com/shop/en-GB/products/287971983"
}
],
"page": 1,
"query": "milk"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `integer` | 1 |
| `query` | `string` | milk |
## 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)
## Threads API
Canonical: https://docs.upscrape.com/docs/platforms/threads
Markdown: https://docs.upscrape.com/docs/platforms/threads/index.md
# Threads API
Extract public Threads profiles, tag metrics, search results, timelines, posts, and replies.
- Platform ID: `threads`
- Capabilities: 9
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Home feed](https://docs.upscrape.com/docs/platforms/threads/threads.home.feed)
- Capability ID: `threads.home.feed`
- Cost: 1 credit per request
Extract publicly visible post links from the logged-out Threads home page.
### [Post lookup](https://docs.upscrape.com/docs/platforms/threads/threads.post)
- Capability ID: `threads.post`
- Cost: 1 credit per request
Fetch public metadata and candidate links for a Threads post.
### [Post replies](https://docs.upscrape.com/docs/platforms/threads/threads.post.replies)
- Capability ID: `threads.post.replies`
- Cost: 1 credit per request
Fetch public metadata and candidate reply links for a Threads post.
### [Profile lookup](https://docs.upscrape.com/docs/platforms/threads/threads.profile)
- Capability ID: `threads.profile`
- Cost: 1 credit per request
Fetch public profile summary fields from a Threads handle page.
### [Profile feed](https://docs.upscrape.com/docs/platforms/threads/threads.profile.feed)
- Capability ID: `threads.profile.feed`
- Cost: 1 credit per request
Extract publicly visible Threads, replies, media, or repost links for a profile.
### [Search](https://docs.upscrape.com/docs/platforms/threads/threads.search)
- Capability ID: `threads.search`
- Cost: 1 credit per request
Fetch a public Threads search page and extract lightweight result metadata.
### [User search](https://docs.upscrape.com/docs/platforms/threads/threads.search.users)
- Capability ID: `threads.search.users`
- Cost: 1 credit per request
Discover public Threads profile links from a search page.
### [Tag lookup](https://docs.upscrape.com/docs/platforms/threads/threads.tag)
- Capability ID: `threads.tag`
- Cost: 1 credit per request
Fetch public Threads tag metadata, including observed total and recent thread volumes.
### [Profile media posts](https://docs.upscrape.com/docs/platforms/threads/threads.user.threads)
- Capability ID: `threads.user.threads`
- Cost: 1 credit per request
Compatibility alias that extracts public media-post links from a Threads profile media page.
## Common uses
- Profile enrichment and creator discovery
- Search, timeline, and post monitoring
- Tag popularity and trend qualification
- Reply-link collection for conversation analysis
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Threads: Home feed
Canonical: https://docs.upscrape.com/docs/platforms/threads/threads.home.feed
Markdown: https://docs.upscrape.com/docs/platforms/threads/threads.home.feed/index.md
# Home feed
Extract publicly visible post links from the logged-out Threads home page.
- Platform: [Threads](https://docs.upscrape.com/docs/platforms/threads)
- Capability ID: `threads.home.feed`
- Cost: 1 credit per request
- Maximum runtime: 90 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 25
},
"capability": "threads.home.feed"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of results to return. |
### Example input
```json
{
"limit": 25
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"partial": false,
"posts": [
{
"type": "thread",
"url": "https://www.threads.com/@r.h.sin/post/DcURwNtlVjq"
},
{
"type": "thread",
"url": "https://www.threads.com/@iamnovibrown/post/DcT5AiXm8an"
},
{
"type": "thread",
"url": "https://www.threads.com/@minyaktelonpremium/post/DcThF7vmMfJ"
}
],
"request_url": "https://www.threads.com/",
"result_count": 5,
"visibility": "anonymous_visible"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `partial` | `boolean` | false |
| `posts` | `array` | 3 items |
| `posts` | `array` | 3 items |
| `request_url` | `string` | https://www.threads.com/ |
| `result_count` | `integer` | 5 |
| `visibility` | `string` | anonymous_visible |
## 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)
## Threads: Post lookup
Canonical: https://docs.upscrape.com/docs/platforms/threads/threads.post
Markdown: https://docs.upscrape.com/docs/platforms/threads/threads.post/index.md
# Post lookup
Fetch public metadata and candidate links for a Threads post.
- Platform: [Threads](https://docs.upscrape.com/docs/platforms/threads)
- Capability ID: `threads.post`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"post_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt"
},
"capability": "threads.post"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `handle` | `string` | No | Threads handle, with or without a leading @. Requires post_id. |
| `post_id` | `string` | No | Threads post shortcode. Requires handle. |
| `post_url` | `string` | No | Canonical public www.threads.com post URL. Do not combine with handle or post_id. |
### Example input
```json
{
"post_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"canonical_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt",
"description": "👀🫰🫶😍....\n\n#instagram",
"handle": "renuka10587",
"image_url": "https://scontent-lax3-2.cdninstagram.com/v/t51.71878-15/[redacted:token].jpg?stp=cmp1_dst-jpg_e35_s640x640_tt6&_nc_cat=106&ccb=7-5&_nc_sid=18de74&efg=[redacted:token]&_nc_ohc=yA1vzBkYbYgQ7kNvwH42WSX&_nc_oc=[redacted:token]&_nc_zt=23&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_gid=k3A0UXw7uBkeRRcF1GM3HA&_nc_ss=73289&oh=[redacted:token]&oe=6A8F4C39",
"partial": false,
"post_id": "DbK9s5wiLRt",
"post_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt",
"request_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt",
"title": "renuka (@renuka10587) on Threads",
"visibility": "anonymous_visible"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `canonical_url` | `string` | https://www.threads.com/@renuka10587/post/DbK9s5wiLRt |
| `description` | `string` | 👀🫰🫶😍.... #instagram |
| `handle` | `string` | renuka10587 |
| `image_url` | `string` | https://scontent-lax3-2.cdninstagram.com/v/t51.71878-15/[redacted:token… |
| `partial` | `boolean` | false |
| `post_id` | `string` | DbK9s5wiLRt |
| `post_url` | `string` | https://www.threads.com/@renuka10587/post/DbK9s5wiLRt |
| `request_url` | `string` | https://www.threads.com/@renuka10587/post/DbK9s5wiLRt |
| `title` | `string` | renuka (@renuka10587) on Threads |
| `visibility` | `string` | anonymous_visible |
## 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)
## Threads: Post replies
Canonical: https://docs.upscrape.com/docs/platforms/threads/threads.post.replies
Markdown: https://docs.upscrape.com/docs/platforms/threads/threads.post.replies/index.md
# Post replies
Fetch public metadata and candidate reply links for a Threads post.
- Platform: [Threads](https://docs.upscrape.com/docs/platforms/threads)
- Capability ID: `threads.post.replies`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 10,
"post_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt"
},
"capability": "threads.post.replies"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `handle` | `string` | No | Threads handle, with or without a leading @. Requires post_id. |
| `limit` | `integer` | No | Maximum reply links to return from the first public page. |
| `post_id` | `string` | No | Threads post shortcode. Requires handle. |
| `post_url` | `string` | No | Canonical public www.threads.com post URL. Do not combine with handle or post_id. |
### Example input
```json
{
"limit": 10,
"post_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"canonical_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt",
"partial": false,
"post_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt",
"replies": [
{
"type": "thread",
"url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt/replies"
},
{
"type": "thread",
"url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt"
},
{
"type": "thread",
"url": "https://www.threads.com/@jimmyk7774/post/DbLEmkgjR6R"
}
],
"request_url": "https://www.threads.com/@renuka10587/post/DbK9s5wiLRt/replies",
"result_count": 8,
"visibility": "anonymous_visible"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `canonical_url` | `string` | https://www.threads.com/@renuka10587/post/DbK9s5wiLRt |
| `partial` | `boolean` | false |
| `post_url` | `string` | https://www.threads.com/@renuka10587/post/DbK9s5wiLRt |
| `replies` | `array` | 3 items |
| `replies` | `array` | 3 items |
| `request_url` | `string` | https://www.threads.com/@renuka10587/post/DbK9s5wiLRt/replies |
| `result_count` | `integer` | 8 |
| `visibility` | `string` | anonymous_visible |
## 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)
## Threads: Profile lookup
Canonical: https://docs.upscrape.com/docs/platforms/threads/threads.profile
Markdown: https://docs.upscrape.com/docs/platforms/threads/threads.profile/index.md
# Profile lookup
Fetch public profile summary fields from a Threads handle page.
- Platform: [Threads](https://docs.upscrape.com/docs/platforms/threads)
- Capability ID: `threads.profile`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"handle": "instagram"
},
"capability": "threads.profile"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `handle` | `string` | Yes | Handle supplied for this request. |
### Example input
```json
{
"handle": "instagram"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"avatar_url": "https://scontent-lga3-1.cdninstagram.com/v/t51.82787-19/[redacted:token].jpg?stp=dst-jpg_s640x640_tt6&_nc_cat=1&ccb=7-5&_nc_sid=b3fa00&_nc_ohc=4kwvuqtkP3YQ7kNvwGRPfRM&_nc_oc=[redacted:token]&_nc_zt=24&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_gid=rSOT3HqesAMThhDqsdJizQ&_nc_ss=73289&oh=[redacted:token]&oe=6A8F79DA",
"canonical_url": "https://www.threads.com/@instagram",
"description": "38.2M Followers • 1.4K Threads • Discover what's new on Instagram 🔎✨. See the latest conversations with @instagram.",
"followers": 38200000,
"following": 0,
"handle": "instagram",
"name": "Instagram",
"profile_content": {
"meta_keys": [
"twitter:description",
"canonical",
"title"
]
},
"request_url": "https://www.threads.com/@instagram",
"threads_count": 1400,
"title": "Instagram (@instagram) • Threads, Say more"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `avatar_url` | `string` | https://scontent-lga3-1.cdninstagram.com/v/t51.82787-19/[redacted:token… |
| `canonical_url` | `string` | https://www.threads.com/@instagram |
| `description` | `string` | 38.2M Followers • 1.4K Threads • Discover what's new on Instagram 🔎✨. S… |
| `followers` | `integer` | 38200000 |
| `following` | `integer` | 0 |
| `handle` | `string` | instagram |
| `name` | `string` | Instagram |
| `profile_content` | `object` | 1 fields |
| `profile_content.meta_keys` | `array` | 3 items |
| `request_url` | `string` | https://www.threads.com/@instagram |
| `threads_count` | `integer` | 1400 |
| `title` | `string` | Instagram (@instagram) • Threads, Say more |
## 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)
## Threads: Profile feed
Canonical: https://docs.upscrape.com/docs/platforms/threads/threads.profile.feed
Markdown: https://docs.upscrape.com/docs/platforms/threads/threads.profile.feed/index.md
# Profile feed
Extract publicly visible Threads, replies, media, or repost links for a profile.
- Platform: [Threads](https://docs.upscrape.com/docs/platforms/threads)
- Capability ID: `threads.profile.feed`
- Cost: 1 credit per request
- Maximum runtime: 90 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"feed": "threads",
"handle": "instagram",
"limit": 10
},
"capability": "threads.profile.feed"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `feed` | `string` | No | Feed supplied for this request. Allowed values: `threads`, `replies`, `media`, `reposts`. |
| `handle` | `string` | Yes | Handle supplied for this request. |
| `limit` | `integer` | No | Maximum number of results to return. |
### Example input
```json
{
"feed": "threads",
"handle": "instagram",
"limit": 10
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"feed": "threads",
"handle": "instagram",
"partial": false,
"posts": [
{
"type": "thread",
"url": "https://www.threads.com/@instagram/post/DcTeIj_lsic"
},
{
"type": "thread",
"url": "https://www.threads.com/@instagram/post/DcQ5cn1FpeV"
},
{
"type": "thread",
"url": "https://www.threads.com/@instagram/post/DcOlZHcjqQY"
}
],
"request_url": "https://www.threads.com/@instagram",
"result_count": 4,
"visibility": "anonymous_visible"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `feed` | `string` | threads |
| `handle` | `string` | instagram |
| `partial` | `boolean` | false |
| `posts` | `array` | 3 items |
| `posts` | `array` | 3 items |
| `request_url` | `string` | https://www.threads.com/@instagram |
| `result_count` | `integer` | 4 |
| `visibility` | `string` | anonymous_visible |
## 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)
## Threads: Search
Canonical: https://docs.upscrape.com/docs/platforms/threads/threads.search
Markdown: https://docs.upscrape.com/docs/platforms/threads/threads.search/index.md
# Search
Fetch a public Threads search page and extract lightweight result metadata.
- Platform: [Threads](https://docs.upscrape.com/docs/platforms/threads)
- Capability ID: `threads.search`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"query": "threads"
},
"capability": "threads.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of results to return. |
| `query` | `string` | Yes | Search query. |
### Example input
```json
{
"query": "threads"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"canonical_url": "https://www.threads.com/search/?q=threads",
"query": "threads",
"result_count": 10,
"results": [
{
"type": "thread",
"url": "https://www.threads.com/@__arghyarupa____/post/DB1JkJ9SYUQ"
},
{
"type": "thread",
"url": "https://www.threads.com/@__arghyarupa____/post/DB3pgHpScEw"
},
{
"type": "thread",
"url": "https://www.threads.com/@teodoraracovita/post/C_i5HgptclF"
}
],
"search_url": "https://www.threads.com/search/?q=threads"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `canonical_url` | `string` | https://www.threads.com/search/?q=threads |
| `query` | `string` | threads |
| `result_count` | `integer` | 10 |
| `results` | `array` | 3 items |
| `results` | `array` | 3 items |
| `search_url` | `string` | https://www.threads.com/search/?q=threads |
## 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)
## Threads: User search
Canonical: https://docs.upscrape.com/docs/platforms/threads/threads.search.users
Markdown: https://docs.upscrape.com/docs/platforms/threads/threads.search.users/index.md
# User search
Discover public Threads profile links from a search page.
- Platform: [Threads](https://docs.upscrape.com/docs/platforms/threads)
- Capability ID: `threads.search.users`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 10,
"query": "instagram"
},
"capability": "threads.search.users"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of results to return. |
| `query` | `string` | Yes | Search query. |
### Example input
```json
{
"limit": 10,
"query": "instagram"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"canonical_url": "https://www.threads.com/search/?limit=10&q=instagram",
"query": "instagram",
"result_count": 10,
"results": [
{
"title": "Best moments 🤪",
"type": "user",
"url": "https://www.threads.com/@somesh_duke"
},
{
"title": "Pragati Patel",
"type": "user",
"url": "https://www.threads.com/@pragati_a_patel"
},
{
"title": "sarno...💙",
"type": "user",
"url": "https://www.threads.com/@sarno_makal"
}
],
"search_url": "https://www.threads.com/search/?limit=10&q=instagram"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `canonical_url` | `string` | https://www.threads.com/search/?limit=10&q=instagram |
| `query` | `string` | instagram |
| `result_count` | `integer` | 10 |
| `results` | `array` | 3 items |
| `results` | `array` | 3 items |
| `search_url` | `string` | https://www.threads.com/search/?limit=10&q=instagram |
## 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)
## Threads: Tag lookup
Canonical: https://docs.upscrape.com/docs/platforms/threads/threads.tag
Markdown: https://docs.upscrape.com/docs/platforms/threads/threads.tag/index.md
# Tag lookup
Fetch public Threads tag metadata, including observed total and recent thread volumes.
- Platform: [Threads](https://docs.upscrape.com/docs/platforms/threads)
- Capability ID: `threads.tag`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"tag": "photography"
},
"capability": "threads.tag"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `tag` | `string` | Yes | Threads topic tag, with or without a leading #. |
### Example input
```json
{
"tag": "photography"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"canonical_url": "https://www.threads.com/tag/photography",
"counts_observed": true,
"description": "109K recent threads · Discover conversations, thoughts, photos and videos related to photography on Threads.",
"recent_threads": 109000,
"tag": "photography",
"tag_url": "https://www.threads.com/tag/photography",
"title": "photography · 41M threads",
"total_threads": 41000000
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `canonical_url` | `string` | https://www.threads.com/tag/photography |
| `counts_observed` | `boolean` | true |
| `description` | `string` | 109K recent threads · Discover conversations, thoughts, photos and vide… |
| `recent_threads` | `integer` | 109000 |
| `tag` | `string` | photography |
| `tag_url` | `string` | https://www.threads.com/tag/photography |
| `title` | `string` | photography · 41M threads |
| `total_threads` | `integer` | 41000000 |
## 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)
## Threads: Profile media posts
Canonical: https://docs.upscrape.com/docs/platforms/threads/threads.user.threads
Markdown: https://docs.upscrape.com/docs/platforms/threads/threads.user.threads/index.md
# Profile media posts
Compatibility alias that extracts public media-post links from a Threads profile media page.
- Platform: [Threads](https://docs.upscrape.com/docs/platforms/threads)
- Capability ID: `threads.user.threads`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"handle": "instagram",
"limit": 10
},
"capability": "threads.user.threads"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `handle` | `string` | Yes | Handle supplied for this request. |
| `limit` | `integer` | No | Maximum number of results to return. |
### Example input
```json
{
"handle": "instagram",
"limit": 10
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"handle": "instagram",
"posts": [
{
"type": "thread",
"url": "https://www.threads.com/@instagram/post/DcOlZHcjqQY"
},
{
"type": "thread",
"url": "https://www.threads.com/@instagram/post/DcMAltFH5Ik"
},
{
"type": "thread",
"url": "https://www.threads.com/@instagram/post/DcJc-B6DSJ-"
}
],
"profile_url": "https://www.threads.com/@instagram/media",
"request_url": "https://www.threads.com/@instagram/media?limit=10",
"result_count": 4
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `handle` | `string` | instagram |
| `posts` | `array` | 3 items |
| `posts` | `array` | 3 items |
| `profile_url` | `string` | https://www.threads.com/@instagram/media |
| `request_url` | `string` | https://www.threads.com/@instagram/media?limit=10 |
| `result_count` | `integer` | 4 |
## 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)
## TikTok API
Canonical: https://docs.upscrape.com/docs/platforms/tiktok
Markdown: https://docs.upscrape.com/docs/platforms/tiktok/index.md
# TikTok API
Extract public TikTok profile identities, audience totals, and video engagement metadata.
- Platform ID: `tiktok`
- Capabilities: 2
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Video detail](https://docs.upscrape.com/docs/platforms/tiktok/tiktok.post.get)
- Capability ID: `tiktok.post.get`
- Cost: 1 credit per request
Fetch public video metadata, author, and engagement totals.
### [User profile detail](https://docs.upscrape.com/docs/platforms/tiktok/tiktok.profile.get)
- Capability ID: `tiktok.profile.get`
- Cost: 1 credit per request
Fetch public profile identity, biography, verification, and engagement totals.
## Common uses
- Creator profile enrichment
- Public video engagement monitoring
- Creator-content verification
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## TikTok: Video detail
Canonical: https://docs.upscrape.com/docs/platforms/tiktok/tiktok.post.get
Markdown: https://docs.upscrape.com/docs/platforms/tiktok/tiktok.post.get/index.md
# Video detail
Fetch public video metadata, author, and engagement totals.
- Platform: [TikTok](https://docs.upscrape.com/docs/platforms/tiktok)
- Capability ID: `tiktok.post.get`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"handle": "englishedit2",
"video_id": "7656260930187037982"
},
"capability": "tiktok.post.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `handle` | `string` | No | TikTok creator handle, with or without the leading @, used to build the canonical post URL. |
| `video_id` | `string` | Yes | Numeric TikTok video ID from the post URL. |
### Example input
```json
{
"handle": "englishedit2",
"video_id": "7656260930187037982"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"request_url": "https://www.tiktok.com/@englishedit2/video/7656260930187037982",
"video": {
"author_handle": "englishedit2",
"comment_count": 123,
"cover_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-useast8-p-0068-tx2/osIBQBEaRA4QA8DqOFqefo3FiCuEuEbAVrIZBk~tplv-tiktokx-origin.image?dr=10395&x-expires=1787572800&x-signature=[redacted:credential]&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=no1a",
"create_time": 1782612176,
"description": "#Hollywood #HollywoodMovie #HollywoodScene #HollywoodClip #MovieShorts #FilmLovers #Cinematic #ViralVideo #TrendingNow #ForYou #FYP #ForYouPage #MovieTok #ActorLife #EpicScene ",
"id": "7656260930187037982",
"like_count": 34700,
"play_count": 2100000,
"share_count": 449
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `request_url` | `string` | https://www.tiktok.com/@englishedit2/video/7656260930187037982 |
| `video` | `object` | 9 fields |
| `video.author_handle` | `string` | englishedit2 |
| `video.comment_count` | `integer` | 123 |
| `video.cover_url` | `string` | https://p16-common-sign.tiktokcdn-eu.com/tos-useast8-p-0068-tx2/osIBQBE… |
| `video.create_time` | `integer` | 1782612176 |
| `video.description` | `string` | #Hollywood #HollywoodMovie #HollywoodScene #HollywoodClip #MovieShorts … |
| `video.id` | `string` | 7656260930187037982 |
| `video.like_count` | `integer` | 34700 |
| `video.play_count` | `integer` | 2100000 |
| `video.share_count` | `integer` | 449 |
## 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)
## TikTok: User profile detail
Canonical: https://docs.upscrape.com/docs/platforms/tiktok/tiktok.profile.get
Markdown: https://docs.upscrape.com/docs/platforms/tiktok/tiktok.profile.get/index.md
# User profile detail
Fetch public profile identity, biography, verification, and engagement totals.
- Platform: [TikTok](https://docs.upscrape.com/docs/platforms/tiktok)
- Capability ID: `tiktok.profile.get`
- Cost: 1 credit per request
- Maximum runtime: 45 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"handle": "tiktok"
},
"capability": "tiktok.profile.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `handle` | `string` | Yes | Handle supplied for this request. |
### Example input
```json
{
"handle": "tiktok"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=10399&refresh_token=[redacted:credential]&x-expires=1787572800&x-signature=[redacted:credential]&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=no1a",
"bio": "One TikTok can make a big impact",
"display_name": "TikTok",
"followers": 95400000,
"following": 0,
"handle": "tiktok",
"likes": 462900000,
"profile_url": "https://www.tiktok.com/@tiktok",
"verified": true,
"video_count": 1492
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `avatar_url` | `string` | https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/ba67b11de4… |
| `bio` | `string` | One TikTok can make a big impact |
| `display_name` | `string` | TikTok |
| `followers` | `integer` | 95400000 |
| `following` | `integer` | 0 |
| `handle` | `string` | tiktok |
| `likes` | `integer` | 462900000 |
| `profile_url` | `string` | https://www.tiktok.com/@tiktok |
| `verified` | `boolean` | true |
| `video_count` | `integer` | 1492 |
## 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)
## TikTok Ad Library API
Canonical: https://docs.upscrape.com/docs/platforms/tiktok-adlibrary
Markdown: https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/index.md
# TikTok Ad Library API
Research TikTok advertisers, ads, disclosed targeting, and aggregate activity.
- Platform ID: `tiktok-adlibrary`
- Capabilities: 3
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Get Ads Report](https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/tiktok-adlibrary.ads.report.get)
- Capability ID: `tiktok-adlibrary.ads.report.get`
- Cost: 10 credits per request
Returns TikTok's aggregate ad publication report: country share and daily unique-ad counts, optionally filtered to one advertiser.
### [Search Advertisers](https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/tiktok-adlibrary.advertiser.search)
- Capability ID: `tiktok-adlibrary.advertiser.search`
- Cost: 10 credits per request
Resolves an advertiser name fragment to TikTok's exact registered advertiser names and business ids for advertiser-filtered capabilities.
### [List Supported Regions](https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/tiktok-adlibrary.regions.list)
- Capability ID: `tiktok-adlibrary.regions.list`
- Cost: 10 credits per request
Lists the countries currently supported by TikTok's Commercial Content Library with their display names and region codes.
## Common uses
- Monitor competitor creative campaigns
- Research advertiser activity by market
- Analyze disclosed targeting and reach
- Build ad transparency datasets and market reports
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## TikTok Ad Library: Get Ads Report
Canonical: https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/tiktok-adlibrary.ads.report.get
Markdown: https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/tiktok-adlibrary.ads.report.get/index.md
# Get Ads Report
Returns TikTok's aggregate ad publication report: country share and daily unique-ad counts, optionally filtered to one advertiser.
- Platform: [TikTok Ad Library](https://docs.upscrape.com/docs/platforms/tiktok-adlibrary)
- Capability ID: `tiktok-adlibrary.ads.report.get`
- Cost: 10 credits per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"country": "ALL"
},
"capability": "tiktok-adlibrary.ads.report.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `advertiser_name` | `string` | No | Exact advertiser name from advertiser.search; provide with business_id. |
| `business_id` | `string` | No | Advertiser business id from advertiser.search; provide with advertiser_name. |
| `country` | `string` | No | Current TikTok Commercial Content Library region, or ALL. |
| `end_date` | `string` | No | Report end date, inclusive; defaults to today. |
| `start_date` | `string` | No | Report start date; the range may span at most 31 days. |
### Example input
```json
{
"country": "ALL"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"ad_activity": {
"columns": [
"region",
"percent"
],
"rows": [
[
{
"str_value": "GB"
},
{
"double_value": 0.07593036472458096
}
],
[
{
"str_value": "DE"
},
{
"double_value": 0.05512698278534072
}
],
[
{
"str_value": "FR"
},
{
"double_value": 0.046793195784205
}
]
]
},
"ad_published": {
"columns": [
"date",
"total_count"
],
"rows": [
[
{
"int64_value": 1784764800
},
{
"int32_value": 9279039
}
],
[
{
"int64_value": 1784851200
},
{
"int32_value": 9853321
}
],
[
{
"int64_value": 1784937600
},
{
"int32_value": 8537046
}
]
]
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `ad_activity` | `object` | 2 fields |
| `ad_activity.columns` | `array` | 2 items |
| `ad_activity.rows` | `array` | 3 items |
| `ad_published` | `object` | 2 fields |
| `ad_published.columns` | `array` | 2 items |
| `ad_published.rows` | `array` | 3 items |
## 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)
## TikTok Ad Library: Search Advertisers
Canonical: https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/tiktok-adlibrary.advertiser.search
Markdown: https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/tiktok-adlibrary.advertiser.search/index.md
# Search Advertisers
Resolves an advertiser name fragment to TikTok's exact registered advertiser names and business ids for advertiser-filtered capabilities.
- Platform: [TikTok Ad Library](https://docs.upscrape.com/docs/platforms/tiktok-adlibrary)
- Capability ID: `tiktok-adlibrary.advertiser.search`
- Cost: 10 credits per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 5,
"query": "nike"
},
"capability": "tiktok-adlibrary.advertiser.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of advertiser matches. |
| `query` | `string` | Yes | Advertiser name fragment. |
### Example input
```json
{
"limit": 5,
"query": "nike"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"business_id": "7587573238117498896",
"name": "NIKE COM SRL"
},
{
"business_id": "6876453864464188162",
"name": "NIKE Retail B.V."
}
],
"total_items": 2
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 2 items |
| `items` | `array` | 2 items |
| `total_items` | `integer` | 2 |
## 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)
## TikTok Ad Library: List Supported Regions
Canonical: https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/tiktok-adlibrary.regions.list
Markdown: https://docs.upscrape.com/docs/platforms/tiktok-adlibrary/tiktok-adlibrary.regions.list/index.md
# List Supported Regions
Lists the countries currently supported by TikTok's Commercial Content Library with their display names and region codes.
- Platform: [TikTok Ad Library](https://docs.upscrape.com/docs/platforms/tiktok-adlibrary)
- Capability ID: `tiktok-adlibrary.regions.list`
- Cost: 10 credits per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "tiktok-adlibrary.regions.list"
}'
```
## Input
This capability accepts an empty input object.
### Example input
```json
{}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"code": "AT",
"name": "Austria"
},
{
"code": "BE",
"name": "Belgium"
},
{
"code": "BG",
"name": "Bulgaria"
}
],
"total_items": 33
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `total_items` | `integer` | 33 |
## 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)
## Trip.com Travel API
Canonical: https://docs.upscrape.com/docs/platforms/tripcom
Markdown: https://docs.upscrape.com/docs/platforms/tripcom/index.md
# Trip.com Travel API
Public Trip.com hotel and attraction listing data.
- Platform ID: `tripcom`
- Capabilities: 2
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Trip.com Attractions Search](https://docs.upscrape.com/docs/platforms/tripcom/tripcom.attractions.search)
- Capability ID: `tripcom.attractions.search`
- Cost: 1 credit per request
Search trip.com attraction and experience listings with destination/date filters and pagination.
### [Trip.com Hotel Search](https://docs.upscrape.com/docs/platforms/tripcom/tripcom.hotel.search)
- Capability ID: `tripcom.hotel.search`
- Cost: 1 credit per request
Search Trip.com hotel listing pages and extract normalized hotel cards.
## Common uses
- Hotel listing extraction from Trip.com city pages
- Attraction discovery from current Trip.com destination pages
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Trip.com Travel Scraper: Trip.com Attractions Search
Canonical: https://docs.upscrape.com/docs/platforms/tripcom/tripcom.attractions.search
Markdown: https://docs.upscrape.com/docs/platforms/tripcom/tripcom.attractions.search/index.md
# Trip.com Attractions Search
Search trip.com attraction and experience listings with destination/date filters and pagination.
- Platform: [Trip.com Travel](https://docs.upscrape.com/docs/platforms/tripcom)
- Capability ID: `tripcom.attractions.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"adults": 2,
"children": 0,
"currency": "GBP",
"destination": "London",
"locale": "en",
"max_pages": 2,
"max_results": 10,
"page": 1,
"query": "London"
},
"capability": "tripcom.attractions.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `adults` | `integer` | No | Adults supplied for this request. |
| `children` | `integer` | No | Children supplied for this request. |
| `currency` | `string` | No | Currency supplied for this request. |
| `date` | `string` | No | Optional attraction date filter in YYYY-MM-DD |
| `destination` | `string` | No | Optional destination name used by autocomplete-like endpoints |
| `locale` | `string` | No | Locale to use for the request. |
| `location_id` | `string` | No | Location identifier when available |
| `max_pages` | `integer` | No | Max pages supplied for this request. |
| `max_results` | `integer` | No | Max results supplied for this request. |
| `page` | `integer` | No | One-based result page to fetch. |
| `query` | `string` | Yes | Attraction search query |
### Example input
```json
{
"adults": 2,
"children": 0,
"currency": "GBP",
"destination": "London",
"locale": "en",
"max_pages": 2,
"max_results": 10,
"page": 1,
"query": "London"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"attractions": [
{
"attraction_id": "78696",
"tags": [
"attraction"
],
"title": "The British Museum",
"url": "https://www.trip.com/travel-guide/attraction/london/the-british-museum-78696/"
},
{
"attraction_id": "81747",
"tags": [
"attraction"
],
"title": "London Eye",
"url": "https://www.trip.com/travel-guide/attraction/london/london-eye-81747/"
},
{
"attraction_id": "78709",
"tags": [
"attraction"
],
"title": "Windsor Castle",
"url": "https://www.trip.com/travel-guide/attraction/windsor/windsor-castle-78709/"
}
],
"currency": "GBP",
"end_page": 1,
"has_more": false,
"locale": "en",
"pages_fetched": 1,
"query": "London",
"source": "trip.com-attractions",
"source_url": "https://www.trip.com/things-to-do/experiences/london-attractions/?adults=2¤cy=GBP&destination=London&keyword=London&locale=en&q=London&query=London",
"start_page": 1,
"total_found": 51
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `attractions` | `array` | 3 items |
| `attractions` | `array` | 3 items |
| `currency` | `string` | GBP |
| `end_page` | `integer` | 1 |
| `has_more` | `boolean` | false |
| `locale` | `string` | en |
| `pages_fetched` | `integer` | 1 |
| `query` | `string` | London |
| `source` | `string` | trip.com-attractions |
| `source_url` | `string` | https://www.trip.com/things-to-do/experiences/london-attractions/?adult… |
| `start_page` | `integer` | 1 |
| `total_found` | `integer` | 51 |
## 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)
## Trip.com Travel Scraper: Trip.com Hotel Search
Canonical: https://docs.upscrape.com/docs/platforms/tripcom/tripcom.hotel.search
Markdown: https://docs.upscrape.com/docs/platforms/tripcom/tripcom.hotel.search/index.md
# Trip.com Hotel Search
Search Trip.com hotel listing pages and extract normalized hotel cards.
- Platform: [Trip.com Travel](https://docs.upscrape.com/docs/platforms/tripcom)
- Capability ID: `tripcom.hotel.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"listing_url": "https://nz.trip.com/hotels/london-hotels-list-338/",
"max_pages": 1,
"page": 1
},
"capability": "tripcom.hotel.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `adults` | `integer` | No | Adults supplied for this request. |
| `amenities` | `array` | No | Amenities supplied for this request. |
| `check_in` | `string` | No | Check-in date in YYYY-MM-DD |
| `check_out` | `string` | No | Check-out date in YYYY-MM-DD |
| `children` | `integer` | No | Children supplied for this request. |
| `currency` | `string` | No | Currency supplied for this request. |
| `listing_url` | `string` | Yes | Trip.com hotel listing URL |
| `locale` | `string` | No | Locale to use for the request. |
| `max_pages` | `integer` | No | Max pages supplied for this request. |
| `page` | `integer` | No | One-based result page to fetch. |
| `rooms` | `integer` | No | Rooms supplied for this request. |
### Example input
```json
{
"listing_url": "https://nz.trip.com/hotels/london-hotels-list-338/",
"max_pages": 1,
"page": 1
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"end_page": 1,
"has_more": false,
"input_url": "https://nz.trip.com/hotels/london-hotels-list-338/",
"listings": [
{
"id": "2196184",
"image_url": "https://ak-d.tripcdn.com/images/1mc2412000mkgxc0nF10B.jpg?proc=resize/m_r,w_700,h_448,8688&proc=format/f_webp",
"page": 1,
"position": 1,
"rating": 8.6,
"reviews": 676,
"title": "Holiday Inn Express LONDON - LIMEHOUSE by IHG",
"url": "https://nz.trip.com/hotels/london-hotel-detail-2196184/holiday-inn-express-london-limehouse-by-ihg/"
},
{
"id": "2985758",
"image_url": "https://ak-d.tripcdn.com/images/1mc4512000dl5w9gpC200.jpg?proc=resize/m_r,w_700,h_448,8688&proc=format/f_webp",
"page": 1,
"position": 2,
"rating": 8.2,
"reviews": 3017,
"title": "Royal National Hotel",
"url": "https://nz.trip.com/hotels/london-hotel-detail-2985758/royal-national-hotel-london/"
},
{
"id": "128788146",
"image_url": "https://ak-d.tripcdn.com/images/1mc1a12000nnt77hz6D87.jpg?proc=resize/m_r,w_700,h_448,8688&proc=format/f_webp",
"page": 1,
"position": 3,
"rating": 8.2,
"reviews": 1209,
"title": "Zedwell Capsule Hotel Piccadilly Circus",
"url": "https://nz.trip.com/hotels/london-hotel-detail-128788146/zedwell-capsule-hotel-piccadilly-circus/"
}
],
"pages_fetched": 1,
"query": "London",
"source_url": "https://nz.trip.com/hotels/london-hotels-list-338/",
"start_page": 1,
"total_found": 29
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `end_page` | `integer` | 1 |
| `has_more` | `boolean` | false |
| `input_url` | `string` | https://nz.trip.com/hotels/london-hotels-list-338/ |
| `listings` | `array` | 3 items |
| `listings` | `array` | 3 items |
| `pages_fetched` | `integer` | 1 |
| `query` | `string` | London |
| `source_url` | `string` | https://nz.trip.com/hotels/london-hotels-list-338/ |
| `start_page` | `integer` | 1 |
| `total_found` | `integer` | 29 |
## 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)
## Trustpilot API
Canonical: https://docs.upscrape.com/docs/platforms/trustpilot
Markdown: https://docs.upscrape.com/docs/platforms/trustpilot/index.md
# Trustpilot API
Aggregate product ratings and review counts for any Trustpilot business unit, via the public TrustBox widget API.
- Platform ID: `trustpilot`
- Capabilities: 1
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Product Rating Get](https://docs.upscrape.com/docs/platforms/trustpilot/trustpilot.product.rating.get)
- Capability ID: `trustpilot.product.rating.get`
- Cost: 1 credit per request
Fetch the aggregate Trustpilot product rating, review count, and GTIN for a business unit's SKU.
## Common uses
- Catalog and price-comparison teams enriching product records with Trustpilot ratings
- Review-coverage analytics across a retailer's SKU catalog
- Brand and retailer monitoring from public product review data
- GTIN discovery for product matching and deduplication
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Trustpilot: Product Rating Get
Canonical: https://docs.upscrape.com/docs/platforms/trustpilot/trustpilot.product.rating.get
Markdown: https://docs.upscrape.com/docs/platforms/trustpilot/trustpilot.product.rating.get/index.md
# Product Rating Get
Fetch the aggregate Trustpilot product rating, review count, and GTIN for a business unit's SKU.
- Platform: [Trustpilot](https://docs.upscrape.com/docs/platforms/trustpilot)
- Capability ID: `trustpilot.product.rating.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"business_unit_id": "605071d79427c2000147bff9",
"language": "fr",
"product_name": "Irrésistible Givenchy",
"sku": "41013C42",
"url": "https://www.my-origines.com/fr/irresistible-givenchy-41013C42.html"
},
"capability": "trustpilot.product.rating.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `business_unit_id` | `string` | Yes | Business unit identifier. |
| `language` | `string` | No | Language supplied for this request. |
| `product_name` | `string` | No | Product name supplied for this request. |
| `sku` | `string` | Yes | Sku supplied for this request. |
| `template_id` | `string` | No | Template identifier. |
| `url` | `string` | No | Url supplied for this request. |
### Example input
```json
{
"business_unit_id": "605071d79427c2000147bff9",
"language": "fr",
"product_name": "Irrésistible Givenchy",
"sku": "41013C42",
"url": "https://www.my-origines.com/fr/irresistible-givenchy-41013C42.html"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"gtin": "3274872512634",
"has_rating": true,
"name": "Irrésistible Givenchy",
"rating_count": 2,
"rating_stars": 4.5,
"raw": {
"@context": "http://schema.org",
"@type": "Product",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "2"
},
"brand": "Givenchy",
"gtin13": "3274872512634",
"image": "https://www.my-origines.com/dw/image/v2/BJRD_PRD/on/demandware.static/-/Sites-size-master/default/dw21f18e17/images/41013C42_P.jpg?sw=1500&sh=1500&sm=fit",
"mpn": "Givenchy",
"name": "Irrésistible Givenchy",
"offers": {
"@type": "Offer",
"price": "108.80",
"priceCurrency": "EUR",
"url": "https://www.my-origines.com/fr/irresistible-givenchy-41013C42.html"
},
"sku": "41013C42",
"url": "https://www.my-origines.com/fr/irresistible-givenchy-41013C42.html"
},
"sku": "41013C42"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `gtin` | `string` | 3274872512634 |
| `has_rating` | `boolean` | true |
| `name` | `string` | Irrésistible Givenchy |
| `rating_count` | `integer` | 2 |
| `rating_stars` | `number` | 4.5 |
| `raw` | `object` | 11 fields |
| `raw.@context` | `string` | http://schema.org |
| `raw.@type` | `string` | Product |
| `raw.aggregateRating` | `object` | 3 fields |
| `raw.brand` | `string` | Givenchy |
| `raw.gtin13` | `string` | 3274872512634 |
| `raw.image` | `string` | https://www.my-origines.com/dw/image/v2/BJRD_PRD/on/demandware.static/-… |
| `raw.mpn` | `string` | Givenchy |
| `raw.name` | `string` | Irrésistible Givenchy |
| `raw.offers` | `object` | 4 fields |
| `raw.sku` | `string` | 41013C42 |
| `raw.url` | `string` | https://www.my-origines.com/fr/irresistible-givenchy-41013C42.html |
| `sku` | `string` | 41013C42 |
## 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)
## Tumblr API
Canonical: https://docs.upscrape.com/docs/platforms/tumblr
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/index.md
# Tumblr API
Public Tumblr profiles, posts, search, tag discovery, and original media.
- Platform ID: `tumblr`
- Capabilities: 10
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [List Images](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.images.list)
- Capability ID: `tumblr.images.list`
- Cost: 1 credit per request
Extract original-resolution images from a bounded set of public blog posts
### [Get Post Images](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.post-images.get)
- Capability ID: `tumblr.post-images.get`
- Cost: 1 credit per request
Extract images from a specific Tumblr post
### [Get Post](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.post.get)
- Capability ID: `tumblr.post.get`
- Cost: 1 credit per request
Fetch a normalized public Tumblr post by blog name and post ID
### [List Posts](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.posts.list)
- Capability ID: `tumblr.posts.list`
- Cost: 1 credit per request
Fetch a bounded list of public posts from a Tumblr blog
### [Search Posts](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.posts.search)
- Capability ID: `tumblr.posts.search`
- Cost: 1 credit per request
Search public Tumblr posts by keyword with a bounded result count
### [Get Profile](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.profile.get)
- Capability ID: `tumblr.profile.get`
- Cost: 1 credit per request
Fetch a Tumblr user's profile information
### [List Raw Posts](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.raw-posts.list)
- Capability ID: `tumblr.raw-posts.list`
- Cost: 1 credit per request
Fetch a bounded list of sanitized raw public post records for custom parsing
### [Get Raw Profile](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.raw-profile.get)
- Capability ID: `tumblr.raw-profile.get`
- Cost: 1 credit per request
Fetch sanitized raw public profile data for custom parsing
### [List Tag Posts](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.tag-posts.list)
- Capability ID: `tumblr.tag-posts.list`
- Cost: 1 credit per request
List a bounded public post timeline for a Tumblr tag
### [Get Tag](https://docs.upscrape.com/docs/platforms/tumblr/tumblr.tag.get)
- Capability ID: `tumblr.tag.get`
- Cost: 1 credit per request
Fetch public Tumblr tag hub metadata and aggregate counts
## Common uses
- Monitor public blogs and publishing activity
- Build bounded public post datasets
- Analyze post metadata, tags, and engagement
- Collect original-resolution public media
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Tumblr Scraper: List Images
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.images.list
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.images.list/index.md
# List Images
Extract original-resolution images from a bounded set of public blog posts
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.images.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"username": "ashishbishnoi-blog"
},
"capability": "tumblr.images.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of posts to inspect |
| `username` | `string` | Yes | Tumblr username |
### Example input
```json
{
"username": "ashishbishnoi-blog"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"images": [
{
"height": 2340,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"postId": "802275442449170432",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s2048x3072/[redacted:token].jpg",
"width": 1080
},
{
"height": 1632,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"postId": "802275442449170432",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s1280x1920/[redacted:token].jpg",
"width": 1224
},
{
"height": 1475,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"postId": "802275442449170432",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s1280x1920/[redacted:token].jpg",
"width": 1179
}
],
"totalCount": 4
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `images` | `array` | 3 items |
| `images` | `array` | 3 items |
| `totalCount` | `integer` | 4 |
## 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)
## Tumblr Scraper: Get Post Images
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.post-images.get
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.post-images.get/index.md
# Get Post Images
Extract images from a specific Tumblr post
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.post-images.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"post_id": "802275442449170432",
"username": "ashishbishnoi-blog"
},
"capability": "tumblr.post-images.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `post_id` | `string` | Yes | Numeric post ID |
| `username` | `string` | Yes | Tumblr username |
### Example input
```json
{
"post_id": "802275442449170432",
"username": "ashishbishnoi-blog"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"images": [
{
"height": 2340,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"postId": "802275442449170432",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s2048x3072/[redacted:token].jpg",
"width": 1080
},
{
"height": 1632,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"postId": "802275442449170432",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s1280x1920/[redacted:token].jpg",
"width": 1224
},
{
"height": 1475,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"postId": "802275442449170432",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s1280x1920/[redacted:token].jpg",
"width": 1179
}
],
"postId": "802275442449170432",
"postUrl": "https://www.tumblr.com/ashishbishnoi-blog/802275442449170432",
"totalCount": 4
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `images` | `array` | 3 items |
| `images` | `array` | 3 items |
| `postId` | `string` | 802275442449170432 |
| `postUrl` | `string` | https://www.tumblr.com/ashishbishnoi-blog/802275442449170432 |
| `totalCount` | `integer` | 4 |
## 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)
## Tumblr Scraper: Get Post
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.post.get
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.post.get/index.md
# Get Post
Fetch a normalized public Tumblr post by blog name and post ID
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.post.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"post_id": "802275442449170432",
"username": "ashishbishnoi-blog"
},
"capability": "tumblr.post.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `post_id` | `string` | Yes | Numeric post ID |
| `username` | `string` | Yes | Tumblr username |
### Example input
```json
{
"post_id": "802275442449170432",
"username": "ashishbishnoi-blog"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"blogName": "ashishbishnoi-blog",
"content": [
{
"media": [
{
"hasOriginalDimensions": true,
"height": 2340,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s2048x3072/[redacted:token].jpg",
"width": 1080
},
{
"hasOriginalDimensions": false,
"height": 1920,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s1280x1920/[redacted:token].jpg",
"width": 886
},
{
"hasOriginalDimensions": false,
"height": 960,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s640x960/[redacted:token].jpg",
"width": 443
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 1632,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s1280x1920/[redacted:token].jpg",
"width": 1224
},
{
"hasOriginalDimensions": false,
"height": 853,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 720,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 1475,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s1280x1920/[redacted:token].jpg",
"width": 1179
},
{
"hasOriginalDimensions": false,
"height": 801,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 676,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
}
],
"id": "802275442449170432",
"noteCount": 1,
"postUrl": "https://www.tumblr.com/ashishbishnoi-blog/802275442449170432",
"timestamp": 1765109484,
"type": "blocks"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `blogName` | `string` | ashishbishnoi-blog |
| `content` | `array` | 3 items |
| `content` | `array` | 3 items |
| `id` | `string` | 802275442449170432 |
| `noteCount` | `integer` | 1 |
| `postUrl` | `string` | https://www.tumblr.com/ashishbishnoi-blog/802275442449170432 |
| `timestamp` | `integer` | 1765109484 |
| `type` | `string` | blocks |
## 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)
## Tumblr Scraper: List Posts
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.posts.list
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.posts.list/index.md
# List Posts
Fetch a bounded list of public posts from a Tumblr blog
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.posts.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"username": "ashishbishnoi-blog"
},
"capability": "tumblr.posts.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of posts to return |
| `username` | `string` | Yes | Tumblr username |
### Example input
```json
{
"username": "ashishbishnoi-blog"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"posts": [
{
"blogName": "ashishbishnoi-blog",
"content": [
{
"media": [
{
"hasOriginalDimensions": true,
"height": 2340,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s2048x3072/[redacted:token].jpg",
"width": 1080
},
{
"hasOriginalDimensions": false,
"height": 1920,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s1280x1920/[redacted:token].jpg",
"width": 886
},
{
"hasOriginalDimensions": false,
"height": 960,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s640x960/[redacted:token].jpg",
"width": 443
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 1632,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s1280x1920/[redacted:token].jpg",
"width": 1224
},
{
"hasOriginalDimensions": false,
"height": 853,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 720,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 1475,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s1280x1920/[redacted:token].jpg",
"width": 1179
},
{
"hasOriginalDimensions": false,
"height": 801,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 676,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
}
],
"id": "802275442449170432",
"noteCount": 1,
"postUrl": "https://www.tumblr.com/ashishbishnoi-blog/802275442449170432",
"timestamp": 1765109484,
"type": "blocks"
}
],
"totalCount": 1
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `posts` | `array` | 1 items |
| `posts` | `array` | 1 items |
| `totalCount` | `integer` | 1 |
## 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)
## Tumblr Scraper: Search Posts
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.posts.search
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.posts.search/index.md
# Search Posts
Search public Tumblr posts by keyword with a bounded result count
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.posts.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 5,
"query": "photography"
},
"capability": "tumblr.posts.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of posts to return |
| `query` | `string` | Yes | Tumblr search query |
### Example input
```json
{
"limit": 5,
"query": "photography"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"posts": [
{
"blogName": "nosimpincurly",
"content": [
{
"media": [
{
"hasOriginalDimensions": true,
"height": 1440,
"mediaKey": "903299d69e6a0fe730ba29186dac113c:d5a682faa9f2d7a0-a6",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/903299d69e6a0fe730ba29186dac113c/d5a682faa9f2d7a0-a6/s1280x1920/[redacted:token].jpg",
"width": 1080
},
{
"hasOriginalDimensions": false,
"height": 853,
"mediaKey": "903299d69e6a0fe730ba29186dac113c:d5a682faa9f2d7a0-a6",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/903299d69e6a0fe730ba29186dac113c/d5a682faa9f2d7a0-a6/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 720,
"mediaKey": "903299d69e6a0fe730ba29186dac113c:d5a682faa9f2d7a0-a6",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/903299d69e6a0fe730ba29186dac113c/d5a682faa9f2d7a0-a6/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
}
],
"id": "825063228799320064",
"noteCount": 11580,
"postUrl": "https://www.tumblr.com/nosimpincurly/825063228799320064",
"tags": [
"aesthetic",
"photography",
"couple"
],
"timestamp": 1786841610,
"type": "blocks"
},
{
"blogName": "fuckyeahchinesegarden",
"content": [
{
"media": [
{
"hasOriginalDimensions": true,
"height": 1440,
"mediaKey": "a00521fb3d0578c66d893ffa791d890d:ea933cd696f292eb-ff",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/a00521fb3d0578c66d893ffa791d890d/ea933cd696f292eb-ff/s1280x1920/[redacted:token].jpg",
"width": 1080
},
{
"hasOriginalDimensions": false,
"height": 853,
"mediaKey": "a00521fb3d0578c66d893ffa791d890d:ea933cd696f292eb-ff",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/a00521fb3d0578c66d893ffa791d890d/ea933cd696f292eb-ff/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 720,
"mediaKey": "a00521fb3d0578c66d893ffa791d890d:ea933cd696f292eb-ff",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/a00521fb3d0578c66d893ffa791d890d/ea933cd696f292eb-ff/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 2560,
"mediaKey": "7311fc741c08fd5a945d725c861a504c:ea933cd696f292eb-be",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/7311fc741c08fd5a945d725c861a504c/ea933cd696f292eb-be/s2048x3072/[redacted:token].jpg",
"width": 1920
},
{
"hasOriginalDimensions": false,
"height": 1707,
"mediaKey": "7311fc741c08fd5a945d725c861a504c:ea933cd696f292eb-be",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/7311fc741c08fd5a945d725c861a504c/ea933cd696f292eb-be/s1280x1920/[redacted:token].jpg",
"width": 1280
},
{
"hasOriginalDimensions": false,
"height": 853,
"mediaKey": "7311fc741c08fd5a945d725c861a504c:ea933cd696f292eb-be",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/7311fc741c08fd5a945d725c861a504c/ea933cd696f292eb-be/s640x960/[redacted:token].jpg",
"width": 640
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 2560,
"mediaKey": "2e0557386e00c8f4e3bf4a3ca68e0e5b:ea933cd696f292eb-df",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/2e0557386e00c8f4e3bf4a3ca68e0e5b/ea933cd696f292eb-df/s2048x3072/[redacted:token].jpg",
"width": 1920
},
{
"hasOriginalDimensions": false,
"height": 1707,
"mediaKey": "2e0557386e00c8f4e3bf4a3ca68e0e5b:ea933cd696f292eb-df",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/2e0557386e00c8f4e3bf4a3ca68e0e5b/ea933cd696f292eb-df/s1280x1920/[redacted:token].jpg",
"width": 1280
},
{
"hasOriginalDimensions": false,
"height": 853,
"mediaKey": "2e0557386e00c8f4e3bf4a3ca68e0e5b:ea933cd696f292eb-df",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/2e0557386e00c8f4e3bf4a3ca68e0e5b/ea933cd696f292eb-df/s640x960/[redacted:token].jpg",
"width": 640
}
],
"type": "image"
}
],
"id": "825403546959855616",
"noteCount": 1778,
"postUrl": "https://fuckyeahchinesegarden.tumblr.com/post/825403546959855616/dujiangyan-sichuan-province-china-photos-by",
"summary": "Dujiangyan, Sichuan Province, China (photos by 我只是一只南瓜,Lillianaxxxx, 一碗心灵橙汁,小黑,阳光开朗大女孩,如梦,蓝色社畜章鱼,橙子抹茶豆浆,不二小姐)",
"tags": [
"china",
"scenery",
"travel"
],
"timestamp": 1787166163,
"type": "blocks"
},
{
"blogName": "gremlininho",
"content": [
{
"text": "\"Naga's Eye\" That Appears When It Rains. Thailand's Mystical Rock Formation",
"type": "text"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 768,
"mediaKey": "6e00f0826a6aeb89369d07410708cd56:72e80eb14b212486-e6",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/6e00f0826a6aeb89369d07410708cd56/72e80eb14b212486-e6/s1280x1920/[redacted:token].jpg",
"width": 1024
},
{
"hasOriginalDimensions": false,
"height": 480,
"mediaKey": "6e00f0826a6aeb89369d07410708cd56:72e80eb14b212486-e6",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/6e00f0826a6aeb89369d07410708cd56/72e80eb14b212486-e6/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 405,
"mediaKey": "6e00f0826a6aeb89369d07410708cd56:72e80eb14b212486-e6",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/6e00f0826a6aeb89369d07410708cd56/72e80eb14b212486-e6/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 720,
"mediaKey": "cee3438919fbb69501b8672879d48168:72e80eb14b212486-38",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/cee3438919fbb69501b8672879d48168/72e80eb14b212486-38/s1280x1920/[redacted:token].jpg",
"width": 960
},
{
"hasOriginalDimensions": false,
"height": 480,
"mediaKey": "cee3438919fbb69501b8672879d48168:72e80eb14b212486-38",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/cee3438919fbb69501b8672879d48168/72e80eb14b212486-38/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 405,
"mediaKey": "cee3438919fbb69501b8672879d48168:72e80eb14b212486-38",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/cee3438919fbb69501b8672879d48168/72e80eb14b212486-38/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
}
],
"id": "825568923654258688",
"noteCount": 2066,
"postUrl": "https://www.tumblr.com/gremlininho/825568923654258688/nagas-eye-that-appears-when-it-rains",
"summary": "\"Naga's Eye\" That Appears When It Rains. Thailand's Mystical Rock Formation\n\n❝In Phu Langka Plateau (National Park) in Bueng Kan...",
"tags": [
"thailand",
"nature",
"travel"
],
"timestamp": 1787323878,
"type": "blocks"
}
],
"totalCount": 5
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `posts` | `array` | 3 items |
| `posts` | `array` | 3 items |
| `totalCount` | `integer` | 5 |
## 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)
## Tumblr Scraper: Get Profile
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.profile.get
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.profile.get/index.md
# Get Profile
Fetch a Tumblr user's profile information
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.profile.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"username": "ashishbishnoi-blog"
},
"capability": "tumblr.profile.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `username` | `string` | Yes | Tumblr username or blog name |
### Example input
```json
{
"username": "ashishbishnoi-blog"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"avatar": "",
"description": "",
"isNsfw": false,
"isPrivate": false,
"name": "ashishbishnoi-blog",
"title": "",
"url": "https://www.tumblr.com/ashishbishnoi-blog",
"uuid": ""
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `avatar` | `string` | |
| `description` | `string` | |
| `isNsfw` | `boolean` | false |
| `isPrivate` | `boolean` | false |
| `name` | `string` | ashishbishnoi-blog |
| `title` | `string` | |
| `url` | `string` | https://www.tumblr.com/ashishbishnoi-blog |
| `uuid` | `string` | |
## 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)
## Tumblr Scraper: List Raw Posts
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.raw-posts.list
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.raw-posts.list/index.md
# List Raw Posts
Fetch a bounded list of sanitized raw public post records for custom parsing
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.raw-posts.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"username": "ashishbishnoi-blog"
},
"capability": "tumblr.raw-posts.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of posts to return |
| `username` | `string` | Yes | Tumblr username |
### Example input
```json
{
"username": "ashishbishnoi-blog"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"posts": [
{
"isNsfw": false,
"isCommercial": false,
"serveId": "8f8d937a0aedbd2bdbcf18caab5090af",
"interactabilityReblog": "everyone",
"tagsV2": [],
"type": "blocks",
"blog": {
"allowSearchIndexing": true,
"ask": false,
"askPageTitle": "Ask me anything",
"avatar": [
{
"accessories": [],
"height": 512,
"url": "https://assets.tumblr.com/images/default_avatar/octahedron_open_512.png",
"width": 512
},
{
"accessories": [],
"height": 200,
"url": "https://assets.tumblr.com/images/default_avatar/octahedron_open_200.png",
"width": 200
},
{
"accessories": [],
"height": 128,
"url": "https://assets.tumblr.com/images/default_avatar/octahedron_open_128.png",
"width": 128
}
],
"blogViewUrl": "https://www.tumblr.com/ashishbishnoi-blog",
"canBeFollowed": true,
"canMessage": true,
"canShowBadges": true,
"canSubscribe": false,
"descriptionNpf": [],
"isAdult": false,
"isAdultLastReporter": null,
"isHiddenFromBlogNetwork": false,
"isPasswordProtected": false,
"name": "ashishbishnoi-blog",
"shareFollowing": true,
"shareLikes": true,
"shareReplies": true,
"shouldBlur": false,
"shouldShowGift": false,
"shouldShowTumblrmartGift": false,
"subscribed": false,
"theme": {
"avatarShape": "square",
"backgroundColor": "#FFFFFF",
"bodyFont": "Helvetica Neue",
"headerBounds": "",
"headerImage": "https://assets.tumblr.com/images/default_header/optica_pattern_10.png?_v=eafbfb1726b334d86841955ae7b9221c",
"headerImageFocused": "https://assets.tumblr.com/images/default_header/optica_pattern_10_focused_v3.png?_v=eafbfb1726b334d86841955ae7b9221c",
"headerImagePoster": "",
"headerImageScaled": "https://assets.tumblr.com/images/default_header/optica_pattern_10_focused_v3.png?_v=eafbfb1726b334d86841955ae7b9221c",
"headerStretch": true,
"linkColor": "#00B8FF",
"showAvatar": true,
"showDescription": true,
"showHeaderImage": true,
"showTitle": true,
"titleColor": "#000000",
"titleFont": "Gibson",
"titleFontWeight": "bold"
},
"title": "Untitled",
"topTags": [],
"tumblrmartAccessories": {},
"url": "https://www.tumblr.com/ashishbishnoi-blog",
"uuid": "t:Qqo1RE5duRjVuD5wcrDDRw"
},
"idString": "802275442449170432",
"recommendedSource": null,
"embedUrl": "https://ashishbishnoi-blog.tumblr.com/post/802275442449170432/embed",
"canBlaze": false,
"displayAvatar": true,
"streamGlobalPosition": 1,
"classification": "clean",
"layout": [
{
"display": [
{
"blocks": [
0,
1
]
},
{
"blocks": [
2,
3
]
}
],
"type": "rows"
}
],
"content": [
{
"colors": {
"c0": "060706",
"c1": "13150a",
"c2": "3b5c80",
"c3": "738bb2",
"c4": "e0dbe2"
},
"exif": {
"Time": "1765109453"
},
"media": [
{
"hasOriginalDimensions": true,
"height": 2340,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s2048x3072/[redacted:token].jpg",
"width": 1080
},
{
"height": 1920,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s1280x1920/[redacted:token].jpg",
"width": 886
},
{
"height": 960,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s640x960/[redacted:token].jpg",
"width": 443
}
],
"type": "image"
},
{
"colors": {
"c0": "030b15",
"c1": "1d51bc",
"c2": "284a55",
"c3": "536982",
"c4": "467218"
},
"exif": {
"Time": "1765109453"
},
"media": [
{
"hasOriginalDimensions": true,
"height": 1632,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s1280x1920/[redacted:token].jpg",
"width": 1224
},
{
"height": 853,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s640x960/[redacted:token].jpg",
"width": 640
},
{
"height": 720,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
},
{
"colors": {
"c0": "050403",
"c1": "271407",
"c2": "b56649",
"c3": "8d5d4e",
"c4": "364747"
},
"exif": {
"Time": "1765109453"
},
"media": [
{
"hasOriginalDimensions": true,
"height": 1475,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s1280x1920/[redacted:token].jpg",
"width": 1179
},
{
"height": 801,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s640x960/[redacted:token].jpg",
"width": 640
},
{
"height": 676,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
}
],
"canReblog": false,
"objectType": "post",
"reblogCount": 0,
"recommendationReason": null,
"isBrandSafe": true,
"summary": "",
"canReply": false,
"id": "802275442449170432",
"recommendedColor": null,
"interactabilityBlaze": "everyone",
"canLike": false,
"communityLabels": {
"categories": [],
"hasCommunityLabel": false,
"lastReporter": "author"
},
"isBlazePending": false,
"isBlazed": false,
"nsfwScore": 0,
"isBlocksPostFormat": true,
"originalType": "regular",
"likeCount": 1,
"tags": [],
"canDelete": false,
"shortUrl": "https://tmblr.co/ZVgrbgiYGKEdCy00",
"postUrl": "https://www.tumblr.com/ashishbishnoi-blog/802275442449170432",
"timestamp": 1765109484,
"dismissal": null,
"canSendInMessage": true,
"replyCount": 0,
"state": "published",
"slug": "",
"canShare": true,
"blogName": "ashishbishnoi-blog",
"canEdit": false,
"date": "2025-12-07 12:11:24 GMT",
"shouldOpenInLegacy": false,
"noteCount": 1,
"trail": []
}
],
"totalCount": 1
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `posts` | `array` | 1 items |
| `posts` | `array` | 1 items |
| `totalCount` | `integer` | 1 |
## 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)
## Tumblr Scraper: Get Raw Profile
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.raw-profile.get
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.raw-profile.get/index.md
# Get Raw Profile
Fetch sanitized raw public profile data for custom parsing
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.raw-profile.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"username": "ashishbishnoi-blog"
},
"capability": "tumblr.raw-profile.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `username` | `string` | Yes | Tumblr username |
### Example input
```json
{
"username": "ashishbishnoi-blog"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"data": {
"PeeprRoute": {
"initialTimeline": {
"objects": [
{
"isNsfw": false,
"isCommercial": false,
"serveId": "8f8d937a0aedbd2bdbcf18caab5090af",
"interactabilityReblog": "everyone",
"tagsV2": [],
"type": "blocks",
"blog": {
"allowSearchIndexing": true,
"ask": false,
"askPageTitle": "Ask me anything",
"avatar": [
{
"accessories": [],
"height": 512,
"url": "https://assets.tumblr.com/images/default_avatar/octahedron_open_512.png",
"width": 512
},
{
"accessories": [],
"height": 200,
"url": "https://assets.tumblr.com/images/default_avatar/octahedron_open_200.png",
"width": 200
},
{
"accessories": [],
"height": 128,
"url": "https://assets.tumblr.com/images/default_avatar/octahedron_open_128.png",
"width": 128
}
],
"blogViewUrl": "https://www.tumblr.com/ashishbishnoi-blog",
"canBeFollowed": true,
"canMessage": true,
"canShowBadges": true,
"canSubscribe": false,
"descriptionNpf": [],
"isAdult": false,
"isAdultLastReporter": null,
"isHiddenFromBlogNetwork": false,
"isPasswordProtected": false,
"name": "ashishbishnoi-blog",
"shareFollowing": true,
"shareLikes": true,
"shareReplies": true,
"shouldBlur": false,
"shouldShowGift": false,
"shouldShowTumblrmartGift": false,
"subscribed": false,
"theme": {
"avatarShape": "square",
"backgroundColor": "#FFFFFF",
"bodyFont": "Helvetica Neue",
"headerBounds": "",
"headerImage": "https://assets.tumblr.com/images/default_header/optica_pattern_10.png?_v=eafbfb1726b334d86841955ae7b9221c",
"headerImageFocused": "https://assets.tumblr.com/images/default_header/optica_pattern_10_focused_v3.png?_v=eafbfb1726b334d86841955ae7b9221c",
"headerImagePoster": "",
"headerImageScaled": "https://assets.tumblr.com/images/default_header/optica_pattern_10_focused_v3.png?_v=eafbfb1726b334d86841955ae7b9221c",
"headerStretch": true,
"linkColor": "#00B8FF",
"showAvatar": true,
"showDescription": true,
"showHeaderImage": true,
"showTitle": true,
"titleColor": "#000000",
"titleFont": "Gibson",
"titleFontWeight": "bold"
},
"title": "Untitled",
"topTags": [],
"tumblrmartAccessories": {},
"url": "https://www.tumblr.com/ashishbishnoi-blog",
"uuid": "t:Qqo1RE5duRjVuD5wcrDDRw"
},
"idString": "802275442449170432",
"recommendedSource": null,
"embedUrl": "https://ashishbishnoi-blog.tumblr.com/post/802275442449170432/embed",
"canBlaze": false,
"displayAvatar": true,
"streamGlobalPosition": 1,
"classification": "clean",
"layout": [
{
"display": [
{
"blocks": [
0,
1
]
},
{
"blocks": [
2,
3
]
}
],
"type": "rows"
}
],
"content": [
{
"colors": {
"c0": "060706",
"c1": "13150a",
"c2": "3b5c80",
"c3": "738bb2",
"c4": "e0dbe2"
},
"exif": {
"Time": "1765109453"
},
"media": [
{
"hasOriginalDimensions": true,
"height": 2340,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s2048x3072/[redacted:token].jpg",
"width": 1080
},
{
"height": 1920,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s1280x1920/[redacted:token].jpg",
"width": 886
},
{
"height": 960,
"mediaKey": "63f8873182d3dbe71e1fc44f68ee7092:0a6507105c92078e-9c",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/63f8873182d3dbe71e1fc44f68ee7092/0a6507105c92078e-9c/s640x960/[redacted:token].jpg",
"width": 443
}
],
"type": "image"
},
{
"colors": {
"c0": "030b15",
"c1": "1d51bc",
"c2": "284a55",
"c3": "536982",
"c4": "467218"
},
"exif": {
"Time": "1765109453"
},
"media": [
{
"hasOriginalDimensions": true,
"height": 1632,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s1280x1920/[redacted:token].jpg",
"width": 1224
},
{
"height": 853,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s640x960/[redacted:token].jpg",
"width": 640
},
{
"height": 720,
"mediaKey": "f796ecf59658c395a0e30d743a7f8f5e:0a6507105c92078e-88",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f796ecf59658c395a0e30d743a7f8f5e/0a6507105c92078e-88/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
},
{
"colors": {
"c0": "050403",
"c1": "271407",
"c2": "b56649",
"c3": "8d5d4e",
"c4": "364747"
},
"exif": {
"Time": "1765109453"
},
"media": [
{
"hasOriginalDimensions": true,
"height": 1475,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s1280x1920/[redacted:token].jpg",
"width": 1179
},
{
"height": 801,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s640x960/[redacted:token].jpg",
"width": 640
},
{
"height": 676,
"mediaKey": "f4f564af10009c1a89b116071fd50ae9:0a6507105c92078e-5e",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/f4f564af10009c1a89b116071fd50ae9/0a6507105c92078e-5e/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
}
],
"canReblog": false,
"objectType": "post",
"reblogCount": 0,
"recommendationReason": null,
"isBrandSafe": true,
"summary": "",
"canReply": false,
"id": "802275442449170432",
"recommendedColor": null,
"interactabilityBlaze": "everyone",
"canLike": false,
"communityLabels": {
"categories": [],
"hasCommunityLabel": false,
"lastReporter": "author"
},
"isBlazePending": false,
"isBlazed": false,
"nsfwScore": 0,
"isBlocksPostFormat": true,
"originalType": "regular",
"likeCount": 1,
"tags": [],
"canDelete": false,
"shortUrl": "https://tmblr.co/ZVgrbgiYGKEdCy00",
"postUrl": "https://www.tumblr.com/ashishbishnoi-blog/802275442449170432",
"timestamp": 1765109484,
"dismissal": null,
"canSendInMessage": true,
"replyCount": 0,
"state": "published",
"slug": "",
"canShare": true,
"blogName": "ashishbishnoi-blog",
"canEdit": false,
"date": "2025-12-07 12:11:24 GMT",
"shouldOpenInLegacy": false,
"noteCount": 1,
"trail": []
}
]
}
},
"adPlacementConfiguration": {
"placements": {
"googleNativeBlogsHydraSource": {
"adPlacementId": "/22749103964/In-Feed.Dashboard",
"adSource": "google_native",
"expireTime": 3600000,
"loadingStrategy": 2,
"maxAdCount": 3,
"maxAdLoadingCount": 3,
"timeBetweenSuccessfulRequests": 150
},
"googleNativeCommunitiesHydraSource": {
"adPlacementId": "/22749103964/In-Feed.Dashboard",
"adSource": "google_native",
"expireTime": 3600000,
"loadingStrategy": 2,
"maxAdCount": 1,
"maxAdLoadingCount": 1,
"timeBetweenSuccessfulRequests": 150
},
"googleNativeCommunityHubsHydraSource": {
"adPlacementId": "/22749103964/In-Feed.Dashboard",
"adSource": "google_native",
"expireTime": 3600000,
"loadingStrategy": 2,
"maxAdCount": 2,
"maxAdLoadingCount": 2,
"timeBetweenSuccessfulRequests": 150
},
"googleNativeDashboardForYouHydraSource": {
"adPlacementId": "/22749103964/In-Feed.Dashboard",
"adSource": "google_native",
"expireTime": 3600000,
"loadingStrategy": 2,
"maxAdCount": 2,
"maxAdLoadingCount": 2,
"timeBetweenSuccessfulRequests": 150
},
"googleNativeDashboardHydraSource": {
"adPlacementId": "/22749103964/In-Feed.Dashboard",
"adSource": "google_native",
"expireTime": 3600000,
"loadingStrategy": 2,
"maxAdCount": 2,
"maxAdLoadingCount": 2,
"timeBetweenSuccessfulRequests": 150
},
"googleNativeDashboardYourTagsHydraSource": {
"adPlacementId": "/22749103964/In-Feed.Dashboard",
"adSource": "google_native",
"expireTime": 3600000,
"loadingStrategy": 2,
"maxAdCount": 2,
"maxAdLoadingCount": 2,
"timeBetweenSuccessfulRequests": 150
},
"googleNativeExploreStaffPicksHydraSource": {
"adPlacementId": "/22749103964/In-Feed.Dashboard",
"adSource": "google_native",
"expireTime": 3600000,
"loadingStrategy": 2,
"maxAdCount": 1,
"maxAdLoadingCount": 1,
"timeBetweenSuccessfulRequests": 150
},
"googleNativePermalinkHydraSource": {
"adPlacementId": "/22749103964/In-Feed.Dashboard",
"adSource": "google_native",
"expireTime": 3600000,
"loadingStrategy": 2,
"maxAdCount": 1,
"maxAdLoadingCount": 1,
"timeBetweenSuccessfulRequests": 150
},
"googleNativeSearchHydraSource": {
"adPlacementId": "/22749103964/In-Feed.Dashboard",
"adSource": "google_native",
"expireTime": 3600000,
"loadingStrategy": 2,
"maxAdCount": 4,
"maxAdLoadingCount": 4,
"timeBetweenSuccessfulRequests": 150
}
},
"signature": "616b67a927cc0295"
},
"analyticsInfo": {
"kraken": {
"basePage": "BlogTimeline",
"clientDetails": {
"browser_name": "Firefox",
"browser_version": "145.0",
"build_version": "[redacted:token]",
"carrier": "",
"connection": "",
"form_factor": "Desktop",
"language": "en_US",
"model": "",
"os_name": "Mac OS",
"os_version": "10.15",
"platform": "Redpop"
},
"configRef": {
"autoTruncatePosts": "1",
"cslCookie": "[redacted:implementation_detail]",
"cslEndpoint": "https://www.tumblr.com/services/cslog",
"cslPerformanceHeaders": "x-cache,Via,x-backend-time,x-app-node-time,x-rid,Age,Last-Modified,Content-Type",
"displayIoInterscrollerDisplayTestPlacementId": "6993",
"displayIoInterscrollerVideoTestPlacementId": "6905",
"displayIoMaxAdCount": "1",
"displayIoMaxAdLoadingCount": "1",
"displayIoPlacementId": "6188",
"displayIoTestPlacementId": "6189",
"fanPlacementId": "",
"flags": "+RNoa3F4GpjB1jEcguTPqED0fE4=",
"lsFlushSize": "20",
"lsFlushTime": "30",
"lsPerfFlushSize": "20",
"lsPerfFlushTime": "30",
"nsfwScoreThreshold": "0.250000",
"rewardedAdTimeoutSeconds": 4,
"saberEndpoint": "https://saber.srvcs.tumblr.com",
"searchFilterDef": "top|recent|tagged|gif|tumblrs|photo|text|video|quote|chat|audio",
"staticInterstitialBidFloorUsd": "0",
"staticInterstitialCloseButtonDelaySeconds": 1,
"takeoverLogoUrl": "",
"tumblrmartLastUpdated": 1787235736,
"videoInterstitialBidFloorUsd": "0",
"videoInterstitialCloseButtonDelaySeconds": 5,
"vungleAdTokenSyncSeconds": 3600
},
"krakenBaseUrl": "",
"routeSet": "main"
}
},
"apiFetchStore": {
"extraHeaders": "{}"
},
"apiUrl": "[redacted:acquisition_url]",
"autoTruncatingPosts": true,
"chunkNames": [
"peepr-blog-timeline"
],
"configRef": {
"autoTruncatePosts": "1",
"cslCookie": "[redacted:implementation_detail]",
"cslEndpoint": "https://www.tumblr.com/services/cslog",
"cslPerformanceHeaders": "x-cache,Via,x-backend-time,x-app-node-time,x-rid,Age,Last-Modified,Content-Type",
"displayIoInterscrollerDisplayTestPlacementId": "6993",
"displayIoInterscrollerVideoTestPlacementId": "6905",
"displayIoMaxAdCount": "1",
"displayIoMaxAdLoadingCount": "1",
"displayIoPlacementId": "6188",
"displayIoTestPlacementId": "6189",
"fanPlacementId": "",
"flags": "+RNoa3F4GpjB1jEcguTPqED0fE4=",
"lsFlushSize": "20",
"lsFlushTime": "30",
"lsPerfFlushSize": "20",
"lsPerfFlushTime": "30",
"nsfwScoreThreshold": "0.250000",
"rewardedAdTimeoutSeconds": 4,
"saberEndpoint": "https://saber.srvcs.tumblr.com",
"searchFilterDef": "top|recent|tagged|gif|tumblrs|photo|text|video|quote|chat|audio",
"staticInterstitialBidFloorUsd": "0",
"staticInterstitialCloseButtonDelaySeconds": 1,
"takeoverLogoUrl": "",
"tumblrmartLastUpdated": 1787235736,
"videoInterstitialBidFloorUsd": "0",
"videoInterstitialCloseButtonDelaySeconds": 5,
"vungleAdTokenSyncSeconds": 3600
},
"cssMapUrl": "https://assets.tumblr.com/pop/cssmap-50cf93c8.json",
"gdprIsEu": true,
"isInitialRequestPeepr": true,
"isInitialRequestSSRModal": false,
"isLoggedIn": {
"isLoggedIn": false,
"isPartiallyRegistered": false
},
"labsSettings": {},
"languageData": {
"code": "en_US",
"data": {}
},
"obfuscatedFeatures": "[redacted:token]",
"privacy": {},
"queries": {
"mutations": [],
"queries": [
{
"dehydratedAt": 1787401617350,
"queryHash": "[\"user-info\",false]",
"queryKey": [
"user-info",
false
],
"state": {
"data": {
"isLoggedIn": false
},
"dataUpdateCount": 1,
"dataUpdatedAt": 1787401617270,
"error": null,
"errorUpdateCount": 0,
"errorUpdatedAt": 0,
"fetchFailureCount": 0,
"fetchFailureReason": null,
"fetchMeta": null,
"fetchStatus": "idle",
"isInvalidated": false,
"status": "success"
}
},
{
"dehydratedAt": 1787401617350,
"queryHash": "[\"blog-info\",\"ashishbishnoi-blog\",\"peepr\"]",
"queryKey": [
"blog-info",
"ashishbishnoi-blog",
"peepr"
],
"state": {
"data": {
"allowSearchIndexing": true,
"ask": false,
"askPageTitle": "Ask me anything",
"avatar": [
{
"accessories": [],
"height": 512,
"url": "https://assets.tumblr.com/images/default_avatar/octahedron_open_512.png",
"width": 512
},
{
"accessories": [],
"height": 200,
"url": "https://assets.tumblr.com/images/default_avatar/octahedron_open_200.png",
"width": 200
},
{
"accessories": [],
"height": 128,
"url": "https://assets.tumblr.com/images/default_avatar/octahedron_open_128.png",
"width": 128
}
],
"blogViewUrl": "https://www.tumblr.com/ashishbishnoi-blog",
"canBeFollowed": true,
"canMessage": true,
"canShowBadges": true,
"canSubscribe": false,
"canonicalUrl": "https://www.tumblr.com/ashishbishnoi-blog",
"created": 1467044511,
"descriptionNpf": [],
"isAdult": false,
"isAdultLastReporter": null,
"isBrandSafe": true,
"isHiddenFromBlogNetwork": false,
"isPasswordProtected": false,
"name": "ashishbishnoi-blog",
"shareFollowing": true,
"shareLikes": true,
"shareReplies": true,
"shouldBlur": false,
"shouldShowGift": false,
"shouldShowTumblrmartGift": false,
"showBadgeManagement": true,
"subscribed": false,
"theme": {
"avatarShape": "square",
"backgroundColor": "#FFFFFF",
"bodyFont": "Helvetica Neue",
"headerBounds": "",
"headerImage": "https://assets.tumblr.com/images/default_header/optica_pattern_10.png?_v=eafbfb1726b334d86841955ae7b9221c",
"headerImageFocused": "https://assets.tumblr.com/images/default_header/optica_pattern_10_focused_v3.png?_v=eafbfb1726b334d86841955ae7b9221c",
"headerImagePoster": "",
"headerImageScaled": "https://assets.tumblr.com/images/default_header/optica_pattern_10_focused_v3.png?_v=eafbfb1726b334d86841955ae7b9221c",
"headerStretch": true,
"linkColor": "#00B8FF",
"showAvatar": true,
"showDescription": true,
"showHeaderImage": true,
"showTitle": true,
"titleColor": "#000000",
"titleFont": "Gibson",
"titleFontWeight": "bold"
},
"title": "Untitled",
"topTags": [],
"tumblrmartAccessories": {},
"url": "https://www.tumblr.com/ashishbishnoi-blog",
"uuid": "t:Qqo1RE5duRjVuD5wcrDDRw"
},
"dataUpdateCount": 1,
"dataUpdatedAt": 1787401617318,
"error": null,
"errorUpdateCount": 0,
"errorUpdatedAt": 0,
"fetchFailureCount": 0,
"fetchFailureReason": null,
"fetchMeta": null,
"fetchStatus": "idle",
"isInvalidated": false,
"status": "success"
}
}
]
},
"randomNumber": 0.9999859827603135,
"recaptchaV3PublicKey": {
"value": "[redacted:token]"
},
"reportingInfo": {
"host": "",
"token": "[redacted:token]"
},
"routeHidesLowerRightContent": false,
"routeName": "peepr-blog-timeline",
"routeSet": "main",
"routeUsesPalette": true,
"streamingSSR": true,
"supportedBrowserRegexp": {
"flags": "",
"source": "Edge?\\/(149|1[5-9]\\d|[2-9]\\d{2}|\\d{4,})\\.\\d+(\\.\\d+|)|Firefox\\/(5[2-9]|[6-9]\\d|\\d{3,})\\.\\d+(\\.\\d+|)|Chrom(ium|e)\\/(5[7-9]|[6-9]\\d|\\d{3,})\\.\\d+(\\.\\d+|)([\\d.]+$|.*Safari\\/(?![\\d.]+ Edge\\/[\\d.]+$))|(Maci|X1{2}).+ Version\\/([1-9]\\d|\\d{3,})\\.\\d+([,.]\\d+|)( \\(\\w+\\)|)( Mobile\\/\\w+|) Safari\\/|Chrome.+OPR\\/(12[7-9]|1[3-9]\\d|[2-9]\\d{2}|\\d{4,})\\.\\d+\\.\\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU…"
},
"timestamps": true,
"vapidPublicKey": {
"value": "[redacted:token]"
},
"viewport-monitor": {
"height": 800,
"width": 1280
}
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `data` | `object` | 30 fields |
| `data.PeeprRoute` | `object` | 1 fields |
| `data.adPlacementConfiguration` | `object` | 2 fields |
| `data.analyticsInfo` | `object` | 1 fields |
| `data.apiFetchStore` | `object` | 1 fields |
| `data.apiUrl` | `string` | [redacted:acquisition_url] |
| `data.autoTruncatingPosts` | `boolean` | true |
| `data.chunkNames` | `array` | 1 items |
| `data.configRef` | `object` | 27 fields |
| `data.cssMapUrl` | `string` | https://assets.tumblr.com/pop/cssmap-50cf93c8.json |
| `data.gdprIsEu` | `boolean` | true |
| `data.isInitialRequestPeepr` | `boolean` | true |
| `data.isInitialRequestSSRModal` | `boolean` | false |
| `data.isLoggedIn` | `object` | 2 fields |
| `data.labsSettings` | `object` | 0 fields |
| `data.languageData` | `object` | 2 fields |
| `data.obfuscatedFeatures` | `string` | [redacted:token] |
| `data.privacy` | `object` | 0 fields |
| `data.queries` | `object` | 2 fields |
| `data.randomNumber` | `number` | 0.9999859827603135 |
| `data.recaptchaV3PublicKey` | `object` | 1 fields |
| `data.reportingInfo` | `object` | 2 fields |
| `data.routeHidesLowerRightContent` | `boolean` | false |
| `data.routeName` | `string` | peepr-blog-timeline |
| `data.routeSet` | `string` | main |
| `data.routeUsesPalette` | `boolean` | true |
| `data.streamingSSR` | `boolean` | true |
| `data.supportedBrowserRegexp` | `object` | 2 fields |
| `data.timestamps` | `boolean` | true |
| `data.vapidPublicKey` | `object` | 1 fields |
| `data.viewport-monitor` | `object` | 2 fields |
## 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)
## Tumblr Scraper: List Tag Posts
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.tag-posts.list
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.tag-posts.list/index.md
# List Tag Posts
List a bounded public post timeline for a Tumblr tag
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.tag-posts.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 5,
"tag": "photography"
},
"capability": "tumblr.tag-posts.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of posts to return |
| `tag` | `string` | Yes | Tumblr tag |
### Example input
```json
{
"limit": 5,
"tag": "photography"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"posts": [
{
"blogName": "princesssokphanny",
"content": [
{
"text": "A once-in-a-lifetime shot — the moon perfectly framed by a rainbow. Caught at just the right time. 🌈 🌕",
"type": "text"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 2048,
"mediaKey": "bd50af3b52c14255a0f7f3a8ca8aec3d:05f26ead8ff3139b-27",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/bd50af3b52c14255a0f7f3a8ca8aec3d/05f26ead8ff3139b-27/s2048x3072/[redacted:token].jpg",
"width": 1365
},
{
"hasOriginalDimensions": false,
"height": 1920,
"mediaKey": "bd50af3b52c14255a0f7f3a8ca8aec3d:05f26ead8ff3139b-27",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/bd50af3b52c14255a0f7f3a8ca8aec3d/05f26ead8ff3139b-27/s1280x1920/[redacted:token].jpg",
"width": 1280
},
{
"hasOriginalDimensions": false,
"height": 960,
"mediaKey": "bd50af3b52c14255a0f7f3a8ca8aec3d:05f26ead8ff3139b-27",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/bd50af3b52c14255a0f7f3a8ca8aec3d/05f26ead8ff3139b-27/s640x960/[redacted:token].jpg",
"width": 640
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 2048,
"mediaKey": "203c9e6234ac4bbfee2f11f4c2d560cb:05f26ead8ff3139b-e3",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/203c9e6234ac4bbfee2f11f4c2d560cb/05f26ead8ff3139b-e3/s2048x3072/[redacted:token].jpg",
"width": 1365
},
{
"hasOriginalDimensions": false,
"height": 1920,
"mediaKey": "203c9e6234ac4bbfee2f11f4c2d560cb:05f26ead8ff3139b-e3",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/203c9e6234ac4bbfee2f11f4c2d560cb/05f26ead8ff3139b-e3/s1280x1920/[redacted:token].jpg",
"width": 1280
},
{
"hasOriginalDimensions": false,
"height": 960,
"mediaKey": "203c9e6234ac4bbfee2f11f4c2d560cb:05f26ead8ff3139b-e3",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/203c9e6234ac4bbfee2f11f4c2d560cb/05f26ead8ff3139b-e3/s640x960/[redacted:token].jpg",
"width": 640
}
],
"type": "image"
}
],
"id": "798772056005148672",
"noteCount": 192968,
"postUrl": "https://www.tumblr.com/princesssokphanny/798772056005148672/a-once-in-a-lifetime-shot-the-moon-perfectly",
"summary": "A once-in-a-lifetime shot — the moon perfectly framed by a rainbow. Caught at just the right time. 🌈 🌕",
"tags": [
"aesthetic",
"sky",
"skies"
],
"timestamp": 1761768394,
"type": "blocks"
},
{
"blogName": "maviyenot",
"content": [
{
"media": [
{
"hasOriginalDimensions": true,
"height": 729,
"mediaKey": "a8cc4be7e9f842edfa3349ce12853008:08b5b035d2eca073-15",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/a8cc4be7e9f842edfa3349ce12853008/08b5b035d2eca073-15/s1280x1920/[redacted:token].jpg",
"width": 1248
},
{
"hasOriginalDimensions": false,
"height": 374,
"mediaKey": "a8cc4be7e9f842edfa3349ce12853008:08b5b035d2eca073-15",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/a8cc4be7e9f842edfa3349ce12853008/08b5b035d2eca073-15/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 315,
"mediaKey": "a8cc4be7e9f842edfa3349ce12853008:08b5b035d2eca073-15",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/a8cc4be7e9f842edfa3349ce12853008/08b5b035d2eca073-15/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 740,
"mediaKey": "acaccd50cea63cdf2c712695c3171cbb:08b5b035d2eca073-53",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/acaccd50cea63cdf2c712695c3171cbb/08b5b035d2eca073-53/s1280x1920/[redacted:token].jpg",
"width": 1248
},
{
"hasOriginalDimensions": false,
"height": 379,
"mediaKey": "acaccd50cea63cdf2c712695c3171cbb:08b5b035d2eca073-53",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/acaccd50cea63cdf2c712695c3171cbb/08b5b035d2eca073-53/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 320,
"mediaKey": "acaccd50cea63cdf2c712695c3171cbb:08b5b035d2eca073-53",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/acaccd50cea63cdf2c712695c3171cbb/08b5b035d2eca073-53/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
},
{
"media": [
{
"hasOriginalDimensions": true,
"height": 739,
"mediaKey": "589c662a6fc6a03bb61cf410353707b4:08b5b035d2eca073-d1",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/589c662a6fc6a03bb61cf410353707b4/08b5b035d2eca073-d1/s1280x1920/[redacted:token].jpg",
"width": 1248
},
{
"hasOriginalDimensions": false,
"height": 379,
"mediaKey": "589c662a6fc6a03bb61cf410353707b4:08b5b035d2eca073-d1",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/589c662a6fc6a03bb61cf410353707b4/08b5b035d2eca073-d1/s640x960/[redacted:token].jpg",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 320,
"mediaKey": "589c662a6fc6a03bb61cf410353707b4:08b5b035d2eca073-d1",
"type": "image/jpeg",
"url": "https://64.media.tumblr.com/589c662a6fc6a03bb61cf410353707b4/08b5b035d2eca073-d1/s540x810/[redacted:token].jpg",
"width": 540
}
],
"type": "image"
}
],
"id": "803898915346956288",
"noteCount": 126343,
"postUrl": "https://maviyenot.tumblr.com/post/803898915346956288",
"tags": [
"maviyenot",
"photography",
"artists on tumblr"
],
"timestamp": 1766657748,
"type": "blocks"
},
{
"blogName": "gentle-cottage",
"content": [
{
"media": [
{
"hasOriginalDimensions": true,
"height": 747,
"mediaKey": "b9930ee2c1216ef83d80da2f31063996:96d3267595f1875b-f9",
"type": "image/png",
"url": "https://64.media.tumblr.com/b9930ee2c1216ef83d80da2f31063996/96d3267595f1875b-f9/s1280x1920/[redacted:token].pnj",
"width": 736
},
{
"hasOriginalDimensions": false,
"height": 650,
"mediaKey": "b9930ee2c1216ef83d80da2f31063996:96d3267595f1875b-f9",
"type": "image/png",
"url": "https://64.media.tumblr.com/b9930ee2c1216ef83d80da2f31063996/96d3267595f1875b-f9/s640x960/[redacted:token].pnj",
"width": 640
},
{
"hasOriginalDimensions": false,
"height": 548,
"mediaKey": "b9930ee2c1216ef83d80da2f31063996:96d3267595f1875b-f9",
"type": "image/png",
"url": "https://64.media.tumblr.com/b9930ee2c1216ef83d80da2f31063996/96d3267595f1875b-f9/s540x810/[redacted:token].pnj",
"width": 540
}
],
"type": "image"
}
],
"id": "812527574071885824",
"noteCount": 54571,
"postUrl": "https://www.tumblr.com/gentle-cottage/812527574071885824",
"tags": [
"landsccape",
"paradise",
"nature"
],
"timestamp": 1774886678,
"type": "blocks"
}
],
"totalCount": 5
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `posts` | `array` | 3 items |
| `posts` | `array` | 3 items |
| `totalCount` | `integer` | 5 |
## 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)
## Tumblr Scraper: Get Tag
Canonical: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.tag.get
Markdown: https://docs.upscrape.com/docs/platforms/tumblr/tumblr.tag.get/index.md
# Get Tag
Fetch public Tumblr tag hub metadata and aggregate counts
- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.tag.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"tag": "photography"
},
"capability": "tumblr.tag.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `tag` | `string` | Yes | Tumblr tag |
### Example input
```json
{
"tag": "photography"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"allowsSearchIndexing": true,
"backgroundColor": "#7d8413",
"description": "For those who prefer to show rather than tell, photography takes precedence over words",
"followerCount": 42448197,
"headerImage": "https://64.media.tumblr.com/76dcca08cc3ab0adec33d48f47892dd9/294fe77d9a1ad8f5-99/s1280x1920/[redacted:token].jpg",
"headerLink": "https://xanaxfarts.tumblr.com/post/756343077223972864/initiation-well",
"isTrending": false,
"name": "photography",
"newPostCount": 2343,
"postCount": 11035968
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `allowsSearchIndexing` | `boolean` | true |
| `backgroundColor` | `string` | #7d8413 |
| `description` | `string` | For those who prefer to show rather than tell, photography takes preced… |
| `followerCount` | `integer` | 42448197 |
| `headerImage` | `string` | https://64.media.tumblr.com/76dcca08cc3ab0adec33d48f47892dd9/294fe77d9a… |
| `headerLink` | `string` | https://xanaxfarts.tumblr.com/post/756343077223972864/initiation-well |
| `isTrending` | `boolean` | false |
| `name` | `string` | photography |
| `newPostCount` | `integer` | 2343 |
| `postCount` | `integer` | 11035968 |
## 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)
## Uniqlo API
Canonical: https://docs.upscrape.com/docs/platforms/uniqlo
Markdown: https://docs.upscrape.com/docs/platforms/uniqlo/index.md
# Uniqlo API
Uniqlo France catalog: category taxonomy and product listings with prices, promos, ratings, and stock.
- Platform ID: `uniqlo`
- Capabilities: 2
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Categories List](https://docs.upscrape.com/docs/platforms/uniqlo/uniqlo.categories.list)
- Capability ID: `uniqlo.categories.list`
- Cost: 1 credit per request
List the flattened Uniqlo France taxonomy: genders, classes, and categories with parent chains and ready-to-use product paths.
### [Category Products List](https://docs.upscrape.com/docs/platforms/uniqlo/uniqlo.category.products.list)
- Capability ID: `uniqlo.category.products.list`
- Cost: 1 credit per request
List Uniqlo France products for a taxonomy path such as "37608,84986" with prices, promotions, ratings, stock, colors, and sizes. Offset-paginated.
## Common uses
- Price and promotion tracking across the Uniqlo France catalog
- Assortment and stock monitoring for competitive retail intelligence
- Catalog ingestion for fashion marketplaces and comparison engines
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Uniqlo: Categories List
Canonical: https://docs.upscrape.com/docs/platforms/uniqlo/uniqlo.categories.list
Markdown: https://docs.upscrape.com/docs/platforms/uniqlo/uniqlo.categories.list/index.md
# Categories List
List the flattened Uniqlo France taxonomy: genders, classes, and categories with parent chains and ready-to-use product paths.
- Platform: [Uniqlo](https://docs.upscrape.com/docs/platforms/uniqlo)
- Capability ID: `uniqlo.categories.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {},
"capability": "uniqlo.categories.list"
}'
```
## Input
This capability accepts an empty input object.
### Example input
```json
{}
```
## 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)
## Uniqlo: Category Products List
Canonical: https://docs.upscrape.com/docs/platforms/uniqlo/uniqlo.category.products.list
Markdown: https://docs.upscrape.com/docs/platforms/uniqlo/uniqlo.category.products.list/index.md
# Category Products List
List Uniqlo France products for a taxonomy path such as "37608,84986" with prices, promotions, ratings, stock, colors, and sizes. Offset-paginated.
- Platform: [Uniqlo](https://docs.upscrape.com/docs/platforms/uniqlo)
- Capability ID: `uniqlo.category.products.list`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"path": "37608,84986"
},
"capability": "uniqlo.category.products.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `include_unavailable` | `boolean` | No | Keep out-of-stock products in the parsed items. The anonymous API has no server-side in-stock-only filter, so false filters client-side; pagination still reflects upstream totals. |
| `limit` | `integer` | No | Page size. Defaults to 36, clamped to 96. |
| `offset` | `integer` | No | Zero-based item offset. |
| `path` | `string` | Yes | Taxonomy path from uniqlo.categories.list: "{gender_id},{class_id}" (e.g. "37608,84986" for WOMEN tops). A third category id segment is also accepted. |
| `sort` | `integer` | No | Upstream sort order id; 0 is the app's default ranking. |
### Example input
```json
{
"path": "37608,84986"
}
```
## 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)
## Universal Web API
Canonical: https://docs.upscrape.com/docs/platforms/web
Markdown: https://docs.upscrape.com/docs/platforms/web/index.md
# Universal Web API
Capture, extract, map, crawl, and screenshot public web content.
- Platform ID: `web`
- Capabilities: 6
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Archive Page (Compatibility)](https://docs.upscrape.com/docs/platforms/web/web.page.archive)
- Capability ID: `web.page.archive`
- Cost: 1 credit per request
Compatibility alias for saved-page capture with automatic inline or hosted delivery up to 50 MB per asset and 500 MB total. Returns explicit outcome and fidelity, requested versus effective asset budgets, per-asset failures, and an embedded upscrape-manifest.json in ZIP artifacts. New integrations should use web.page.capture.
### [Capture Page](https://docs.upscrape.com/docs/platforms/web/web.page.capture)
- Capability ID: `web.page.capture`
- Cost: 1 credit per request
Capture one public webpage or content URL with fail-closed HTTP, truncation and OCR semantics, physical-attempt evidence, and optional exact-source, single-HTML or ZIP artifacts.
### [Extract Page](https://docs.upscrape.com/docs/platforms/web/web.page.extract)
- Capability ID: `web.page.extract`
- Cost: 1 credit per request
Capture one public webpage or supported content URL and return data shaped by a caller-provided JSON Schema or fields shorthand. Deterministic extraction uses page metadata, the evidence graph, parsed files, and filtered URL enumeration first; internal AI resolves remaining fields per the ai mode.
### [Screenshot Page](https://docs.upscrape.com/docs/platforms/web/web.page.screenshot)
- Capability ID: `web.page.screenshot`
- Cost: 1 credit per request
Capture a host-rendered JPEG screenshot of a public viewport or full page through the typed internal browser acquisition boundary.
### [Crawl Site](https://docs.upscrape.com/docs/platforms/web/web.site.crawl)
- Capability ID: `web.site.crawl`
- Cost: 1 credit per request
Run a bounded breadth-first crawl across same-site pages and public files with robots rules, explicit scope patterns, controlled concurrency, stateless continuation, source-completeness reconciliation, and optional non-destructive AI relevance ranking.
### [Map Site](https://docs.upscrape.com/docs/platforms/web/web.site.map)
- Capability ID: `web.site.map`
- Cost: 1 credit per request
Build a deterministic, robots-aware public URL inventory from the starting page, robots.txt, and bounded recursive sitemap indexes. Classifies pages and files without deeply fetching every discovered URL and supports opaque pagination cursors.
## Common uses
- Turn webpages and public files into traceable structured content, Markdown, and searchable chunks
- Discover downloadable documents, datasets, media, and resources
- Map sitemaps and robots-aware site inventories
- Run bounded, resumable crawls across pages and public files
- Create JPEG screenshots and durable HTML or ZIP snapshots
- Extract caller-defined fields with deterministic and optional AI assistance
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Universal Web Scraper: Archive Page (Compatibility)
Canonical: https://docs.upscrape.com/docs/platforms/web/web.page.archive
Markdown: https://docs.upscrape.com/docs/platforms/web/web.page.archive/index.md
# Archive Page (Compatibility)
Compatibility alias for saved-page capture with automatic inline or hosted delivery up to 50 MB per asset and 500 MB total. Returns explicit outcome and fidelity, requested versus effective asset budgets, per-asset failures, and an embedded upscrape-manifest.json in ZIP artifacts. New integrations should use web.page.capture.
- Platform: [Universal Web](https://docs.upscrape.com/docs/platforms/web)
- Capability ID: `web.page.archive`
- Cost: 1 credit per request
- Maximum runtime: 600 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"formats": [
"single_html",
"zip"
],
"include_scripts": false,
"url": "https://example.com/"
},
"capability": "web.page.archive"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `accept_statuses` | `array` | No | Accept statuses supplied for this request. |
| `allow_browser_fallback` | `boolean` | No | Allow browser fallback supplied for this request. |
| `allow_truncated` | `boolean` | No | Allow truncated supplied for this request. |
| `delivery` | `string` | No | auto returns small artifacts inline and switches requests above inline safety budgets to a hosted ZIP with a signed download URL. inline keeps the 3 MB per-asset and 5 MB total effective caps. hosted allows up to 50 MB per asset and 500 MB total. |
| `formats` | `array` | No | Archive artifact formats to return. single_html is a self-contained HTML snapshot and zip contains index.html plus local assets. Oversized single_html output may fall back to zip. |
| `include_scripts` | `boolean` | No | Preserve external and inline scripts. Defaults to false because archived arbitrary JavaScript should only be replayed in a sandboxed viewer. |
| `max_asset_bytes` | `integer` | No | Requested maximum bytes to download for a single CSS/image/font/script/media asset. Inline delivery is effectively capped at 3 MB; hosted delivery supports the requested limit up to 50 MB. |
| `max_body_bytes` | `integer` | No | Max body bytes supplied for this request. |
| `max_total_asset_bytes` | `integer` | No | Requested maximum bytes to download across all archived assets. Inline delivery is effectively capped at 5 MB total; hosted delivery supports the requested limit up to 500 MB total. |
| `max_total_bytes` | `integer` | No | Max total bytes supplied for this request. |
| `url` | `string` | Yes | Public http(s) URL to archive. |
### Example input
```json
{
"formats": [
"single_html",
"zip"
],
"include_scripts": false,
"url": "https://example.com/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"artifacts": [
{
"bytes": 1133,
"content_type": "text/html; charset=utf-8",
"data": "Example Domain ` | No | Non-2xx upstream statuses the caller explicitly accepts for inspection. Their parser quality remains failed. |
| `allow_browser_fallback` | `boolean` | No | Allow browser fallback supplied for this request. |
| `allow_truncated` | `boolean` | No | Allow truncated supplied for this request. |
| `archive` | `object` | No | Optional offline HTML or ZIP artifacts created from the same capture. Scripts default off. |
| `archive.delivery` | `string` | No | Small archives stay inline. Requests above inline budgets or delivery=hosted are stored and returned through a signed download URL. |
| `archive.formats` | `array` | No | Formats supplied for this request. |
| `archive.include_scripts` | `boolean` | No | Include scripts supplied for this request. |
| `archive.max_asset_bytes` | `integer` | No | Max asset bytes supplied for this request. |
| `archive.max_total_asset_bytes` | `integer` | No | Max total asset bytes supplied for this request. |
| `detail` | `string` | No | How much of the artifact graph to return. summary keeps identity, trace, status, counts, and compact text. standard omits raw HTML, the per-element dump, and parsed data values. full returns the complete captured and parsed graph. |
| `document` | `object` | No | Optional document processing controls. Ignored for ordinary HTML pages. |
| `document.chunk_chars` | `integer` | No | Approximate maximum characters per grounded search/AI chunk. |
| `document.continuation_token` | `string` | No | Stable token returned by parsed.continuation. It resumes at the interrupted or next unprocessed page. |
| `document.ocr` | `string` | No | auto and always require terminal OCR closure; if no OCR processor is available the request fails instead of returning empty successful content. |
| `document.outputs` | `array` | No | Requested document outputs. source returns the originally captured bytes: inline through 5.5 MB, otherwise through a hash-verified durable store, and fails if neither path can deliver them. When source is omitted, remote_source is provenance only and contains no bytes. |
| `document.page_end` | `integer` | No | Last PDF page to process. Omit to continue through the bounded document limit. |
| `document.page_start` | `integer` | No | First PDF page to process. Defaults to 1. |
| `max_body_bytes` | `integer` | No | Decoded response-body ceiling. HTML is capped at 8,000,000 bytes; file captures at 104,857,600 bytes. |
| `max_total_bytes` | `integer` | No | Aggregate bytes across redirect responses and the final response. |
| `url` | `string` | Yes | Public http(s) webpage or content URL to capture. Supported content parsers include text, Markdown, JSON, JSONL, CSV, TSV, XML, RSS, Atom, XLSX, and native-text PDF. |
### Example input
```json
{
"url": "https://example.com/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"artifacts": {
"capture_version": "universal-capture-2026-08-23-v3",
"detail": "full"
},
"capture_backend": "http",
"content_type": "text/html",
"dom": {
"element_count": 12,
"html": "Example Domain Example Domain This domain is for use in docum…",
"html_bytes": 559,
"html_sha256": "[redacted:token]",
"rendered": false,
"source_backend": "http",
"truncated": false
},
"elements": [
{
"attributes": {
"lang": "en"
},
"id": 1,
"is_interactive": false,
"tag": "html",
"text": "Example Domain body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:visited{color:#348} Example Domain This domain is for use in documentation examples without needing permission. Avoid use in operations. Learn more",
"xpath": "/html[1]"
},
{
"attributes": {},
"id": 2,
"is_interactive": false,
"parent_id": 1,
"tag": "head",
"text": "Example Domain body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:visited{color:#348}",
"xpath": "/html[1]/head[1]"
},
{
"attributes": {},
"direct_text": "Example Domain",
"id": 3,
"is_interactive": false,
"parent_id": 2,
"tag": "title",
"text": "Example Domain",
"xpath": "/html[1]/head[1]/title[1]"
}
],
"files": [],
"final_url": "https://example.com/",
"forms": null,
"headers": {
"Age": [
"5"
],
"Allow": [
"GET, HEAD"
],
"Cf-Cache-Status": [
"HIT"
],
"Cf-Ray": [
"a2fe049289cf04ec-HKG"
],
"Content-Encoding": [
"br"
],
"Content-Type": [
"text/html"
],
"Date": [
"Sun, 23 Aug 2026 23:50:09 GMT"
],
"Last-Modified": [
"Wed, 12 Aug 2026 20:17:18 GMT"
],
"Server": [
"cloudflare"
]
},
"iframes": null,
"images": [],
"links": [
{
"text": "Learn more",
"url": "https://iana.org/domains/example",
"xpath": "/html[1]/body[1]/div[1]/p[2]/a[1]"
}
],
"media": null,
"page": {
"canonical_url": "",
"description": "",
"lang": "en",
"meta": {
"viewport": "width=device-width, initial-scale=1"
},
"open_graph": {},
"robots": "",
"title": "Example Domain",
"twitter": {}
},
"parsed": {
"artifacts": [],
"chunks": [],
"form_fields": [],
"links": [],
"metadata": {
"canonical_url": "",
"language": "en",
"title": "Example Domain"
},
"pages": [],
"parser": "html_dom",
"parser_version": "universal-content-2026-08-23-v4",
"quality": {
"grade": "high",
"reasons": [],
"score": 1
},
"segments": [
{
"id": 1,
"kind": "title",
"location": {
"kind": "html",
"xpath": "/html[1]/head[1]/title[1]"
},
"name": "title",
"text": "Example Domain"
},
{
"id": 2,
"kind": "style",
"location": {
"kind": "html",
"xpath": "/html[1]/head[1]/style[1]"
},
"name": "style",
"text": "body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:visited{color:#348}"
},
{
"id": 3,
"kind": "h1",
"location": {
"kind": "html",
"xpath": "/html[1]/body[1]/div[1]/h1[1]"
},
"name": "h1",
"text": "Example Domain"
}
],
"stats": {
"segment_count": 5,
"table_count": 0,
"text_chars": 142
},
"status": "parsed",
"tables": [],
"text": "Example Domain Example Domain This domain is for use in documentation examples without needing permission. Avoid use in operations. Learn more",
"warnings": []
},
"resources": [
{
"attribute": "href",
"kind": "resource",
"rel": "icon",
"tag": "link",
"url": "data:",
"xpath": "/html[1]/head[1]/link[1]"
}
],
"stats": {
"capture_backend": "http",
"capture_version": "universal-capture-2026-08-23-v3",
"detail": "full",
"element_count": 12,
"estimated_result_bytes": 8987,
"fetch_ms": 1426,
"file_count": 0,
"form_count": 0,
"html_bytes": 559,
"iframe_count": 0,
"image_count": 0,
"jsonld_count": 0,
"link_count": 1,
"media_count": 0,
"parsed_parser": "html_dom",
"parsed_status": "parsed",
"requested_detail": "full",
"resource_count": 1,
"response_compacted": false,
"source_blocked": false,
"table_count": 0,
"text_chars": 142,
"url_count": 2,
"work_units": 1
},
"status_code": 200,
"structured_data": {
"facts": [
{
"confidence": 0.55,
"context": "Example Domain body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:visited{color:#348}",
"key": "content",
"path": "meta.content",
"source": "attribute",
"value": "width=device-width, initial-scale=1"
},
{
"confidence": 0.82,
"key": "viewport",
"path": "meta.viewport",
"source": "metadata",
"value": "width=device-width, initial-scale=1"
},
{
"confidence": 0.7,
"key": "heading",
"path": "h1",
"source": "dom_heading",
"value": "Example Domain"
}
],
"jsonld": [],
"meta": {
"viewport": "width=device-width, initial-scale=1"
},
"open_graph": {},
"twitter": {}
},
"tables": null,
"text": {
"text_blocks": [
{
"tag": "title",
"text": "Example Domain",
"xpath": "/html[1]/head[1]/title[1]"
},
{
"tag": "style",
"text": "body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:visited{color:#348}",
"xpath": "/html[1]/head[1]/style[1]"
},
{
"tag": "h1",
"text": "Example Domain",
"xpath": "/html[1]/body[1]/div[1]/h1[1]"
}
],
"text_chars": 142,
"visible_text": "Example Domain Example Domain This domain is for use in documentation examples without needing permission. Avoid use in operations. Learn more"
},
"trace": "[redacted:implementation_detail]",
"url": "https://example.com/",
"urls": [
{
"attribute": "href",
"kind": "resource",
"raw_url": "data:",
"rel": "icon",
"source": "attribute",
"tag": "link",
"url": "data:",
"xpath": "/html[1]/head[1]/link[1]"
},
{
"attribute": "href",
"kind": "link",
"raw_url": "https://iana.org/domains/example",
"source": "attribute",
"tag": "a",
"text": "Learn more",
"url": "https://iana.org/domains/example",
"xpath": "/html[1]/body[1]/div[1]/p[2]/a[1]"
}
],
"warnings": []
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `artifacts` | `object` | 2 fields |
| `artifacts.capture_version` | `string` | universal-capture-2026-08-23-v3 |
| `artifacts.detail` | `string` | full |
| `capture_backend` | `string` | http |
| `content_type` | `string` | text/html |
| `dom` | `object` | 7 fields |
| `dom.element_count` | `integer` | 12 |
| `dom.html` | `string` |
Example Domain ` | No | Accept statuses supplied for this request. |
| `ai` | `string` | No | Extraction mode. never: deterministic only. auto: deterministic first, internal AI only for unresolved fields (degrades gracefully when AI is unavailable). always: deterministic plus AI. Defaults to auto when fields is used, otherwise never. |
| `ai_enabled` | `boolean` | No | Deprecated alias for ai: always. Prefer the ai parameter. |
| `allow_browser_fallback` | `boolean` | No | Allow browser fallback supplied for this request. |
| `allow_truncated` | `boolean` | No | Allow truncated supplied for this request. |
| `document` | `object` | No | Optional document processing controls used before deterministic or AI field extraction. |
| `document.chunk_chars` | `integer` | No | Chunk chars supplied for this request. |
| `document.continuation_token` | `string` | No | Continuation token supplied for this request. |
| `document.ocr` | `string` | No | Ocr supplied for this request. Allowed values: `auto`, `never`, `always`. |
| `document.outputs` | `array
` | No | Requested document outputs. source returns the originally captured bytes: inline through 5.5 MB, otherwise through a hash-verified durable store, and fails if neither path can deliver them. When source is omitted, remote_source is provenance only and contains no bytes. |
| `document.page_end` | `integer` | No | Page end supplied for this request. |
| `document.page_start` | `integer` | No | Page start supplied for this request. |
| `fields` | `object` | No | Shorthand alternative to output_schema: field name mapped to a natural-language description of what to extract. Compiled into a schema internally. Provide exactly one of output_schema or fields. |
| `instructions` | `string` | No | Optional extraction guidance. Do not include secrets. |
| `max_body_bytes` | `integer` | No | Max body bytes supplied for this request. |
| `max_total_bytes` | `integer` | No | Max total bytes supplied for this request. |
| `output_schema` | `object` | No | JSON Schema object describing the desired data shape. Property descriptions double as per-field extraction hints. Constraints such as items.pattern filter deterministic URL enumeration. Provide exactly one of output_schema or fields. |
| `url` | `string` | Yes | Public http(s) webpage or supported content URL to extract from. |
### Example input
```json
{
"ai": "never",
"fields": {
"canonical_url": "canonical url of the page",
"description": "short page description",
"title": "page title"
},
"url": "https://example.com/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"data": {
"canonical_url": "https://example.com/",
"description": null,
"title": "Example Domain"
},
"evidence": [
{
"field": "canonical_url",
"score": 0.92,
"source": "metadata",
"text": "https://example.com/",
"value": "https://example.com/"
},
{
"field": "title",
"score": 0.9,
"source": "metadata",
"text": "Example Domain",
"value": "Example Domain"
}
],
"extractor_version": "web-extractor-2026-08-23-universal-v4",
"fields": {
"canonical_url": {
"confidence": 0.92,
"evidence": "https://example.com/",
"source": "metadata",
"value": "https://example.com/"
},
"title": {
"confidence": 0.9,
"evidence": "Example Domain",
"source": "metadata",
"value": "Example Domain"
}
},
"schema_valid": true,
"semantic_valid": true,
"semantic_validation_errors": [],
"stats": {
"ai_attempts": 0,
"ai_completion_tokens": 0,
"ai_enabled": false,
"ai_mode": "never",
"ai_prompt_tokens": 0,
"ai_used": false,
"capture_backend": "http",
"deterministic_fields": 2,
"fetch_ms": 1704,
"html_bytes": 559,
"rendered": false,
"schema_field_count": 3,
"schema_valid": true,
"semantic_valid": true,
"source_blocked": false,
"text_chars": 142,
"unresolved_fields": 1,
"work_units": 1
},
"unresolved_fields": [
"description"
],
"validation_errors": null,
"warnings": []
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `data` | `object` | 3 fields |
| `data.canonical_url` | `string` | https://example.com/ |
| `data.description` | `null` | null |
| `data.title` | `string` | Example Domain |
| `evidence` | `array` | 2 items |
| `evidence` | `array` | 2 items |
| `extractor_version` | `string` | web-extractor-2026-08-23-universal-v4 |
| `fields` | `object` | 2 fields |
| `fields.canonical_url` | `object` | 4 fields |
| `fields.title` | `object` | 4 fields |
| `schema_valid` | `boolean` | true |
| `semantic_valid` | `boolean` | true |
| `semantic_validation_errors` | `array` | 0 items |
| `stats` | `object` | 18 fields |
| `stats.ai_attempts` | `integer` | 0 |
| `stats.ai_completion_tokens` | `integer` | 0 |
| `stats.ai_enabled` | `boolean` | false |
| `stats.ai_mode` | `string` | never |
| `stats.ai_prompt_tokens` | `integer` | 0 |
| `stats.ai_used` | `boolean` | false |
| `stats.capture_backend` | `string` | http |
| `stats.deterministic_fields` | `integer` | 2 |
| `stats.fetch_ms` | `integer` | 1704 |
| `stats.html_bytes` | `integer` | 559 |
| `stats.rendered` | `boolean` | false |
| `stats.schema_field_count` | `integer` | 3 |
| `stats.schema_valid` | `boolean` | true |
| `stats.semantic_valid` | `boolean` | true |
| `stats.source_blocked` | `boolean` | false |
| `stats.text_chars` | `integer` | 142 |
| `stats.unresolved_fields` | `integer` | 1 |
| `stats.work_units` | `integer` | 1 |
| `unresolved_fields` | `array` | 1 items |
| `unresolved_fields` | `array` | 1 items |
| `validation_errors` | `null` | null |
| `warnings` | `array` | 0 items |
## 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)
## Universal Web Scraper: Screenshot Page
Canonical: https://docs.upscrape.com/docs/platforms/web/web.page.screenshot
Markdown: https://docs.upscrape.com/docs/platforms/web/web.page.screenshot/index.md
# Screenshot Page
Capture a host-rendered JPEG screenshot of a public viewport or full page through the typed internal browser acquisition boundary.
- Platform: [Universal Web](https://docs.upscrape.com/docs/platforms/web)
- Capability ID: `web.page.screenshot`
- Cost: 1 credit per request
- Maximum runtime: 120 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"format": "jpeg",
"full_page": true,
"url": "https://example.com/",
"viewport_height": 900,
"viewport_width": 1440
},
"capability": "web.page.screenshot"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `format` | `string` | No | The current Agent browser node returns bounded JPEG artifacts. |
| `full_page` | `boolean` | No | Full page supplied for this request. |
| `url` | `string` | Yes | Public http(s) page URL to render. |
| `viewport_height` | `integer` | No | Viewport height supplied for this request. |
| `viewport_width` | `integer` | No | Viewport width supplied for this request. |
| `wait_for_selector` | `string` | No | Wait for selector supplied for this request. |
| `wait_ms` | `integer` | No | Wait ms supplied for this request. |
### Example input
```json
{
"format": "jpeg",
"full_page": true,
"url": "https://example.com/",
"viewport_height": 900,
"viewport_width": 1440
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"capture_backend": "host_browser_acquisition",
"captured_at": "2026-08-23T23:50:15.602143Z",
"content_type": "image/jpeg",
"final_url": "https://example.com/",
"full_page": true,
"height": 900,
"image": {
"bytes": 15561,
"content_type": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQAAAQABAAD/[redacted:token]/[redacted:token]+MzZGNywtQFdBRkxOUlNSMj5aYVpQYEpRUk//[redacted:token]//wAARCAOEBaADASIAAhEBAxEB/8QAGwABAAIDAQEAAAAAAAAAAAAAAAMGAgQFAQf/xAA/[redacted:token]/EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/[redacted:token]/[redacted:token]/[redacted:token]+bLWIrP44mZkHZFXp8ddHtlis49ulJnj1bY47f9+f8Oj1f4i0ekfLTsxlvTZ80vjiJiI8eZ8/z9AdcVvD8b9GyZrUvbPhisTMXyY/FvxxMz/hP0r4r6b1…",
"encoding": "base64",
"filename": "screenshot.jpg",
"kind": "screenshot",
"sha256": "[redacted:token]"
},
"rendered": true,
"stats": {
"elapsed_ms": 4685,
"format": "jpeg",
"image_bytes": 15561,
"transport": "[redacted:implementation_detail]",
"viewport_height": 900,
"viewport_width": 1440
},
"status_code": 200,
"url": "https://example.com/",
"warnings": [],
"width": 1440
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `capture_backend` | `string` | host_browser_acquisition |
| `captured_at` | `string` | 2026-08-23T23:50:15.602143Z |
| `content_type` | `string` | image/jpeg |
| `final_url` | `string` | https://example.com/ |
| `full_page` | `boolean` | true |
| `height` | `integer` | 900 |
| `image` | `object` | 7 fields |
| `image.bytes` | `integer` | 15561 |
| `image.content_type` | `string` | image/jpeg |
| `image.data` | `string` | /9j/4AAQSkZJRgABAQAAAQABAAD/[redacted:token]/[redacted:token]+MzZGNywtQ… |
| `image.encoding` | `string` | base64 |
| `image.filename` | `string` | screenshot.jpg |
| `image.kind` | `string` | screenshot |
| `image.sha256` | `string` | [redacted:token] |
| `rendered` | `boolean` | true |
| `stats` | `object` | 6 fields |
| `stats.elapsed_ms` | `integer` | 4685 |
| `stats.format` | `string` | jpeg |
| `stats.image_bytes` | `integer` | 15561 |
| `stats.transport` | `string` | [redacted:implementation_detail] |
| `stats.viewport_height` | `integer` | 900 |
| `stats.viewport_width` | `integer` | 1440 |
| `status_code` | `integer` | 200 |
| `url` | `string` | https://example.com/ |
| `warnings` | `array` | 0 items |
| `width` | `integer` | 1440 |
## 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)
## Universal Web Scraper: Crawl Site
Canonical: https://docs.upscrape.com/docs/platforms/web/web.site.crawl
Markdown: https://docs.upscrape.com/docs/platforms/web/web.site.crawl/index.md
# Crawl Site
Run a bounded breadth-first crawl across same-site pages and public files with robots rules, explicit scope patterns, controlled concurrency, stateless continuation, source-completeness reconciliation, and optional non-destructive AI relevance ranking.
- Platform: [Universal Web](https://docs.upscrape.com/docs/platforms/web)
- Capability ID: `web.site.crawl`
- Cost: 1 credit per request
- Maximum runtime: 120 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"concurrency": 2,
"detail": "standard",
"max_depth": 2,
"max_pages": 5,
"url": "https://example.com/"
},
"capability": "web.site.crawl"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `accept_statuses` | `array` | No | Accept statuses supplied for this request. |
| `ai` | `string` | No | Optional non-destructive relevance ranking for discovered documents. Every deterministic candidate remains in the result; auto leaves candidates unranked if AI is unavailable, while always requires ranking to succeed. |
| `allow_browser_fallback` | `boolean` | No | Allow browser fallback supplied for this request. |
| `allow_truncated` | `boolean` | No | Allow truncated supplied for this request. |
| `concurrency` | `integer` | No | Concurrency supplied for this request. |
| `continuation_token` | `string` | No | Opaque stateless frontier returned by a preceding crawl slice with the same options. A transiently failed URL is retained for at most one bounded retry; permanent failures are not amplified. |
| `delay_ms` | `integer` | No | Delay ms supplied for this request. |
| `detail` | `string` | No | Detail supplied for this request. Allowed values: `summary`, `standard`, `full`. |
| `document` | `object` | No | Document supplied for this request. |
| `document.chunk_chars` | `integer` | No | Chunk chars supplied for this request. |
| `document.continuation_token` | `string` | No | Continuation token supplied for this request. |
| `document.ocr` | `string` | No | Ocr supplied for this request. Allowed values: `auto`, `never`, `always`. |
| `document.outputs` | `array` | No | Requested document outputs. source returns the originally captured bytes: inline through 5.5 MB, otherwise through a hash-verified durable store, and fails if neither delivery path is available. When source is omitted, remote_source is provenance only and contains no bytes. |
| `document.page_end` | `integer` | No | Page end supplied for this request. |
| `document.page_start` | `integer` | No | Page start supplied for this request. |
| `exclude_patterns` | `array` | No | Exclude patterns supplied for this request. |
| `include_patterns` | `array` | No | Include patterns supplied for this request. |
| `include_subdomains` | `boolean` | No | When false, only the seed host is allowed. When true, hosts are still limited to the seed's registrable domain; unrelated hosts are never added. |
| `instructions` | `string` | No | Required when ai is auto or always. Describe which documents/files are relevant. Ranking is non-destructive: every deterministic candidate remains in the result. |
| `max_body_bytes` | `integer` | No | Max body bytes supplied for this request. |
| `max_depth` | `integer` | No | Max depth supplied for this request. |
| `max_pages` | `integer` | No | Max pages supplied for this request. |
| `max_total_bytes` | `integer` | No | Max total bytes supplied for this request. |
| `respect_robots` | `boolean` | No | Respect robots supplied for this request. |
| `url` | `string` | Yes | Public http(s) site URL to crawl. |
### Example input
```json
{
"concurrency": 2,
"detail": "standard",
"max_depth": 2,
"max_pages": 5,
"url": "https://example.com/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"files": [],
"final_url": "https://example.com/",
"pages": [
{
"capture_backend": "http",
"content": {
"bytes_read": 559,
"category": "page",
"format": "html",
"media_type": "text/html",
"sha256": "[redacted:token]",
"truncated": false,
"type_source": "mime"
},
"content_type": "text/html",
"depth": 0,
"elapsed_ms": 0,
"files": [],
"final_url": "https://example.com/",
"language": "en",
"links": [
{
"text": "Learn more",
"url": "https://iana.org/domains/example",
"xpath": "/html[1]/body[1]/div[1]/p[2]/a[1]"
}
],
"rendered": false,
"status_code": 200,
"text": "Example Domain Example Domain This domain is for use in documentation examples without needing permission. Avoid use in operations. Learn more",
"title": "Example Domain",
"url": "https://example.com/",
"warnings": []
}
],
"stats": {
"ai_attempts": 0,
"ai_completion_tokens": 0,
"ai_mode": "never",
"ai_prompt_tokens": 0,
"ai_ranking_mode": "non_destructive",
"ai_rejected_files": 0,
"ai_relevant_files": 0,
"ai_uncertain_files": 0,
"ai_unselected_files": 0,
"ai_used": false,
"concurrency": 2,
"crawled_pages": 1,
"effective_delay_ms": 0,
"elapsed_ms": 2203,
"estimated_result_bytes": 1151,
"failed_pages": 0,
"files_before_compaction": 0,
"files_found": 0,
"files_omitted_by_compaction": 0,
"files_returned": 0,
"frontier_dropped": 0,
"max_depth": 2,
"remaining_frontier": 0,
"response_compacted": false,
"returned_pages": 1,
"robots_applied": true
},
"url": "https://example.com/",
"warnings": []
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `files` | `array` | 0 items |
| `final_url` | `string` | https://example.com/ |
| `pages` | `array` | 1 items |
| `pages` | `array` | 1 items |
| `stats` | `object` | 26 fields |
| `stats.ai_attempts` | `integer` | 0 |
| `stats.ai_completion_tokens` | `integer` | 0 |
| `stats.ai_mode` | `string` | never |
| `stats.ai_prompt_tokens` | `integer` | 0 |
| `stats.ai_ranking_mode` | `string` | non_destructive |
| `stats.ai_rejected_files` | `integer` | 0 |
| `stats.ai_relevant_files` | `integer` | 0 |
| `stats.ai_uncertain_files` | `integer` | 0 |
| `stats.ai_unselected_files` | `integer` | 0 |
| `stats.ai_used` | `boolean` | false |
| `stats.concurrency` | `integer` | 2 |
| `stats.crawled_pages` | `integer` | 1 |
| `stats.effective_delay_ms` | `integer` | 0 |
| `stats.elapsed_ms` | `integer` | 2203 |
| `stats.estimated_result_bytes` | `integer` | 1151 |
| `stats.failed_pages` | `integer` | 0 |
| `stats.files_before_compaction` | `integer` | 0 |
| `stats.files_found` | `integer` | 0 |
| `stats.files_omitted_by_compaction` | `integer` | 0 |
| `stats.files_returned` | `integer` | 0 |
| `stats.frontier_dropped` | `integer` | 0 |
| `stats.max_depth` | `integer` | 2 |
| `stats.remaining_frontier` | `integer` | 0 |
| `stats.response_compacted` | `boolean` | false |
| `stats.returned_pages` | `integer` | 1 |
| `stats.robots_applied` | `boolean` | true |
| `url` | `string` | https://example.com/ |
| `warnings` | `array` | 0 items |
## 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)
## Universal Web Scraper: Map Site
Canonical: https://docs.upscrape.com/docs/platforms/web/web.site.map
Markdown: https://docs.upscrape.com/docs/platforms/web/web.site.map/index.md
# Map Site
Build a deterministic, robots-aware public URL inventory from the starting page, robots.txt, and bounded recursive sitemap indexes. Classifies pages and files without deeply fetching every discovered URL and supports opaque pagination cursors.
- Platform: [Universal Web](https://docs.upscrape.com/docs/platforms/web)
- Capability ID: `web.site.map`
- Cost: 1 credit per request
- Maximum runtime: 120 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"discover_sitemaps": true,
"max_urls": 100,
"respect_robots": true,
"url": "https://example.com/"
},
"capability": "web.site.map"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cursor` | `string` | No | Opaque cursor from the preceding map response using the same options. |
| `discover_sitemaps` | `boolean` | No | Discover sitemaps supplied for this request. |
| `exclude_patterns` | `array` | No | Exclude patterns supplied for this request. |
| `include_patterns` | `array` | No | Include patterns supplied for this request. |
| `include_subdomains` | `boolean` | No | When false, only the seed host is allowed. When true, hosts remain limited to the seed's registrable domain; unrelated hosts are never added. |
| `max_sitemaps` | `integer` | No | Max sitemaps supplied for this request. |
| `max_urls` | `integer` | No | Maximum URLs returned in this response page. |
| `respect_robots` | `boolean` | No | Respect robots supplied for this request. |
| `url` | `string` | Yes | Public http(s) site URL to inventory. |
### Example input
```json
{
"discover_sitemaps": true,
"max_urls": 100,
"respect_robots": true,
"url": "https://example.com/"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"final_url": "https://example.com/",
"origin": "https://example.com",
"robots": {
"applied": true,
"fetched": false,
"sitemaps": [],
"status_code": 404,
"url": "https://example.com/robots.txt",
"warnings": []
},
"sitemaps": [
{
"bytes": 559,
"content_type": "text/html",
"error": "unexpected status 404",
"sha256": "[redacted:token]",
"status_code": 404,
"url": "https://example.com/sitemap.xml"
}
],
"stats": {
"elapsed_ms": 1484,
"estimated_result_bytes": 657,
"inventory_count": 1,
"offset": 0,
"response_compacted": false,
"returned_count": 1,
"sitemap_count": 1
},
"url": "https://example.com/",
"urls": [
{
"allowed": true,
"format": "unknown",
"kind": "page",
"source": "seed",
"url": "https://example.com/"
}
],
"warnings": []
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `final_url` | `string` | https://example.com/ |
| `origin` | `string` | https://example.com |
| `robots` | `object` | 6 fields |
| `robots.applied` | `boolean` | true |
| `robots.fetched` | `boolean` | false |
| `robots.sitemaps` | `array` | 0 items |
| `robots.status_code` | `integer` | 404 |
| `robots.url` | `string` | https://example.com/robots.txt |
| `robots.warnings` | `array` | 0 items |
| `sitemaps` | `array` | 1 items |
| `sitemaps` | `array` | 1 items |
| `stats` | `object` | 7 fields |
| `stats.elapsed_ms` | `integer` | 1484 |
| `stats.estimated_result_bytes` | `integer` | 657 |
| `stats.inventory_count` | `integer` | 1 |
| `stats.offset` | `integer` | 0 |
| `stats.response_compacted` | `boolean` | false |
| `stats.returned_count` | `integer` | 1 |
| `stats.sitemap_count` | `integer` | 1 |
| `url` | `string` | https://example.com/ |
| `urls` | `array` | 1 items |
| `urls` | `array` | 1 items |
| `warnings` | `array` | 0 items |
## 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)
## X (Twitter) API
Canonical: https://docs.upscrape.com/docs/platforms/x
Markdown: https://docs.upscrape.com/docs/platforms/x/index.md
# X (Twitter) API
Fetch public X posts by ID through the logged-out syndication endpoint.
- Platform ID: `x`
- Capabilities: 1
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Get Tweet (Syndication)](https://docs.upscrape.com/docs/platforms/x/x.tweet.syndication)
- Capability ID: `x.tweet.syndication`
- Cost: 10 credits per request
Get a public post from X's logged-out syndication API without an account.
## Common uses
- Verify public posts cited in news, research, and brand reports
- Enrich datasets with post text, author, timestamp, and engagement signals
- Archive specific public posts without requiring an X account
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## X (Twitter): Get Tweet (Syndication)
Canonical: https://docs.upscrape.com/docs/platforms/x/x.tweet.syndication
Markdown: https://docs.upscrape.com/docs/platforms/x/x.tweet.syndication/index.md
# Get Tweet (Syndication)
Get a public post from X's logged-out syndication API without an account.
- Platform: [X (Twitter)](https://docs.upscrape.com/docs/platforms/x)
- Capability ID: `x.tweet.syndication`
- Cost: 10 credits per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"tweet_id": "1911516207322439730"
},
"capability": "x.tweet.syndication"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `tweet_id` | `string` | Yes | Numeric tweet ID |
### Example input
```json
{
"tweet_id": "1911516207322439730"
}
```
## 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)
## Zomato API
Canonical: https://docs.upscrape.com/docs/platforms/zomato
Markdown: https://docs.upscrape.com/docs/platforms/zomato/index.md
# Zomato API
Location-aware Zomato discovery, restaurant details, ratings, reviews, and menu data.
- Platform ID: `zomato`
- Capabilities: 11
- Execute endpoint: `POST https://data.upscrape.com/execute`
## Capabilities
### [Cities](https://docs.upscrape.com/docs/platforms/zomato/zomato.cities)
- Capability ID: `zomato.cities`
- Cost: 1 credit per request
List Zomato delivery cities.
### [Get Collections](https://docs.upscrape.com/docs/platforms/zomato/zomato.collections)
- Capability ID: `zomato.collections`
- Cost: 1 credit per request
Fetch featured collections from a Zomato restaurant page.
### [Get Cuisines](https://docs.upscrape.com/docs/platforms/zomato/zomato.cuisines)
- Capability ID: `zomato.cuisines`
- Cost: 1 credit per request
Extract cuisine list with deeplink filters from a Zomato restaurant page.
### [Location Search](https://docs.upscrape.com/docs/platforms/zomato/zomato.location.search)
- Capability ID: `zomato.location.search`
- Cost: 1 credit per request
Search Zomato locations (cities, neighborhoods, landmarks) by name.
### [Get Restaurant](https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.get)
- Capability ID: `zomato.restaurant.get`
- Cost: 1 credit per request
Fetch full Zomato restaurant detail: info, cuisines, ratings, hours, address, phone, cost.
### [Get Menu](https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.menu)
- Capability ID: `zomato.restaurant.menu`
- Cost: 1 credit per request
Fetch restaurant menu photos and items from the Zomato info page.
### [Order Menu](https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.ordermenu)
- Capability ID: `zomato.restaurant.ordermenu`
- Cost: 1 credit per request
Fetch the full ordering menu for a restaurant: dishes with names, descriptions, images, veg/non-veg tags, and modifier groups (addons/variants with prices).
### [Get Reviews](https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.reviews)
- Capability ID: `zomato.restaurant.reviews`
- Cost: 1 credit per request
Fetch restaurant reviews from the Zomato info page.
### [List All Restaurants](https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurants.all)
- Capability ID: `zomato.restaurants.all`
- Cost: 1 credit per request
Crawl a Zomato city grid and stream deduplicated delivery restaurants. Supports city presets, explicit bounds, or center+radius.
### [List Restaurants](https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurants.list)
- Capability ID: `zomato.restaurants.list`
- Cost: 1 credit per request
List delivery restaurants for a Zomato city.
### [Search](https://docs.upscrape.com/docs/platforms/zomato/zomato.search)
- Capability ID: `zomato.search`
- Cost: 1 credit per request
Search Zomato restaurants by query and location.
## Common uses
- Map restaurant coverage and delivery availability across cities and neighborhoods.
- Track restaurant profiles, cuisines, ratings, hours, and public contact details.
- Analyze image menus, ordering-menu catalogs, dietary tags, and modifier prices.
- Build local dining discovery, competitive intelligence, and market-research datasets.
## Integration contract
All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.
See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
## Zomato: Cities
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.cities
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.cities/index.md
# Cities
List Zomato delivery cities.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.cities`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"limit": 50
},
"capability": "zomato.cities"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum delivery-city records to return. |
### Example input
```json
{
"limit": 50
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"cities": [
{
"name": "Hi",
"slug": "hi",
"url": "https://www.zomato.com/hi/delivery"
},
{
"name": "Bn",
"slug": "bn",
"url": "https://www.zomato.com/bn/delivery"
},
{
"name": "Te",
"slug": "te",
"url": "https://www.zomato.com/te/delivery"
}
],
"count": 11
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `cities` | `array` | 3 items |
| `cities` | `array` | 3 items |
| `count` | `integer` | 11 |
## 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)
## Zomato: Get Collections
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.collections
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.collections/index.md
# Get Collections
Fetch featured collections from a Zomato restaurant page.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.collections`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"res_id": "18439027"
},
"capability": "zomato.collections"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `res_id` | `string` | Yes | Numeric Zomato restaurant identifier. |
### Example input
```json
{
"res_id": "18439027"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"collections": [
{
"description": "Indulge in the rich flavors of North India at these top spots, serving everything from butter chicken to spicy kebabs.",
"title": "North Indian hits",
"url": "https://www.zomato.com/lucknow/og-chicken-places"
}
],
"count": 1,
"res_id": "18439027",
"source_url": "[redacted:acquisition_url]"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `collections` | `array` | 1 items |
| `collections` | `array` | 1 items |
| `count` | `integer` | 1 |
| `res_id` | `string` | 18439027 |
| `source_url` | `string` | [redacted:acquisition_url] |
## 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)
## Zomato: Get Cuisines
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.cuisines
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.cuisines/index.md
# Get Cuisines
Extract cuisine list with deeplink filters from a Zomato restaurant page.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.cuisines`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"res_id": "18439027"
},
"capability": "zomato.cuisines"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `res_id` | `string` | Yes | Numeric Zomato restaurant identifier. |
### Example input
```json
{
"res_id": "18439027"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"count": 8,
"cuisines": [
{
"deeplink": "zomato://search?deeplink_filters=[redacted:token]%3D",
"name": "North Indian",
"url": "https://www.zomato.com/lucknow/restaurants/north-indian/"
},
{
"deeplink": "zomato://search?deeplink_filters=[redacted:token]%3D",
"name": "Chinese",
"url": "https://www.zomato.com/lucknow/restaurants/chinese/"
},
{
"deeplink": "zomato://search?deeplink_filters=[redacted:token]%3D",
"name": "Continental",
"url": "https://www.zomato.com/lucknow/restaurants/continental/"
}
],
"res_id": "18439027",
"source_url": "[redacted:acquisition_url]"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `count` | `integer` | 8 |
| `cuisines` | `array` | 3 items |
| `cuisines` | `array` | 3 items |
| `res_id` | `string` | 18439027 |
| `source_url` | `string` | [redacted:acquisition_url] |
## 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)
## Zomato: Location Search
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.location.search
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.location.search/index.md
# Location Search
Search Zomato locations (cities, neighborhoods, landmarks) by name.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.location.search`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"query": "Connaught Place"
},
"capability": "zomato.location.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum location suggestions to return. |
| `query` | `string` | Yes | City, neighborhood, or landmark to find. |
### Example input
```json
{
"query": "Connaught Place"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"count": 10,
"query": "Connaught Place",
"source_url": "[redacted:acquisition_url]",
"suggestions": [
{
"entity_name": "Connaught Place, New Delhi, Delhi, India, India",
"is_order_location": 1,
"latitude": 28.6304203,
"location_type": "geocode",
"longitude": 77.21772159999999,
"place_id": "ChIJV9BBtzf9DDkR8cOTc-SI7s0",
"subtitle": "New Delhi, Delhi, India, India",
"title": "Connaught Place"
},
{
"entity_name": "Connaught place, Connaught Place, New Delhi, Delhi, India, India",
"is_order_location": 1,
"latitude": 28.6328963,
"location_type": "establishment",
"longitude": 77.2193156,
"place_id": "ChIJ1aKMFgD9DDkRUE4zJ1XZxxY",
"subtitle": "Connaught Place, New Delhi, Delhi, India, India",
"title": "Connaught place"
},
{
"entity_name": "Connaught Place SOCIAL, Middle Circle, Block B, Connaught Place, New Delhi, Delhi, India, India",
"is_order_location": 1,
"latitude": 28.634607,
"location_type": "bar",
"longitude": 77.2187783,
"place_id": "ChIJn6jFcKT9DDkRSbsVBMHSqbQ",
"subtitle": "Middle Circle, Block B, Connaught Place, New Delhi, Delhi, India, India",
"title": "Connaught Place SOCIAL"
}
]
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `count` | `integer` | 10 |
| `query` | `string` | Connaught Place |
| `source_url` | `string` | [redacted:acquisition_url] |
| `suggestions` | `array` | 3 items |
| `suggestions` | `array` | 3 items |
## 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)
## Zomato: Get Restaurant
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.get
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.get/index.md
# Get Restaurant
Fetch full Zomato restaurant detail: info, cuisines, ratings, hours, address, phone, cost.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.restaurant.get`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"res_id": "18439027"
},
"capability": "zomato.restaurant.get"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `res_id` | `string` | Yes | Numeric Zomato restaurant identifier. |
### Example input
```json
{
"res_id": "18439027"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"address": "5th Floor, LDA Colony, Sector B, Bargawan, VIP Road, Alambagh, Lucknow",
"aggregate_rating": "4.4",
"city": "Lucknow",
"city_id": 8,
"country_id": 1,
"country_name": "India",
"cuisine_string": "North Indian, Chinese, Continental, Oriental, Kebab, Fast Food, Desserts, Beverages",
"cuisines": [
"North Indian",
"Chinese",
"Continental"
],
"delivery_rating": "4.2",
"delivery_review_count": "2,079",
"dining_rating": "4.4",
"dining_review_count": "4,119",
"highlights": [
"Dinner",
"Lunch",
"Takeaway available"
],
"image_url": "https://b.zmtcdn.com/data/pictures/7/18439027/[redacted:token].jpg",
"is_dark_kitchen": false,
"is_delivery_only": false,
"is_perm_closed": false,
"is_temp_closed": false,
"latitude": 26.7979252368,
"locality": "Alambagh, Lucknow",
"longitude": 80.9026641771,
"name": "Skyhilton",
"phone": "[redacted:phone]",
"res_id": "18439027",
"source_url": "[redacted:acquisition_url]",
"timing": "12noon – 11pm (Today)",
"url": "https://www.zomato.com/lucknow/skyhilton-1-alambagh",
"votes": "4119",
"zipcode": "226012"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `address` | `string` | 5th Floor, LDA Colony, Sector B, Bargawan, VIP Road, Alambagh, Lucknow |
| `aggregate_rating` | `string` | 4.4 |
| `city` | `string` | Lucknow |
| `city_id` | `integer` | 8 |
| `country_id` | `integer` | 1 |
| `country_name` | `string` | India |
| `cuisine_string` | `string` | North Indian, Chinese, Continental, Oriental, Kebab, Fast Food, Dessert… |
| `cuisines` | `array` | 3 items |
| `cuisines` | `array` | 3 items |
| `delivery_rating` | `string` | 4.2 |
| `delivery_review_count` | `string` | 2,079 |
| `dining_rating` | `string` | 4.4 |
| `dining_review_count` | `string` | 4,119 |
| `highlights` | `array` | 3 items |
| `highlights` | `array` | 3 items |
| `image_url` | `string` | https://b.zmtcdn.com/data/pictures/7/18439027/[redacted:token].jpg |
| `is_dark_kitchen` | `boolean` | false |
| `is_delivery_only` | `boolean` | false |
| `is_perm_closed` | `boolean` | false |
| `is_temp_closed` | `boolean` | false |
| `latitude` | `number` | 26.7979252368 |
| `locality` | `string` | Alambagh, Lucknow |
| `longitude` | `number` | 80.9026641771 |
| `name` | `string` | Skyhilton |
| `phone` | `string` | [redacted:phone] |
| `res_id` | `string` | 18439027 |
| `source_url` | `string` | [redacted:acquisition_url] |
| `timing` | `string` | 12noon – 11pm (Today) |
| `url` | `string` | https://www.zomato.com/lucknow/skyhilton-1-alambagh |
| `votes` | `string` | 4119 |
| `zipcode` | `string` | 226012 |
## 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)
## Zomato: Get Menu
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.menu
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.menu/index.md
# Get Menu
Fetch restaurant menu photos and items from the Zomato info page.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.restaurant.menu`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"res_id": "18439027"
},
"capability": "zomato.restaurant.menu"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum image-menu records to return. |
| `res_id` | `string` | Yes | Numeric Zomato restaurant identifier. |
### Example input
```json
{
"res_id": "18439027"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"count": 3,
"items": [
{
"description": "12 pages",
"image_url": "https://b.zmtcdn.com/data/menus/027/18439027/a7d208532a2d9c1a8325f20cb3a2ad10.jpg?fit=around%7C200%3A200&crop=200%3A200%3B%2A%2C%2A",
"name": "Food Menu"
},
{
"description": "3 pages",
"image_url": "https://b.zmtcdn.com/data/menus/027/18439027/c19f0a48456e769889af9776b2a7593b.jpg?fit=around%7C200%3A200&crop=200%3A200%3B%2A%2C%2A",
"name": "Bar Menu"
},
{
"description": "1 page",
"image_url": "https://b.zmtcdn.com/data/menus/027/18439027/56e46872d82d84bcd8876e9cd04e053a.jpg?fit=around%7C200%3A200&crop=200%3A200%3B%2A%2C%2A",
"name": "Beverages"
}
],
"res_id": "18439027",
"source_url": "[redacted:acquisition_url]"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `count` | `integer` | 3 |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `res_id` | `string` | 18439027 |
| `source_url` | `string` | [redacted:acquisition_url] |
## 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)
## Zomato: Order Menu
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.ordermenu
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.ordermenu/index.md
# Order Menu
Fetch the full ordering menu for a restaurant: dishes with names, descriptions, images, veg/non-veg tags, and modifier groups (addons/variants with prices).
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.restaurant.ordermenu`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"url": "/ncr/behrouz-biryani-connaught-place-new-delhi/order"
},
"capability": "zomato.restaurant.ordermenu"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum dishes to return. |
| `res_id` | `string` | No | Numeric Zomato restaurant identifier used to resolve its order page. |
| `url` | `string` | No | Relative or absolute HTTPS www.zomato.com order-page URL. |
### Example input
```json
{
"url": "/ncr/behrouz-biryani-connaught-place-new-delhi/order"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"categories": [
{
"items": [
{
"description": "A treasured creation prepared with tender chicken pieces infused in freshly ground, aromatic bhuna spices. Slow-cooked with fragrant basmati for an unforgettable royal feast.",
"dietary_tags": [
"non-veg"
],
"id": "ctl_765461364",
"image_url": "https://b.zmtcdn.com/data/dish_photos/147/551801f387f35a2825128ae2c0793147.jpeg",
"is_veg": false,
"name": "Lazeez Bhuna Murgh Biryani (Dum Chicken Biryani)",
"rating": "4",
"service_tags": [
"delivery-enabled"
]
},
{
"description": "Indulge in the splendour of tender, crumbly paneer, marinated with a blend of exquisite royal spices and layered with aromatic basmati, crafting an experience that is as delectable as extravagant.",
"dietary_tags": [
"veg"
],
"id": "ctl_765461365",
"image_url": "https://b.zmtcdn.com/data/dish_photos/bde/6993be17047a8e500c3ec030d54a2bde.jpeg",
"is_veg": true,
"name": "Zaikedaar Paneer Biryani (Paneer Dum Biryani)",
"service_tags": [
"delivery-enabled"
]
}
],
"menu_name": "Behrouz Recommends"
},
{
"items": [
{
"description": "Fresh subz and the longest-grain basmati rice, dum-pukht for hours with 23 shahi masale. This is Behrouz,s classic recipe - mildly spicy. The splash of kewra water adds aroma and freshness, while birista, almonds, coriander and whole spices bring a royal touch to every bite.",
"dietary_tags": [
"veg"
],
"id": "ctl_804314444",
"image_url": "https://b.zmtcdn.com/data/dish_photos/6b4/ee976aecb31531a2dd42ec007c90a6b4.jpeg",
"is_veg": true,
"name": "Classic Subz-e-Biryani (Veg Dum Biryani - Mild Spicy)",
"service_tags": [
"delivery-enabled"
]
},
{
"description": "Narm paneer and the longest-grain basmati rice, dum-pukht for hours with 23 shahi masale. This is Behrouz,s classic recipe - mildly spicy. The aroma of kewra water and the adornment of birista, almonds, coriander and whole spices enrich its zaikedaar warmth.",
"dietary_tags": [
"veg"
],
"id": "ctl_804314445",
"image_url": "https://b.zmtcdn.com/data/dish_photos/418/fd6addac538129bfcf67c2cd903cf418.jpeg",
"is_veg": true,
"name": "Classic Zaikedaar Paneer Biryani (Paneer Dum Biryani - Mild Spicy)",
"service_tags": [
"delivery-enabled"
]
},
{
"description": "Tender paneer and the longest-grain basmati rice, dum-pukht for hours with 23 shahi masale. This is Behrouz,s Hyderabadi recipe - bold & spicy. Lifted by the aroma of kewra water and finished with birista, almonds, coriander and whole spices for a rich, fiery zayqa.",
"dietary_tags": [
"veg"
],
"id": "ctl_804314447",
"image_url": "https://b.zmtcdn.com/data/dish_photos/1ad/bd79f45919a5e9bcaa6e08ffd94331ad.jpeg",
"is_veg": true,
"name": "Hyderabadi Zaikedaar Paneer Biryani (Paneer Dum Biryani - Spicy)",
"service_tags": [
"delivery-enabled"
]
}
],
"menu_name": "Veg Specials"
},
{
"items": [
{
"description": "Tender, boneless murgh and the longest-grain basmati rice, dum-pukht over hours with 23 shahi masale. This is Behrouz,s classic recipe - mildly spicy. The aroma of kewra water and the garnish of birista, almonds, coriander and whole spices add sheer nazaakat in every bite.",
"dietary_tags": [
"non-veg"
],
"id": "ctl_764484094",
"image_url": "https://b.zmtcdn.com/data/dish_photos/f0c/9fc029df33211deeb66fccce4d57bf0c.jpeg",
"is_veg": false,
"name": "Classic Lazeez Bhuna Murgh Biryani (Dum Chicken Biryani)(Mild Spicy)",
"rating": "4",
"service_tags": [
"delivery-enabled"
]
},
{
"description": "Narm paneer and the longest-grain basmati rice, dum-pukht for hours with 23 shahi masale. This is Behrouz,s classic recipe - mildly spicy. The aroma of kewra water and the adornment of birista, almonds, coriander and whole spices enrich its zaikedaar warmth.",
"dietary_tags": [
"veg"
],
"id": "ctl_764484095",
"image_url": "https://b.zmtcdn.com/data/dish_photos/bde/6993be17047a8e500c3ec030d54a2bde.jpeg",
"is_veg": true,
"name": "Classic Zaikedaar Paneer Biryani (Paneer Dum Biryani)(Mild Spicy)",
"rating": "4",
"service_tags": [
"delivery-enabled"
]
},
{
"description": "Flavour-rich whole eggs and the longest-grain basmati rice, dum-pukht for hours with 23 shahi masale. This is Behrouz,s classic recipe - mildly spicy. The aroma of kewra water and the garnish of birista, almonds, coriander and whole spices enrich every royal bite.",
"dietary_tags": [
"non-veg"
],
"id": "ctl_764484099",
"image_url": "https://b.zmtcdn.com/data/dish_photos/b23/3a382c08c1f04680d29b679283f19b23.jpeg",
"is_veg": false,
"name": "Classic Tokhm-e-Biryani (Classic Egg Dum Biryani)(Mild Spicy)",
"service_tags": [
"delivery-enabled"
]
}
],
"menu_name": "Classic Biryani (Signature Recipe-Mild Spicy)"
}
],
"count": 66,
"modifiers": [
{
"id": "mg_100435857",
"items": [
{
"id": "ctl_569524009",
"is_available": true,
"is_veg": true,
"name": "Afreen Basmati Rice (300 gm)",
"price_minor": 79
},
{
"id": "ctl_569524007",
"is_available": true,
"is_veg": true,
"name": "Lachha Paratha (Pack of 2)",
"price_minor": 89
},
{
"id": "ctl_569524008",
"is_available": true,
"is_veg": true,
"name": "Kulcha (Pack of 2)",
"price_minor": 89
}
],
"max": 3,
"name": "Add your Breads or Rice-"
},
{
"id": "mg_127486877",
"items": [
{
"id": "ctl_754851845",
"is_available": true,
"is_veg": false,
"name": "Chicken Tikka Kathi Roll",
"price_minor": 259
},
{
"id": "ctl_754851849",
"is_available": true,
"is_veg": true,
"name": "Paneer Tikka Kathi Roll",
"price_minor": 259
}
],
"max": 2,
"name": "Choose your Kathi roll"
},
{
"id": "mg_97791765",
"items": [
{
"id": "ctl_578358581",
"is_available": true,
"is_veg": false,
"name": "Murgh Koobideh (Chicken Tikki Kebab) Mini-3 Pcs",
"price_minor": 135
},
{
"id": "ctl_555024311",
"is_available": true,
"is_veg": false,
"name": "Murgh Kefta Mini-6 Pcs",
"price_minor": 159
}
],
"max": 2,
"name": "Add- a Kebab."
}
],
"res_id": "18365882",
"restaurant_name": "Behrouz Biryani",
"source_url": "https://www.zomato.com/ncr/behrouz-biryani-connaught-place-new-delhi/order"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `categories` | `array` | 3 items |
| `categories` | `array` | 3 items |
| `count` | `integer` | 66 |
| `modifiers` | `array` | 3 items |
| `modifiers` | `array` | 3 items |
| `res_id` | `string` | 18365882 |
| `restaurant_name` | `string` | Behrouz Biryani |
| `source_url` | `string` | https://www.zomato.com/ncr/behrouz-biryani-connaught-place-new-delhi/or… |
## 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)
## Zomato: Get Reviews
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.reviews
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurant.reviews/index.md
# Get Reviews
Fetch restaurant reviews from the Zomato info page.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.restaurant.reviews`
- Cost: 1 credit per request
- Maximum runtime: 30 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"res_id": "18439027"
},
"capability": "zomato.restaurant.reviews"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum embedded public reviews to return. |
| `res_id` | `string` | Yes | Numeric Zomato restaurant identifier. |
### Example input
```json
{
"res_id": "18439027"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"count": 0,
"res_id": "18439027",
"source_url": "[redacted:acquisition_url]"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `count` | `integer` | 0 |
| `res_id` | `string` | 18439027 |
| `source_url` | `string` | [redacted:acquisition_url] |
## 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)
## Zomato: List All Restaurants
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurants.all
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurants.all/index.md
# List All Restaurants
Crawl a Zomato city grid and stream deduplicated delivery restaurants. Supports city presets, explicit bounds, or center+radius.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.restaurants.all`
- Cost: 1 credit per request
- Maximum runtime: 120 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"center_latitude": 28.6315,
"center_longitude": 77.2167,
"city": "ncr",
"max_restaurants": 100,
"radius_km": 5,
"step_km": 2
},
"capability": "zomato.restaurants.all"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `center_latitude` | `number` | No | Center latitude supplied for this request. |
| `center_longitude` | `number` | No | Center longitude supplied for this request. |
| `city` | `string` | No | Zomato delivery-city slug or grid preset. |
| `concurrency` | `integer` | No | Concurrency supplied for this request. |
| `max_cells` | `integer` | No | Max cells supplied for this request. |
| `max_latitude` | `number` | No | Max latitude supplied for this request. |
| `max_longitude` | `number` | No | Max longitude supplied for this request. |
| `max_restaurants` | `integer` | No | Max restaurants supplied for this request. |
| `min_latitude` | `number` | No | Min latitude supplied for this request. |
| `min_longitude` | `number` | No | Min longitude supplied for this request. |
| `radius_km` | `number` | No | Radius km supplied for this request. |
| `step_km` | `number` | No | Step km supplied for this request. |
### Example input
```json
{
"center_latitude": 28.6315,
"center_longitude": 77.2167,
"city": "ncr",
"max_restaurants": 100,
"radius_km": 5,
"step_km": 2
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"items": [
{
"address": "K 19/21, Connaught Place, New Delhi",
"aggregate_rating": "3.9",
"city": "ncr",
"image_url": "https://b.zmtcdn.com/data/pictures/8/300658/[redacted:token].jpg",
"latitude": 28.586533919704063,
"longitude": 77.18596165704575,
"name": "Hira Sweets",
"res_id": "hira-sweets-connaught-place-new-delhi",
"source_url": "https://www.zomato.com/ncr/delivery",
"url": "https://www.zomato.com/ncr/hira-sweets-connaught-place-new-delhi/order",
"votes": "15"
},
{
"address": "P-2/90, Opposite PVR Rivoli, Connaught Place, New Delhi",
"aggregate_rating": "4.1",
"city": "ncr",
"image_url": "https://b.zmtcdn.com/data/pictures/chains/3/307893/[redacted:token].jpg",
"latitude": 28.586533919704063,
"longitude": 77.18596165704575,
"name": "Bikkgane Biryani",
"res_id": "bikkgane-biryani-connaught-place-new-delhi",
"source_url": "https://www.zomato.com/ncr/delivery",
"url": "https://www.zomato.com/ncr/bikkgane-biryani-connaught-place-new-delhi/order",
"votes": "34"
},
{
"address": "Shop 99 And 101, Bangla Sahib Road, Gole Market, New Delhi",
"aggregate_rating": "4.1",
"city": "ncr",
"image_url": "https://b.zmtcdn.com/data/pictures/1/20516701/[redacted:token].jpg",
"latitude": 28.586533919704063,
"longitude": 77.18596165704575,
"name": "Kaleva All Day Diner",
"res_id": "kaleva-all-day-diner-gole-market-new-delhi",
"source_url": "https://www.zomato.com/ncr/delivery",
"url": "https://www.zomato.com/ncr/kaleva-all-day-diner-gole-market-new-delhi/order",
"votes": "1162"
}
],
"summary": {
"city": "ncr",
"source_url": "https://www.zomato.com/ncr/delivery",
"total_items": 22
}
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `summary` | `object` | 3 fields |
| `summary.city` | `string` | ncr |
| `summary.source_url` | `string` | https://www.zomato.com/ncr/delivery |
| `summary.total_items` | `integer` | 22 |
## 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)
## Zomato: List Restaurants
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurants.list
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.restaurants.list/index.md
# List Restaurants
List delivery restaurants for a Zomato city.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.restaurants.list`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"city": "ncr",
"limit": 10
},
"capability": "zomato.restaurants.list"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `city` | `string` | No | Zomato delivery-city slug. |
| `limit` | `integer` | No | Maximum restaurants from the public city page. |
### Example input
```json
{
"city": "ncr",
"limit": 10
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"city": "Delhi NCR",
"count": 9,
"latitude": 28.625789,
"longitude": 77.210276,
"results": [
{
"address": "A 12, Inner Circle, A Block, Connaught Place, New Delhi",
"aggregate_rating": "3.7",
"image_url": "https://b.zmtcdn.com/data/pictures/1/931/[redacted:token].jpg",
"name": "KFC",
"res_id": "kfc-connaught-place-new-delhi",
"source_url": "https://www.zomato.com/ncr/delivery",
"url": "https://www.zomato.com/ncr/kfc-connaught-place-new-delhi/order",
"votes": "8414"
},
{
"address": "K 19/21, Connaught Place, New Delhi",
"aggregate_rating": "3.9",
"image_url": "https://b.zmtcdn.com/data/pictures/8/300658/[redacted:token].jpg",
"name": "Hira Sweets",
"res_id": "hira-sweets-connaught-place-new-delhi",
"source_url": "https://www.zomato.com/ncr/delivery",
"url": "https://www.zomato.com/ncr/hira-sweets-connaught-place-new-delhi/order",
"votes": "15"
},
{
"address": "58, Plot 27, Block 134, Janpath, New Delhi",
"aggregate_rating": "4",
"image_url": "https://b.zmtcdn.com/data/pictures/1/261/[redacted:token].jpg",
"name": "Pizza Hut",
"res_id": "pizza-hut-2-janpath-new-delhi",
"source_url": "https://www.zomato.com/ncr/delivery",
"url": "https://www.zomato.com/ncr/pizza-hut-2-janpath-new-delhi/order",
"votes": "7314"
}
],
"source_url": "https://www.zomato.com/ncr/delivery"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `city` | `string` | Delhi NCR |
| `count` | `integer` | 9 |
| `latitude` | `number` | 28.625789 |
| `longitude` | `number` | 77.210276 |
| `results` | `array` | 3 items |
| `results` | `array` | 3 items |
| `source_url` | `string` | https://www.zomato.com/ncr/delivery |
## 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)
## Zomato: Search
Canonical: https://docs.upscrape.com/docs/platforms/zomato/zomato.search
Markdown: https://docs.upscrape.com/docs/platforms/zomato/zomato.search/index.md
# Search
Search Zomato restaurants by query and location.
- Platform: [Zomato](https://docs.upscrape.com/docs/platforms/zomato)
- Capability ID: `zomato.search`
- Cost: 1 credit per request
- Maximum runtime: 60 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 YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"input": {
"query": "biryani"
},
"capability": "zomato.search"
}'
```
## Input
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `city` | `string` | No | Zomato city slug used for the public search route. |
| `limit` | `integer` | No | Maximum restaurant results to parse. |
| `query` | `string` | Yes | Restaurant, cuisine, or dish search text. |
### Example input
```json
{
"query": "biryani"
}
```
## Response
Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.
### Illustrative sample output
This redacted fixture is an example, not a fixed response schema.
```json
{
"count": 9,
"has_more": false,
"latitude": 28.6257,
"longitude": 77.2102,
"query": "biryani",
"results": [
{
"address": "11, Ground Floor, Atmaram Mansion, KG Marg, Connaught Place, New Delhi",
"aggregate_rating": "4.3",
"image_url": "https://b.zmtcdn.com/data/pictures/0/18382360/[redacted:token].jpg",
"name": "Local",
"res_id": "local-connaught-place-new-delhi",
"source_url": "https://www.zomato.com/ncr/restaurants/biryani",
"url": "https://www.zomato.com/ncr/local-connaught-place-new-delhi/info?contextual_menu_params=[redacted:token]%3D",
"votes": "15"
},
{
"address": "38/39, Block E, Inner Circle, Connaught Place, New Delhi",
"aggregate_rating": "4.1",
"image_url": "https://b.zmtcdn.com/data/pictures/3/18233593/[redacted:token].jpg",
"name": "Farzi Cafe",
"res_id": "farzi-cafe-connaught-place-new-delhi",
"source_url": "https://www.zomato.com/ncr/restaurants/biryani",
"url": "https://www.zomato.com/ncr/farzi-cafe-connaught-place-new-delhi/info?contextual_menu_params=[redacted:token]%3D",
"votes": "7696"
},
{
"address": "14, Second Floor, Scindia House, Kasturba Gandhi Marg, Atul Grove Road, Connaught Place, New Delhi",
"aggregate_rating": "4.4",
"image_url": "https://b.zmtcdn.com/data/pictures/7/21209117/[redacted:token].jpg",
"name": "Drama",
"res_id": "drama-connaught-place-new-delhi",
"source_url": "https://www.zomato.com/ncr/restaurants/biryani",
"url": "https://www.zomato.com/ncr/drama-connaught-place-new-delhi/info?contextual_menu_params=[redacted:token]%3D",
"votes": "4116"
}
],
"source_url": "https://www.zomato.com/ncr/restaurants/biryani"
}
```
### Illustrative output fields
Derived from the sample above for orientation only. These fields are not a fixed response schema.
| Path | Observed type | Example |
| --- | --- | --- |
| `count` | `integer` | 9 |
| `has_more` | `boolean` | false |
| `latitude` | `number` | 28.6257 |
| `longitude` | `number` | 77.2102 |
| `query` | `string` | biryani |
| `results` | `array` | 3 items |
| `results` | `array` | 3 items |
| `source_url` | `string` | https://www.zomato.com/ncr/restaurants/biryani |
## 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)