# Products (/en/datasets/products)

```
GET https://api.deepscout.ai/v1/exports/all_products_with_details
Authorization: Bearer YOUR_API_KEY
```

Complete product catalog across all tracked websites. One row = one product.

**Who gets it:** managed customers get one file for the whole project. Self-service projects get one file for each website, with the `website_id` parameter. See [Download exports](/en/api/exports.md).

<Callout title="New price fields (April 2026)" type="info">
New granular price fields have been added (`price_standard`, `price_discounted`, `price_coupon`, `price_club`, `price_recommended`). The `price` field is automatically synthesized from these fields. The `price_before_sale` field has been removed.
</Callout>

## Fields [#fields]

| Field | Type | Description |
| --- | --- | --- |
| `website_id` | string | Website identifier |
| `product_id` | string | Unique product identifier |
| `product_url` | string | URL of the product detail page |
| `image_url` | string | URL of the main product image |
| `images_gallery` | string[] | URLs of other product images |
| `own_product_id` | string | ID of the product in the database of the website. Do not use it to join products of different websites. Use [`matches`](/en/datasets/matches.md) for this. |
| `name` | string | Name of the product |
| `brand` | string | Brand of the product |
| `brand_extracted` | string | Brand (normalized) |
| `category` | string | Text of all links from the breadcrumbs navigation |
| `category_extracted` | string[] | Ordered list of categories from most general to most specific |
| `description` | string | Description of the product |
| `variant` | string | Selected variant of the product — color, size, volume, model, package size, etc. |
| `condition` | string | Condition of the product (empty = new, or: new, used, refurbished, open box, etc.) |
| `price` | number | Final synthesized price (incl. VAT). Automatically computed from granular price fields in default order: coupon → discounted → standard |
| `price_standard` | number | Standard selling price without any discount (incl. VAT) |
| `price_discounted` | number | Discounted price (incl. VAT) |
| `price_coupon` | number | Price after applying a coupon/code available on the website (incl. VAT) |
| `price_club` | number | Price for club members, logged-in users, or purchase through mobile app (incl. VAT) |
| `price_recommended` | number | Recommended retail price (RRP) from the supplier (incl. VAT) |
| `currency` | string | Currency of the price (e.g. USD, EUR, GBP, Kč) |
| `availability` | string | Availability of the product (exact text from the website) |
| `availability_extracted` | `IN_STOCK` \| `ORDERED` \| `OUT_OF_STOCK` \| `UNKNOWN` | Normalized availability status: `IN_STOCK` — within a week; `ORDERED` — within a month; `OUT_OF_STOCK` — unavailable or more than a month; `UNKNOWN` — the status is not known |
| `sku` | string | SKU of the product (EAN, GTIN, ISBN, product code, etc.) |
| `ean` | string | EAN (or GTIN) of the product |
| `language` | string | Language of the product data in ISO 639-1 format (e.g. en, de, fr) |
| `rating` | number | Product rating |
| `reviews_count` | number | Number of reviews |
| `specification` | string | Specification |
| `first_seen` | number | When the product was first seen on the website (timestamp in ms) |
| `last_seen` | number | When the product was last seen on the website (timestamp in ms) |
| `discontinued` | number | When we marked the product as discontinued, because we did not see it in several scrapes in a row (timestamp in ms) |
| `history` | object[] | Historical records of the product data over time (see [below](#history)) |
| `ai_fields` | object | AI-extracted fields (see below) |

If a field is not in a row or has the value `null`, the website usually does not show this data. For example, only some websites show a recommended price (`price_recommended`).

### History [#history]

The `history` field contains only changes. A new record is added when the price, the availability, the name, or another tracked field changes. The record contains the previous values of the changed fields and these dates:

| Field | Type | Description |
| --- | --- | --- |
| `valid_for_date` | number | When we last saw the previous value (timestamp in ms) |
| `changed_date` | number | When we first saw the new value (timestamp in ms) |

To get the value of a field at the date T, find the oldest record with `valid_for_date` ≥ T that contains this field. If there is no such record, the current value applies. The history of a website starts on the day when we added the website to the project.

### AI fields [#ai-fields]

Downloaded once if the service was agreed upon. Only data available on the website will be collected.

| Field | Type | Description |
| --- | --- | --- |
| `name_en` | string | Full product name translated into English using the most conventional naming |
| `primary_comparison_metric` | string | The single best metric to compare this product with similar products. Exactly one word: "count", "weight", "volume" or "size" |
| `count` | string | Total count of discrete items in the selling unit (number alone or number + unit) |
| `weight` | string | Total weight of the product in the selling unit |
| `volume` | string | Total volume of the product in the selling unit |
| `size` | string | Physical measurement or standardized size code of a single selling unit |
| `variant` | string | Color, flavor, size, package, etc. Attributes separated by commas (e.g. "100g,chocolate,bottle") |
| `year` | string | Product's release, publication, or vintage year depending on the category |
| `bundle_content` | string | All included items in the bundle, separated by commas |
| `age_group` | string | Intended age range for the user (e.g. baby, adult, senior) |
| `gender` | string | Target gender. Values: "none", "male", "female", "unisex" |
| `category_normalized` | string | Main product category using Google Product Taxonomy |
| `product_type` | string | Standardized GS1 Global Product Classification (GPC) |

## Example [#example]

```json
{
  "website_id": "eshop-a.cz",
  "product_id": "abc-123",
  "product_url": "https://eshop-a.cz/produkt-xyz",
  "name": "Product name",
  "brand": "Brand",
  "category": "Home __ Electronics __ Audio __ Headphones",
  "category_extracted": ["Electronics", "Audio", "Headphones"],
  "price": 1990,
  "price_standard": 2490,
  "price_discounted": 1990,
  "price_coupon": null,
  "price_club": 1890,
  "price_recommended": 2690,
  "currency": "CZK",
  "availability_extracted": "IN_STOCK",
  "ean": "8801234567890",
  "first_seen": 1700000000000,
  "last_seen": 1706000000000
}
```
