Skip to content

E.Leclerc Scraper

Try for free

Scrape E.Leclerc Drive (leclercdrive.fr) grocery products with each drive store's prices, unit prices, promotions, loyalty offers, stock, brands, aisles, EAN barcodes, ingredients and nutrition.

🛒 E.Leclerc Scraper

Get E.Leclerc Drive (leclercdrive.fr) grocery products as clean rows, priced by the drive store you choose: price, price per kg or litre, multi-buy and immediate discounts, Ticket E.Leclerc loyalty offers, card coupons, availability, brand, aisle, rating and Nutri-Score, plus the EAN barcode, ingredients, allergens and nutrition table. Search by keyword in one or many stores, or paste aisle, promotion or product links. No login and no E.Leclerc account; 20 products with full details usually arrive in about 25 seconds.

✨ Why use E.Leclerc Scraper?

  • 🏪 Real store prices — every row is priced by one E.Leclerc Drive store and says which one (number, name, postcode). Pick stores by number, link, postcode or town.
  • ⚡ Fast — about 1,500 products with full details in under 2 minutes, and a 1,000-product promotions page in about 10 seconds without details (measured).
  • 🔥 Every kind of promotion — "2ème à -40 %", "3ème offert", immediate discounts, Ticket E.Leclerc loyalty cash back and brand coupons, with their dates.
  • 🏷️ Barcode-ready — with details on, every row carries the EAN-13, so you can match it with other retailers or your own catalogue.
  • 🔓 No login, no setup — leclercdrive.fr's site protection is handled for you; you only enter what to scrape.

🎯 Use cases

  • 📈 Price comparison — compare the same products (by EAN) across E.Leclerc stores and with other supermarkets.
  • 🔥 Promotion tracking — collect the week's multi-buy offers, discounts and loyalty offers for a list of grocery terms.
  • 🗺️ Regional pricing — see how prices and availability change between drives in different towns.
  • 🧾 Catalogue enrichment — fill images, brands, aisles, ingredients, allergens and nutrition by product.
  • 🧠 Market research — measure own-brand share (Marque Repère, Eco+), price ranges and Nutri-Scores in an aisle.

🚀 How to use

  1. Enter one or more search terms in French (for example lait, pâtes, café moulu), and/or paste leclercdrive.fr links (aisle, offers, the store's promotions page, search or product pages).
  2. Choose the drive stores: a drive number (099401), a store link, a postcode (75014) or a town (Lyon). Leave it empty for the Le Kremlin-Bicêtre drive (099401, next to Paris).
  3. Set Max results per search or aisle (0 = everything the store lists).
  4. Optionally add filters: promotions only, brands, E.Leclerc own brands, price range, available only, and a sort order.
  5. Leave Include product details on for EAN, ingredients and nutrition, or turn it off for a quicker price-only run.
  6. Click Start, then download the results as JSON, CSV or Excel, or read them through the API.

📥 Input

FieldWhat it does
searchQueriesWords to search, one per line. Each search runs in every store you list.
storesDrive numbers, store links, postcodes or towns. A postcode or town picks the nearest drive. Default: 099401 (Le Kremlin-Bicêtre).
startUrlsleclercdrive.fr aisle (.../rayon-...aspx), offers (.../offres-...aspx), promotions (.../promotions.aspx), search (.../recherche.aspx?TexteRecherche=...) or product (.../fiche-produits-...aspx) links. Each link is read in its own store.
maxResultsProducts per search (per store) or per aisle link (default 20, 0 = all). Product links are not limited.
includeDetailsEAN, brand label, description, ingredients, allergens, nutrition, storage and origin (default on).
onlyPromotionsOnly products the store lists under its promotions.
brands / onlyOwnBrandsOnly these brands (as in the site's brand filter), or only E.Leclerc's own labels.
minPrice / maxPrice / inStockOnlyPrice range in euros, available products only.
sortByRelevance, price, price per kg/L or rating.
{
  "searchQueries": ["lait", "pâtes", "café"],
  "stores": ["099401", "Lyon 9e", "33300"],
  "onlyPromotions": true,
  "maxResults": 0,
  "includeDetails": false
}

📤 Output

One row per product and store. Main fields:

FieldExample
productId, title, name, packaging, brand, ownBrand964, "Lait demi-écrémé Délisse UHT Bouteille - 1L", Délisse, Marque repère
price, currency, unitPrice, unitPriceUnit, unitPriceLabel1.05, EUR, 1.05, L, "1,05 € / l"
available, stock, purchaseMaxtrue, 1000, 1000
onPromotion, promotionType, promotionLabeltrue, multi-buy, "Le 2ème article à -40% (le moins cher des 2), profitez-en !"
promotionPercent, promotionQuantity, promotionPrice, promotionStart, promotionEnd40, 2, the discounted price when the site gives one, the offer dates
loyaltyOffer, loyaltyPercent, couponOffer"Recevez 10% en Ticket E.Leclerc ...", 10, brand coupons for card holders
rating, reviewCount, nutriScore, labels, fresh4, 21, A, ["Bio"]
category, subcategory, categoryName, categoryPath, categoryId"Laitier Oeufs Végétal" › "Laits et Oeufs": the aisle and sub-aisle as the site names them, the same on search, aisle, promotion and product rows
storeId, storeName, storePostalCode, storeUrl099401, "Le Kremlin Bicêtre", 94270
url, imageUrlproduct page and image
ean, brandLabel, description, ingredients, allergens, nutrition, storage, origin, vatRatewith product details on
position, searchQuery, sourceUrl, scrapedAtwhere the row came from

promotionType is multi-buy (2nd or 3rd item discounted or free), price-cut (immediate discount), coupon (brand coupon with the E.Leclerc card) or loyalty (cash back on the card as Ticket E.Leclerc).

A real row from a test run (trimmed):

{
  "productId": "964",
  "title": "Lait demi-écrémé Délisse UHT Bouteille - 1L",
  "brand": "Délisse",
  "ownBrand": "Marque repère",
  "price": 1.05,
  "currency": "EUR",
  "unitPrice": 1.05,
  "unitPriceUnit": "L",
  "available": true,
  "onPromotion": false,
  "rating": 4,
  "reviewCount": 21,
  "nutriScore": "A",
  "categoryPath": ["Laitier Oeufs Végétal", "Laits et Oeufs"],
  "url": "https://fd16-courses.leclercdrive.fr/magasin-099401-099401-Le-Kremlin-Bicetre/fiche-produits-964-Lait-demi-ecreme-Delisse.aspx",
  "imageUrl": "https://fd16-photos.leclercdrive.fr/image.ashx?id=2981834&use=l&cat=p&typeid=i&compatible=webp",
  "storeId": "099401",
  "storeName": "Le Kremlin Bicêtre",
  "storePostalCode": "94270",
  "searchQuery": "lait",
  "ean": "3564700005835",
  "allergens": "Contient : Lait et produits à base de lait (y compris le lactose)",
  "scrapedAt": "2026-11-07T20:34:21.220Z"
}

And a promotion row (trimmed):

{
  "title": "Fromage Edam Les Croisés En tranche x8 - 200g",
  "price": 1.85,
  "onPromotion": true,
  "promotionType": "multi-buy",
  "promotionLabel": "Le 2ème article à -40% (le moins cher des 2), profitez-en !",
  "promotionPercent": 40,
  "promotionQuantity": 2,
  "promotionStart": "2026-10-26T00:00:00",
  "promotionEnd": "2026-11-08T23:59:59",
  "storeId": "099401"
}

💰 Pricing

You pay per product saved plus a small fee per run. Platform usage (compute and proxy) is included, so that is the whole price.

EventFreeStarterScaleBusiness
Product (per 1,000)$1.44$1.44$1.23$1.10
Actor start (per event)$0.01$0.0085$0.0085$0.0085

Worked examples from our test runs:

  • The default input (20 products for "lait" with details) costs about $0.04 on Free and takes about 25 seconds.
  • Promotions for "lait", "pâtes", "café", "fromage" and "yaourt" in one store (206 products, no details) took 26 seconds: about $0.31 on Free, $0.24 on Business.
  • 1,543 products for "fromage", "biscuits" and "chocolat" with full details took 98 seconds: about $2.23 on Free, $1.71 on Business.

Set a maximum charge for the run and the scraper stops cleanly when it is reached, keeping every product saved so far.

❓ FAQ

Is it legal to scrape leclercdrive.fr? The scraper reads public product pages that any visitor can see, without logging in. Check that your use of the data respects the site's terms and the laws that apply to you.

Whose prices are these? The prices of the E.Leclerc Drive store you choose: each drive sets its own prices, promotions and stock, and every row carries the store's number, name and postcode. To compare stores, list several in stores.

Do I need a login, cookies or a proxy? No. The scraper passes the site's protection itself through a residential connection in France, which is included in the price.

How many products can I get? Set Max results to 0 for everything. The site shows at most 200 products per search; the scraper reads bigger searches aisle by aisle, so a search returns everything the store lists for it. Aisle pages and the store's promotions page come in one go (the promotions page of a store holds about 1,000 products).

Why is a field empty? Some products don't have that information on the site (for example no Nutri-Score on non-food items, no rating on new products). The EAN, ingredients, allergens and nutrition table are only filled when Include product details is on. Brands come from the site's brand filter; when a page cannot tell, the brand label from the product page is used.

Why is the brand of an E.Leclerc own-label product sometimes "Marque repère"? brand is the range (Délisse, Bio Village, Plantation...) whenever a brand filter the run has seen names it, so searches and aisles read in the same run agree. When the run never meets that range, for example a single product link, the site only gives its umbrella label "Marque repère". ownBrand always holds the umbrella label, so use it to select every own-label product.

Can I schedule it or use the API? Yes. Schedule runs to track prices and promotions over time, and start runs or read results through the Scrape.ly API or integrations.

⚠️ Limits

  • E.Leclerc Drive in France only (leclercdrive.fr). The national e-commerce catalogue of e.leclerc is not covered.
  • Searching by EAN is not possible on the site; use search terms, aisles or product links, and turn on details to get the EAN.
  • A postcode or town picks the nearest drive store; pick-up points without their own drive are used only when no drive is listed nearby.
  • Promotion prices are given when the site states one; multi-buy offers are described by their label, percentage and number of items.
  • Shopping-cart prices for logged-in loyalty-card holders, delivery slots and order history are not collected.

Related actors

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.