Piloterr

Lidl Search

Lidl Search API — search product listings by keyword or URL across Lidl online shops in 27 countries. Parses Nuxt SSR payload from HTML; returns prices, ratings, brand and pagination.

Credit cost: 1 credit per call

GET
/v2/lidl/search

Authorization

ApiKeyAuth
x-api-key<token>

Your API key. Include it in the x-api-key header for every request.

In: header

Query Parameters

query*string

Search keyword or full Lidl search URL.

Examples:

perceuse
https://www.lidl.de/q/search?q=bohrer

Use Lidl Product on any result url or product_id for full PDP data.

region?string

Target country when query is a keyword (default: fr).

Examples: de, pl, gb, nl-be, fr-be

Ignored when query is a full Lidl URL.

page?number

1-based page number (default: 1). Lidl paginates by offset (48 items per page).

Range1 <= value <= 500
return_page_source?boolean

When true, return the raw HTML page source as {"result": "..."} instead of structured JSON. Defaults to false.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.piloterr.com/v2/lidl/search?query=string"
{
  "results": [
    {
      "url": "https://www.lidl.fr/p/parkside-set-perceuse-a-percussion-psbm-750-c3/p100400894",
      "brand": "PARKSIDE®",
      "price": 20,
      "title": "PARKSIDE® Set perceuse à percussion PSBM 750 C3",
      "locale": "fr-fr",
      "rating": 4,
      "currency": "EUR",
      "image_url": "https://www.lidl.fr/assets/gcp941ea783e919400f859ed3e1193f144f.jpg",
      "old_price": 51.99,
      "product_id": "100400894",
      "review_count": 26,
      "discount_percentage": 61
    }
  ],
  "pagination": {
    "next": "https://www.lidl.fr/q/search?q=perceuse&offset=48&fetchsize=48",
    "page": 1,
    "per_page": 48,
    "total_pages": 4,
    "total_results": 147
  }
}
{
  "error": "Bad Request"
}
{
  "error": "Invalid API Key"
}
{
  "error": "Payment required"
}
{
  "error": "Rate limit exceeded for the API key: quota monthly"
}
{
  "error": "Internal Error"
}