Kleinanzeigen Deal Finder & Price Monitor
Pricing
from $2.00 / 1,000 new listing scrapeds
Kleinanzeigen Deal Finder & Price Monitor
$2/1K 🔥 Kleinanzeigen DEAL FINDER for Germany 🇩🇪! Auto-spot underpriced listings vs. market median — flip, resell & profit. Title, price, deal-score, location & images. JSON, CSV, Excel or API. Paste a search URL & surface bargains instantly ⚡
Pricing
from $2.00 / 1,000 new listing scrapeds
Rating
0.0
(0)
Developer
ninhothedev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Monitor Kleinanzeigen.de (eBay Kleinanzeigen) searches and get instant alerts on underpriced listings. This Kleinanzeigen scraper watches your searches, detects new listings the moment they appear, computes a deal score against the live market median, and flags the bargains — built for resellers, flippers and price monitoring.
Point it at any Kleinanzeigen search URL (iPhones, consoles, GPUs, furniture, car parts — anything), put it on a 15‑minute schedule, and let the deals come to you.
⚠️ Read this first: use a SEARCH URL, not a single listing
Paste a search‑results URL — open kleinanzeigen.de, type your keyword, set your filters, then copy the URL from the address bar:
✅ Correct:
https://www.kleinanzeigen.de/s-rolex-gmt-master/k0❌ Wrong:https://www.kleinanzeigen.de/s-anzeige/rolex-.../3442016963-157-1001The wrong one is a single ad page (
/s-anzeige/…), not a search. If you paste that, the actor stops immediately with a clear error instead of returning unrelated listings — so you can't get garbage results by accident. Fix the URL and re‑run.
How to get your search URL (30 seconds)
- Open kleinanzeigen.de.
- Type your keyword into the search bar (e.g.
Rolex GMT Master 2) and press Enter. You're now on a results page. - (Optional but recommended) narrow it with the filters on that page — category, location + radius, price range (Preis von–bis), „Nur Privat". Every filter you set is baked into the URL.
- Copy the whole URL from your browser's address bar.
- Paste it into the
searchUrlsfield. Add several to monitor multiple markets.
Example: https://www.kleinanzeigen.de/s-rolex-gmt-master/k0 — keyword search, all of Germany.
💡 The more specific the search (keyword + price range), the sharper the deal detection — a tight search gives a clean market median to compare against. For phones/consoles, include the storage (e.g.
iPhone 13 128GB) so the variant clustering kicks in.
Why resellers use it
Most "deal finders" just dump every cheap listing on you. This one is built to surface real bargains and to keep running unattended:
- 🎯 Smart deal score, not a dumb price filter — every new listing is scored against a clean market median (variant‑clustered, outlier‑trimmed, scam‑floored), so you get genuine underpriced ads, not noise. See How the deal score works.
- 🆕 Only new listings — it remembers what it has already seen, so each run returns just what appeared since last time. No duplicate spam.
- ⚡ Catch deals first — freshly posted, underpriced ads are flagged within minutes, so you can message the seller before anyone else.
- 📉 Price‑drop tracking — remembers each listing's price across runs and flags cuts (
priceDropped,priceDropPercent) — a strong buy signal even on older ads. - 🔁 eBay margin (optional) — compares each deal against eBay.de sold prices so you see your real flip margin, not just the Kleinanzeigen median.
- 🛡️ Reliable & hard to block — Chrome‑fingerprint requests + Apify proxies + a browser fallback. If the site layout changes, the run fails loudly instead of returning junk.
- 🧹 Clean results — automatically drops Kleinanzeigen's loosely‑related "ähnliche Anzeigen" padding, so a niche search stays on‑topic.
- 💸 Predictable cost — pay‑per‑event (cents), and the market median is cached between runs so high‑frequency monitoring stays cheap. No surprise bills.
- 🔔 Set & forget — runs on an Apify Schedule and pushes deals to Slack / WhatsApp / Make / Zapier / n8n. Export to JSON, CSV, Excel or API.
- 🔒 GDPR‑conscious — listing data only; it never extracts phone numbers or e‑mail addresses.
Example output
Each new listing becomes one dataset item:
{"id": "2845673921","title": "iPhone 13 128GB Blau","price": 320,"currency": "EUR","isVB": true,"medianPrice": 465,"percentBelowMarket": 31,"dealScore": 31,"isDeal": true,"url": "https://www.kleinanzeigen.de/s-anzeige/iphone-13-128gb-blau/2845673921-173-3508","imageUrl": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/...","location": "Berlin Mitte","zipCode": "10115","postedAt": "2026-06-12T09:41:00Z","listingAgeHours": 0.4,"sellerType": "private","shippingAvailable": true,"searchUrl": "https://www.kleinanzeigen.de/s-handy-telefon/iphone-13/k0c173"}
With fetchDetails: true you also get description, allImages[], sellerName, sellerActiveSince and sellerListingCount.
How to set up monitoring (3 steps)
This actor does one pass per run. The monitoring loop is a native Apify Schedule — set it up once:
- Run the actor once with your
searchUrlsto confirm it returns listings (the first run per search is an initial baseline and returns everything currently live). - In the Apify Console go to Schedules → Create schedule, add this actor/task, and set the interval to every 15 minutes (power users: 5 minutes).
- Save. From now on each scheduled run returns only new listings since the last run.
🔔 Get instant deal alerts (3 steps)
Alerts run through Apify's native integrations — no extra config in the actor:
- Create the schedule above (15 min recommended).
- Open the actor/task → Integrations tab → add Webhook, Slack, Make, Zapier or n8n.
- Set the trigger to “Run succeeded.” Every dataset item carries all fields you need — filter on
isDeal: truein your integration and push theurlstraight to your phone.
Tip: in Make/Zapier, add a filter isDeal = true so you're only pinged on real bargains, not every new listing.
Pricing example
This actor uses pay‑per‑event. You pay for what it finds:
| Event | When | Price |
|---|---|---|
listing-scraped | per new listing detected | $0.002 |
deal-found | per listing flagged as a deal | $0.05 |
detail-enriched | per detail page fetched (fetchDetails) | $0.005 |
Worked example: 3 searches, 15‑minute schedule, ~40 new listings/day total, ~2 deals/day:
- New listings: 40 × 30 days × $0.002 ≈ $2.40/mo
- Deals: 2 × 30 days × $0.05 ≈ $3.00/mo
- ≈ $5–6/month to monitor 3 markets around the clock. One good flip pays for a year.
(Prices shown are examples — see the actor's pricing tab for current rates.)
Settings — everything you can configure
| Field | Type | Default | What it does |
|---|---|---|---|
searchUrls | array | iPhone example | One or more Kleinanzeigen search‑results URLs (filters baked into the URL). Each is monitored independently. Soft limit 10. |
dealThresholdPercent | integer | 25 | A listing is a deal when its price is at least this % below the market median. |
maxListingAgeHours | integer | 6 | Only listings younger than this can be flagged as deals. Older ones are still scraped, never flagged. |
privateOnly | boolean | false | Keep only private sellers (drop commercial / PRO). |
fetchDetails | boolean | false | Also load each new listing's detail page (full description, all photos, seller profile). |
maxItemsPerSearch | integer | 100 | Max new listings pushed per search (caps cost on broad searches). |
medianBasisDepth | integer | 100 | How many listings are scanned to build the median on a refresh run. |
medianRefreshEveryRuns | integer | 6 | Refresh the cached median every N runs (light scans in between → cheaper, gentler monitoring). |
compareEbaySold | boolean | false | For each deal, attach the eBay.de sold‑price median + estimated margin. |
proxyConfiguration | object | Apify Datacenter | Standard Apify proxy input. Datacenter is enough for most searches. |
How to tune the main settings
dealThresholdPercent(how cheap = a deal):25is a sensible default. Lower it (e.g.15) to catch smaller bargains and get more alerts; raise it (e.g.40) for only the strong steals. For high‑variance markets (watches, cars) keep it higher to avoid noise.maxListingAgeHours(how fresh):6is built for "be first" sniping. Raise it to168(7 days) or720(30 days) when you want to surface existing underpriced listings (e.g. a one‑off scan or a demo), not just brand‑new ones.privateOnly: turn on for flipping — private sellers are where the bargains are; commercial/PRO sellers usually price at market.fetchDetails: off for high‑frequency monitoring (faster, cheaper). On for research runs when you want full descriptions, every photo and the seller profile. Adds a small per‑item charge.medianRefreshEveryRuns: higher = cheaper and gentler on Kleinanzeigen (the median barely moves between runs). On a 5‑minute schedule,6refreshes the benchmark roughly every 30 minutes.compareEbaySold: turn on for flipping to see cross‑platform margin. It only runs on flagged deals, so it stays cheap.
Need help building the URL? See How to get your search URL above.
How the deal score works
This is what sets it apart from a plain scraper. The score is built on a clean, like‑for‑like comparison basis, not a naive average of everything in the search:
- Variant clustering — a 128 GB phone is compared against other 128 GB phones, a 256 GB against 256 GB. Storage/variant is parsed from each title so different configurations don't pollute each other's median.
- Noise removed from the benchmark — paid TOP ads, "wanted / Ankauf / Suche" ads, defective / for‑parts listings, accessories (cases, cables, glass) and pure‑VB / €1 placeholders are all excluded before the median is computed.
- Outlier trimming — the lowest and highest 10% of prices are dropped.
- Scam floor — anything priced absurdly low (>75% below median) is flagged
suspiciousTooCheapinstead of being celebrated as a deal, so you aren't pinged on bait listings. - Minimum basis — at least 5 comparable offers (4 for a variant cluster) are required before any deal is flagged; thin searches never produce false positives.
- Price‑drop tracking — the last seen price per listing is remembered between runs. A price cut sets
priceDropped: trueandpriceDropPercent— a strong standalone buy signal.
dealScore = percent below the chosen median. isDeal is true when dealScore ≥ dealThresholdPercent, the listing is a working offer (condition: normal, intent: offer), younger than maxListingAgeHours, and not below the scam floor. Each item shows what it was compared against via medianBasis (variant:128gb or global) and medianSampleSize.
- Cached benchmark — the market median moves slowly, so it's cached between runs and only refreshed every
medianRefreshEveryRunsruns. In-between runs do a light scan that's enough to catch new listings, so a 5‑minute schedule stays cheap and gentle on Kleinanzeigen.
eBay sold‑price comparison (cross‑platform margin)
Enable compareEbaySold and every flagged deal also gets looked up against eBay.de sold & completed listings. You get:
ebaySoldMedian— the trimmed median of what the item actually sold for on eBayebaySoldSampleSize— how many sold results backed that medianebayMarginPercent— how far the eBay sold median sits above the Kleinanzeigen price (your estimated gross margin)
It runs only on deals (rare → cheap) and is best‑effort: eBay has its own anti‑bot and changes its markup, so if a lookup fails the deal is still returned, just without the eBay fields.
FAQ
Does it need proxies? Apify Datacenter proxy (the default) is enough for most searches. Switch to Residential only if you see blocks.
How often should it run? 15 minutes is a good balance of freshness and cost. Drop to 5 minutes for hot, fast‑moving categories.
Will I get duplicates? No. Seen listing IDs are stored between runs per search; only new listings are returned.
Can I monitor several categories at once? Yes — add multiple searchUrls. Each is tracked independently.
Why is the first run so big? The first run for a search is an initial baseline (isInitialRun: true) and returns everything currently live. Subsequent runs return only new listings.
Legal & privacy
This actor collects only publicly available listing data. It does not extract phone numbers or e‑mail addresses. You are responsible for complying with Kleinanzeigen's Terms of Service and applicable data‑protection law (incl. GDPR) for your use case. Use scraped data responsibly.
Keywords: kleinanzeigen scraper, ebay kleinanzeigen, deal finder, price monitor, flipping, reseller, listing alerts, germany marketplace monitoring.