Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the mobile.de API page →
Classifieds & Second-hand

mobile.de API & Scraper

The mobile.de API returns Germany's largest vehicle marketplace as clean JSON in four actions: search, listing, makes and models.

4 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

search covers cars, motorbikes, vans up to 7.5 t and trucks, and filters exactly as mobile.de does - make and model, price, year of first registration, mileage, power in kW, fuel, gearbox, body type, dealer or private seller, new or used, damaged vehicles hidden or only, VAT-deductible vehicles, mobile.de's own price rating, and a radius around a point - with mobile.de's total, 10 to 100 rows a page, eight sort orders and up to 50 pages. Every row carries the gross price, the net price and VAT rate when the dealer publishes one, the earlier price of a reduced listing, mobile.de's price rating with its price bands, first registration, mileage, power in kW and hp, fuel, gearbox, colour, postcode and town, the dealer's name and rating, and a financing example kept apart from the price. Sponsored rows stay in mobile.de's order and are labelled: the paid top slot, highlighted listings, and the sponsored block on page 1. listing adds the price type (fixed or negotiable), condition and damage, previous owners, general inspection, every attribute mobile.de publishes with its label, the equipment list, the description, all images, dates, and the dealer's address, rating, opening hours and homepage; a private seller's phone number and exact location are left out. Every filter was checked live to narrow mobile.de's total and every returned row to match it, 25 searches and 25 listings in a row all succeeded, and on 15 listings across cars, motorbikes, vans and trucks the search row and the listing agreed on price, title, mileage, first registration, power and seller type every time. Labels come in 11 languages. No mobile.de account, no browser - one ReefAPI key and the standard { ok, data, meta, error } envelope.

Reference

Five mobile.de numbers that are not simply the price

A mobile.de result list mixes the car's price with a monthly financing example, a net price, an earlier price, a placeholder price and paid placements. Each looks like an ordinary number on an ordinary row. This engine gives every one its own field.

Listingpriceseparate fieldthe catch
BMW X3 20d xDrive, dealer in Essen50999price_net: 42856.30, vat_rate: 19The dealer can issue a VAT invoice, so a net price exists; price is always the gross consumer price
BMW X3 20d xDrive, same row50999financing.monthly_installment: 489mobile.de shows a financing example on the card; a monthly rate is never returned as the price
BMW 220 Active Tourer, dealer in Cologne13990price_before_reduction: 14990The struck earlier price, with mobile.de's 'Sehr guter Preis' rating and a -1,000 EUR deal badge
Opel Astra Cabrio, private seller in Wuppertal1price_is_symbolic: true, price_negotiable: trueListed at 1 EUR 'VB' - a placeholder that floods the cheapest-first sort, labelled rather than dropped
Top ad under 'price ascending'22490placement: top_adThe paid top slot stays first under every sort, above the 1 EUR rows; organic rows follow in order

Measured on 2026-09-15. On the unfiltered first page of 24 rows, 1 was the paid top ad, 2 were highlighted listings and 3 came from the sponsored page-1 block. Classified ads come and go - the rows above are dated.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/mobile-de/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "make": "3500"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "mobile-de",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 509.8,
    "record_count": 24,
    "bytes": 98426,
    "cache_hit": false
  },
  "data": {
    "vehicle_type": "car",
    "total_results": 136267,
    "page": 1,
    "page_size": 20,
    "has_more": true,
    "sort_applied": "relevance",
    "count": 24,
    "ad_slots_dropped": 4,
    "duplicates_dropped": 0,
    "filters_applied": {
      "vc": "Car",
      "ms": "3500;;;"
    },
    "listings": [
      {
        "listing_id": "40752019503616",
        "url": "https://suchen.mobile.de/auto-inserat/bmw-x5-xdrive50e-acc-individual-pano-inno-massage-neuburg-an-der-donau/40752019503616.html",
        "title": "BMW X5 xDrive50e ACC+Individual+Pano+Inno+Massage+",
        "short_title": "BMW X5",
        "sub_title": "xDrive50e ACC+Individual+Pano+Inno+Massage+",
        "make": "BMW",
        "make_id": null,
        "model": "X5",
        "model_id": null,
        "vehicle_type": "Car",
        "category": "SUV/Geländewagen/Pickup",
        "price": 73338,
        "currency": "EUR",
        "price_display": "73.338 €",
        "price_net": 61628.57,
        "vat_rate": 19,
        "vat_deductible": true,
        "price_before_reduction": null,
        "price_negotiable": false,
        "price_is_symbolic": false,
        "price_rating": {
          "rating": "REASONABLE_PRICE",
          "label": "Fairer Preis",
          "thresholds": [
            "[trimmed-depth]",
            "[trimmed-depth]",
            "[trimmed-depth]"
          ],
          "vehicle_price_offset": 1,
          "no_rating_reason": null
        },
        "financing": {
          "monthly_installment": 777.53,
          "down_payment": 14667,
          "term_months": 60,
          "final_installment": 24201.54,
          "credit_amount": 58671,
          "total_amount": 70075.72,
          "interest_rate_nominal": 5.41,
          "interest_rate_effective": 5.55,
          "loan_type": "BALLOON",
          "yearly_mileage_km": 10000,
          "lender": "Openbank Deutschland AG",
          "currency": "EUR"
        },
        "leasing_rate": null,
        "first_registration": "12/2023",
        "construction_year": null,
        "mileage_km": 40900,
        "power_kw": 375,
        "power_hp": 510,
        "fuel": "Hybrid (Benzin/Elektro)",
        "transmission": "Automatik",
        "cubic_capacity_ccm": 2998,
        "exterior_color": "Grau",
        "doors": "4/5",
        "seats": 5,
        "emission_class": "Euro6d",
        "previous_owners": 1,
        "general_inspection": "Neu",
        "usage_type": null,
        "battery_capacity_kwh": null,
        "net_weight_kg": null,
        "condition_new": null,
        "is_new_listing": false,
        "highlights": null,
        "badges": [
          "Mit Batterie-Zertifikat"
        ],
        "deal": null,
        "delivery": null,
        "financing_available": true,
        "location": {
          "postcode": "86633",
          "city": "Neuburg an der Donau",
          "country": "DE",
          "text": "86633 Neuburg an der Donau"
        },
        "seller": {
          "type": "dealer",
          "type_label": "Händler",
          "seller_id": "27890796",
          "name": "Autohaus Hofmann GmbH",
          "rating": 5,
          "rating_count": 26,
          "rating_total_count": 60,
          "rating_scale": 5,
          "phone": "[redacted-phone]",
          "phone_withheld": false
        },
        "image": "https://img.classistatic.de/api/v1/mo-prod/images/ff/ff61ced6-4368-4f7d-b9f3-9ee7826dbf7d?rule=mo-1024w",
        "image_count": 9,
        "kba": null,
        "placement": "top_ad",
        "is_sponsored": true
      },
      {
        "listing_id": "454495868",
        "url": "https://suchen.mobile.de/auto-inserat/bmw-m135-i-xdrive-leder-sitzhzg-hu-au-neu-dresden/454495868.html",
        "title": "BMW M135 i xDrive * Leder * Sitzhzg. * HU/AU neu",
        "short_title": "BMW M135",
        "sub_title": "i xDrive * Leder * Sitzhzg. * HU/AU neu",
        "make": "BMW",
        "make_id": null,
        "model": "M135",
        "model_id": null,
        "vehicle_type": "Car",
        "category": "Limousine",
        "price": 18980,
        "currency": "EUR",
        "price_display": "18.980 €",
        "price_net": null,
        "vat_rate": null,
        "vat_deductible": null,
        "price_before_reduction": null,
        "price_negotiable": false,
        "price_is_symbolic": false,
        "price_rating": {
          "rating": "GOOD_PRICE",
          "label": "Guter Preis",
          "thresholds": [
            "[trimmed-depth]",
            "[trimmed-depth]",
            "[trimmed-depth]"
          ],
          "vehicle_price_offset": 41,
          "no_rating_reason": null
        },
        "financing": {
          "monthly_installment": 201.22,
          "down_payment": 3796,
          "term_months": 60,
          "final_installment": 6263.4,
          "credit_amount": 15184,
          "total_amount": 18135.54,
          "interest_rate_nominal": 5.41,
          "interest_rate_effective": 5.55,
          "loan_type": "BALLOON",
          "yearly_mileage_km": 10000,
          "lender": "Openbank Deutschland AG",
          "currency": "EUR"
        },
        "leasing_rate": null,
        "first_registration": "04/2013",
        "construction_year": null,
        "mileage_km": 113814,
        "power_kw": 235,
        "power_hp": 320,
        "fuel": "Benzin",
        "transmission": "Automatik",
        "cubic_capacity_ccm": 2979,
        "exterior_color": "Weiß",
        "doors": "4/5",
        "seats": 5,
        "emission_class": "Euro5",
        "previous_owners": null,
        "general_inspection": "Neu",
        "usage_type": null,
        "battery_capacity_kwh": null,
        "net_weight_kg": 1595,
        "condition_new": null,
        "is_new_listing": false,
        "highlights": null,
        "badges": null,
        "deal": null,
        "delivery": null,
        "financing_available": true,
        "location": {
          "postcode": "01237",
          "city": "Dresden",
          "country": "DE",
          "text": "01237 Dresden"
        },
        "seller": {
          "type": "dealer",
          "type_label": "Händler",
          "seller_id": "5615979",
          "name": "Admiral Deutscher Handelskontor GmbH",
          "rating": 4.8,
          "rating_count": 17,
          "rating_total_count": 265,
          "rating_scale": 5,
          "phone": "[redacted-phone]",
          "phone_withheld": false
        },
        "image": "https://img.classistatic.de/api/v1/mo-prod/images/c8/c88515df-b9cf-4e7d-bd45-038e6a8730f1?rule=mo-1024w",
        "image_count": 37,
        "kba": {
          "hsn": "0005",
          "tsn": "BMF"
        },
        "placement": "organic",
        "is_sponsored": false
      },
      {
        "listing_id": "42569031977280",
        "url": "https://suchen.mobile.de/auto-inserat/bmw-x1-20i-184ps-automatik-xdrive-sport-line-navi-teltow/42569031977280.html",
        "title": "BMW X1 20i 184PS Automatik xDrive Sport Line Navi",
        "short_title": "BMW X1",
        "sub_title": "20i 184PS Automatik xDrive Sport Line Navi",
        "make": "BMW",
        "make_id": null,
        "model": "X1",
        "model_id": null,
        "vehicle_type": "Car",
        "category": "SUV/Geländewagen/Pickup",
        "price": 14999,
        "currency": "EUR",
        "price_display": "14.999 €",
        "price_net": null,
        "vat_rate": null,
        "vat_deductible": null,
        "price_before_reduction": null,
        "price_negotiable": false,
        "price_is_symbolic": false,
        "price_rating": {
          "rating": "INCREASED_PRICE",
          "label": "Erhöhter Preis",
          "thresholds": [
            "[trimmed-depth]",
            "[trimmed-depth]",
            "[trimmed-depth]"
          ],
          "vehicle_price_offset": 9,
          "no_rating_reason": null
        },
        "financing": {
          "monthly_installment": 144,
          "down_payment": 2999,
          "term_months": 60,
          "final_installment": 6749.55,
          "credit_amount": 12000,
          "total_amount": 15222.23,
          "interest_rate_nominal": 6.78,
          "interest_rate_effective": 6.99,
          "loan_type": "BALLOON",
          "yearly_mileage_km": 10000,
          "lender": "Openbank Deutschland AG",
          "currency": "EUR"
        },
        "leasing_rate": null,
        "first_registration": "11/2013",
        "construction_year": null,
        "mileage_km": 97859,
        "power_kw": 135,
        "power_hp": 184,
        "fuel": "Benzin",
        "transmission": "Automatik",
        "cubic_capacity_ccm": 1997,
        "exterior_color": "Grau",
        "doors": "4/5",
        "seats": 5,
        "emission_class": "Euro6",
        "previous_owners": 2,
        "general_inspection": "Neu",
        "usage_type": null,
        "battery_capacity_kwh": null,
        "net_weight_kg": 1665,
        "condition_new": null,
        "is_new_listing": false,
        "highlights": [
          "Bi-Xenon Tempomat SHZ",
          "Sport-Paket DVD",
          "2-Zonen-Klima AUX"
        ],
        "badges": null,
        "deal": null,
        "delivery": null,
        "financing_available": true,
        "location": {
          "postcode": "14513",
          "city": "Teltow",
          "country": "DE",
          "text": "14513 Teltow"
        },
        "seller": {
          "type": "dealer",
          "type_label": "Händler",
          "seller_id": "9246884",
          "name": "Autohaus Klann GmbH",
          "rating": 4,
          "rating_count": 14,
          "rating_total_count": 172,
          "rating_scale": 5,
          "phone": "[redacted-phone]",
          "phone_withheld": false
        },
        "image": "https://img.classistatic.de/api/v1/mo-prod/images/21/21c5a457-4968-42e2-83fa-e43d996558a5?rule=mo-1024w",
        "image_count": 36,
        "kba": {
          "hsn": "0005",
          "tsn": "BHA"
        },
        "placement": "organic",
        "is_sponsored": false
      }
    ]
  }
}
Actions

What the mobile.de API does

ActionDescriptionConcrete use caseKey params
searchSearch mobile.de listings. Filters narrow the result exactly as on mobile.de. Sponsored rows are kept in mobile.de's order and flagged (placement: top_ad stays on top under any sort, eyecatcher is a paid highlight at its organic position, page1_ad is mobile.de's sponsored block on page 1). price is the gross consumer price; financing is a monthly example and never the price; a 1 EUR negotiable price is flagged price_is_symbolic. total_results is mobile.de's own count.Price-intelligence teams call search to search mobile.de listings.vehicle_type, query, make, model, price_min, ...
listingThe full mobile.de listing: gross price, net price and VAT rate when the dealer can issue a VAT invoice, the earlier price of a reduced listing, price type (fixed/negotiable), mobile.de's price rating with its band, condition and damage, first registration, mileage, power in kW and hp, fuel, gearbox, colours, every published attribute (label + value), the features list, highlights, description, all images, dates, and the seller: a dealer's name, address, rating, opening hours and homepage; a private seller's town only. A removed listing returns NOT_FOUND.Classifieds aggregators call listing to get the full mobile.de listing.listing_id, language, include_pii
makesEvery make mobile.de offers for a vehicle class, with the make id the search action accepts.Resale and arbitrage tools call makes to get every make mobile.de offers for a vehicle class, with the make id the search action accepts..vehicle_type
modelsEvery car model mobile.de lists for a make, including series groups (is_group true, e.g. '3er Reihe (Alle)'), with the model id the search action accepts. Cars only.Lead-generation teams call models to get every car model mobile.de lists for a make, including series groups (is_group true, e.g.make
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/mobile-de/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"make":"3500"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.mobile-de.search with {"make":"3500"}.
Use cases

Who uses this API and why

  • Used-car dealers and valuation tools track prices, price reductions and mobile.de's price rating by make, model, year and mileage.
  • Leasing, fleet and export buyers filter VAT-deductible vehicles and read net and gross prices side by side.
  • Market analysts size inventory by vehicle class, fuel, region and dealer versus private seller from mobile.de's own totals.
  • Lead-generation teams map dealers with their rating, location and stock without collecting private sellers' personal data.
FAQ

Questions developers ask before integrating

Which vehicles does the API cover?

All four mobile.de vehicle classes: cars (1,573,322 listings on 2026-09-15), motorbikes (76,355), vans and light trucks up to 7.5 t (62,641) and trucks over 7.5 t (22,218). makes lists every make per class with the id search accepts; models lists car models, including whole series such as '3er Reihe'. mobile.de publishes a structured model on car listings only - for motorbikes, vans and trucks the model is part of the title.

Do the filters really narrow the results?

Each one was checked live on 2026-09-15: the filtered total had to be smaller than the unfiltered one, and every returned row had to match. Out of 1,573,322 cars: private sellers 362,933, dealers 1,207,655, new cars 96,747, damaged only 47,779, VAT-deductible 671,096, rated 'very good price' 179,070, 200 kW and more 199,099, estates 248,300, within 20 km of central Berlin 40,306, and a BMW 3 Series up to 30,000 EUR 268. Invalid values - an unknown fuel, a radius mobile.de does not offer, a price minimum above the maximum - are rejected with an error instead of silently ignored.

How do I tell the price from the financing rate, the net price and the earlier price?

price is always the gross consumer price in EUR. price_net and vat_rate appear when the dealer publishes a net price (VAT-deductible vehicles). price_before_reduction is the earlier, higher price of a reduced listing. financing holds mobile.de's monthly financing example - rate, down payment, term, interest - and is never the price. A 1 EUR 'negotiable' placeholder keeps price 1 with price_is_symbolic true.

Are sponsored listings marked?

Yes, every row has placement and is_sponsored. top_ad is mobile.de's paid top slot, which stays first under every sort order; eyecatcher is a paid highlight at its normal position; page1_ad is the sponsored block mobile.de adds to page 1 regardless of filters. Nothing is removed and mobile.de's order is kept. On a private-seller search on 2026-09-15, all 20 in-list rows on page 1 were highlighted listings.

What is mobile.de's price rating?

mobile.de's own judgement of a car's price against comparable cars: very good, good, reasonable, increased or high price, with the price bands it uses. search can return only one rating level. mobile.de rates cars only and only when it has enough comparable vehicles; otherwise the rating is NO_RATING with mobile.de's reason. Across the 15 verification listings, all 6 cars carried a rating and no motorbike, van or truck did.

Is a private seller's name or phone number included?

No. Private sellers publish no name on mobile.de; their phone number, exact coordinates and messenger links are left out, and phone numbers or e-mail addresses typed into their descriptions are masked. The postcode and town remain. Dealers are named with their address, rating, opening hours and homepage; their phone numbers are left out as well unless you explicitly ask for contact data.

Can I get the labels in English?

Yes. language switches every text label - fuel, gearbox, seller type, attribute names, condition - between German, English, French, Italian, Spanish, Polish, Dutch, Romanian, Russian, Turkish and Czech. Numbers and ids are identical in every language: on the same listing, price, net price, mileage, power and engine size matched between German and English.

What does mobile.de not publish?

A postcode search: search takes a latitude, longitude and radius of 10, 20, 50, 100, 200 or 500 km. A price rating for motorbikes, vans or trucks. A structured model outside cars. A damage flag on search rows - listing has it. Mileage on many new cars, which is why they come first when you sort by mileage ascending.

What is the mobile.de API?

mobile.de API is a ReefAPI endpoint group for germany's largest vehicle marketplace: cars, motorbikes, vans and trucks as json. It returns live JSON through POST requests under /mobile-de/v1.

Is the mobile.de API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. mobile.de calls use the same shared credit balance as every other ReefAPI engine.

Do I need a mobile.de login or account?

No login to mobile.de is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the mobile.de data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the mobile.de API use?

mobile.de actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call mobile.de from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call mobile-de actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / mobile-de

mobile.de

Germany's largest vehicle marketplace: cars, motorbikes, vans and trucks as JSON.

base /mobile-de/v14 endpoints
post/mobile-de/v1/listing1 credit

The full mobile.de listing: gross price, net price and VAT rate when the dealer can issue a VAT invoice, the earlier price of a reduced listing, price type (fixed/negotiable), mobile.de's price rating with its band, condition and damage, first registration, mileage, power in kW and hp, fuel, gearbox, colours, every published attribute (label + value), the features list, highlights, description, all images, dates, and the seller: a dealer's name, address, rating, opening hours and homepage; a private seller's town only. A removed listing returns NOT_FOUND.

ParameterAllowed / rangeDescription
listing_idrequiredThe mobile.de ad id (every search row returns it) or a mobile.de listing url. Listings expire; take a fresh id from search.
language = deoptionalde · en · fr · it · es · pl · nl · ro · ru · tr · csLanguage of every text label (fuel, transmission, seller type, attribute labels, price display). Numbers and ids are identical in every language.
include_pii = falseoptionalReturn phone numbers, messenger links and private sellers' exact location. Off by default.
Try in playground →
post/mobile-de/v1/makes1 credit

Every make mobile.de offers for a vehicle class, with the make id the search action accepts.

ParameterAllowed / rangeDescription
vehicle_type = caroptionalcar · motorbike · van · truckWhich mobile.de vehicle class to search. car by default.
Try in playground →
post/mobile-de/v1/models1 credit

Every car model mobile.de lists for a make, including series groups (is_group true, e.g. '3er Reihe (Alle)'), with the model id the search action accepts. Cars only.

ParameterAllowed / rangeDescription
makerequiredMake name or mobile.de make id.
Try in playground →