Carrefour
Carrefour Category API
A carrefour.fr category (aisle) listing by URL or path, such as /r/cremerie or /r/epicerie-sucree/petit-dejeuner, with the category's label and breadcrumb and the same filters and sorts as search: brand, promotion, Nutri-Score, organic, Carrefour's own brands, price range, price or price-per-kg sorts and rating. 30 items per page with EAN, title, brand, price, unit price, Nutri-Score, Eco-Score, rating, availability, the promotion and the marketplace seller, plus total and every facet with counts. Pass store for one store's prices and range. France only. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonpathstringThe category path (/r/cremerie, /r/epicerie-sucree/petit-dejeuner) or its slug (cremerie): a breadcrumb[].url of a product works. One of path or url is required.
Example: /r/cremerie
urlstringA carrefour.fr category page URL (/r/...). Alternative to path.
Example: https://www.carrefour.fr/r/cremerie
countryenum<string>default:frfr only: this endpoint covers carrefour.fr (France) and nothing else. Any other value is a 400.
Example: fr
fr— France (carrefour.fr). The only value.
storestring | integerfr only: prices and assortment at one Carrefour store. A store_ref or a pickup_refs[].ref from the stores endpoint, or stores[].store.ref from store-availability (digits). Without it, prices are carrefour.fr's national online price. The response says which one you got in store and price_scope. An unknown ref is a charged 404.
Example: 840093
pageintegerResults page, 1-based, up to 500. Defaults to 1. 30 items per page on fr (ar and ro 24, be 36).
Example: 2
sortenum<string>default:relevanceThe order of the listing. ar and ro take relevance and the two price sorts; be takes relevance only.
relevance— The site's own order. The default.price_low_to_high— Cheapest first.price_high_to_low— Most expensive first.unit_price_low_to_high— fr: lowest price per kg or litre first.unit_price_high_to_low— fr: highest price per kg or litre first.top_rated— fr: best rated first.
brandstringfr: one brand as the Marque facet lists it (facets[id=facet_marque].values[].label, e.g. NUTELLA, CARREFOUR BIO). Another casing is matched to the facet's own.
Example: LACTEL
promotionstringfr: one value of the Promotions facet (facets[id=facet_promotions].values[].label), as the site writes it: Toutes les promotions, Remises immédiates, Vu en catalogue, Avantage Fidélité...
Example: Remises immédiates
nutriscoreenum<string>fr: only this Nutri-Score: A, B, C, D or E.
Example: A
organicbooleanfr: only organic products.
Example: true
carrefour_brandsbooleanfr: only Carrefour's own brands.
Example: true
min_pricenumberfr: lowest price in EUR.
Example: 2
max_pricenumberfr: highest price in EUR.
Example: 10
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Nutri-Score A dairy, cheapest per litre or kg first.
res = client.carrefour.category(path="/r/cremerie", nutriscore="A", sort="unit_price_low_to_high")["data"]
print(res["category"]["label"], res["total"], "items")
for item in res["items"]:
print(item["ean"], item["title"], item["price"], item["unit_price_label"])Response