# Product Detail Get

Fetch the product detail record for a PDP URL, PDP path, or bare numeric product id: JSON-LD product data plus best-effort breadcrumbs and barcode.

- Platform: [Carrefour KSA](https://docs.upscrape.com/docs/platforms/carrefourksa)
- Capability ID: `carrefourksa.product.detail.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 -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"url":"https://www.carrefourksa.com/mafsau/en/lemonade-mixers/7up-zero-sugar-cans-150ml-x12/p/694540"},"capability":"carrefourksa.product.detail.get"}'
```

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | Product page locator: a full PDP URL (https://www.carrefourksa.com/mafsau/en/.../p/694540), a PDP path (/mafsau/en/.../p/694540), or a bare numeric product id (694540, resolved to the canonical /mafsau/en/p/694540 route). |

### Example input

```json
{
  "url": "https://www.carrefourksa.com/mafsau/en/lemonade-mixers/7up-zero-sugar-cans-150ml-x12/p/694540"
}
```

## 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": {
    "@context": "https://schema.org/",
    "@type": "Product",
    "barcode": "12000062278",
    "brand": "food_7up",
    "breadcrumbs": [
      {
        "aliasName": "FKSA1500000",
        "id": "FKSA1500000",
        "level": 1,
        "name": "Beverages",
        "name_ar": "المشروبات",
        "url": "/c/FKSA1500000/"
      },
      {
        "aliasName": "FKSA1550000",
        "id": "FKSA1550000",
        "level": 2,
        "name": "Soft Drinks",
        "name_ar": "مشروبات غازية",
        "url": "/c/FKSA1550000/"
      },
      {
        "aliasName": "FKSA1550100",
        "id": "FKSA1550100",
        "level": 3,
        "name": "Carbonated Drinks",
        "name_ar": "المشروبات الغازية والخلاطات",
        "url": "/c/FKSA1550100/"
      }
    ],
    "description": "",
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "SAR",
      "merchantReturnDays": 7,
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow"
    },
    "image": "https://cdn.mafrservices.com/sys-master-root/hb8/h77/61617751752734/694540_main.jpg",
    "name": "7UP Zero Sugar Cans 150ml x12",
    "offers": {
      "@type": "Offer",
      "availability": "https://schema.org/OutOfStock",
      "itemCondition": "https://schema.org/NewCondition",
      "priceCurrency": "SAR",
      "url": "https://www.carrefourksa.com/mafsau/en/p/694540"
    },
    "productCategory": "fksa1500000",
    "sku": "694540"
  }
}
```
### 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.@context` | `string` | https://schema.org/ |
| `product.@type` | `string` | Product |
| `product.barcode` | `string` | 12000062278 |
| `product.brand` | `string` | food_7up |
| `product.breadcrumbs` | `array` | 3 items |
| `product.description` | `string` |  |
| `product.hasMerchantReturnPolicy` | `object` | 4 fields |
| `product.image` | `string` | https://cdn.mafrservices.com/sys-master-root/hb8/h77/61617751752734/694… |
| `product.name` | `string` | 7UP Zero Sugar Cans 150ml x12 |
| `product.offers` | `object` | 5 fields |
| `product.productCategory` | `string` | fksa1500000 |
| `product.sku` | `string` | 694540 |

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

See [jobs and results](https://docs.upscrape.com/docs/api/jobs), [errors and retries](https://docs.upscrape.com/docs/api/errors), and [idempotency](https://docs.upscrape.com/docs/api/idempotency).

## Machine-readable contract

- [Capability OpenAPI 3.1](https://docs.upscrape.com/docs/platforms/carrefourksa/carrefourksa.product.detail.get/openapi.json)
- [Platform OpenAPI 3.1](https://upscrape.com/scrapers/carrefourksa/openapi.json)
- [Focused coding-agent prompt](https://upscrape.com/scrapers/carrefourksa/capabilities/carrefourksa.product.detail.get/llm.md)
