Skip to content

BlackFalconData-org/carrefour-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Carrefour Product Scraper

Extract structured data from carrefour.fr — carrefour.fr for Carrefour France products with current prices, availability, GTINs, categories, unit pricing, ingredients, ratings, product URLs and shopping-basket totals. Supports keyword search, category/rayon filters, product URLs and incremental monitoring.

Carrefour Product Scraper on Apify →


🚀 How to use this actor

💚 $5 free Apify credits — every month

No credit card required. No commitment. Cancel anytime.

  1. Click sign up — pick GitHub, Google, or email; takes ~30 seconds
  2. Open this actor — input is pre-filled with a working example
  3. Click Start — export results as JSON, CSV, or Excel

Your $5 monthly platform credit is enough to run this actor right away — and again every month — scraping typically several hundred to several thousand results per run, depending on your input.

Key features

Search with filters — Search by keyword and location. Filter by 🌍 country, ↕️ sort by, 📝 description format, and more.

Detail enrichment — Fetch full descriptions, structured metadata for each listing.

Incremental mode — Only get new or changed listings since your last run. Content hash per listing — no duplicates, no re-processing.

Change classification — Track unchanged, expired, cross-run repost detection across runs. Build audit trails of how listings evolve over time.

Compact output — Emit core fields only (AI-agent / MCP-friendly). Keeps response size small for LLM workflows.

Description truncation — Cap description length per listing to control output size and cost.

Result cap — Stop after N listings (up to 10.000). Set to 0 for the full catalog.

Export anywhere — Download as JSON, CSV, or Excel. Stream via Apify API, webhooks, or integrations with Make, Zapier, Airbyte, Keboola.

Structured data — Every listing returns the same schema with consistent field naming. All fields always present — null when unavailable, never omitted.


Use cases

Data pipeline automation Integrate with your ETL pipeline to collect structured listings from carrefour.fr on a schedule. Export to CSV, JSON, or directly to your database. Use compact mode to control output size.

Market research Monitor listings, track trends, and analyze market dynamics with structured, deduplicated data from carrefour.fr.

Change monitoring Run daily or hourly in incremental mode to capture only new, updated, or expired listings. Perfect for price-tracking, churn analysis, and alerting pipelines.

AI / LLM training data Structured JSON per listing is ready for RAG pipelines, embeddings, and agent workflows. Compact mode trims tokens for LLM context windows.


Quick start

{
  "query": "lait",
  "maxResults": 5,
  "includeDetails": true
}

Input parameters

Parameter Type Default Description
productIds array [] Track a specific shopping list by GTIN/barcode or Carrefour product ID. Product URLs are also accepted here. Pair with quantities to compute per-line basket totals.
productUrls array [] Carrefour product URLs to scrape directly, equivalent to the 123webdata productUrls input.
categoryUrls array [] Carrefour category/search URLs. URLs with q/query/search become keyword searches; URLs with rayonId/filter=rayonId use Carrefour category filtering.
startUrls array [] Paste Carrefour product, search or category URLs. Product URLs are scraped directly; search/category URLs build the matching query and supported Carrefour filters, including multi-select, range, delivery, category-path and boolean facets like filters[facet_promotions][0]=..., filters[facet_price][gte]=... and filters[product.categories...]=...
query string "" Product search keywords. Use a single term like "lait" or paste a JSON array such as ["lait","pâtes"]. Ignored when productIds/productUrls are supplied.
categories array [] Local category filter after fetch. Use terms such as "Surgelés", "Lait", or "Crèmerie".
rayonIds array [] Advanced Carrefour category IDs used as API filters, e.g. 29298 for a specific milk subcategory.
quantities object,string {} Optional per-product quantities. Accepts an object map like {"3176571983008": 2} or array pairs like [{"gtin":"3176571983008","qty":2}].
country enum "FR" Carrefour market to scrape. This actor currently targets France.
maxResults integer 50 Maximum number of product rows to push. Use 0 only when you intentionally want all products for the selected query/category.
maxResultsPerScrape integer Compatibility alias for 123webdata/carrefour-scraper. If maxResults is not set, this value is used.
usePagination boolean true Whether to fetch additional pages after the first page for query/category runs.
pageSize integer 24 Products requested per page.
priceMin number Only emit products with price greater than or equal to this value.
priceMax number Only emit products with price less than or equal to this value.
unitPriceMin number Only emit products with per-unit price greater than or equal to this value.
unitPriceMax number Only emit products with per-unit price less than or equal to this value.
inStockOnly boolean false Drop products flagged as unavailable.
ingredientFilter string Case-insensitive substring filter on detailed ingredient text. Use a single term or JSON array of terms that all must match.
sortBy enum Optional ordering before maxResults is applied.
includeDetails boolean true Fetch detail fields such as description, ingredients, nutrition, allergens, rating, weight and contact attributes. Enabled by default to match product-page scrapers.
compact boolean false Keep only the core product, price, availability, basket and image fields.
excludeEmptyFields boolean false Drop null, empty-string and empty-array fields from each record before push.
descriptionFormat enum "all" Pick a single description representation.
descriptionMaxLength integer 0 Truncate product description text after this many characters. Use 0 for no truncation.
incrementalMode boolean false Compare against previous runs for the same scope and emit changeType for new, updated, unchanged or expired products.
stateKey string Optional stable ID for the tracked search/basket universe. Leave empty to auto-generate from search inputs.
emitUnchanged boolean false Include products with no detected change in incremental output.
emitExpired boolean false Include products that disappeared since the previous run for the same state key.
skipReposts boolean false When incremental mode is enabled, skip products whose content matches a prior expired row.
notifyOnlyChanges boolean false When incremental mode is enabled, only send notifications for changed products.
notificationLimit integer 5 Maximum number of products included in each notification message.
telegramToken string Telegram bot token from @BotFather.
telegramChatId string Telegram chat or channel ID.
discordWebhookUrl string Discord incoming webhook URL.
slackWebhookUrl string Slack incoming webhook URL.
whatsappAccessToken string WhatsApp Cloud API access token.
whatsappPhoneNumberId string WhatsApp Business phone-number ID.
whatsappTo string Recipient phone in E.164 format without +.
webhookUrl string Receives a JSON POST with {metadata, items} after each run.
webhookHeaders object Optional JSON object of custom headers.
appConnector string Optional. Pick a connected app under Settings -> API & Integrations to receive your results. Notion is supported today (a run-summary page); other MCP connectors are best-effort as Apify expands its catalog.
mcpIssueTeam string Only when the connected app is an issue tracker: the team (name or ID) the summary issue is created under, if that app requires one.

Output fields

Every listing returns the same 21-field schema. Missing values are null — never omitted.

  • url
  • name
  • brand
  • price
  • currency
  • unitPrice
  • unitPriceUnit
  • in_stock
  • gtin
  • sku
  • categoryName
  • description
  • ingredients
  • nutriscore
  • quantity
  • linePrice
  • rating_value
  • review_count
  • main_image
  • scraped_at
  • source

Sample output

One object per listing. Here is a real example from a production run:

{
  "url": "https://www.carrefour.fr/p/lait-vitamine-viva-candia-3176571983008",
  "name": "Lait Vitaminé Viva CANDIA",
  "brand": "CANDIA",
  "price": 1.15,
  "currency": "EUR",
  "unitPrice": 1.15,
  "unitPriceUnit": "L",
  "in_stock": true,
  "gtin": "3176571983008",
  "sku": "3176571983008",
  "categoryName": "Lait demi-écrémé",
  "description": "Comme le lait demi-écrémé, Viva vous accompagne dès le petit déjeuner ! Source de 12 vitamines, Viva est le lait de la vitalité* pour toute la famille. Il contient les vitamines B1…"
}

Truncated — full records contain 21 fields. See Output fields for the complete schema.

Try Carrefour Product Scraper now — $5 free credit, no credit card →


Pricing

Pay only for what you extract. No subscription required — Apify's free $5 credit covers thousands of results.

Event Price (USD)
Actor Start $0.01
Product $0.002

See the actor on Apify for current pricing.


FAQ

How do I scrape carrefour.fr? Use this actor on Apify to extract structured data from carrefour.fr. Configure your search query and filters in the input, then click Start — no coding required.

How do I get carrefour.fr data as JSON, CSV, or Excel? The actor writes each listing to Apify's dataset. Download as JSON, CSV, or Excel from the Console, stream via the API, or push to Make, Zapier, Airbyte, or Keboola.

Is it legal to scrape carrefour.fr? Web scraping of publicly available data is generally legal. This actor only accesses publicly visible information. Always check carrefour.fr's terms of service for your specific use case.

How much does it cost? Pay-per-event pricing — you only pay for listings extracted. Apify's free $5 credit is enough to run thousands of results before you pay anything.

How does incremental mode work? Each listing gets a content hash. On subsequent runs, only new or changed listings are emitted — saving time, compute, and storage. Expired listings can be tracked separately.

Do I need an API key or credentials? No. Just sign up for Apify, paste your input, and click Start. No credit card required.


Related products by Black Falcon Data

  • REMA 1000 Scraper — Danish grocery prices, offers and product data from REMA 1000
  • Netto Scraper — Danish grocery offers and product data from Netto
  • Lidl Scraper — Danish grocery offers and product data from Lidl
  • Nemlig Scraper — Danish online grocery products, prices and availability from nemlig.com
  • SuperBrugsen Scraper — Danish grocery products and leaflet offers from SuperBrugsen
  • Coop365 Scraper — Danish grocery products and leaflet offers from Coop 365

Browse all Black Falcon Data actors →


Getting started with Apify

New to Apify? Create a free account with $5 credit — no credit card required.

  1. Sign up — $5 platform credit included
  2. Open Carrefour Product Scraper and configure your input
  3. Click Start — export results as JSON, CSV, or Excel

Need more later? See Apify pricing.


About Black Falcon Data

Black Falcon Data builds production-grade web scrapers for job boards and marketplace data. Browse our full actor catalog at www.blackfalcondata.com.


Last updated: 2026 07

About

Scrape carrefour.fr for Carrefour France products with current prices, availability, GTINs, categories, unit pricing, ingredients, ratings, product URLs and shopping-basket totals. Supports keyword search, category/rayon filters, product URLs and incremental monitoring.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors