The Aldi Search API returns product listings from an Aldi category page. Pass a category URL or site path, optionally with region and page, and receive structured JSON with prices, thumbnails, brand, and pagination.
Piloterr fetches the SSR HTML and parses the embedded Next.js payload (#__NEXT_DATA__). Algolia initial results, no browser rendering required.
Use each result url with Aldi Product for full PDP data.
Default: fr → www.aldi.fr.
region |
Domain |
Search (Algolia SSR) |
Product URL pattern |
Aliases |
fr |
aldi.fr |
OK |
/fiches-produits/{slug}.html |
fr-fr |
de |
aldi-nord.de |
OK |
/p/{slug}.html |
de-de, aldi-nord |
nl |
aldi.nl |
Partial (0 hits SSR) |
/product/{slug}.html |
nl-nl |
es-can |
aldi.es/can/… |
Partial (homepage) |
/can/producto/{slug}.html |
can, canarias |
Only these four Aldi domains are supported. Other Aldi URLs return 400.
When query is a full Aldi URL, domain and region are detected automatically (region is ignored).
GET https://api.piloterr.com/v2/aldi/search?query=produits/viande-poisson/poisson-crustace.html
GET https://api.piloterr.com/v2/aldi/search?query=https://www.aldi.fr/produits/viande-poisson/poisson-crustace.html
GET https://api.piloterr.com/v2/aldi/search?query=produits/viande-poisson/poisson-crustace.html&page=2
GET https://api.piloterr.com/v2/aldi/search?query=/p/fleisch-fisch.html®ion=de
| Parameter |
Type |
Required |
Description |
query |
string |
yes |
Category page URL or site path (not a product URL) |
region |
string |
no |
Country when query is a path only (default: fr) |
page |
integer |
no |
1-based page override (default: from URL or 1) |
return_page_source |
boolean |
no |
Raw HTML as {"result": "..."} (default: false) |
| Field |
Type |
Description |
product_id |
string |
Aldi product id |
title |
string |
Product title |
url |
string |
Absolute product URL |
image_url |
string | null |
Main image |
images |
string[] | null |
Gallery when multiple images |
price |
number | null |
Current price (may be absent on some hits) |
currency |
string |
ISO currency |
brand |
string | null |
Brand name |
sales_unit |
string | null |
Pack size / unit |
short_description |
string | null |
Card teaser text |
category |
string | null |
Algolia breadcrumb path |
product_slug |
string | null |
URL slug |
| Field |
Type |
Description |
page |
integer |
Current page |
per_page |
integer |
Results on this page |
total_results |
integer | null |
Total matches (nbHits) |
total_pages |
integer | null |
Total pages (nbPages) |
next |
string | null |
Next page URL |
- Aldi Search: list category products (this endpoint)
- Aldi Product: full PDP JSON
| Code |
Meaning |
400 |
Missing or invalid query, unsupported domain, or product URL passed to search |
404 |
Page without #__NEXT_DATA__ or no parseable listings |
500 |
Network or parsing error |
price may be null when Aldi does not publish a price on the Algolia hit.
- Canarias queries must stay under the
/can/ path prefix on aldi.es.
- Costs 1 credit per call (HTTP crawler).
- Category harvesting: collect product ids and URLs from Aldi aisles
- Price monitoring: track Aldi promotions across FR / DE / NL / Canarias
- Retail intel: compare assortment before fetching full PDP data