Kleinanzeigen Scraper: German Classifieds, Prices & Listings avatar

Kleinanzeigen Scraper: German Classifieds, Prices & Listings

Pricing

from $0.98 / 1,000 results

Go to Apify Store
Kleinanzeigen Scraper: German Classifieds, Prices & Listings

Kleinanzeigen Scraper: German Classifieds, Prices & Listings

Extracts German classified ads from kleinanzeigen.de with title, numeric price, negotiable flag, city, posting date and top-ad flag. Public listing data only.

Pricing

from $0.98 / 1,000 results

Rating

0.0

(0)

Developer

Demetrius Greses Jr

Demetrius Greses Jr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extracts German classified ads from kleinanzeigen.de category and keyword search pages, with title, numeric price, negotiable flag, city, posting date and image, for resellers and price researchers who need structured listing data.

Use cases

  • Resellers and dealers track asking prices for a model, such as an iPhone or an e-bike, across Germany and spot underpriced listings.
  • Price-research analysts build used-goods price series by category, city or postal code.
  • Car and bike dealers check a region's new listings for a keyword on a schedule.
  • Market analysts count how many ads are listed per category over time to measure supply.
  • Private sellers and shops compare their own asking prices with live listings in the same category.

Sample output

Three results from a real run on the bikes category (the daily-test input, 20 results; priceText is the price as shown on the listing):

idtitlepriceTextcitypostedAt
3537162041Bafang Hinterradnabenmotor150 € VBSenden2026-10-11T01:18:00.000Z
3537162012City Fahrrad20 €Iserlohn2026-10-11T01:17:00.000Z
353716172028"HYDE PARK Simplex,7 Gang, Neuwertig,Hollandrad250 €Gütersloh2026-10-11T01:09:00.000Z

One item as JSON:

{
"id": "3537162041",
"title": "Bafang Hinterradnabenmotor",
"price": 150,
"priceText": "150 € VB",
"negotiable": true,
"isFree": false,
"currency": "EUR",
"postalCode": "89250",
"city": "Senden",
"postedAt": "2026-10-11T01:18:00.000Z",
"isTopAd": false,
"shippingAvailable": true,
"descriptionSnippet": "Ich biete diesen Bafang Hinterradnabenmotor zum Verkauf an, da er nicht mehr benötigt wird. Er ist...",
"imageUrl": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/93/933f9ee4-737d-453a-aa1a-70c67e324946?rule=$_59.AUTO",
"categoryUrl": "https://www.kleinanzeigen.de/s-fahrraeder/c217",
"url": "https://www.kleinanzeigen.de/s-anzeige/bafang-hinterradnabenmotor/3537162041-217-6688",
"sourceUrl": "https://www.kleinanzeigen.de/s-anzeige/bafang-hinterradnabenmotor/3537162041-217-6688",
"scrapedAt": "2026-10-11T01:20:23.059Z"
}

Pricing

$1.40 per 1,000 results. A 500-result run costs about $0.70. You pay only for results saved to your dataset, plus Apify's standard start fee of $0.00005 per run. Apify Silver and Gold plan users get lower per-result prices automatically.

Set Max results to cap what a run can cost. The Actor stops cleanly when it reaches your spending limit.

Input

See the input tab for full configuration options.

FieldTypeDescription
startUrlsarrayCategory or search result pages on kleinanzeigen.de, for example https://www.kleinanzeigen.de/s-fahrraeder/c217. URLs on other sites, ad detail pages and pages that robots.txt disallows are ignored.
searchQueriesarrayKeywords to search across Germany, one per entry, for example iphone or e-bike.
maxPagesPerStartintegerResult pages to read per start URL or keyword, 1 to 5, default 5. robots.txt disallows pages 6 and up.
maxItemsintegerMaximum number of results to return. Default 100, maximum 50,000. You are charged per result.
proxyConfigurationobjectApify datacenter proxy by default.

Example input, a category:

{
"startUrls": [{ "url": "https://www.kleinanzeigen.de/s-fahrraeder/c217" }],
"maxItems": 20
}

Example input, keyword searches:

{
"searchQueries": ["iphone 16", "e-bike"],
"maxPagesPerStart": 5,
"maxItems": 250
}

Integrations

  • API: run the Actor and fetch results with the Apify API or the JavaScript and Python clients.
  • AI agents: call it as a tool through the Apify MCP server.
  • No-code: connect it to Make, Zapier or n8n, or export results straight to Google Sheets.
  • Scheduling: run it daily or hourly with Apify Schedules and get fresh listings on each run.

FAQ

What are the limits? Each start URL or keyword reads at most 5 result pages, about 25 ads per page, so one search returns up to about 135 results. robots.txt disallows pages 6 and up, and the Actor never requests them. To collect more, add more categories or keywords to one run. The Actor does not open ad detail pages, so the description is the short text shown on the results card. Top ads repeat across pages and are returned once. Ads that show no date return postedAt as null. Relative dates such as "Heute, 03:18" are converted to ISO time in Europe/Berlin. Requests are rate limited to 60 per minute, with at most three running at once.

Is this legal? The Actor collects public listing data only, with no login, and crawls at a polite rate. It follows robots.txt and skips disallowed paths. The output has no seller names, user IDs, profile links or contact details. E-mail addresses, phone numbers, links and street addresses (street + house number) are removed from titles and description snippets; postal code and city stay as listing location fields. Results can still contain personal data, so do not scrape personal data unless you have a legitimate reason to do so. It is not affiliated with, endorsed by or connected to Kleinanzeigen or Adevinta. You are responsible for how you use the data.

Something broke or a field is missing? Open an issue on the Actor's Issues tab. We answer within one business day and usually ship a fix within 48 hours.

Changelog

  • 0.1 (2026-10-10) — First release: category and keyword search pages, parsed prices, negotiable and top-ad flags, Berlin-time posting dates.