This tutorial shows how to scrape Idealo product details into CSV with the Idealo Details Scraper template for UScraper. You will import the workflow, replace sample detail-page URLs, set the export path, validate one row, and understand when a scraper is the right choice versus Idealo API access or a hosted scraping service.
Before you start
Prerequisites, access, and scope
You need UScraper installed as a local desktop app, the current Idealo Details Scraper template, a writable export folder, and a short list of Idealo product detail URLs you are allowed to process. Start with two or three pages, not a category crawl.
Before collecting data, review the relevant access rules. Idealo publishes official Partner Web Service API documentation and API access guidance for partner and merchant routes. Also check Idealo's terms of use and robots.txt. A page being visible in your browser does not automatically mean you can reuse, resell, or republish the data.
Treat scraping as a collection method, not permission. Stop on login walls, verification pages, blocked responses, or any condition you cannot justify to your legal or compliance reviewer.
API or scraper
Idealo API vs scraper: choose the right route
The official API path is the better fit when you are a merchant, technology partner, or production integration that needs approved access and clear service expectations. A scraper is more practical when an analyst already has public detail URLs and needs a spreadsheet for price comparison research, catalogue QA, or one-off audits.
| Option | Best fit | Trade-off |
|---|---|---|
| Idealo Partner Web Service / official API | Merchant and partner workflows, approved integration, offer data delivery | Requires eligibility, setup, and the right commercial context |
| UScraper local desktop app | URL list validation, CSV export, selector inspection, local custody | You maintain selectors and pacing when the site layout changes |
| Hosted actors and scraper APIs | Scheduled cloud jobs, managed scale, API-style outputs | Data and traffic route through the vendor's infrastructure |
| Python or open-source scripts | Engineering-owned pipelines, tests, custom retry logic | Requires code maintenance, dependency updates, and debugging time |
This guide focuses on the second lane: a no-code detail-page workflow where you control the URL list and review the CSV.
Workflow
What the Idealo details scraper does
The exported JSON is the authoritative workflow definition. At a high level, the template runs:
Navigate -> Wait for Page Load -> Wait for Element -> Inject JavaScript
-> Sleep -> Structured Export -> Loop Continue
Navigate holds the product detail URLs. The wait blocks let the page render. Inject JavaScript scrolls toward datasheet and offer sections. Structured Export writes one row per page, and Loop Continue advances to the next URL. Carousel next buttons are ignored because they move image galleries, not result pagination.
idealo-details-scraper.csvColumn
Produkt_url
Current product detail URL
Column
Image_url
Product or Open Graph image URL
Column
Produkt_Titel
Visible product title
Column
Produkt_Details
Variant or title suffix
Column
Preisentwicklung
Best-effort history or current price fallback
Column
Produkttyp
Product type from the datasheet
Column
Weitere_Eigenschaften
Other datasheet key-value fields
Sample rows
1 of many
| Produkt_url | Image_url | Produkt_Titel | Produkt_Details | Preisentwicklung | Produkttyp | Weitere_Eigenschaften |
|---|---|---|---|---|---|---|
| _... | ... | Paulaner Hefe-Weissbier naturtrueb | 0,5 l bottle pack | current_low_price: 18.99; currency: EUR | Weissbier | Inhalt: 20 x 0,5 l; Herkunft: Deutschland |
The price-history column is intentionally best-effort. If Idealo exposes date and price pairs in reachable scripts, the template collects them. If not, it falls back to current low price, high price, and currency from structured product data when available.
{
"project": {
"name": "Idealo Details Scraper",
"description": "Scrapes Idealo product detail pages by a configurable list of detail URLs."
},
"blocks": [
{ "title": "Navigate", "config": { "urls": ["https://www.idealo.de/preisvergleich/OffersOfProduct/5607478_...html"] } },
{ "title": "Wait for Element", "config": { "selector": "#oopStage-title, h1", "timeout": 30 } },
{ "title": "Inject JavaScript", "config": { "jsCode": "scroll to datasheet or offer list" } },
{
"title": "Structured Export",
"config": {
"fileName": "idealo-details-scraper.csv",
"fileMode": "append",
"columns": ["Produkt_url", "Image_url", "Produkt_Titel", "Produkt_Details", "Preisentwicklung", "Produkttyp", "Weitere_Eigenschaften"]
}
},
{ "title": "Loop Continue" }
]
}
Runbook
How to scrape Idealo product details to CSV
Import the template
Open Idealo Details Scraper from the templates library, download the JSON workflow, and import it into UScraper.
Replace the sample URLs
Open the Navigate block and replace the sample Idealo detail URLs with product pages you reviewed manually. Keep the first list short.
Confirm page access
Open one target URL in the same browser session. Resolve consent screens, unavailable products, or account prompts before running the workflow.
Set the CSV destination
In Structured Export, confirm idealo-details-scraper.csv, headers enabled, append mode, and a project-specific folder.
Run and compare
Run one URL while watching the browser. Compare title, image, product type, datasheet properties, and price fields against the visible page.
Scale in batches
Add URLs in small groups only after the validation row is correct. Keep failed, blank, or partial rows during QA so you can trace what happened.
Validation
Validate the export before using it
The bundle does not include a CSV sample, so the workflow definition is the source of truth. A healthy row should contain a real page URL, product title, image URL when available, product type when the datasheet exposes it, and either price-history pairs or current-price fallback data.
| Field | Good signal | What to check |
|---|---|---|
Produkt_Titel | Matches the H1 or visible product title | Watch for regional variants and suffixes |
Produkt_Details | Captures the title suffix only when present | Blank is acceptable when the title has no suffix |
Preisentwicklung | Price pairs or current low/high price fallback | Historical data can be blank on protected dynamic charts |
Produkttyp | Product type from datasheet rows | Some products omit this field |
Weitere_Eigenschaften | Semicolon-separated datasheet facts | Confirm units, pack sizes, and model numbers |
If a key field is blank, inspect the page before editing selectors. The page may not expose that module, may still be loading, or may have shifted into a layout variant.
Common issues and fixes
Idealo may load historical chart data through protected or dynamic endpoints. The template tries script parsing first, then falls back to current offer data when structured product data is available. Treat history as best-effort, not guaranteed.
FAQ
Frequently asked questions
Is it legal to scrape Idealo product detail pages?
Idealo pages may be visible in a browser and still be governed by Idealo terms, robots directives, copyright, database rights, privacy law, and contract limits. Review the official documents, avoid bypassing access controls, keep runs modest, and get legal review before commercial reuse.
Do I need the Idealo API to collect product details?
No for this tutorial. The workflow opens product detail URLs you provide and exports visible fields to CSV. Use Idealo API or partner access when you need approved merchant integration, service levels, licensed production use, or redistribution rights.
What does the Idealo details scraper export?
It exports product URL, image URL, product title, variant or detail suffix, best-effort price-history or current-price data, product type, and additional datasheet properties into idealo-details-scraper.csv.
Why is price history sometimes blank?
Historical price data may be unavailable when Idealo loads it through protected or dynamic APIs, when the page does not expose the data in scripts, or when a product page uses a different layout. Validate one URL before scaling.
How many Idealo product URLs should I run at once?
Start with one to three product URLs, validate the CSV, then expand in small batches only when required fields match the browser. Practical scale depends on permission, pacing, page availability, and selector maintenance.
What is the best Idealo scraper option?
Use UScraper when you want a local desktop workflow and CSV custody. Use official Idealo API access for approved partner integrations, hosted scraper APIs for managed scale, and Python scripts when your team wants fully coded pipelines.
Next step
Download the Idealo details template
Open the Idealo Details Scraper template, import the JSON into UScraper, and run one product page before building a larger price comparison or catalogue validation dataset. For adjacent workflows, browse the template library or return to the blog.

