Castorama Scraper: Product Prices & Store Context avatar

Castorama Scraper: Product Prices & Store Context

Pricing

$1.50 / 1,000 products

Go to Apify Store
Castorama Scraper: Product Prices & Store Context

Castorama Scraper: Product Prices & Store Context

Collect product data from castorama.fr. Verify product-page prices with the observed seller, postcode and store, or collect category listing data. Export JSON, CSV or Excel. Independent scraper.

Pricing

$1.50 / 1,000 products

Rating

0.0

(0)

Developer

Hexagone Data

Hexagone Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Castorama France product prices

Collect product data from castorama.fr, then export the results as JSON, CSV or Excel. Use rendered product pages to record a price together with the seller, product reference, delivery postcode and store observed on the page. A separate category mode collects listing data for broader catalog research.

This is an independent scraper by Hexagone Data, not an official Castorama service.

Try one product

  1. Click Try for free, open the input form and switch to JSON.
  2. Paste the input below and start the run. It requests one product with delivery postcode 75001, without imposing a store.
  3. Open Output → Products to inspect the record and export it. Read Run summary for warnings; in Storage, the key-value store also contains OUTPUT (JSON) and SUMMARY (HTML).
{
"startUrls": [{"url": "https://www.castorama.fr/paillasson-coco-kebir-goodhome-l-45-x-l-75-cm/5059340473512_CAFR.prd"}],
"renderedProductPages": true,
"deliveryPostalCode": "75001",
"maxItems": 1,
"proxyConfiguration": {"useApifyProxy": false}
}

“Try for free” is Apify's trial button; this Actor has the per-product price below. Availability and prices can change after this example was recorded.

Price

$1.50 per 1,000 products added to the dataset: 20 products cost $0.03; one product costs $0.0015. The configured event is Product. There is no separate Actor startup event, and platform usage is included in this pay-per-event price. Apify account or subscription terms still apply.

maxItems limits unique products across the run; 0 removes that product limit. Apify's maximum charge per run can stop delivery earlier. A run that delivers no products emits no Product charge; a partial run can charge for the products it has delivered. Read the summary before assuming a category is complete.

Choose the collection mode

Rendered product pages — renderedProductPages: true. Supply product-page URLs ending in _CAFR.prd. A browser checks the visible product reference, seller, price and context. Ambiguous pages are rejected instead of producing a comparable price. This mode does not accept category URLs. It focuses on price verification; descriptive fields may be null.

deliveryPostalCode sets the delivery postcode through the site's form. The resulting priceContext.store is the store observed on the page: it is not a promise that the store is near that postcode, nor that a price applies nationally. For example, a run with postcode 75001 observed Castorama Brest. Compare records only within the context you need.

expectedStore is an optional exact-name check, not a store selector. If the site shows a different store, the page is rejected. Leave it unset for the first test.

Category/listing mode — renderedProductPages: false. Supply category or brand-category URLs on castorama.fr. The Actor follows supported listing pagination and deduplicates products across the supplied URLs. This mode extracts listing data; it does not perform the rendered price/context checks described above. Delivery postcode and expected-store checks belong to rendered mode. Product pages can also be processed in this older extraction mode, with different field availability.

Set renderedProductPages explicitly in API inputs to avoid ambiguity. Do not mix category URLs into a rendered-mode run. Search, sorting and filtering URLs are rejected; use clean category/product URLs. Website changes, access blocks, missing pages and limits can prevent complete collection. No whole-catalog coverage is guaranteed.

Output fields

Each dataset record represents a product. Core fields include sku, name, url, price, priceCurrency, sourceUrl and scrapedAt. sku contains the product reference extracted from the site. Fields such as image, description, rating, review count, category, availability and delivery days depend on the page and mode; missing values remain null.

Rendered records also include these nested objects:

  • priceContext: selected postcode, observed store and context evidence.
  • variantEvidence: URL/visible references, their verification status and visible selections.

priceSource identifies the extraction source. originalPrice and discountPercent are nullable: an absent crossed-out price is not filled in as an invented promotion. These are product data, not a local store stock check or a guaranteed delivery quote.

JSON preserves nested context. CSV and Excel are available from the dataset export controls; inspect the exported columns before importing into your application. The Prices and Delivery views are conveniences, and can show empty fields when that mode does not provide them.

Troubleshooting and support

Check the terminal run message, OUTPUT and SUMMARY, not only the green run status. A partial collection may finish with products and warnings. Listing-mode site maintenance can finish successfully with zero products and a maintenance explanation; it is not proof of an empty category. Invalid inputs and rendered runs with no comparable product fail with a diagnostic.

If the embedded summary is blank, open the run's Storage → Key-value store → SUMMARY record. A category sent to rendered mode is rejected before a summary is written; in that case read the run's status message. Interrupted runs may retain an internal checkpoint; do not treat that as a complete export.

Start with one product and keep the selected postcode stable when comparing prices. If expectedStore fails, check the actual store rather than assuming the requested postcode selected it. For access failures, consult the run log before enabling an optional proxy. Repeated retries do not guarantee access.

Report reproducible problems through this Actor's Issues tab. Include the run ID, input URLs, collection mode and relevant warning, without credentials or proxy secrets. Hexagone Data maintains the Actor; product-page and catalog changes may require a correction. Scheduling and downstream alerts must be configured separately in Apify or your own workflow.