# mobile.de API

> mobile.de returns car listings and vehicle details as a workflow and API.

mobile.de, also called mobile.de cars, returns matching car listings through Search cars. Search cars needs a make and model; optional inputs include year, price, mileage, fuel, condition, and sorting.

- Page: https://fous.com/workflows/mobile-de
- Handle: `@mobile-de`
- Category: [Commerce](https://fous.com/workflows/category/commerce)
- Source website: https://mobile.de
- Last verified: Sep 29, 2026
- Fous is not affiliated with mobile.de.

## Methods

### Search cars

Operation `search_cars`, version 1. 1 credit per call.

Search mobile.de car listings by make and model, with optional registration year, price, mileage, fuel, condition, and sorting. Returns up to 50 listings in marketplace order; fields not shown on a listing are null.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `fuel` | string | no | `"hybrid"` | Fuel type, for example diesel; any includes all fuels. |
| `make` | string | yes | `"Volkswagen"` | Car make, for example Volkswagen. |
| `sort` | string | no | `"newest_listings"` | Listing order, for example price_low_to_high. |
| `model` | string | yes | `"Golf"` | Car model, for example Golf. |
| `max_year` | integer | no | `2025` | Latest first-registration year, for example 2025. |
| `min_year` | integer | no | `2020` | Earliest first-registration year, for example 2020. |
| `condition` | string | no | `"used"` | Vehicle condition, for example used. |
| `max_price` | integer | no | `1` | Maximum price in EUR, for example 15000. |
| `min_price` | integer | no | `5000` | Minimum price in EUR, for example 5000. |
| `max_results` | integer | no | `5` | Maximum number of cars to return, for example 20. |
| `max_mileage_km` | integer | no | `100000` | Maximum mileage in kilometres, for example 100000. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "make",
    "model"
  ],
  "properties": {
    "fuel": {
      "enum": [
        "any",
        "petrol",
        "diesel",
        "electric",
        "hybrid"
      ],
      "type": "string",
      "default": "any",
      "description": "Fuel type, for example diesel; any includes all fuels.",
      "examples": [
        "hybrid",
        "diesel",
        "electric"
      ]
    },
    "make": {
      "type": "string",
      "description": "Car make, for example Volkswagen.",
      "examples": [
        "Volkswagen",
        "Toyota",
        "Tesla"
      ]
    },
    "sort": {
      "enum": [
        "standard",
        "price_low_to_high",
        "newest_listings",
        "lowest_mileage"
      ],
      "type": "string",
      "default": "standard",
      "description": "Listing order, for example price_low_to_high.",
      "examples": [
        "newest_listings",
        "price_low_to_high",
        "lowest_mileage"
      ]
    },
    "model": {
      "type": "string",
      "description": "Car model, for example Golf.",
      "examples": [
        "Golf",
        "Yaris",
        "Model 3"
      ]
    },
    "max_year": {
      "type": "integer",
      "minimum": 1900,
      "description": "Latest first-registration year, for example 2025.",
      "examples": [
        2025
      ]
    },
    "min_year": {
      "type": "integer",
      "minimum": 1900,
      "description": "Earliest first-registration year, for example 2020.",
      "examples": [
        2020
      ]
    },
    "condition": {
      "enum": [
        "any",
        "used",
        "new"
      ],
      "type": "string",
      "default": "any",
      "description": "Vehicle condition, for example used.",
      "examples": [
        "used",
        "new"
      ]
    },
    "max_price": {
      "type": "integer",
      "minimum": 0,
      "description": "Maximum price in EUR, for example 15000.",
      "examples": [
        1,
        15000
      ]
    },
    "min_price": {
      "type": "integer",
      "minimum": 0,
      "description": "Minimum price in EUR, for example 5000.",
      "examples": [
        5000
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum number of cars to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        5,
        30,
        50
      ]
    },
    "max_mileage_km": {
      "type": "integer",
      "minimum": 0,
      "description": "Maximum mileage in kilometres, for example 100000.",
      "examples": [
        100000
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "make": "Volkswagen",
      "model": "Golf",
      "max_results": 5
    },
    {
      "fuel": "hybrid",
      "make": "Toyota",
      "sort": "newest_listings",
      "model": "Yaris",
      "max_results": 30
    },
    {
      "make": "Volkswagen",
      "model": "Golf",
      "max_price": 1
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `cars` | array |  | Matching car listings in mobile.de order. |
| `cars[].fuel` | string or null | `"Petrol"` | Fuel type shown on the listing. |
| `cars[].price` | number or null | `29345` | Displayed asking price. |
| `cars[].title` | string or null | `"Volkswagen Golf GTI DSG Navi BlackStyle Pano RearView LED"` | Listing title. |
| `cars[].currency` | string or null | `"EUR"` | Price currency, EUR. |
| `cars[].location` | string or null | `"33613 Bielefeld"` | Seller postcode and city. |
| `cars[].power_hp` | integer or null | `245` | Engine power in horsepower. |
| `cars[].power_kw` | integer or null | `180` | Engine power in kilowatts. |
| `cars[].image_link` | string or null | `"https://img.classistatic.de/api/v1/mo-prod/images/f9/f9ed5f80-c6a6-440a-ac59-de16f6e2e8f2?rule=mo-160w"` | Main vehicle image link. |
| `cars[].listing_id` | string or null | `"455885755"` | Mobile.de listing identifier. |
| `cars[].mileage_km` | integer or null | `42801` | Mileage in kilometres. |
| `cars[].seller_name` | string or null | `"Autohaus Steinböhmer GmbH & Co KG"` | Seller name. |
| `cars[].seller_type` | string or null | `"dealer"` | Seller category: dealer or private. |
| `cars[].listing_link` | string or null | `"https://www.mobile.de/auto-inserat/volkswagen-golf-gti-dsg-navi-blackstyle-pano-rearview-led-bielefeld/455885755.html"` | Car listing page link. |
| `cars[].price_rating` | string or null | `"Fair price"` | Price rating shown on the listing. |
| `cars[].transmission` | string or null | `"Automatic"` | Transmission shown on the listing. |
| `cars[].first_registration` | string or null | `"2024-03"` | First registration, YYYY-MM. |

**Example input**

```json
{
  "make": "Volkswagen",
  "model": "Golf",
  "max_results": 5
}
```

**Example output**

```json
{
  "cars": [
    {
      "fuel": "Petrol",
      "price": 29345,
      "title": "Volkswagen Golf GTI DSG Navi BlackStyle Pano RearView LED",
      "currency": "EUR",
      "location": "33613 Bielefeld",
      "power_hp": 245,
      "power_kw": 180,
      "image_link": "https://img.classistatic.de/api/v1/mo-prod/images/f9/f9ed5f80-c6a6-440a-ac59-de16f6e2e8f2?rule=mo-160w",
      "listing_id": "455885755",
      "mileage_km": 42801,
      "seller_name": "Autohaus Steinböhmer GmbH & Co KG",
      "seller_type": "dealer",
      "listing_link": "https://www.mobile.de/auto-inserat/volkswagen-golf-gti-dsg-navi-blackstyle-pano-rearview-led-bielefeld/455885755.html",
      "price_rating": "Fair price",
      "transmission": "Automatic",
      "first_registration": "2024-03"
    },
    {
      "fuel": "Petrol",
      "price": 17670,
      "title": "Volkswagen Golf VII 2.0 TSI GTI Performance BMT*LED*ACC*PDC",
      "currency": "EUR",
      "location": "85375 Neufahrn b. Freising",
      "power_hp": 245,
      "power_kw": 180,
      "image_link": "https://img.classistatic.de/api/v1/mo-prod/images/27/27183272-2ab9-4495-897a-776ecfec438a?rule=mo-160w",
      "listing_id": "461430737",
      "mileage_km": 103319,
      "seller_name": "Autohero GmbH - Abholstation München",
      "seller_type": "dealer",
      "listing_link": "https://www.mobile.de/auto-inserat/volkswagen-golf-vii-2-0-tsi-gti-performance-bmt-led-acc-pdc-neufahrn-b-freising/461430737.html",
      "price_rating": "No rating",
      "transmission": "Manual gearbox",
      "first_registration": "2017-08"
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@mobile-de",
  "visibility": "public",
  "operation": "search_cars",
  "version": 1,
  "input": {
    "make": "Volkswagen",
    "model": "Golf",
    "max_results": 5
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@mobile-de\",\n  \"visibility\": \"public\",\n  \"operation\": \"search_cars\",\n  \"version\": 1,\n  \"input\": {\n    \"make\": \"Volkswagen\",\n    \"model\": \"Golf\",\n    \"max_results\": 5\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@mobile-de",
  "visibility": "public",
  "operation": "search_cars",
  "version": 1,
  "input": {
    "make": "Volkswagen",
    "model": "Golf",
    "max_results": 5
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@mobile-de","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Compare asking prices for cars by make and model
- Find listings within a price range
- Review mileage and first-registration dates
- Compare fuel types and transmissions
- Identify dealer and private listings

## FAQ

### Is Fous affiliated with mobile.de?

No. Fous is not affiliated with mobile.de. This workflow reads the public mobile.de website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a mobile.de account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from mobile.de when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 29, 2026.

### What cars match a make and model?

Search cars returns matching listings when you provide a make and model.

### Which listings fall within a price range?

Search cars accepts minimum and maximum prices and returns matching listings.

### What details are shown for each listing?

Search cars returns available details such as price, mileage, fuel, transmission, location, and first registration.

## Related

- [Cars.com API](https://fous.com/workflows/cars-com.md): Cars.com finds car listings by make, model, and U.S. ZIP code, and provides dealerships’ latest customer reviews when available.
- [Autotrader API](https://fous.com/workflows/autotrader.md): Search new, used and certified cars for sale across the United States.
- [CarGurus API](https://fous.com/workflows/cargurus.md): CarGurus helps shoppers browse dealer-listed new and used cars with deal ratings, and view average used prices, price ranges and 12-month price history by model year.
- [Carvana API](https://fous.com/workflows/carvana.md): Search used vehicles for sale on Carvana.
- [CarMax API](https://fous.com/workflows/carmax.md): Search public CarMax used-car listings.
- [Carfax API](https://fous.com/workflows/carfax.md): Carfax provides used-car listings near a US ZIP code with free history highlights, plus open safety recalls reported by CARFAX for a VIN or US plate.
- [Mercari API](https://fous.com/workflows/mercari.md): Search secondhand and sold listings on Mercari US.
- [ImmoScout24 API](https://fous.com/workflows/immoscout24.md): Search apartments and houses across Germany.
- [All Commerce workflows](https://fous.com/workflows/category/commerce)
