Kleinanzeigen Scraper - Search & New Listing Alerts avatar

Kleinanzeigen Scraper - Search & New Listing Alerts

Pricing

from $1.20 / 1,000 listings

Go to Apify Store
Kleinanzeigen Scraper - Search & New Listing Alerts

Kleinanzeigen Scraper - Search & New Listing Alerts

Enter Kleinanzeigen.de keywords or search URLs and get one row per listing: title, price, price type, postcode, city, posted time, shipping, image and URL. Can return only listings that are new since the last run. No seller personal data.

Pricing

from $1.20 / 1,000 listings

Rating

0.0

(0)

Developer

SUNGHWAN CHO

SUNGHWAN CHO

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Kleinanzeigen Monitor - Search & New Listing Alerts

Enter Kleinanzeigen.de keywords or search URLs and get one flat row per listing - title, price, price type, postcode, city, posted time, shipping, image and URL - optionally only the listings that are new since your last run.

Kleinanzeigen (formerly eBay Kleinanzeigen) is Germany's largest classifieds marketplace. This Actor is built for resellers, deal hunters and price watchers who check the same searches every day or every hour.

  • Fast by design. No browser. Results are read from the search pages themselves (25 listings per request), newest first. A typical 100-listing search finishes in seconds, not minutes.
  • New-listing monitor. Turn on Only new listings since the last run and schedule the Actor. Each run returns just the listings you have not seen yet and stops paging as soon as it reaches listings it already knows.
  • No seller personal data. Seller names, user IDs, shop names, phone numbers and other contact fields are never collected. Phone numbers and e-mail addresses inside descriptions are masked.
  • Clear stops. Every run writes a free RUN_SUMMARY with the status of each search, pages read, listings saved, new listings and blocked requests.

Input

FieldDescription
searches (required)Keywords (iphone 13, fahrrad, lego technic) or Kleinanzeigen search URLs copied from your browser (https://www.kleinanzeigen.de/s-fahrraeder/c217). One per line.
maxItemsPerSearchListings to save per search, newest first. Default 100, max 1,250.
onlyNewSinceLastRunReturn only listings not returned by an earlier run of the same search. The first run returns the current listings and remembers them.
historyStoreNameKey-value store that remembers seen listings. Use different names for independent monitors.
includeDetailsAlso open each listing page for the full description, attributes (brand, model, condition, size, ...) and shipping cost. Slower and charged as a separate event.
categoryOptional category ID (173 Smartphones, 217 Fahrräder & Zubehör, 23 Spielzeug, 161 Elektronik), URL name (handy-telekom) or German name.
location, radiusKmOptional German postcode or city plus radius (5, 10, 20, 30, 50, 100, 150 or 200 km).
minPrice, maxPriceOptional price range in EUR.
proxyConfigurationGerman residential proxy by default. Kleinanzeigen often refuses datacenter IPs.

category, location, radiusKm, minPrice and maxPrice apply to keyword searches. For search URLs, set the filters on kleinanzeigen.de and copy the URL.

{
"searches": ["iphone 13", "https://www.kleinanzeigen.de/s-fahrraeder/c217"],
"location": "10115",
"radiusKm": 20,
"maxPrice": 400,
"maxItemsPerSearch": 100,
"onlyNewSinceLastRun": true,
"historyStoreName": "my-berlin-deals"
}

Monitoring tips

  • Schedule the Actor (e.g. every hour) with Only new listings since the last run on. Connect the dataset to e-mail, Slack, Google Sheets or a webhook for alerts.
  • A search is identified by its final Kleinanzeigen URL (keyword + filters). Changing a filter starts a new history.
  • Listings beyond maxItemsPerSearch on the pages that were read count as seen and are not returned later.
  • Paid top ads rotate on every page view and are often old. In monitor mode they are returned only when posted after the previous run.

Output

One row per listing. Every field is always present; a value the site does not show is null.

{
"listingId": "3538560160",
"title": "Lego Technic 42095",
"price": 50,
"currency": "EUR",
"priceType": "negotiable",
"originalPrice": null,
"postcode": "16766",
"city": "Kremmen",
"state": "Brandenburg",
"distanceKm": null,
"categoryId": 23,
"category": "Spielzeug",
"postedAt": "2026-10-12T03:49:00.000Z",
"postedDate": "2026-10-12",
"postedAtPrecision": "minute",
"shippingAvailable": true,
"buyNowEnabled": true,
"sellerType": "private",
"imageUrl": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/d4/d48e7885-...?rule=$_59.AUTO",
"imageCount": 2,
"url": "https://www.kleinanzeigen.de/s-anzeige/lego-technic-42095/3538560160-23-7817",
"isTopAd": false,
"isNew": null,
"description": null,
"attributes": null,
"shippingCost": null,
"searchQuery": "lego technic",
"searchUrl": "https://www.kleinanzeigen.de/s-lego-technic/k0",
"scrapedAt": "2026-10-12T04:40:03.883Z"
}
FieldMeaning
priceEUR. 0 for free items (Zu verschenken), null when only "VB" or nothing is shown.
priceTypefixed, negotiable (VB), free or null.
originalPriceCrossed-out earlier price after a price drop.
postedAtPosted (or last bumped) time in UTC. Kleinanzeigen shows minutes for today and yesterday and only the date for older listings: see postedAtPrecision (minute or day) and postedDate (German date).
distanceKmDistance from your location (location searches only).
sellerTypeprivate or commercial. No seller identity is included.
isNewtrue in monitor mode, otherwise null.
description, attributes, shippingCostFilled with includeDetails. attributes keeps Kleinanzeigen's German labels (Marke, Modell, Zustand, Größe, ...).

The key-value store record RUN_SUMMARY (free) lists per search: status (completed, partial, failed, budgetLimited, timeLimited), stopReason (maxItemsReached, endOfResults, sitePageLimit, reachedSeenListings, noResults, chargeLimitReached, timeLimit, blockedBySite, requestFailed), totalResults reported by the site, pages read, listings saved, new listings, and request counts including blocked requests.

Limits

  • Kleinanzeigen shows at most 50 pages (1,250 listings) per search. To cover more, split a search by price range, category or location. The run summary marks such searches with sitePageLimit.
  • If Kleinanzeigen refuses requests, the Actor backs off and retries a few times with a new proxy session, then reports the search as failed. It does not solve captchas or work around bot protection. Failed searches are not charged.
  • The Actor stops starting new pages about a minute before the run timeout, so the results and summary are always saved.

Pricing

Pay per event:

  • listing - each listing row saved to the dataset
  • listing-details - each listing page read successfully with includeDetails

The run summary, failed requests and failed searches are free. If you set a Maximum cost per run, the Actor stops cleanly when it is reached and says so in the status message ("Stopped at your maximum cost per run ...").

Use cases

  • Reselling and arbitrage - catch underpriced iPhones, consoles, bikes, LEGO sets or designer items minutes after they are posted.
  • Price research - track asking prices and price drops for a product or model across Germany or one region.
  • Local market watch - follow new listings within a radius of a city for car parts, furniture, rentals or tools.
  • Data for agents and dashboards - flat English fields, numbers as numbers, ready for spreadsheets and AI agents.

Notes

This Actor reads publicly visible listing information only and does not log in. You are responsible for using the data in line with Kleinanzeigen's terms and applicable law (including GDPR).