mobile.de Scraper icon

mobile.de Scraper

Scrape mobile.de vehicle listings with 30+ fields including price, mileage, registration, power, fuel, transmission, location and dealer details.…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

mobile.de Scraper at a glance

mobile.de Scraper is a ready-to-run Apify actor from abotapi for collecting automation data. Its documented output includes id, title, image, make and model, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.20 per 1,000 results on the Apify Free plan and from $1.60 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Automation, Developer Tools, Ecommerce
Region
Europe
Pricing
$2.20 per 1,000 results (Free plan), from $1.60 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
52 options

Scrape mobile.de vehicle listings with 30+ fields including price, mileage, registration, power, fuel, transmission, location and dealer details. Optional enrichment adds descriptions, equipment, images and dealer profiles.

What mobile.de Scraper can do

  • Two ways to find listings. Build a search from filters, or paste your own mobile.de search or vehicle links and let the actor walk the pages forward.
  • The widest filter set. Make and model (a single model like 320 or a whole series like 3er), postal code or town with radius, vehicle class, condition, fuel, transmission, body type, colour, seller type (dealer or private), price rating, listing age, VAT-reclaimable, seats, doors, previous owners, drive type, emission class, minimum seller rating, a description keyword, and price, year, mileage and power ranges. An unrecognised make, model or location stops the run with a clear message instead of silently searching everything.
  • Rich records without extra cost. Every search result already includes colour, doors, seats, previous owners, HU/TÜV date, accident-free flag, highlights, VAT status, mobile.de's price rating, seller type, seller id and seller phone numbers.
  • Optional full detail enrichment. Switch on Fetch full vehicle detail for engine size, cylinders, emission class, CO₂ and consumption, equipment list, description, full gallery, listing dates, make/model ids, and the seller's address, coordinates, WhatsApp, languages, opening hours and rating breakdown. You pay only for the listings it enriches.
  • Incremental monitoring for scheduled runs. Turn on incremental mode and each run returns only what is NEW, UPDATED (with the changed fields named) or REAPPEARED since the last run, and optionally what EXPIRED. Unchanged listings are skipped and not billed.
  • Sponsored placements under your control. Include mobile.de's paid top placements or filter them out, and see each listing's placement type.

Choose what to collect

These inputs let you configure mobile.de Scraper - Cars, Prices, Dealers & Vehicle Data. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredChoose how to find listings. Only fields belonging to the chosen mode are used.

Choices: search, url

vehicleClassstringVehicle category.

Choices: Car, Motorbike, VanUpTo7500, TruckOver7500, Bus, Trailer, Motorhome, SemiTrailer, SemiTrailerTruck, ConstructionMachine, AgriculturalVehicle, ForkLiftTruck

makestringManufacturer name as it appears on mobile.de (e.g. BMW, Audi, Mercedes-Benz, Volkswagen, Porsche). Leave empty for all makes.
modelstringModel or series name for the chosen Make, e.g. 320, X5, Golf, or a whole series like 3er. Requires a Make. An unknown model stops the run and lists valid names.
modelsarrayOne search per entry, format Make|Model (for example BMW|3er or Audi|A4); Make alone searches the whole make. Each entry is capped at an equal share of Max listings. Search mode only.
conditionstringVehicle condition.

Choices: , NEW, USED, EMPLOYEES_CAR, OLDTIMER, DEMONSTRATION, PRE_REGISTRATION

fuelsarrayMulti-select. Leave empty for any fuel.
Show 45 more inputs
More input fields
InputWhat it controls
transmissionstringGearbox type.

Choices: , AUTOMATIC_GEAR, MANUAL_GEAR, SEMIAUTOMATIC_GEAR

transmissionsarraySeveral gearbox types at once. Combined with the single transmission above when both are set.
bodyTypestringBody shape. Cars only.

Choices: , CABRIO, ESTATECAR, LIMOUSINE, OFFROAD, OTHERCAR, SMALLCAR, SPORTSCAR, VAN

bodyTypesarraySeveral body types at once. Combined with the single body type above when both are set.
countrystringCountry where the vehicle is offered. DE covers the bulk of mobile.de inventory.

Choices: , DE, AT, BE, BG, CH, CZ, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, NO, PL, PT, RO, SE, SI, SK, UA

zipcodestringPostal code or town in the chosen country (e.g. 10115 or München). Combine with Radius. A location that cannot be found stops the run with a message instead of searching the whole country.
radiusKmintegerSearch radius around the location. Rounded up to the nearest radius the site offers (10, 20, 30, 40, 50, 60, 70, 100, 150, 200, 250, 300, 500, 1000 km). Ignored unless a location is set.
priceFromintegerLower bound for price.
priceTointegerUpper bound for price.
yearFromintegerOldest first-registration year.
yearTointegerNewest first-registration year.
mileageFromintegerLower bound for mileage.
mileageTointegerUpper bound for mileage.
powerFromKwintegerLower bound for engine power in kW. 1 hp ~= 0.735 kW.
powerToKwintegerUpper bound for engine power in kW.
excludeDamagedbooleanHide vehicles flagged as damaged.
onlyDamagedbooleanShow ONLY vehicles flagged as damaged (overrides Exclude damaged).
exteriorColorsarrayMulti-select. Leave empty for any colour.
sellerTypestringDealers, private sellers, or company vehicles.

Choices: , DEALER, FSBO, COMM_FSBO

priceRatingsarrayOnly listings the site rates at these price levels versus the market. Leave empty for any.
onlineSinceDaysstringOnly listings published within this many days.

Choices: , 1, 3, 7, 14

vatReclaimablebooleanOnly listings where VAT can be shown on the invoice (useful for businesses).
minSeatsintegerMinimum number of seats (2-10).
doorsstringNumber of doors.

Choices: , TWO_OR_THREE, FOUR_OR_FIVE, SIX_OR_SEVEN

maxPreviousOwnersintegerUp to this many previous owners (1-4).
driveTypestringWhich wheels are driven.

Choices: , ALL_WHEEL, FRONT, REAR

emissionClassstringMinimum emission standard.

Choices: , EURO1, EURO2, EURO3, EURO4, EURO5, EURO6, EURO6C, EURO6D_TEMP, EURO6D, EURO6E, EURO7

minSellerRatingintegerOnly sellers rated at least this many stars (3-5).
keywordstringOnly listings whose description contains this text, e.g. panorama or Anhängerkupplung.
sortBystringHow results are ordered. In URL mode the order comes from the pasted link.

Choices: RELEVANCE, PRICE_ASC, PRICE_DESC, FIRST_REGISTRATION_DESC, FIRST_REGISTRATION_ASC, MILEAGE_ASC, MILEAGE_DESC, CREATION_TIME, CREATION_TIME_ASC

urlsarrayPaste one or more mobile.de search or vehicle URLs. Each search URL is auto-paginated forward until Maximum Pages or Maximum Listings. Vehicle detail URLs are scraped directly. Filter fields are ignored in URL mode. Search links (search.html, with filters, sort order, a start page or another vehicle class), vehicle detail links, make/model pages such as /auto/audi-a4.html, fuel category pages such as /auto/elektro.html, body-type pages such as /auto/kombi.html and marketing landing pages such as /lp/audi-a4-angebote/, legacy /auto-inserat/ vehicle links and m.mobile.de links all work. Left untouched, URL mode scrapes the twelve example links.
fetchDetailsbooleanPull extra fields per listing from the detail page: full description, equipment list, full image gallery, registration codes (HSN/TSN), highlights, finance plan, and full dealer profile with address, opening hours, languages, phones list. Adds ~1 fetch per listing.
reviewLimitintegerWith Fetch full vehicle detail on, also return the newest customer reviews of the listing's dealer (reviewer, rating, date, text, and friendliness, advice and response-time scores) in dealerReviews. 0 (the default when the field is omitted) turns reviews off; the Console form pre-fills 20. Private sellers have none. Each started block of 10 delivered reviews is billed as one detail-enrichment unit, on top of the detail charge for the listing.
includeSponsoredbooleanMobile.de injects 1-3 paid sponsored placements at the top of every result page; these always appear regardless of your filter. Off by default so filtered runs only return matching listings. Turn on if you want every entry the user sees, sponsored placements included.
maxListingsintegerStop after this many listings across the whole run. 0 means no limit. In incremental mode only listings that are returned count towards it.
maxPagesintegerOptional page cap per search. Leave at 0 to let Maximum listings decide how much to collect; the actor never walks more than 1000 pages per search, and mobile.de itself shows at most 50 pages (about 1,000 listings) per search, so for very large searches split by model, price or location.
resumeFromRunIdstringPaste a previous run ID or dataset ID to continue an interrupted collection. Listings already in that run's dataset are skipped, so they are neither returned nor charged again. Leave empty for a new collection; do not combine with recurring updates.
incrementalModebooleanTurn this on for daily or recurring monitoring. The first run returns all matching listings as NEW. Later runs normally return only NEW, UPDATED and REAPPEARED listings, each marked with changeType (and changedFields for updates). Turn on "Emit unchanged" or "Emit expired" only when you also want those listings returned (and billed). A listing counts as UPDATED when any returned field changes (price, mileage, description, images, features, seller details and so on) except these, which never count: rating, reviewCount, sellerRecommendationRate, sellerAdRealityRate, sellerScore, sellerActiveRatingCount, sellerRecommendPercentage, sellerVehicleAsDescribedPercentage, priceRanges, dealerReviews, modifiedAt, renewedAt and listingType; add your own in "Ignore fields when detecting changes". Excluded fields are still returned. State is kept separately for each search setup; use State key when you want to name or deliberately share a monitoring campaign.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the mode, URLs and filter settings, so different searches never mix state with each other.
emitUnchangedbooleanOff by default. Turn on to also return listings that have not changed since the last run, marked UNCHANGED. This returns (and bills) extra rows you already have, so leave it off unless you want the full snapshot every run.
emitExpiredbooleanOff by default. Turn on to also return listings that were present in a previous run but are no longer found, marked EXPIRED. Only produced when a run has scanned every result of every tracked search (all pages read, nothing cut short by Maximum listings or Maximum pages, no page that failed to load). This returns (and bills) extra rows, so leave it off unless you need expiry tracking.
ignoreFieldsForChangesarrayOutput field names that should NOT make a listing count as UPDATED. Always ignored: seller-level ratings (rating, reviewCount, sellerRecommendationRate, sellerAdRealityRate), which change for every listing of a dealer when one review arrives; modifiedAt and renewedAt, which move on dealer feed syncs and renewals; and listingType (the paid placement). Add fields such as description or images here if changes to them are not relevant to you. Ignored fields are still returned in the output.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON; the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

idID (text)
titleTitle (text)
previewImageImage (image)
makeMake (text)
modelModel (text)
pricePrice (number)
priceRatingLabelPrice rating (text)
currencyCurrency (text)
firstRegistrationFirst reg. (text)
mileageKmMileage (km) (number)
powerKwPower (kW) (number)
powerHpPower (PS) (number)
Show 39 more fields
fuelFuel (text)
transmissionGearbox (text)
cityCity (text)
countryCountry (text)
urlURL (link)
categoryCategory (text)
numImages# Images (number)
descriptionDescription (text)
dealerReviewsdealerReviews
sellerNameSeller (text)
sellerTypeSeller type (text)
sellerPhonesPhones (array)
zipPostal code (text)
sellerAddressAddress (with details) (text)
ratingRating (number)
reviewCountReviews (number)
colorColour (text)
doorsDoors (text)
seatsSeats (number)
previousOwnersPrevious owners (number)
huDateHU/TÜV until (text)
accidentFreeAccident-free (boolean)
cubicCapacityCcmEngine (cm³) (number)
emissionClassEmission class (text)
fuelConsumptionConsumption (text)
co2EmissionsCO₂ (text)
createdAtListed at (date)
changeTypeChange (text)
changedFieldsChanged fields (array)
firstSeenAtFirst seen (date)
lastSeenAtLast seen (date)
reviewIdReview ID (text)
reviewerReviewer (text)
dateDate (text)
textReview (text)
purchasedVehicle purchased (boolean)
friendlinessFriendliness (number)
adviceAdvice (number)
responseTimeResponse time (number)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "id": "398217655",
  "url": "https://suchen.mobile.de/fahrzeuge/details.html?id=398217655",
  "title": "Audi A4",
  "make": "Audi",
  "model": "A4",
  "subTitle": "Avant 40 TDI S line",
  "category": "Kombi",
  "price": 28900,
  "priceFormatted": "28.900 €",
  "currency": "EUR",
  "priceRating": "GOOD_PRICE",
  "priceRatingLabel": "Good price",
  "vatDeductible": true,
  "firstRegistration": "03/2020",
  "mileageKm": 45000,
  "powerKw": 140,
  "powerHp": 190,
  "fuel": "DIESEL",
  "transmission": "AUTOMATIC_GEAR",
  "color": "Schwarz Metallic",
  "doors": "4/5",
  "seats": 5,
  "previousOwners": 1,
  "huDate": "06/2027",
  "accidentFree": true,
  "highlights": [
    "Sitzheizung",
    "Navigation"
  ],
  "cubicCapacityCcm": 1968,
  "emissionClass": "Euro6d",
  "co2Emissions": "132 g/km",
  "fuelConsumption": "5,0 l/100km (kombiniert)",
  "createdAt": "2026-09-01T08:00:00Z",
  "city": "Muenchen",
  "zip": "80331",
  "country": "DE",
  "listingType": "regular",
  "sponsored": false,
  "numImages": 24,
  "previewImage": "https://img.classistatic.de/api/v1/mo-prod/images/sample.jpg?rule=mo-1600",
  "sellerName": "Autohaus Beispiel GmbH",
  "sellerType": "DEALER",
  "sellerId": 1234567,
  "sellerPhones": [
    "+490000000000"
  ],
  "sellerAddress": "Beispielstraße 1, DE-80331 Muenchen",
  "sellerLatitude": 48.1,
  "sellerLongitude": 11.5,
  "sellerSince": "2015-04-01",
  "rating": 4.7,
  "reviewCount": 312,
  "sellerRecommendationRate": 92,
  "description": "Sample seller description text describing the vehicle's condition and history.",
  "features": [
    "Navigation",
    "Sitzheizung",
    "Xenon-Scheinwerfer"
  ],
  "dealerReviews": [
    {
      "reviewId": "4601425406",
      "reviewer": "Ralph",
      "rating": 3.3,
      "date": "2026-08-03",
      "text": "Sample review text.",
      "purchased": true,
      "friendliness": 4,
      "advice": 3,
      "responseTime": 3
    }
  ]
}

Ways to use this data

  • Dealer and inventory monitoring: track a make, model range or price band across mobile.de for pricing and stock research.
  • Marketplace aggregation: pull structured German vehicle listings into your own search or comparison site.
  • Lead generation for auto dealers: collect seller names, cities and ratings for outreach or competitive analysis.
  • Pricing and valuation models: build a dataset of price against mileage, year and power for data science and appraisal work.
  • Personal car shopping: run a saved mobile.de search URL and get every matching listing back as structured data.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does mobile.de Scraper return?

The documented output for mobile.de Scraper includes id, title, image, make, model, price, price rating and currency. Availability of each field depends on the source page and the selected mode.

How much does mobile.de Scraper cost?

It costs $2.20 per 1,000 results on the Apify Free plan and from $1.60 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

How do Model and Location work?

Model accepts a single model (320, X5, Golf) or a whole series (3er); the actor looks up mobile.de's own model list for your make. Location accepts a postal code or a town and is looked up the same way mobile.de's search box does it, then combined with Radius. If either cannot be matched, the run stops and tells you, rather than quietly searching without it.

Which fields need Fetch full vehicle detail?

Price rating, colour, doors, seats, owners, HU date, transmission, category, seller type and phone numbers come with every search result. Engine and emission data, the equipment list, description, full gallery, listing dates and the seller's address, coordinates, opening hours and rating breakdown come from the detail page, so they need Fetch full vehicle detail (vehicle links pasted directly in URL mode are always read in full).

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, or pull results from the dataset through the API.

Ready to collect with mobile.de Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.