Cookbook·Grocery·carrefour.fr

Scrape Carrefour grocery prices and drive availability

Shelf price, price per kilo, the promotion in force and whether an item is available at a given Drive from carrefour.fr. Product pages need no browser; search does.

92.4% success · Aug 2026Browser for search onlyComplex price · 2 credits

Measured on Crawlbase

92.4% success in August 2026. 11.0% of successful calls used the JavaScript token, and those are the search and category pages, which render client-side. Product pages do not, and account for most of the volume.

The call

Run in Playground
# Product page, no browser
curl "https://api.crawlbase.com/?token=YOUR_TOKEN&country=FR&url=https%3A%2F%2Fwww.carrefour.fr%2Fp%2Flait-demi-ecreme-carrefour-3270190002185"

# Category page, browser + wait for the grid
curl "https://api.crawlbase.com/?token=YOUR_JS_TOKEN&country=FR&page_wait=2500&ajax_wait=true&url=https%3A%2F%2Fwww.carrefour.fr%2Fr%2Fproduits-laitiers-oeufs%2Flait"

Parameters that matter

ParameterSet it toWhy
countryFRcarrefour.fr serves a consent wall to non-French exits and the price block is empty behind it.
javascriptproduct pages: unset · search: JS tokenProduct pages carry a ld+json block with the price. Category and search grids are rendered client-side and need the browser.
page_wait / ajax_wait2500 · trueWith the browser, the grid arrives after a request the page fires on load. Without the wait you get an empty grid.
cookiesstoreId=<drive id>Sets the Drive whose stock and prices you want. Without it prices are national and availability is blank.

Fields you get, from the ld+json block

namestring
gtin13string (EAN)
offers.pricenumber
offers.priceCurrencyEUR
unit_pricestring, per kg or L
promotionstring | null
offers.availabilityInStock | OutOfStock
brandstring

What breaks, and the fix

Search pages fetched without a browser fail. They return an empty grid and a client-side error, which accounts then retry. Use the JS token for anything under /r/ or /s?q=.
Drive ids change when a store closes. Keep the store list from the Drive locator page and refresh it monthly; a dead id silently falls back to national prices.
EAN is in the page. Every product carries its GTIN, which makes matching against Leclerc and Auchan straightforward.

Run it on a schedule

Price tracking per Drive multiplies the product count by the store count. Use the Crawler with one job per product and store, and read from Cloud Storage. 10,000 products across 20 Drives is 400,000 credits a run at two credits a page.

Questions

Why is the success rate lower than other recipes?

Search pages fetched without a browser fail. Product pages fetched the way this recipe shows run well above the site-wide number. Follow the recipe and the rate follows.

Can I get prices for a specific Carrefour store?

Yes, by passing the Drive id as a cookie. The locator page lists ids by postcode.

Site names identify the pages a recipe fetches. Crawlbase is not affiliated with any site listed. Use recipes within the acceptable use policy.Measured numbers from August 2026, refreshed monthly