Kleinanzeigen Scraper - Search & New Listing Alerts
Pricing
from $1.20 / 1,000 listings
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
Maintained by CommunityActor 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_SUMMARYwith the status of each search, pages read, listings saved, new listings and blocked requests.
Input
| Field | Description |
|---|---|
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. |
maxItemsPerSearch | Listings to save per search, newest first. Default 100, max 1,250. |
onlyNewSinceLastRun | Return only listings not returned by an earlier run of the same search. The first run returns the current listings and remembers them. |
historyStoreName | Key-value store that remembers seen listings. Use different names for independent monitors. |
includeDetails | Also open each listing page for the full description, attributes (brand, model, condition, size, ...) and shipping cost. Slower and charged as a separate event. |
category | Optional category ID (173 Smartphones, 217 Fahrräder & Zubehör, 23 Spielzeug, 161 Elektronik), URL name (handy-telekom) or German name. |
location, radiusKm | Optional German postcode or city plus radius (5, 10, 20, 30, 50, 100, 150 or 200 km). |
minPrice, maxPrice | Optional price range in EUR. |
proxyConfiguration | German 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
maxItemsPerSearchon 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"}
| Field | Meaning |
|---|---|
price | EUR. 0 for free items (Zu verschenken), null when only "VB" or nothing is shown. |
priceType | fixed, negotiable (VB), free or null. |
originalPrice | Crossed-out earlier price after a price drop. |
postedAt | Posted (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). |
distanceKm | Distance from your location (location searches only). |
sellerType | private or commercial. No seller identity is included. |
isNew | true in monitor mode, otherwise null. |
description, attributes, shippingCost | Filled 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).