POST /api/decathlon/products/recommendations
Price: 20 credits
Get the products a European Decathlon site recommends on a product page: similar alternatives or complementary items bought alongside, each with its colour models, prices, offers, photos, rating and review count.
Find alternatives (similar) or add-ons (complementary) for a Decathlon product, as shown on its product page. Each result is a product record; fetch descriptions and characteristics with decathlon/products.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)product string required — Decathlon product id, listing id or product URL (examples: "157674", "301684_8502149", "https://www.decathlon.fr/p/sejour-a-arceaux-de-camping-arpenaz-base-6-personnes/157674/c98c241m8648391"; minLength: 1)country string nullable — Decathlon country site; defaults to the site of the URL, otherwise France (one of: "fr", "de", "it", "es", "pt", "nl", "be_fr", "be_nl", "pl", "gb", "hu", "ch_fr", "ch_de", "ch_it", "cz")kind string required — Kind of recommendation (one of: "similar", "complementary")count integer required — Max number of products to return (min: 1; max: 10)@type string (default: "DecathlonProduct")id string requiredurl string nullablename string nullablebrand string nullablebrand_id string nullablebrand_image string nullableis_decathlon_brand boolean nullabledescription string nullabletagline string nullabledesigned_for string nullablehighlights array (default: [])product_type string nullableproduct_nature string nullablecategory string nullabledepartment string nullablesports array (default: [])genders array (default: [])rating number nullablereview_count integer nullablefit_perception string nullablefit_perception_percent number nullableimage string nullableimages array (default: [])context_image string nullablevideos array (default: [])@type string (default: "DecathlonVideo")id string requiredcaption string nullablelanguage string nullablefeatures array (default: [])@type string (default: "DecathlonFeature")name string nullabledescription string nullableimage string nullabletechnical_details array (default: [])@type string (default: "DecathlonFeature")name string nullabledescription string nullableimage string nullablecharacteristics array (default: [])@type string (default: "DecathlonCharacteristic")name string requiredvalues array (default: [])composition array (default: [])care_instructions array (default: [])weight number nullableweight_unit string nullablewarranty_years integer nullablemanufacturer string nullablemanufacturer_address string nullablemanufacturer_contact string nullableapproval string nullabletesting string nullablestorage_advice string nullableuse_restrictions string nullablelegal_notice string nullableis_marketplace boolean nullablehas_environmental_score boolean nullableproduct_tags array (default: [])tags array (default: [])selected_model_id string nullablesimilar_sku_ids array (default: [])cross_selling_sku_ids array (default: [])bundle_sku_ids array (default: [])spare_part_model_ids array (default: [])models array (default: [])@type string (default: "DecathlonProductModel")id string requiredvariance_code string nullableurl string nullablename string nullableis_available boolean nullablecolors array (default: [])@type string (default: "DecathlonColor")name string requiredhex string nullablecolor_families array (default: [])@type string (default: "DecathlonColor")name string requiredhex string nullablecondition string nullableseller_name string nullableseller_id string nullableseller_type string nullablefulfiller_name string nullableother_offer_count integer nullableprice object nullable@type string (default: "DecathlonPrice")price number nullableprice_without_tax number nullablelist_price number nullablediscount_percent number nullablerecommended_price number nullablerecommended_price_type string nullablecurrency string nullableprice_type string nullablevat_rate number nullableprice_starts_at integer nullableprice_ends_at integer nullabledelivery_options array (default: [])@type string (default: "DecathlonDeliveryOption")method string requiredcost number nullablemin_minutes integer nullablemax_minutes integer nullableimage string nullableimages array (default: [])skus array (default: [])@type string (default: "DecathlonSku")id string requiredsku_code string nullablesize string nullablegtins array (default: [])is_available boolean nullableonline_stock_count integer nullablestock_store_ids array (default: [])is_store_pickup_available boolean nullableis_delivery_available boolean nullableenvironmental_impact object nullable (see schema DecathlonEnvironmentalImpact)environmental_grade string nullableeco_design_features array (default: [])condition_grades array (default: [])offers array (default: [])422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No Decathlon product has this id on the chosen country site. Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.