Carrefour.es Grocery Products, Prices & EAN Scraper avatar

Carrefour.es Grocery Products, Prices & EAN Scraper

Pricing

from $1.50 / 1,000 product results

Go to Apify Store
Carrefour.es Grocery Products, Prices & EAN Scraper

Carrefour.es Grocery Products, Prices & EAN Scraper

Scrape Carrefour Spain (carrefour.es) products. Search by keyword, browse a category, or paste product/category links. Returns name, brand, price, unit price, promotion, stock, category, image, and, with details, the barcode (EAN), ingredients, allergens, nutrition, extra images and rating.

Pricing

from $1.50 / 1,000 product results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

Share

Carrefour Spain Product Scraper

Scrape products from Carrefour Spain (carrefour.es) — the supermarket and general‑retail catalog. Search by keyword, browse a category, fetch specific products, or paste links. Every product comes back as one flat record with price, unit price, promotion, stock and category; enable details to add the barcode (EAN), ingredients, allergens, the full nutrition panel, extra images and the product's aggregate rating.

What you can do

  • Search by keyword — e.g. leche (milk), cerveza (beer), pañales (diapers) — with price, promotion, stock and rating filters, plus sorting.
  • Browse a category — paste a Carrefour category page link and walk it across all its pages.
  • Paste links or ids — mix product links, bare product ids and category links in one list and let the actor route each entry. Product links return full detail.
  • Resume & recurring updates — turn on Incremental mode to get only NEW, UPDATED, and REAPPEARED products on every scheduled run, or resume one specific interrupted crawl with resumeFromRunId.

Input

FieldDescription
Modesearch, category or url.
Search keywordsKeywords to search (search mode). Each is searched separately.
Category linksCarrefour category page links to browse (category mode).
Carrefour Spain links or product idsProduct links, bare product ids and category links to scrape directly, mixed freely (url mode). Product links return full detail.
Sort byRelevance, price ↑/↓, unit price ↑/↓, or name. Applied over the collected products.
Minimum average ratingKeep only products rated at least N stars (needs details).
Only on promotionKeep only products with a reduced price.
Only in stockKeep only products currently in stock.
Min / Max price (EUR)Keep only products within a price range.
Fetch product detailsAdd barcode, ingredients, allergens, nutrition, extra images and rating. On by default.
Max productsThe run's cap on how many products to return. Default 20; 0 = unlimited.
Max pages per keyword / categoryResult pages walked per keyword / category / link. Default 0 = unlimited — walks every page until Max products is hit or a page repeats no new products.
Resume from a previous runContinue one specific previous run/dataset: products already collected there are skipped, so this run only appends new products. For recurring daily monitoring of the same search, use Incremental mode instead — see "Resume & recurring updates" below.
Incremental changes for scheduled runsDaily/recurring monitoring of this same search. First run returns everything as NEW; later runs return only NEW/UPDATED/REAPPEARED by default. See "Resume & recurring updates" below.
State keyOptional name for a monitoring campaign, so its incremental state stays stable or is deliberately shared. Auto-derived from your search/detail settings when left empty.
Emit unchanged productsIncremental mode only. Also return products unchanged since the last run, marked UNCHANGED. Adds and bills extra rows you already have.
Emit expired productsIncremental mode only. Also return products from a previous run no longer found, marked EXPIRED, once a run has fully scanned the search (not capped, not a resume). Adds and bills extra synthetic rows.
ProxyApify Proxy — a Spanish residential exit by default (required, see below).
mcpConnectorsOptional MCP connectors to export results into (Notion, Linear, Airtable, Apify).
notionParentPageUrlNotion connector only: page under which item pages are created.
maxNotifyListingsCap on items exported to each connector per run. Does not affect the dataset.

Output

One record per product. With details off you get the listing‑level fields; with details on you also get barcode, ingredients, allergens, nutrition and rating. Example (illustrative values):

{
"productId": "520661336",
"name": "Leche semidesnatada marca ejemplo brik 1 L",
"brand": "Marca Ejemplo",
"ean": "8400000000000",
"price": 0.99,
"regularPrice": 1.19,
"unitPrice": 0.99,
"unitPriceMeasure": "l",
"currency": "EUR",
"onPromotion": true,
"discountPercentage": 17,
"inStock": true,
"stock": 240,
"categoryId": "cat00000",
"ingredients": "Leche de vaca semidesnatada.",
"allergens": ["Leche"],
"nutrition": [{ "name": "Valor energético", "value": "46 kcal" }],
"rating": 4.5,
"reviewCount": 12,
"reviews": [],
"image": "https://static.carrefour.es/example/000000.jpg",
"images": ["https://static.carrefour.es/example/000000.jpg"],
"url": "https://www.carrefour.es/supermercado/example/R-520661336/p",
"searchMode": "search",
"scrapedAt": "2026-01-01T00:00:00Z"
}

Ratings & reviews. Products carry an aggregate rating (rating, reviewCount) where the catalog exposes one. Individual customer review text is not published in the catalog, so the reviews array is present but empty on rated products, and rating fields are simply absent on products with no rating (never fabricated zeros).

Incremental mode only. When incrementalMode is on, every returned record also carries:

FieldDescription
changeTypeNEW | UPDATED | UNCHANGED | REAPPEARED | EXPIRED
changedFieldsTop-level fields that changed since last seen; non-empty only for UPDATED
firstSeenAtWhen this product was first observed by this monitoring campaign
lastSeenAtWhen this product was last observed

Resume & recurring updates

There are two different things here — pick the one that matches what you're doing:

NeedUse
A crawl stopped and should continueresumeFromRunId / automatic checkpoint recovery
Run the same search every day and receive only changesincrementalMode
Keep separate daily campaigns for similar searchesdistinct stateKey values
Run a normal full snapshotleave both off

Resume (resumeFromRunId) continues one specific interrupted or previous large crawl: paste a run ID or dataset ID and this run skips products already collected there, returning only the remaining new products. An automatic same-run checkpoint also protects against platform migrations/Resurrects without any input needed.

Incremental mode (incrementalMode) is for a schedule (for example, daily): the actor remembers the previous run of the same search by itself, so you never paste a run ID. The first run returns everything as NEW. Later runs return only NEW, UPDATED, and REAPPEARED products by default — duplicates and unchanged products are suppressed (and not charged). Turn on emitUnchanged or emitExpired only when you also want those rows returned (and billed for). State is isolated per search/category/URL and detail-mode setup automatically; set stateKey to name or deliberately share a monitoring campaign.

Scheduled-run example — same search, run daily:

Day 1 (first run ever for this search):

{ "mode": "search", "queries": ["leche"], "incrementalMode": true }

→ every product comes back with "changeType": "NEW".

Day 2 (the schedule fires again, identical input):

{ "mode": "search", "queries": ["leche"], "incrementalMode": true }

→ products whose price/promotion/stock/etc. changed come back as "changeType": "UPDATED" with changedFields listing what changed, brand-new products come back as "changeType": "NEW", products that vanished and came back come back as "changeType": "REAPPEARED" — and products that are still there, unchanged, are not returned at all (suppressed, not charged) unless emitUnchanged is on.

Proxy & connection

Apify Proxy is required. Carrefour Spain serves its catalog only to Spanish residential connections, so the actor uses a Spanish residential exit by default. On the Free plan (no residential proxy access) results may be empty — enable Apify Proxy or upgrade your plan at https://apify.com/pricing.

Send results into your apps (MCP connectors)

Optionally pipe results into the apps you already use through Model Context Protocol (MCP) connectors. Authorize a connector once under Apify, Settings, Integrations, then select it in the mcpConnectors field. Each connector receives a condensed, human-readable summary per product (title plus key fields), while the complete record always stays in the Apify dataset. For Notion, set notionParentPageUrl to the page the item pages should be created under. Supported connectors: Notion, Linear, Airtable, and Apify. Leave the field empty to skip; it never changes the dataset output.

Notes

  • Search and category result pages are walked forward one page at a time until Max products is reached, the storefront runs out of pages, or (with the default unlimited Max pages) a page repeats no new products.
  • Long runs survive an Apify server migration or a manual Resurrect: progress is checkpointed, so a resumed run continues without re-scraping or double-charging products already collected.
  • searchMode on each record reports how it was found: search, category, or product when it came from a pasted product link or id.
  • Prices are in EUR. Spanish price strings are normalized to numbers.
  • Duplicate products (same id) are returned once per run.