{"id":"f88b7178-f40d-4a06-9dd4-c40377576b51","slug":"mobile-de-api","name":"mobile.de API","description":"mobile.de API","front_facing_description":"Access data from mobile.de.","source_url":"https://www.mobile.de","is_authenticated":false,"canonical_scraper_id":"d7089ec7-9f8a-4eb5-b9d4-4459c81f24f7","apis":[{"method":"GET","endpoint_name":"list_makes","description":"Returns the full list of car makes (brands) that mobile.de's car search offers, each with its numeric make_id and display name. One round trip; the list has around 180 entries and is not paginated. make_id is the value search_listings and list_models take as make_id.","input_params":{},"return_schema":{"type":"object","fields":{"count":"integer number of makes returned","makes":"array of {make_id: string numeric id, name: string brand label}"},"sample":{"data":{"count":182,"makes":[{"name":"Abarth","make_id":"140"},{"name":"BMW","make_id":"3500"},{"name":"Andere","make_id":"1400"}]},"status":"success"}},"initiates_session":false,"price":5,"verification":{"assertions":[{"path":"$.status","op":"equals","value":"success"},{"path":"$.data.makes","op":"array_min_len","value":50},{"path":"$.data.makes[*]","op":"field_present","value":"make_id"},{"path":"$.data.makes[*]","op":"field_present","value":"name"}],"empty_is_valid":false,"recipe_version":1}},{"method":"GET","endpoint_name":"list_models","description":"Returns the model options mobile.de offers for one make: every entry has a model_id (a plain numeric id for a single model, or a 'group-<n>' id for a whole model series such as '1er Reihe (Alle)'), its label, the series group label it belongs to when the site groups it, and is_group. One cheap round trip. An unknown make_id yields an empty models list. model_id is the value search_listings takes as model_id together with the same make_id.","input_params":{"make_id":{"type":"string","required":true,"description":"Numeric make id from list_makes.makes[*].make_id.","domain":{"kind":"derived","generator":{"path":"$.data.makes[*].make_id","type":"derived","from_endpoint":"list_makes"}}}},"return_schema":{"type":"object","fields":{"count":"integer number of model options","models":"array of {model_id: string, name: string, group: string or null series label, is_group: boolean}","make_id":"string, the make id queried"},"sample":{"data":{"count":172,"models":[{"name":"1er Reihe (Alle)","group":"1er Reihe","is_group":true,"model_id":"group-20"},{"name":"130","group":"1er Reihe","is_group":false,"model_id":"5"},{"name":"2002","group":null,"is_group":false,"model_id":"71"}],"make_id":"3500"},"status":"success"}},"initiates_session":false,"price":1,"verification":{"assertions":[{"path":"$.status","op":"equals","value":"success"},{"path":"$.data.models","op":"array_min_len","value":1},{"path":"$.data.models[*]","op":"field_present","value":"model_id"},{"path":"$.data.models[*]","op":"field_present","value":"name"}],"empty_is_valid":false,"recipe_version":1}},{"method":"GET","endpoint_name":"search_listings","description":"Searches used car listings on mobile.de (condition fixed to used) and returns one page of up to 20 listing summaries plus the site's total match count. Filters: make/model, price range in EUR, first-registration year range, mileage range in km, fuel type, transmission, seller type, and a zip code with radius (the zip is resolved to coordinates through the site's own location lookup; when it resolves to nothing the result is an empty page with a location_note). Sorting by relevance, price or mileage in either direction. Pagination is by page (1-based, 20 listings per page, pages beyond 50 are not accepted); has_more is true while more pages exist. Each listing carries a listing_id that get_listing_details accepts. Every call costs one page fetch, plus one lookup when zip_code is given. Sponsored placements (listing_type topOfPage) are included and flagged with is_sponsored. Listings without a make filter span the whole marketplace.","input_params":{"page":{"type":"integer","required":false,"description":"1-based result page; 20 listings per page, maximum 50.","default":1},"country":{"type":"string","required":false,"description":"2-letter ISO country code the zip_code belongs to.","default":"DE"},"make_id":{"type":"string","required":false,"description":"Numeric make id from list_makes.makes[*].make_id. Omitted = all makes.","domain":{"kind":"open","example":"3500","pattern":"^\\d+$","generator":{"type":"static","value":"3500"}}},"sort_by":{"type":"string","required":false,"description":"Sort key.","default":"rel","enum":"SortBy","closed":true},"max_year":{"type":"integer","required":false,"description":"Latest first-registration year."},"min_year":{"type":"integer","required":false,"description":"Earliest first-registration year (e.g. 2015)."},"model_id":{"type":"string","required":false,"description":"Model id from list_models.models[*].model_id for the given make_id (plain number for one model, group-<n> for a whole series). Requires make_id."},"zip_code":{"type":"string","required":false,"description":"Postal code (or place name) to search around, e.g. 10115. Resolved with the site's location lookup in the given country; the first match is used. Omitted = no location restriction."},"fuel_type":{"type":"string","required":false,"description":"Fuel type filter. Omitted = any fuel.","enum":"FuelType","closed":true},"max_price":{"type":"integer","required":false,"description":"Maximum price in EUR.","domain":{"kind":"open","example":"20000","pattern":"^\\d+$","generator":{"type":"static","value":"20000"}}},"min_price":{"type":"integer","required":false,"description":"Minimum price in EUR."},"radius_km":{"type":"string","required":false,"description":"Search radius around zip_code; only applied when zip_code is given.","default":"50","enum":"RadiusKm","closed":true},"sort_order":{"type":"string","required":false,"description":"Sort direction (up = ascending, down = descending).","default":"up","enum":"SortOrder","closed":true},"max_mileage":{"type":"integer","required":false,"description":"Maximum mileage in km."},"min_mileage":{"type":"integer","required":false,"description":"Minimum mileage in km."},"seller_type":{"type":"string","required":false,"description":"Seller type filter. Omitted = all sellers.","enum":"SellerType","closed":true},"transmission":{"type":"string","required":false,"description":"Transmission filter. Omitted = any transmission.","enum":"Transmission","closed":true}},"return_schema":{"type":"object","fields":{"page":"integer page returned","count":"integer listings on this page","has_more":"boolean, another page exists","listings":"array of listing summaries: listing_id (string), title, make, model, price_eur (integer), price_rating (site label e.g. GOOD_PRICE), mileage_km (integer), first_registration (MM/YYYY), power_kw, power_ps, fuel, transmission, category, location {country, zip_code, city, text}, seller_type (DEALER/FSBO/COMM_FSBO), seller_name (dealer name or 'Privatanbieter' for private sellers), seller_id, seller_rating {count, score} or null, num_images, thumbnail_url, detail_url, listing_type, is_sponsored","location":"object {name, latitude, longitude, radius_km} when zip_code was resolved, else null","total_results":"integer total matches reported by the site"},"sample":{"data":{"page":1,"count":9,"has_more":false,"listings":[{"fuel":"Diesel","make":"BMW","model":"525","title":"BMW 525 d/Automatik/Sport/Memory/Leder","category":"Kombi","location":{"city":"Berlin","text":"12439 Berlin","country":"DE","zip_code":"12439"},"power_kw":160,"power_ps":218,"price_eur":16999,"seller_id":"14229618","detail_url":"https://suchen.mobile.de/fahrzeuge/details.html?id=444436156","listing_id":"444436156","mileage_km":118959,"num_images":28,"seller_name":"Auto Center 24","seller_type":"DEALER","is_sponsored":false,"listing_type":"regular","price_rating":"GOOD_PRICE","transmission":"Automatik","seller_rating":{"count":8,"score":4.5},"thumbnail_url":"https://img.classistatic.de/api/v1/mo-prod/images/ed/ed27f98d-189f-4c6a-87fa-a4d32966e34d?rule=mo-1600","first_registration":"11/2016"}],"location":{"name":"10115, Mitte, Berlin","latitude":52.532614,"longitude":13.3777035,"radius_km":100},"total_results":9},"status":"success"}},"initiates_session":false,"price":5,"verification":{"assertions":[{"path":"$.status","op":"equals","value":"success"},{"path":"$.data.listings","op":"array_min_len","value":1},{"path":"$.data.listings[*]","op":"field_present","value":"listing_id"},{"path":"$.data.listings[*]","op":"field_present","value":"price_eur"},{"path":"$.data.total_results","op":"type_is","value":"number"}],"empty_is_valid":false,"recipe_version":1}},{"method":"GET","endpoint_name":"get_listing_details","description":"Returns the full detail of one listing: title, make/model with ids, price with rating, the complete technical attribute list (also flattened into mileage_km, first_registration, power_kw/power_ps, fuel, transmission, cubic capacity, emission class, color, interior, seats, doors, HU), the equipment/features list, seller highlights, the plain-text description, all image URLs, and the seller block (type, name, address, coordinates, phone numbers, messengers, opening hours, rating, homepage, contact person). Private-seller listings carry no name, phones or rating in the seller block. One round trip. An id the site no longer knows returns an input_not_found error.","input_params":{"listing_id":{"type":"string","required":true,"description":"Numeric listing id from search_listings.listings[*].listing_id. A mobile.de listing URL containing the id is also accepted.","domain":{"kind":"derived","generator":{"path":"$.data.listings[*].listing_id","type":"derived","from_endpoint":"search_listings"}}}},"return_schema":{"type":"object","fields":{"hu":"next inspection (MM/YYYY or Neu) or null","sku":"dealer stock number or null","fuel":"string","make":"make label; make_id its id","color":"string or null","model":"model label; model_id its id","title":"full listing title; short_title and sub_title split it into make/model and seller-added text","images":"array of full-size image URLs","seller":"object {seller_id, type, type_label, name, address1, address2, country, latitude, longitude, phones [{type, number}], messengers [{type, number, url}], languages, with_mobile_since, opening_hours [{day, time}], rating, homepage_url, logo_url, contact_person}","features":"array of equipment strings","interior":"string or null","power_kw":"integer","power_ps":"integer","condition":"site condition label (e.g. Gebrauchtfahrzeug)","num_seats":"string or null","price_eur":"integer price; price_currency, price_localized, price_type (e.g. FIXED), price_rating and price_rating_label accompany it","attributes":"array of {tag, label, value}: every technical attribute the site lists; value is a string, or an array of strings for multi-line attributes such as consumption details","created_at":"unix timestamp (seconds) the listing was created","detail_url":"canonical listing URL","door_count":"string or null","highlights":"array of seller highlight strings","listing_id":"string id","mileage_km":"integer","youtube_id":"string or null","description":"plain-text seller description or null","modified_at":"unix timestamp (seconds) of last modification","transmission":"string","emission_class":"string or null","cubic_capacity_ccm":"integer or null","first_registration":"MM/YYYY"},"sample":{"data":{"hu":"Neu","sku":"5C51751","fuel":"Benzin","make":"BMW","color":"Rot Metallic","model":"218 Gran Tourer","title":"BMW 218 GRAN TOURER SPORT AUTOMAT+KLIMA+NAV+PANO+TÜV","images":["https://img.classistatic.de/api/v1/mo-prod/images/cc/cce5c6a0-6f14-4ff2-990e-f4b86137af2a?rule=mo-1600"],"seller":{"name":"Reffgen & Schmuck Automobile GmbH","type":"DEALER","phones":[{"type":"PHONE1","number":"+49 (0)621 76222313"}],"rating":{"count":11,"score":4.8,"totalCount":275,"scoreLocalized":"4,8","recommendationRate":90},"country":"DE","address1":"Radeberger Straße 1","address2":"DE-68309 Mannheim","latitude":49.5149944,"logo_url":"https://img.classistatic.de/api/v1/mo-prod/images/ad/ad56b323-5323-4125-8740-d32c4d0eb8bc?rule=mo-1600","languages":"Deutsch, English","longitude":8.5502054,"seller_id":"9564498","messengers":[{"url":"https://wa.me/4915238214176?ref=wa","type":"WHATS_APP","number":"+49 1523 8214176"}],"type_label":"Händler","homepage_url":"https://home.mobile.de/home/redirect.html?customerId=9564498","opening_hours":[{"day":"Mo","time":"09:00 Uhr - 18:00 Uhr"}],"contact_person":{"name":"Max Mustermann","role":"Verkauf"},"with_mobile_since":"Bei mobile.de seit 21.03.2013"},"make_id":"3500","category":"Van","features":["ABS","Abstandswarner","Zentralverriegelung"],"interior":"Stoff, Schwarz","model_id":"112","power_kw":100,"power_ps":136,"condition":"Gebrauchtfahrzeug","num_seats":"5","price_eur":14960,"sub_title":"218 GRAN TOURER SPORT AUTOMAT+KLIMA+NAV+PANO+TÜV","attributes":[{"tag":"mileage","label":"Kilometerstand","value":"83.900 km"},{"tag":"power","label":"Leistung","value":"100 kW (136 PS)"}],"created_at":1788424797,"detail_url":"https://suchen.mobile.de/auto-inserat/bmw-218-gran-tourer-sport-automat-klima-nav-pano-t%C3%BCv-mannheim/43415955801344.html","door_count":"4/5","highlights":["Allwetter,Tempomat"],"listing_id":"43415955801344","mileage_km":83900,"price_type":"FIXED","youtube_id":"wAsqHpWm6hg","description":"BMW 218i – Flamencorot Brillant. Sportlich, vielseitig ...","modified_at":1790590542,"short_title":"BMW 218 Gran Tourer","price_rating":"INCREASED_PRICE","transmission":"Automatik","emission_class":"Euro6","price_currency":"EUR","price_localized":"14.960 €","cubic_capacity_ccm":1499,"first_registration":"05/2016","price_rating_label":"Erhöhter Preis"},"status":"success"}},"initiates_session":false,"price":3,"verification":{"assertions":[{"path":"$.status","op":"equals","value":"success"},{"path":"$.data.listing_id","op":"not_null"},{"path":"$.data.title","op":"not_null"},{"path":"$.data.attributes","op":"array_min_len","value":1},{"path":"$.data.images","op":"type_is","value":"array"},{"path":"$.data.seller","op":"type_is","value":"object"}],"empty_is_valid":false,"recipe_version":1}}],"sample_inputs":{"list_makes":{},"list_models":{"make_id":"140"},"search_listings":{"make_id":"3500","max_price":"20000"},"get_listing_details":{"listing_id":"47014773693440"}},"prefill_inputs":{"search_listings":{"make_id":"3500","max_price":"20000"}},"last_verified_at":"2026-10-27T20:01:53.041202+00:00","endpoint_health":[{"endpoint_name":"get_listing_details","status":"healthy","last_checked_at":"2026-10-27T20:01:53.041202+00:00","last_verified_at":"2026-10-27T20:01:53.041202+00:00","recent_runs":[{"at":"2026-10-27T20:01:53.041202+00:00","status":"healthy"},{"at":"2026-10-27T18:04:25.345793+00:00","status":"healthy"},{"at":"2026-10-20T17:03:52.919853+00:00","status":"healthy"},{"at":"2026-10-13T17:02:25.252082+00:00","status":"healthy"},{"at":"2026-10-06T16:02:52.954433+00:00","status":"healthy"}]},{"endpoint_name":"list_makes","status":"healthy","last_checked_at":"2026-10-27T20:01:53.041202+00:00","last_verified_at":"2026-10-27T20:01:53.041202+00:00","recent_runs":[{"at":"2026-10-27T20:01:53.041202+00:00","status":"healthy"},{"at":"2026-10-27T18:04:25.345793+00:00","status":"blocked"},{"at":"2026-10-20T17:03:52.919853+00:00","status":"healthy"},{"at":"2026-10-13T17:02:25.252082+00:00","status":"healthy"},{"at":"2026-10-06T16:02:52.954433+00:00","status":"healthy"}]},{"endpoint_name":"list_models","status":"healthy","last_checked_at":"2026-10-27T20:01:53.041202+00:00","last_verified_at":"2026-10-27T20:01:53.041202+00:00","recent_runs":[{"at":"2026-10-27T20:01:53.041202+00:00","status":"healthy"},{"at":"2026-10-27T18:04:25.345793+00:00","status":"blocked"},{"at":"2026-10-20T17:03:52.919853+00:00","status":"healthy"},{"at":"2026-10-13T17:02:25.252082+00:00","status":"healthy"},{"at":"2026-10-06T16:02:52.954433+00:00","status":"healthy"}]},{"endpoint_name":"search_listings","status":"healthy","last_checked_at":"2026-10-27T20:01:53.041202+00:00","last_verified_at":"2026-10-27T20:01:53.041202+00:00","recent_runs":[{"at":"2026-10-27T20:01:53.041202+00:00","status":"healthy"},{"at":"2026-10-27T18:04:25.345793+00:00","status":"healthy"},{"at":"2026-10-20T17:03:52.919853+00:00","status":"healthy"},{"at":"2026-10-13T17:02:25.252082+00:00","status":"healthy"},{"at":"2026-10-06T16:02:52.954433+00:00","status":"healthy"}]}],"sdk_usage_example":null,"sdk_delivery_state":"absent","summary":"Search used car listings on mobile.de with make/model, price, first-registration year, mileage, fuel, transmission and zip-code radius filters, fetch full listing details by id, and look up the make and model ids the search accepts.","updated_at":"2026-09-28T21:09:02.865708+00:00","user_variants":[],"latest_version":1,"user_status":null,"user_scraper_id":null,"contributes_to_marketplace":true,"pinned_version":null,"seo_content":{"faqs":[{"a":"mobile.de previously offered a partner API documented at dev.mobile.de, but it has been discontinued and is no longer publicly available. This Parse API provides structured access to the same listing data.","q":"Does mobile.de have an official developer API?"},{"a":"`list_models` returns two kinds of `model_id`: a plain numeric string for a single model variant, and a `group-<n>` string for an entire model series (e.g. all variants of a BMW 1 Series). Passing a `group-<n>` id to `search_listings` matches all models within that series. The `is_group` boolean on each entry tells you which type you have.","q":"How do `model_id` values from `list_models` work in search?"},{"a":"Each page returns up to 20 listings. The `page` parameter is 1-based and accepts values up to 50, meaning you can retrieve at most 1,000 listings per query. `has_more` indicates whether a subsequent page exists. `total_results` reflects the site's full match count, which may exceed the 1,000-listing retrieval ceiling.","q":"What are the pagination limits for `search_listings`?"},{"a":"The API covers used car listings only. `search_listings` fixes the condition to used. New car inventory is not currently exposed. You can fork this API on Parse and revise it to add a new-car search endpoint.","q":"Does the API return new car listings or only used cars?"},{"a":"Not currently. The response covers technical attributes, pricing, seller contact data, equipment features, and images. Financing rates or leasing terms shown on some listings are not included in the current response shape. You can fork this API on Parse and revise it to add those fields.","q":"Does `get_listing_details` return financing or leasing information?"}],"keywords":["mobile.de API","used car listings API Germany","mobile.de used cars search API","car price data API EUR","vehicle listing details API","automotive marketplace API Germany","make model lookup API mobile.de","used car mileage filter API","car dealer listings API","zip code radius car search API","emission class vehicle data API","mobile.de listing scraper API","first registration year filter API","car equipment features API"],"use_cases":["Build a used car price tracker that monitors EUR prices for specific make/model combinations on mobile.de over time.","Aggregate dealer inventory by querying `search_listings` with `seller_type` set to dealer and extracting structured seller contact data.","Power a vehicle comparison tool using `get_listing_details` fields like `power_kw`, `mileage_km`, `emission_class`, and `features`.","Create a geographic car search app by resolving German postal codes via `zip_code` and `radius_km` in `search_listings`.","Populate make/model dropdowns in a search UI using `list_makes` and `list_models` with their numeric ids.","Identify underpriced listings by filtering on `price_rating` values like `GOOD_PRICE` across paginated search results.","Extract listing images for a visual car catalogue using the `images` array from `get_listing_details`."],"meta_title":"mobile.de API – Used Car Listings & Search","generated_at":"2026-09-28T21:10:37.599370+00:00","lead_paragraph":"The mobile.de API exposes 4 endpoints covering used car search and listing data from Germany's largest automotive marketplace. Use `search_listings` to query by make, model, price range, mileage, fuel type, transmission, and zip-code radius, then call `get_listing_details` to retrieve the full record including technical attributes, equipment features, images, and structured seller contact information.","schema_version":2,"meta_description":"Search used car listings on mobile.de by make, model, price, mileage, and location. Fetch full listing details including specs, images, and seller info.","primary_category":"automotive","long_description_md":"## Endpoints and Data Coverage\n\nThe API provides four endpoints: `list_makes` returns all ~180 car brands the site indexes, each with a numeric `make_id` and display name. `list_models` accepts a `make_id` and returns every model option for that brand, including both individual models (plain numeric `model_id`) and grouped series entries (`group-<n>` ids, e.g. \"1er Reihe (Alle)\"), along with a `group` label and an `is_group` boolean so you can distinguish them.\n\n## Searching Listings\n\n`search_listings` returns up to 20 listing summaries per page across a maximum of 50 pages. Filter parameters include `make_id`, `model_id`, `min_year`/`max_year` for first-registration year, price and mileage ranges in EUR and km respectively, `fuel`, `transmission`, `seller_type`, and a `zip_code` with optional `country` and radius for geographic filtering. Each summary in the `listings` array includes `listing_id`, `title`, `make`, `model`, `price_eur`, a `price_rating` label (e.g. `GOOD_PRICE`), and basic vehicle attributes. The `total_results` field reflects the site's reported match count, and `has_more` signals whether additional pages exist. When a `zip_code` resolves, the `location` object returns the resolved place name, latitude, longitude, and radius in km.\n\n## Full Listing Details\n\n`get_listing_details` accepts a `listing_id` from search results and returns the complete record. Technical fields include `mileage_km`, `first_registration`, `power_kw`, `power_ps`, `fuel`, `transmission`, `cubic_capacity`, `emission_class`, `color`, `interior`, `seats`, `doors`, and `hu` (next inspection date). The `features` array lists all equipment strings. The `seller` object contains `seller_id`, `type`, `name`, address fields, coordinates, and structured `phones` and `messengers` arrays. The `images` array provides full-size image URLs.","generated_with_model":"global.anthropic.claude-sonnet-4-6","secondary_categories":["marketplace","ecommerce"]},"primary_category":"automotive","secondary_categories":["marketplace","ecommerce"],"access_requirements":[]}