Kleinanzeigen $1💰 URL Search | Keyword Filtering | Rich Output
Pricing
from $1.00 / 1,000 results
Kleinanzeigen $1💰 URL Search | Keyword Filtering | Rich Output
From $1/1K. Scrape Kleinanzeigen.de ads by keyword, category, location, price, seller type, or search URL. Extract descriptions, photos, attributes, seller details, posted dates, category paths, and imprint data. Returns flat JSON records ready for spreadsheets or databases.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
AbotAPI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Kleinanzeigen.de Scraper
Scrape classified ads from Kleinanzeigen.de (formerly eBay Kleinanzeigen) by keyword, category, location, price, offer type and seller type, or just paste ready-made search URLs. The scraper walks result pages automatically and, when you want it, opens each ad's detail page to pull the full description, every photo, the attribute list, the seller profile, the posted date, the category path and the commercial-seller imprint. Output is one flat JSON record per ad, ready for spreadsheets, dashboards or databases.
Why this scraper
- Two ways in: a filter builder (keyword, category id, location with radius, min/max price, offered vs wanted, private vs commercial, sort) and a paste-URLs mode that accepts any Kleinanzeigen.de search or category URL.
- Automatic forward pagination, 27 ads per page, up to the site's page limit.
- Up to ~35 fields per ad including full description, all photo URLs, attribute key/value pairs, category path, seller name/type/registration date, and the commercial-seller legal imprint (name, address, email) where the seller is a registered trader.
- Fast to run on Residential proxy (the default), or on Datacenter for free-tier users.
- Lean toggle: turn off detail fetching for a quicker, cheaper run that still returns ~14 fields straight from the search results.
- Deduplicates promoted listings that repeat across pages, so you do not pay for the same ad twice.
Data you get
Sample shape, values are illustrative placeholders, not from a live ad.
| Field | Example |
|---|---|
adId | "3400000001" |
url | "https://www.kleinanzeigen.de/s-anzeige/sample-listing-title/3400000001-217-0001" |
title | "Sample Listing Title" |
descriptionShort | "First sentence of the ad as shown in the result list..." |
descriptionFull | "Full ad description text appears here when fetchDetails = true." |
price | "1.500 € VB" |
priceAmount | 1500 |
priceType | "NEGOTIABLE" |
currency | "EUR" |
locationText | "10115 Berlin - Mitte" |
postalCode | "10115" |
regionName | "Berlin" |
cityName | "Mitte" |
categoryId | "217" |
categoryName | "Fahrräder & Zubehör" |
categoryPath | "Auto, Rad & Boot > Fahrräder & Zubehör" |
postedDate | "2026-01-01" |
postedDateText | "Heute, 09:00" |
viewCount | null |
imageCount | 5 |
thumbnailUrl | "https://img.kleinanzeigen.de/api/v1/prod-ads/images/00/00000000-0000-0000-0000-000000000000?rule=$_59.AUTO" |
imageUrls | ["https://img.kleinanzeigen.de/api/v1/prod-ads/images/00/00000000-0000-0000-0000-000000000000?rule=$_59.AUTO"] |
attributes | { "Art": "Herren", "Typ": "Elektrofahrräder", "Zustand": "Sehr Gut" } |
attributesRaw | [{ "name": "Art", "value": "Herren" }] |
isPro | false |
isShop | false |
isTopAd | false |
isSold | false |
adType | "OFFERED" |
tags | ["Versand möglich"] |
sellerId | "100000000" |
sellerName | "Seller Name" |
sellerType | "PRIVATE" |
sellerUrl | "https://www.kleinanzeigen.de/s-bestandsliste.html?userId=100000000" |
sellerActiveSince | "2026-01-01" |
sellerOtherAdsCount | 4 |
imprint | { "raw": "Sample Trader\nEinzelunternehmer\n10115 Berlin, Sample Str. 1\ntrader@example.com", "lines": ["Sample Trader", "Einzelunternehmer", "10115 Berlin, Sample Str. 1", "trader@example.com"], "email": "trader@example.com" } |
searchUrl | "https://www.kleinanzeigen.de/s-fahrrad/k0" |
scrapedAt | "2026-01-01T00:00:00.000Z" |
Fields that only come from the detail page (descriptionFull, categoryName, categoryPath, imageUrls beyond the first, attributes, seller*, imprint, postedDate) are null or empty when fetchDetails is false.
How to use
Search by keyword:
{"mode": "search","keyword": "fahrrad","maxPages": 3,"maxListings": 50,"fetchDetails": true}
Search a category in a city with a radius and a price range, newest first:
{"mode": "search","keyword": "","categoryId": "217","location": "Berlin","radiusKm": 20,"minPrice": 100,"maxPrice": 800,"sortBy": "date","maxPages": 5,"maxListings": 100,"fetchDetails": true}
Only private sellers, wanted ads:
{"mode": "search","keyword": "sofa","offerType": "gesuche","sellerType": "privat","maxPages": 2,"fetchDetails": false}
Paste several search URLs (filter fields are ignored in this mode):
{"mode": "url","urls": ["https://www.kleinanzeigen.de/s-fahrrad/k0","https://www.kleinanzeigen.de/s-berlin/sofa/k0l3331"],"maxPages": 3,"maxListings": 80,"fetchDetails": true}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | search to build URLs from the filters below, url to paste your own search URLs. |
keyword | string | fahrrad | Free-text query. Leave empty to browse a whole category. |
categoryId | string | (empty) | Numeric Kleinanzeigen category id, e.g. 217. Find it in any category URL: .../c217 -> 217. |
location | string | (empty) | City name or German postal code. Resolved automatically to the matching location id. |
radiusKm | integer | 0 | Search radius in km around the location. Ignored when no location is set. |
minPrice | integer | (empty) | Lowest price to include. |
maxPrice | integer | (empty) | Highest price to include. |
offerType | string | any | angebote for offered ads, gesuche for wanted ads, any for both. |
sellerType | string | any | privat for private sellers, gewerblich for commercial sellers/shops, any for both. |
sortBy | string | relevance | relevance, date (newest), price-asc, price-desc, distance. Promoted ads can appear first regardless of sort. |
urls | array of strings | ["https://www.kleinanzeigen.de/s-fahrrad/k0"] | Search/category URLs to scrape (used only when mode = url). |
maxPages | integer | 1 | Result pages to walk per search/URL (27 ads per page). |
maxListings | integer | 0 | Stop after this many ads across all searches. 0 = unlimited (still bounded by maxPages). |
fetchDetails | boolean | true | Open each ad's detail page for the full description, all photos, attributes, seller info and imprint. Turn off for a faster, cheaper run. |
proxy | object | Residential, country DE | Apify Proxy. Residential is the default for the smoothest runs. On the free plan, switch to Datacenter (expect occasional retries). |
Output example
Sample shape, values are illustrative placeholders.
{"adId": "3400000001","url": "https://www.kleinanzeigen.de/s-anzeige/sample-listing-title/3400000001-217-0001","title": "Sample Listing Title","descriptionShort": "First sentence of the ad as shown in the result list...","descriptionFull": "Full ad description text appears here when fetchDetails = true.","price": "1.500 € VB","priceAmount": 1500,"priceType": "NEGOTIABLE","currency": "EUR","locationText": "10115 Berlin - Mitte","postalCode": "10115","regionName": "Berlin","cityName": "Mitte","categoryId": "217","categoryName": "Fahrräder & Zubehör","categoryPath": "Auto, Rad & Boot > Fahrräder & Zubehör","postedDate": "2026-01-01","postedDateText": "Heute, 09:00","viewCount": null,"imageCount": 1,"thumbnailUrl": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/00/00000000-0000-0000-0000-000000000000?rule=$_59.AUTO","imageUrls": ["https://img.kleinanzeigen.de/api/v1/prod-ads/images/00/00000000-0000-0000-0000-000000000000?rule=$_59.AUTO"],"attributes": { "Art": "Herren", "Typ": "Elektrofahrräder", "Zustand": "Sehr Gut" },"attributesRaw": [{ "name": "Art", "value": "Herren" }, { "name": "Typ", "value": "Elektrofahrräder" }, { "name": "Zustand", "value": "Sehr Gut" }],"isPro": false,"isShop": false,"isTopAd": false,"isSold": false,"adType": "OFFERED","tags": ["Versand möglich"],"sellerId": "100000000","sellerName": "Seller Name","sellerType": "PRIVATE","sellerUrl": "https://www.kleinanzeigen.de/s-bestandsliste.html?userId=100000000","sellerActiveSince": "2026-01-01","sellerOtherAdsCount": 4,"imprint": null,"searchUrl": "https://www.kleinanzeigen.de/s-fahrrad/k0","scrapedAt": "2026-01-01T00:00:00.000Z"}
Plan and proxy notes
- Default proxy is Residential with country
DE. Available on the Starter plan and above. This gives the cleanest runs. - On the free plan, set
proxyto{ "useApifyProxy": true }(Datacenter). The actor will still work, but expect some retries and occasionally fewer results. - Detail enrichment (
fetchDetails: true) makes one extra request per ad. UsemaxListingsandmaxPagesto keep runs bounded, or setfetchDetails: falsefor the fastest, cheapest pass. - Be considerate with how often and how broadly you run the scraper, and use the data in line with Kleinanzeigen.de's terms and applicable law.