# Get product

Get one normalized Zepto product variant by pvid or supported product URL, with price, availability and published product metadata.

- Platform: [Zepto](https://docs.upscrape.com/docs/platforms/zepto)
- Capability ID: `zepto.product`
- Cost: 1 credit per request
- Maximum runtime: 180 seconds
- Execute endpoint: `POST https://data.upscrape.com/execute`

## Request

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

```bash
curl --request POST \
  --url https://data.upscrape.com/execute \
  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Prefer: wait=30" \
  --data '{
  "input": {
    "url": "https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236"
  },
  "capability": "zepto.product"
}'
```

## Input

Provide pvid or a supported Zepto/Zeptonow product URL. Copied links can omit the scheme; tracking query parameters and fragments do not change product identity. If both forms are supplied, they must identify the same product.

For a location-specific product observation, provide store_id, a six-digit pincode, or both latitude and longitude. Do not combine pincode with coordinates.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `latitude` | `number` | No | Latitude for location-based store resolution. From -90 to 90. |
| `longitude` | `number` | No | Longitude for location-based store resolution. From -180 to 180. |
| `pincode` | `string` | No | Six-digit Indian pincode. When provided, Upscrape resolves coordinates and the Zepto delivery store automatically. |
| `pvid` | `string` | No | Zepto product variant ID. |
| `store_id` | `string` | No | Zepto store ID. Defaults to the public Bangalore sample store. |
| `url` | `string` | No | Direct URL to a Zepto product page. |

### Example input

```json
{
  "url": "https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236"
}
```

## Response

Successful output is returned in `results[0].data`.

Use integer paise fields for price arithmetic. Positive observed source values take precedence over placeholder zeros; genuine observed zero values stay zero and missing fields stay missing.

Keep in_stock and out_of_stock separate from missing state. Product descriptions, ratings, seller/compliance data, attributes, badges and promotion fields depend on what is available for that product.

No verified related-product or sibling-family relationship is exposed. product_variant_id identifies the returned variant and should not be expanded into an inferred family.

### Illustrative sample output

This example shows one response. Values and optional fields vary with the data available.

```json
{
  "captured_at": "2026-09-24T09:54:34.603946083Z",
  "product": {
    "available_quantity": 6,
    "brand": "Fruits",
    "brand_id": "d396c794-de67-421c-9af1-dc36df2c2471",
    "country_of_origin": "India",
    "description": "The water of a tender coconut is nothing, but the endosperm of the coconut and it is one of the most nutritious beverages available to us. This nutritious water is what matures and forms the flesh of the coconut over time. Tender coconut water is the liquid and not the milk of the coconut.",
    "discount_percent": 55,
    "discounted_selling_price_paise": 7700,
    "formatted_pack_size": "1 pc",
    "how_to_use": [
      "Tender coconut flesh can be used for ice creams."
    ],
    "image_url": "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/c3a49c51-d6bd-4298-8af4-092a10bcd4c3.jpeg",
    "image_urls": [
      "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/c3a49c51-d6bd-4298-8af4-092a10bcd4c3.jpeg",
      "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/038d5d99-2081-46d2-89aa-14f34d3e77bb.jpeg",
      "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/1fbea0e4-38a2-45e1-aa69-f5a5c5f6b7a4.jpeg"
    ],
    "in_stock": true,
    "is_active": true,
    "l3_category_id": "464cd640-d308-418e-9ad2-37e3973e511d",
    "max_allowed_quantity": 6,
    "mrp_paise": 17200,
    "name": "Tender Coconut",
    "pack_size": 1,
    "product_id": "29c55962-65c9-4a04-87fc-406edce13b27",
    "product_url": "https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236",
    "product_variant_id": "b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236",
    "quantity": 6,
    "shelf_life_display": "3 days",
    "shelf_life_hours": 72,
    "store_product_id": "ff391715-6e8b-5a21-9caa-6cd7df7ccc02",
    "unit_of_measure": "PIECE",
    "weight_in_gms": 58
  }
}
```
### Illustrative output fields

Derived from the sample above for orientation only. These fields are not a fixed response schema.

| Path | Observed type | Example |
| --- | --- | --- |
| `captured_at` | `string` | 2026-09-24T09:54:34.603946083Z |
| `product` | `object` | 27 fields |
| `product.available_quantity` | `integer` | 6 |
| `product.brand` | `string` | Fruits |
| `product.brand_id` | `string` | d396c794-de67-421c-9af1-dc36df2c2471 |
| `product.country_of_origin` | `string` | India |
| `product.description` | `string` | The water of a tender coconut is nothing, but the endosperm of the coco… |
| `product.discount_percent` | `integer` | 55 |
| `product.discounted_selling_price_paise` | `integer` | 7700 |
| `product.formatted_pack_size` | `string` | 1 pc |
| `product.how_to_use` | `array` | 1 items |
| `product.image_url` | `string` | https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-aut… |
| `product.image_urls` | `array` | 3 items |
| `product.in_stock` | `boolean` | true |
| `product.is_active` | `boolean` | true |
| `product.l3_category_id` | `string` | 464cd640-d308-418e-9ad2-37e3973e511d |
| `product.max_allowed_quantity` | `integer` | 6 |
| `product.mrp_paise` | `integer` | 17200 |
| `product.name` | `string` | Tender Coconut |
| `product.pack_size` | `integer` | 1 |
| `product.product_id` | `string` | 29c55962-65c9-4a04-87fc-406edce13b27 |
| `product.product_url` | `string` | https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89-ae74-b1… |
| `product.product_variant_id` | `string` | b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236 |
| `product.quantity` | `integer` | 6 |
| `product.shelf_life_display` | `string` | 3 days |
| `product.shelf_life_hours` | `integer` | 72 |
| `product.store_product_id` | `string` | ff391715-6e8b-5a21-9caa-6cd7df7ccc02 |
| `product.unit_of_measure` | `string` | PIECE |
| `product.weight_in_gms` | `integer` | 58 |

## 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)
