Products
Complete product catalog.
GET https://api.deepscout.ai/v1/exports/all_products_with_details
Authorization: Bearer YOUR_API_KEYComplete 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.
New price fields (April 2026)
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.
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 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) |
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
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
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
{
"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
}