Kleinanzeigen Scraper - Germany Classifieds & Seller Leads avatar

Kleinanzeigen Scraper - Germany Classifieds & Seller Leads

Pricing

from $4.00 / 1,000 classified ad scrapeds

Go to Apify Store
Kleinanzeigen Scraper - Germany Classifieds & Seller Leads

Kleinanzeigen Scraper - Germany Classifieds & Seller Leads

Scrape Kleinanzeigen.de, Germany's #1 classifieds. Cars, real estate, jobs, electronics, furniture & more — real prices, full attributes, all images, descriptions, geo, plus private/commercial seller leads. Filter by keyword, category, city, radius & price. Monitor new ads. Export JSON, CSV, Excel.

Pricing

from $4.00 / 1,000 classified ad scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Kleinanzeigen Scraper — Germany Classifieds, Prices & Seller Leads

Extract complete Kleinanzeigen.de data across every category — cars, real estate, jobs, electronics, furniture, fashion, pets, tickets and more — with the fields most scrapers miss: the real price and price type (fixed / VB-negotiable / free), the full structured attribute table (car make/model/mileage/fuel/year; flat rooms/m²/condition), the complete image gallery, the full description, location & zip, posted date, view count, and whether the seller is a private person or a commercial / pro dealer. Optionally roll every seller up into a ready-to-contact lead.

No login, no cookies stored, no browser — fast server-side HTML extraction straight from Kleinanzeigen with built-in retry and proxy rotation.

Why this Kleinanzeigen scraper?

Most Kleinanzeigen scrapers cover a single vertical (just cars) or return only the search card with a price as a string. This actor reads both the search pages and the ad pages and ships the richest, all-in-one dataset in the category:

DataTypical scrapersThis actor
All categories in one actor (cars, property, jobs, electronics…)❌ one vertical✅ every category
Real numeric price + price type (fixed / VB / free)partial✅ parsed number + type
Full structured attribute table (attributes)✅ nothing dropped
Car specs: make, model, mileage (km), year, fuel, gearbox, power
Property specs: rooms, , condition, available-from
Complete image gallery (full resolution)thumbnail only✅ full gallery
Location + zip codecity only
Seller type — private vs commercial / dealer
Seller leads (name, storefront, active ads, member-since, lead score)✅ opt-in
Commercial-dealer website / email / phone enrichment✅ opt-in
Monitoring mode — only new ads since last run

Use cases

  • Lead generation — Kleinanzeigen is full of commercial sellers: car dealers, electronics shops, furniture retailers, service providers. Turn them into a lead list (includeSellerLeads) with name, storefront, active-ad count, member-since, location, price range and a 0–100 lead score — plus optional website/email/phone for pro dealers.
  • Price & market intelligence — track asking prices and inventory for any product, car model or neighbourhood across Germany. Compare cities, watch how prices move, size up the used market.
  • Car & property research — pull thousands of structured car listings (make/model/year/km/fuel) or flats (rooms/m²/condition) for valuation models, dealer feeds, or buy-side sourcing.
  • Deal sniping & monitoring — schedule recurring runs in monitoring mode to capture only newly posted ads matching your saved search (a specific model under a price, in a city) — perfect for flippers and arbitrage.
  • Aggregators & marketplaces — feed your own vertical site, comparison tool, or CRM with clean, structured German classifieds data.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Kleinanzeigen Scraper, enter search queries and (optionally) a category, city, radius and price range, then click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"searchQueries": ["bmw 3er"],
"category": "Autos",
"location": "München",
"radius": 50,
"minPrice": 5000,
"maxPrice": 20000,
"offerType": "commercial",
"sort": "newest",
"includeListingDetails": true,
"includeSellerLeads": true,
"maxItems": 100
}
  • searchQueries — keywords, each combined with the filters. Leave empty to browse purely by category, or use startUrls.
  • startUrls — paste any Kleinanzeigen search/category page, ad page, or seller page; the best way to target a specific category or city with the exact filters you set on the site.
  • listingUrls — direct ad URLs (/s-anzeige/...) to scrape full detail for.
  • sellerUrls — seller storefront URLs to scrape that seller's active listings (and a lead record).
  • category — friendly name (Autos, Immobilien, Jobs, Elektronik, Handy & Telefon, Mode & Beauty, Haustiere, Eintrittskarten & Tickets) or a raw code like c216.
  • location / radius — city name (auto-resolved) and an optional km radius around it.
  • minPrice / maxPrice — price band in euros.
  • offerTypeany, private, or commercial (pro sellers only).
  • adTypeany, offer (Angebote) or wanted (Gesuche).
  • sortnewest, relevance, price_asc.
  • includeListingDetails (default false) — open each ad for the full description, attributes, gallery and seller.
  • includeSellerLeads (default false) — also output one deduplicated lead per seller (implies listing details).
  • enrichSellerContacts (default false) — best-effort website/email/phone for commercial dealers.
  • maxItems / maxSellerLeads — caps per run.
  • monitorMode (default false) — only emit ads/sellers not seen in previous runs (see below).

Output

One record per ad (type: "listing"), plus optional seller-lead records (type: "sellerLead"):

{
"type": "listing",
"listingId": "3421938471",
"adId": "3421938471",
"url": "https://www.kleinanzeigen.de/s-anzeige/bmw-116i-1er-2-hand-17-zoll-bbs-felgen-facelift/3421938471-216-5495",
"title": "BMW 116i | 1er | 2. Hand | 17 Zoll BBS Felgen | Facelift",
"price": 8900,
"priceText": "8.900 € VB",
"priceType": "negotiable",
"currency": "EUR",
"location": "13409 Berlin - Reinickendorf",
"zip": "13409",
"city": "Berlin - Reinickendorf",
"category": "Autos",
"categoryPath": ["Auto, Rad & Boot", "Autos", "BMW"],
"description": "Verkaufe meinen gepflegten BMW 116i …",
"attributes": {
"Marke": "BMW",
"Modell": "116",
"Kilometerstand": "130.551 km",
"Fahrzeugzustand": "Unbeschädigtes Fahrzeug",
"Erstzulassung": "Juni 2016",
"Kraftstoffart": "Benzin",
"Leistung": "109 PS",
"Getriebe": "Manuell",
"Fahrzeugtyp": "Limousine",
"Anzahl Türen": "4/5",
"HU bis": "Januar 2029",
"Umweltplakette": "4 (Grün)"
},
"imageCount": 12,
"images": ["https://img.kleinanzeigen.de/api/v1/prod-ads/images/…?rule=$_59.AUTO"],
"postedText": "27.05.2026",
"postedDate": "2026-05-27T00:00:00.000Z",
"viewCount": 412,
"sellerType": "commercial",
"sellerName": "AutoHaus Müller GmbH",
"sellerId": "89094776",
"sellerUrl": "https://www.kleinanzeigen.de/pro/autohaus-mueller",
"sellerActiveSince": "14.10.2021",
"sellerActiveAds": 38,
"sellerBadges": ["satisfaction", "friendly", "reliable"],
"detailScraped": true,
"searchQuery": "bmw 3er",
"scrapedAt": "2026-06-18T12:05:09.447Z"
}

Seller-lead record (type: "sellerLead"):

{
"type": "sellerLead",
"sellerId": "89094776",
"sellerName": "AutoHaus Müller GmbH",
"sellerType": "commercial",
"sellerUrl": "https://www.kleinanzeigen.de/pro/autohaus-mueller",
"activeSince": "14.10.2021",
"activeAds": 38,
"badges": ["satisfaction", "reliable"],
"location": "13409 Berlin - Reinickendorf",
"zip": "13409",
"categories": ["Autos"],
"minPrice": 4900,
"maxPrice": 48900,
"currency": "EUR",
"website": "https://autohaus-mueller.de",
"email": "info@autohaus-mueller.de",
"phone": "030 1234567",
"sampleListings": [{ "title": "BMW 116i", "price": 8900, "url": "https://www.kleinanzeigen.de/s-anzeige/…" }],
"leadScore": 84,
"scrapedAt": "2026-06-18T12:05:35.138Z"
}

Every category comes back with its own structured fields preserved in attributes, so nothing is ever lost — cars, property, jobs, electronics and the rest all keep their native specs.

Monitoring mode (only new ads)

Turn on monitorMode and the actor remembers which ads (or sellers) it has already emitted in a named key-value store, so each run returns only what's new. Combine it with Apify Schedules to build deal alerts and price-watchers: the schedule triggers the run, monitoring mode dedupes against everything seen before. Use a distinct monitorKey per saved search so different watches keep separate memory.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API — start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it hourly/daily to monitor new ads in a category, city or for specific keywords; ideal for deal alerts and lead pipelines.
  • Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/kleinanzeigen-scraper').call({
searchQueries: ['bmw 3er'],
category: 'Autos',
location: 'München',
offerType: 'commercial',
includeListingDetails: true,
includeSellerLeads: true,
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} Kleinanzeigen records`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new seller leads straight into your CRM.
  • Slack — get notified when a monitored search finds new ads.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find used BMWs under €15,000 in Munich on Kleinanzeigen and list the dealers" and let it run this scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete marketplace, classifieds & lead-gen stack:

Tips

  • Go deep with filters: Kleinanzeigen has tens of thousands of ads per query. To exhaust a niche, split runs by category, city and price band rather than relying on one broad query.
  • Categories & cities the easy way: browse Kleinanzeigen in your own browser, apply the filters you want, then paste the resulting URL into startUrls — the actor honours all of it and paginates for you.
  • Leads: turn on includeSellerLeads (optionally enrichSellerContacts) to get one deduplicated record per seller, sorted by lead score; set offerType: commercial to focus on dealers.
  • Recurring monitoring: combine Schedules with monitorMode and a per-search monitorKey to capture only newly listed ads.
  • Proxies: keep the default residential proxy group (Germany) — Kleinanzeigen serves residential IPs reliably; datacenter IPs are blocked.

FAQ

How do I scrape a specific city? Set location (e.g. Berlin, München) and optionally a radius in km. Or browse the site to a city and paste the URL into startUrls.

Can I scrape only cars / only real estate? Yes — set category to Autos, Immobilien, Jobs, Elektronik, Handy & Telefon, etc. (friendly name or raw c… code). For a precise sub-category, paste its URL into startUrls.

Do I get the seller's phone number? Kleinanzeigen hides most phone numbers behind a reveal step, so they aren't always available. Commercial dealers often publish a website, email and phone on their storefront/imprint — turn on enrichSellerContacts to best-effort capture them. Every seller always carries name, type, storefront URL, member-since and active-ad count.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I monitor new ads automatically? Turn on monitorMode, create a Schedule, and optionally add a webhook or Zapier zap to push new ads/leads into your CRM as they appear.

Is scraping Kleinanzeigen legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR for personal data) and Kleinanzeigen's terms.

A field is null — why? Sellers don't always fill in every spec (mileage, condition, exact location). Fields are null only when the seller didn't provide them, not because the scraper skipped them — and every raw attribute that is present is kept in attributes.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.