Piloterr

Mobile Search

Mobile Search API. Search car listings by URL or make/model code across mobile.de locales. Returns prices and pagination via webunlocker and Next.js RSC parsing.

Credit cost: 3 credits per call

GET
/v2/mobile/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 URL or make/model code (ms=).

Examples:

20100
https://www.mobile.de/fr/voiture/recherche.html?ms=20100&s=Car&vc=Car
https://suchen.mobile.de/fahrzeuge/search.html?s=Car&vc=Car

Use Mobile Ad on any result url or ad_id for full listing data.

locale?string

Target locale when query is a make/model code only (default: fr).

Examples: fr, de, es, en, nl, pl

Ignored when query is a full mobile.de URL.

page?number

1-based page override for search URLs (pageNumber=, default: from URL or 1).

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/mobile/search?query=string"
{
  "results": [
    {
      "url": "https://www.mobile.de/fr/voiture/d%C3%A9tails.html?id=455007337&s=Car&vc=Car",
      "make": "Porsche",
      "ad_id": "455007337",
      "model": "Cayman",
      "power": "265 kW (360 ch)",
      "price": 54990,
      "title": "Porsche Cayman S PDK",
      "locale": "fr",
      "mileage": "22.500 km",
      "currency": "EUR",
      "location": "München",
      "fuel_type": "Essence",
      "image_url": "https://img.classistatic.de/api/v1/mo-prod/images/jpg/normal/95/mt_mte247ax-wr.jpg",
      "price_rating": "GOOD_PRICE",
      "transmission": "Automatique",
      "first_registration": "03/2021",
      "price_rating_label": "Bon prix"
    }
  ],
  "pagination": {
    "next": null,
    "page": 1,
    "per_page": 50,
    "total_pages": null,
    "total_results": null
  }
}
{
  "error": "Bad Request"
}
{
  "error": "Invalid API Key"
}
{
  "error": "Payment required"
}
{
  "error": "Rate limit exceeded for the API key: quota monthly"
}
{
  "error": "Internal Error"
}