- query
- The Decathlon URL you submitted. On a collection run this is the same value on all 66 rows, which is what lets you tell one collection from another in a combined export. With a fan-out this deep it is the only column grouping the whole result set.
- sku_code
- The variant's own article number. Populated on every product row, and distinct on each - 66 rows, 66 values. It is identical to
sku on every row we hold, unlike our distributor pages where the two columns carry different numbering. - product_url
- The product page the variant belongs to. Ten distinct values across our 66 rows - this is the column to group by when you want products rather than variants.
- name
- The product title with the variant suffix appended, as in Forclaz Adult MT500 Touchscreen Stretch Backpacking Gloves - Steel Blue / XS. The colour and size after the dash are what distinguish one row from its siblings.
- description
- The listing's highlights text. Populated on our product rows, and identical across the variants of one product - it describes the product, not the size. Lengths in our run ran up to just under 400 characters.
- parsed_price
- The price as a bare number. Populated on every product row. This is the one to compute on; the variants of a product carried the same value in our run, but read it per row rather than assuming that holds.
- price
- The same figure, and on the product rows it arrives without a currency symbol - the one exception in our export is the page-level row, which carried
$49.99. Read currency rather than inferring one from the string. - currency
- The currency the price is quoted in -
USD on every product row of our run. Read it rather than assuming: Decathlon operates national storefronts and the column exists precisely because the answer is not always the same. - availability
InStock or OutOfStock, per variant. Our run split 39 to 27. This is the column that makes the service worth running on a schedule rather than once.- rating
- The product pages do not publish an average rating in their structured data - we checked one directly and found none. Treat the column as absent for this source.
- reviews
- Intended to carry the review count, with the same caveat as
rating. - images
- Every image on the listing, semicolon-separated. Our rows carried between 1 and 25 URLs, and the variants of one product share the product's gallery rather than each having a photo of their own colour.
- brand
- The Decathlon house label - Forclaz, Wedze, Quechua and Kiprun in our run. Useful for grouping an own-label catalogue, not for matching a product to another retailer.
- sku
- The variant identifier. On every row we hold it is the same value as
sku_code. Keep both if you are writing one importer across several of our catalogue services, where they often differ; use either here. - url
- The address the row was produced from. On our product rows this equals
product_url - the row points at its own product page rather than at the collection it came from. - image
- The primary image on its own, so the common case needs no string splitting. Verified: on every row it is the first entry of
images. - status
- A per-row flag written by our exporter, not by Decathlon. Across our four runs it took two values:
ok on 67 rows and http 404 on 2, the latter from a placeholder address that does not exist. Reconcile on this column rather than on row count, which a variant fan-out makes meaningless on its own.
The thing to design your importer around is that a row is a variant. One collection URL produced 66 rows over ten products in our run - 4 to 12 rows each - with the size and colour in the name suffix and stock decided per row. That is why availability is worth having: 39 of those 66 were in stock and 27 were not, on products that a product-level scraper would have reported as available. Two columns are empty for a reason we verified rather than guessed. Fetching one of the product pages returns a structured-data block that describes the product and lists every variant with its own price, currency and stock - and carries no rating and no review count anywhere. rating and reviews are empty because the source does not publish them.