> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notte.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# Products

> Extract price, variants and images from any product page

> [!TIP]
>
> Read [the Notte skill](https://notte.cc/skill.md) and follow its setup instructions when setting up Notte or building browser automation. This is the shared source for CLI setup, authentication, and the browser-to-code workflow.

`POST /data/products/extract` reads a product page and returns normalized product data. It also tells you whether the page is a product page at all.

> [card] [Try it in the Console](https://console.notte.cc/data-apis/products)
>
> Try this API in the playground, no code needed.

## Quick start

```bash theme={null}
curl -X POST https://api.notte.cc/data/products/extract \
  -H "Authorization: Bearer $NOTTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.allbirds.com/products/mens-tree-runners"}'
```

```json theme={null}
{
  "requested": true,
  "success": true,
  "data": {
    "isProductPage": true,
    "product": {
      "name": "Men's Tree Runner",
      "brand": "Allbirds",
      "sku": "MENS_TREE_RUNNERS",
      "price": 70.0,
      "regularPrice": null,
      "currency": "USD",
      "availability": "in_stock",
      "imageUrl": "https://www.allbirds.com/cdn/shop/files/...",
      "images": ["..."],
      "features": ["..."],
      "variants": [
        {
          "sku": null,
          "url": "https://www.allbirds.com/products/mens-tree-runners-navy-night?size=8",
          "attributes": {},
          "images": []
        }
      ]
    }
  }
}
```

If the page isn't a product page, `isProductPage` is `false` and `product` is `null`.

## Parameters

**url** `string` *required*

The product page URL.

**productParams** `object`

`dedupeImages` (default `false`): remove duplicate images from `images`.

## Response fields

`name`, `description`, `brand`, `sku`, `price`, `regularPrice`, `currency`, `availability`, `category`, `imageUrl`, `images`, `dimensions`, `features`, `targetAudience`, `tags`, `variants`. Scalar fields the page doesn't expose (like `regularPrice` or `category`) are `null`. List fields (`images`, `dimensions`, `features`, `targetAudience`, `tags`, `variants`) can be empty or left out. Each variant has `sku`, `url`, `attributes` and `images`.

You can also get product data as part of [Raw fetch](https://docs.notte.cc/data-apis/fetch.md) with `"formats": {"product": true}`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.