Cdiscount Scraper - Product Prices, Discounts & Ratings
Under maintenancePricing
from $0.50 / 1,000 run start fees
Cdiscount Scraper - Product Prices, Discounts & Ratings
Under maintenanceCdiscount scraper for French search results and category listings. Per product: current price in euros, reference price, advertised discount, rating, review count, product code, deal and refurbished flags. No login or API key. For price monitoring, assortment research and marketplace sellers.
Pricing
from $0.50 / 1,000 run start fees
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
10 days ago
Last modified
Categories
Share
Cdiscount Scraper
This Cdiscount scraper turns French Cdiscount search results and category listings into structured product rows for price monitoring and assortment research. Get numeric euro prices, reference prices, ratings, review counts, product codes and refurbished flags in a dataset that you can export or use through the Apify API.
Use a French search term when you want to discover products, or paste a category or search URL when you already know which listing you want. Each row describes the product card shown in that listing. No Cdiscount account is required.
Cdiscount Scraper input
The actor accepts four familiar fields. query is the search term. url is a Cdiscount search or category listing URL and takes precedence over query when both are supplied. The query is still echoed in the output, which helps you connect the returned rows to your original request.
limit controls the maximum number of products returned, from 1 to 940. Its default is 47. retries controls attempts per listing page, from 1 to 6, with a default of 4. You must provide either a query or a URL. There is no default search term inserted into an empty API request.
This is a real input used in the migration baseline and in local verification:
{"query": "machine a cafe", "limit": 20}
French product terms tend to match the catalogue language. You can also use the URL of a filtered listing to preserve the selection you see on Cdiscount. The actor reads listing cards; it does not open each individual product detail page.
Cdiscount Scraper output
The default dataset contains one row per returned product. Every old output field remains available: position, title, url, sku, price, was_price, discount_percent, on_sale, price_text, currency, rating, reviews_count, image, is_deal, is_refurbished, seller and query.
Prices are numbers in EUR. was_price is the separate reference price displayed by Cdiscount, and on_sale indicates whether that reference is higher than the current price. price_text is the current price formatted with a decimal comma and euro sign. discount_percent is the percentage advertised in the listing, when present; it is not inferred from the two prices.
rating is the average score out of five, and reviews_count is the number of reviews shown. is_refurbished identifies cards described as reconditioned. is_deal reflects the “Bon plan” label. sku comes from the Cdiscount product URL and gives you a useful identifier for matching products across runs. URLs retain the information supplied by the listing.
Missing values are null. In particular, many cards do not provide an image or seller name. A missing image does not mean the product was omitted. query is null when you supplied only a URL. Product titles remain in the language used by Cdiscount.
Additional fields are source, country, fetched_at, product_id and image_url. The source is cdiscount-scraper, the country is FR, and the fetch timestamp is UTC. product_id repeats the existing SKU; image_url repeats the existing image field.
The following row is an actual response for the input shown above:
{"title": "KRUPS Machine à café broyeur à grain, Ecran LCD, Nettoyage automatique EA815070","url": "https://www.cdiscount.com/electromenager/petit-dejeuner-cafe/krups-machine-a-cafe-broyeur-a-grain-ecran-lcd-n/f-1101727-kru0010942216513.html?idOffre=4266621549&sw=581007bcc9fb0dd9fb5ca24e76a12581189fe804e9c63dd0ec7ee32e253742c6c0c9b853d9123be0eb70f0270c46bef779436c525b7a811a2bfdf3c97e4c4e48faa904ff9cc1b81762af1edadf6f151393e012867a2c654f036f8caefc9f0326034251b599dc9c87ff9c845f54be398011d41beb7a97524dc6907427e89a16b724c51a42320a385f701aaeb2734b9d08#cm_rr=SE:22334455:SW:MCAR","sku": "kru0010942216513","price": 399.99,"was_price": 449.99,"discount_percent": null,"on_sale": true,"price_text": "399,99 €","currency": "EUR","rating": 4.7,"reviews_count": 60,"image": null,"is_deal": false,"is_refurbished": false,"seller": null,"source": "cdiscount-scraper","country": "FR","product_id": "kru0010942216513","image_url": null,"fetched_at": "2026-10-03T14:59:05.082Z","position": 1,"query": "machine a cafe"}
The default key-value store also contains a summary record, including item and error counts, pages processed, rows carrying prices and URLs, and elapsed fetch time. When a listing request fails, the errors record contains a code and an English message. Already collected products remain available when later pages fail.
Use cases for a Cdiscount scraper
- Price monitoring. Run the same search or category every day and compare
price,was_priceandon_saleperskuto see when products are reduced, raised or withdrawn. - Competitor and assortment research. See which brands and models appear for a French search term, in which order, and at what price level, before you list or reprice your own products.
- Marketplace sellers. Check how your offers rank in a category compared with similar products, and how many reviews and what rating the products around yours carry.
- Deal tracking. Filter on
is_dealanddiscount_percentto collect the products Cdiscount promotes, or onis_refurbishedto follow the reconditioned segment separately. - Market and price studies. Export listings for several product types to build a snapshot of French online retail prices for a report or a dashboard.
Cdiscount scraper compared with other options
The official Cdiscount marketplace API is built for sellers. It manages your own offers, orders and catalogue after you have a seller account; it does not return the public search results or the competing products other shoppers see. Use this actor when you need the listing as a shopper sees it, and the seller API for your own shop.
Copying data by hand or with a browser extension works for one page but does not repeat reliably. This actor follows the listing pages for you, returns typed numbers instead of formatted text, and keeps the same field names in every run, so a spreadsheet or database import keeps working.
Other Cdiscount scrapers in the Store cover similar ground; some open every product page or collect seller offers and review texts. This actor deliberately stays on the listing: one row per product card, which keeps runs fast and the price per product low. Choose a product-page tool when you need full specifications or individual review texts.
Pricing
The existing price model is unchanged: $0.0005 per run start, including empty runs, plus $0.001 per product delivered. A run returning 20 products therefore uses one start event and 20 product events. An empty dataset has no product charges. Continuation within a run does not create another start event.
Users without a paid Apify plan receive at most ten rows per run. Paid users can request up to the documented limit. Results are delivered before the product events are charged.
Pagination and practical limits
The actor continues through listing pages automatically. The number of cards per page varies, so the requested limit is a maximum, not a guarantee. Collection stops when the limit is reached, when there are no new cards, or when the available listing pages or run budget are exhausted. Stock, promotions and ordering may change between runs. This actor fixes the old case in which an extra page could add a row beyond the requested limit.
FAQ
Can I scrape a category instead of a keyword?
Yes. Supply the category listing in url. If you also provide a query, the URL controls the source and the query remains in the returned rows for reference.
Why are some image and seller fields empty?
These fields are only populated when the listing card supplies them. Missing details remain null; the actor does not guess a seller or substitute an unrelated image.
Are refurbished products mixed with new products?
Cdiscount listings can contain both. Use is_refurbished to separate cards that describe reconditioned products before comparing prices.
What happens when a URL no longer exists?
The run finishes with an empty dataset and a useful error record. No product events are charged. The existing run-start event still applies.
Can I use the output in a catalogue or price-monitoring workflow?
Yes. Export the dataset or fetch it through the Apify API. Use the Cdiscount SKU and URL to match rows, and the timestamp to distinguish observations. Prices describe the listing at collection time and may subsequently change.
Is there an official Cdiscount API for product prices?
Cdiscount offers an API for marketplace sellers to manage their own catalogue and orders. It is not a public search API for all products. This actor gives you the public listing data without a seller account or API key.
How often can I run it?
As often as you need. Schedule the actor in Apify to run hourly or daily on the same query or URL and compare the datasets by sku to follow price changes over time.