Kleinanzeigen.de Scraper (Richest output) avatar

Kleinanzeigen.de Scraper (Richest output)

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Kleinanzeigen.de Scraper (Richest output)

Kleinanzeigen.de Scraper (Richest output)

Extract detailed listings from Kleinanzeigen.de, saving you time by automating data collection for property, product, and service ads. It helps in market analysis, competitor research, and lead generation, providing accurate and timely insights from one of Germany's largest classifieds platforms.

Pricing

from $1.50 / 1,000 results

Rating

5.0

(4)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

7

Bookmarked

142

Total users

6

Monthly active users

3 days ago

Last modified

Share

Kleinanzeigen.de Scraper

Two Apify Store listings, both pay-per-result, both shipping from this codebase and returning the same fields:

What it does

Scrapes classified listings from kleinanzeigen.de (formerly eBay Kleinanzeigen). One row per ad with title, price, full description, location with latitude/longitude, posting date, seller type and info, category and sub-category, shipping options, item specifications (brand, model, condition, size, etc.), and image URLs at six resolutions.

Works on cars, real estate, electronics, jobs, services, and every other category on the site.

Two ways to start a run

A. Paste search or listing URLs. Any kleinanzeigen.de/s-... URL works. The actor paginates through search results. Any filters you already selected on the site (price, radius, seller type, etc.) stay in the URL and are respected as-is.

B. Type keywords and pick filters. No URL building required. Type what you'd type into the search bar on the site, pick a city or zip, set a radius, pick a category from the dropdown, and set price range, sort order, seller type, offer type, shipping preference, buy-now, and photos-only. The actor builds the Kleinanzeigen URL for you.

Both options can be used in the same run.

Features

  • Search by pasted URL, by keyword, or both in one run.
  • 145-entry category dropdown mapped to Kleinanzeigen's category tree.
  • Location resolution by city name, district name, or 5-digit zip code.
  • Filters for price range, radius, sort order (newest, price ascending, distance, recommended), seller type (private / commercial), offer type (Angebote / Gesuche), shipping, buy-now, and photos-only.
  • Optional full-detail mode: the actor opens each listing's own page to grab the full description, item specifications, view count, seller name, member-since date, and (for commercial sellers) phone number and imprint.
  • Monitoring mode: emit only listings not seen in previous runs of the same actor task — useful for daily "new listings" alerts.
  • Optional image download into the run's key-value store.
  • Automatic pagination through search results.
  • Built-in residential-proxy path (no setup, no extra cost), overrideable with your own proxy URLs.
  • Cross-run deduplication by Kleinanzeigen item ID.

Input examples

Paste a URL

{
"startUrls": [
{ "url": "https://www.kleinanzeigen.de/s-aachen/iphone/k0l1921" }
],
"maxItems": 100,
"includeListingDetails": true
}

Keyword search with filters

{
"searchQueries": ["iphone 15", "iphone 16"],
"location": "Berlin",
"radiusKm": "20",
"category": "173",
"minPrice": 100,
"maxPrice": 800,
"sortBy": "price_asc",
"sellerType": "private",
"offerType": "offered",
"shipping": "shippable",
"photosOnly": true,
"maxItems": 50,
"includeListingDetails": true
}

Daily watch for new Dresden rentals

{
"searchQueries": ["3 zimmer wohnung"],
"location": "Dresden",
"radiusKm": "10",
"category": "196",
"maxPrice": 1200,
"monitoringMode": true,
"maxItems": 200,
"includeListingDetails": true
}

Set this up on an Apify schedule — the second run onwards only returns listings posted since the previous one.

{
"startUrls": [
{ "url": "https://www.kleinanzeigen.de/s-muenchen/anbieter:gewerblich/elektro-fahrrad/k0" }
],
"searchQueries": ["ebike", "lastenrad"],
"location": "München",
"radiusKm": "50",
"sellerType": "private",
"maxItems": 100
}

Parameters

  • startUrls — array of kleinanzeigen.de URLs. Search, category, or single-listing links.
  • searchQueries — array of keyword strings; each one runs as its own search.
  • category — Kleinanzeigen category ID (dropdown in the UI; blank = all categories). Applies to searchQueries only.
  • location — city name, district name, or 5-digit zip. Resolved against Kleinanzeigen's own location index.
  • radiusKm — one of 5, 10, 20, 30, 50, 100, 150, 200, 500 km from the resolved location.
  • minPrice / maxPrice — euros, integer.
  • sortBy — newest (default), price_asc, distance, recommended.
  • sellerType — all, private, commercial.
  • offerType — all, offered (Angebote), wanted (Gesuche).
  • shipping — all, shippable, pickup.
  • buyNowOnly — boolean.
  • photosOnly — boolean.
  • monitoringMode — if true, emit only listings not seen in previous runs of the same actor task.
  • maxItems — hard cap across all searches and URLs in a run.
  • includeListingDetails — if true, open each listing's own page for full description, specifications, view count, seller name/type, member-since date, and commercial-seller phone + imprint. Doubles request count; slower.
  • downloadImages — if true, writes each listing's photos into the run's key-value store as binary files.
  • storeName — key-value store name for downloaded images (only used when downloadImages is true).
  • maxConcurrency / minConcurrency — tuning knobs.
  • maxRequestRetries — number of retries per failed request before giving up.
  • proxy — Apify proxy configuration. Leave empty to use the built-in residential proxy at no extra cost. To use your own proxies, switch Apify Proxy off and paste proxy URLs — those are then used on every request, billed to you.

Output

{
"title": "iPhone 13 mini 128GB",
"price": "360 €",
"description": "Ich verkaufe mein iPhone 13 Mini in der Farbe Grün ...",
"location": "52066 Aachen - Aachen-Mitte",
"datePosted": "17.01.2025",
"itemId": 2978301221,
"itemUrl": "https://www.kleinanzeigen.de/s-anzeige/iphone-13-mini-128gb/2978301221-173-1923",
"imageUrl": "https://img.kleinanzeigen.de/.../$_2.AUTO",
"imageCount": 3,
"hasShipping": false,
"metaDescription": "Ich verkaufe mein iPhone 13 Mini ...",
"metaImageUrl": "https://img.kleinanzeigen.de/.../$_57.AUTO",
"shipping": "Nur Abholung",
"viewCount": "",
"specifications": {
"Art": "Apple",
"Farbe": "Grün",
"Gerät & Zubehör": "Gerät & Zubehör",
"Zustand": "Sehr Gut"
},
"images": [
"https://img.kleinanzeigen.de/.../$_59.AUTO",
"..."
]
}

With includeListingDetails: true the row also carries description (full text), the complete specifications object, viewCount, seller_name, seller_type, seller_memberSince, and for commercial sellers seller_phone and seller_imprint.

Field reference

  • title — ad title.
  • price — formatted price with currency symbol; a value of 0 or empty means "free" or "please contact".
  • description — short teaser from the listing card; replaced with the full description when includeListingDetails is on.
  • location — zip + city + district.
  • datePosted — Kleinanzeigen's own posting date (DD.MM.YYYY).
  • itemId — numeric Kleinanzeigen ID; stable across pages.
  • itemUrl — canonical listing URL.
  • imageUrl / imageCount — thumbnail of the primary image and the total photo count.
  • hasShipping — true when the seller offers shipping (Versand möglich).
  • shipping — human-readable shipping line ("Nur Abholung", "+ Versand ab 0,99 €", etc.).
  • viewCount — view counter when the listing exposes one.
  • specifications — category-specific attributes (brand, model, size, condition, rooms, mileage, etc.).
  • images — array of full-size image URLs.

Best practices

  • Use the keyword path for ad-hoc runs; use pasted URLs when you've already filtered on the site and want to replicate the exact view.
  • Zip codes resolve more reliably than ambiguous city names ("Frankfurt" has two).
  • For monitoring runs, prefer narrower searches (keyword + location + category + maxPrice) over wide ones. Narrower searches finish faster and churn less proxy budget.
  • includeListingDetails roughly doubles your billed event count; leave it off when you only need the search-card fields (title, price, location, images, posting date).
  • Overriding the built-in proxy with your own? Pin to a residential pool in Germany. Kleinanzeigen blocks datacenter IPs site-wide.

Explore more scrapers

Other actors on memo23's profile cover classified sites, job boards, real estate, and marketplaces across Europe and North America.

Support

Additional services

  • Custom extraction and dataset delivery for one-off scrapes.
  • Private API hosting of this scraper (no Apify fee, usage-based pricing).
  • Scraper customization and new-site builds.

All at muhamed.didovic@gmail.com.


For AI agents and LLM apps

Reference for agents calling this actor via the Apify MCP server or the Apify API (actor id: memo23/kleinanzeigen-search-scraper-ppe).

Purpose: Scrape classified listings from kleinanzeigen.de. One row per ad.

Minimal input, paste-URL style:

{ "startUrls": [{ "url": "https://www.kleinanzeigen.de/s-aachen/iphone/k0l1921" }], "maxItems": 50 }

Minimal input, keyword style:

{ "searchQueries": ["iphone 15"], "location": "Berlin", "radiusKm": "20", "maxItems": 50 }

Output: one row per listing with the fields documented above.

Behaviors an agent should know:

  • Supply at least one of startUrls or searchQueries. If both are absent the actor runs a sample search as a fallback.
  • The keyword path resolves location to a Kleinanzeigen location ID through the site's own index. Any unresolved location falls back to a Germany-wide search; the resolution is logged.
  • includeListingDetails is off by default. Turn it on for the full description, item specifications, view count, and seller info.
  • monitoringMode deduplicates against previous runs of the same actor task; schedule it to get only newly posted listings.
  • maxItems is a hard cap across the whole run, not per keyword.
  • The built-in residential proxy is used at no extra cost; only set proxy to override it.
  • Pay-per-event billing. One event per actor start, one event per result row written to the dataset.

Disclaimer

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Kleinanzeigen GmbH (formerly eBay Kleinanzeigen) or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available kleinanzeigen.de classified-listing pages. No authenticated endpoints, paid features, or content behind the login wall. Users are responsible for making sure their use complies with Kleinanzeigen's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.


SEO keywords

kleinanzeigen scraper, scrape kleinanzeigen, kleinanzeigen.de scraper, kleinanzeigen API, Apify kleinanzeigen, ebay kleinanzeigen scraper, kleinanzeigen keyword search, kleinanzeigen location search, kleinanzeigen filter scraper, classified ads scraper, classified listings scraper, german marketplace scraper, online marketplace scraper, product listings scraper, price monitoring data, competitor price tracking, market research data, second-hand goods data, real estate listings scraper, used car listings data, ebike kleinanzeigen, wohnung kleinanzeigen, auto kleinanzeigen, lead generation data, ecommerce intelligence, german classifieds data