Search Idealo price-comparison listings on Spain (idealo.es), France (idealo.fr), and Germany (idealo.de). Pass a keyword plus country, or a full search URL in query. WebUnlocker. 3 credits per call.
Each result is a product card: id, title, product URL, lowest price (EUR), shipping fee, offer count, image, rating (0-5), review count, lead shop, and short characteristics. Pagination is { page, per_page, total_results, total_pages, next } where next is the next search URL (or null).
Only es, fr, and de are supported. Other Idealo TLDs return 400.
GET https://api.piloterr.com/v2/idealo/search?query=maison&country=es
GET https://api.piloterr.com/v2/idealo/search?query=https://www.idealo.fr/prechcat.html?q=asics
GET https://api.piloterr.com/v2/idealo/search?query=asics&country=de&page=2
GET https://api.piloterr.com/v2/idealo/search?query=https://www.idealo.es/resultados.html?q=maison&page=2
| Parameter |
Type |
Required |
Description |
query |
string |
yes |
Keyword (maison, asics) or a full Idealo search URL |
country |
string |
no |
es (default for keywords), fr, or de. Ignored when query is already a URL |
page |
integer |
no |
Page number. page=2 appends ?page=2 to the search URL |
country |
Host |
Search path |
es |
https://www.idealo.es |
/resultados.html?q= |
fr |
https://www.idealo.fr |
/prechcat.html?q= |
de |
https://www.idealo.de |
/preisvergleich/MainSearchProductCategory.html?q= |
| Field |
Type |
Description |
results[] |
array |
Product cards (sponsored marketplace rows are omitted) |
results[].id |
string |
Idealo product id |
results[].title |
string |
Product title |
results[].url |
string |
Product page (/precios/, /prix/, or /OffersOfProduct/) |
results[].price |
number |
Lowest listed price |
results[].currency |
string |
EUR |
results[].shipping |
number |
Shipping fee of the lead offer (0 if free, null if unknown) |
results[].offer_count |
integer |
Number of shops on Idealo for this product |
results[].image |
string |
Card image |
results[].rating |
number |
Score on a 0-5 scale (null if none) |
results[].review_count |
integer |
User reviews (null if none) |
results[].shop_name |
string |
Lead shop |
results[].characteristics |
array |
Short attributes from the card |
results[].category_id |
string |
Idealo category id |
pagination.page |
integer |
Current page (1-based) |
pagination.per_page |
integer |
Results on this page (36 or 60) |
pagination.total_results |
integer |
Product count for the query |
pagination.total_pages |
integer |
Page count |
pagination.next |
string |
Next search URL, or null |
- WebUnlocker. 3 credits per call.
- Keyword + empty
country targets Spain (idealo.es).
- A full search URL in
query wins. Paginate with page or ?page= on that URL. Use pagination.next.
- France uses
/prechcat.html, not /resultats.html.
shipping is the delivery fee, not price + shipping.
- Idealo stores ratings on a 0-100 scale internally. The API returns 0-5 (
90 becomes 4.5).
offer_count is the marketplace total. Use Idealo Product for the visible offer list.
- Pass
results[].url or results[].id to Idealo Product.
| Code |
Meaning |
400 |
Empty query, unsupported country, or a non es/fr/de Idealo URL |
404 |
Search page not found or no products |
500 |
Unlock or parse failed |
- Compare lowest prices for a SKU across Spain, France, and Germany
- Watch offer count and lead shop on a keyword
- Feed repricing jobs from Idealo search pages
- Paginate category-like keyword results without hosting a scraper