Carrefour
Carrefour Product API
One Carrefour product by EAN (barcode) or URL. On carrefour.fr: title, brand, description, breadcrumb and categories, images, packaging, format, origin, Nutri-Score, Eco-Score, regulated name, ingredients, allergens (as written in the ingredients), nutrition per 100 g or ml and per portion, storage and advice, characteristics for non-food items, the price block (price, unit price per kg or litre, tax note, availability, low stock, maximum quantity), the promotion with its loyalty-card flag and dates, the marketplace seller and every offer, and the rating with its distribution. Pass store for one store's price instead of the national online price. Argentina (by EAN or URL), Romania and Belgium (by URL) return title, brand, price, list price, unit price, promotion, availability, description, images and categories as their site gives them. Text comes in the market's language. Costs 1 credit per request (2 on be).
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/jsoneanstringThe product barcode (EAN / GTIN, 8-14 digits): items[].ean of a search. fr and ar. One of ean or url is required.
Example: 3017620422003
urlstringA product URL (items[].url of a search). Alternative to ean on fr and ar; required on ro and be.
Example: https://www.carrefour.fr/p/pate-a-tartiner-noisettes-cacao-nutella-3017620422003
countryenum<string>default:frThe national Carrefour site. Titles come back in the market's language, prices in its currency. Filters, store and sorts beyond price are fr only.
Example: fr
fr— France (carrefour.fr), EUR, French. The default, and the only market with filters, facets, store prices and every endpoint.ar— Argentina (carrefour.com.ar), ARS, Spanish. Sorts relevance and the two price sorts.ro— Romania (carrefour.ro), RON, Romanian. Sorts relevance and the two price sorts.be— Belgium (carrefour.be), EUR, French or Dutch (language). Relevance only. 2 credits per call.
languageenum<string>Only for country be: fr (default) or nl. Every other market has one language, and sending language there is a 400.
Example: nl
fr— French. The default on be.nl— Dutch, on be.
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
sellerstring | integerfr: a marketplace seller id (items[].seller.id of a search) to read that seller's offer.
Example: 3155
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# One EAN: price per kg, the promotion, Nutri-Score and allergens.
p = client.carrefour.product(ean="3017620422003")["data"]
print(p["title"], p["price"], p["unit_price_label"], p["nutriscore"], p["ecoscore"])
print("allergens:", p["allergens"])
if p["promotion"]:
print(p["promotion"]["label"], "loyalty card:", p["promotion"]["loyalty_only"], "until", p["promotion"]["ends_at"])Response