Kleinanzeigen Listings Extractor
Pricing
from $2.99 / 1,000 results
Kleinanzeigen Listings Extractor
Scrape Kleinanzeigen search results into clean, structured data. Grab the title, price, location, image, and link from any category, follow pagination automatically, and export to Excel, CSV, or Google Sheets for price tracking and market research.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
Kawsar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Turn any Kleinanzeigen search into a clean, structured dataset. Paste a search or category URL and this scraper collects every ad on the results pages: title, price, location, description, photo, and a direct link to each listing. It follows pagination on its own, so you get page after page without clicking through.
Works for any category on kleinanzeigen.de, whether you are tracking iPhones, bikes, furniture, cars, or real estate. No coding required, and results export straight to Excel, CSV, JSON, or Google Sheets.
Table of contents
- Features
- What you get per listing
- Input
- How to use it
- How to get a search URL
- Example input
- Example output
- Use cases
- Tips and best practices
- Pricing and performance
- FAQ
- Notes and limitations
Features
- Scrape any Kleinanzeigen search or category results URL
- Automatic pagination, so the actor walks page after page for you
- Batch mode: run many search URLs in a single run
- Limit control with
maxItemsandmaxPagesso you only pay for what you need - Built-in deduplication by listing ID across pages
- Parses price into a numeric value and flags negotiable (VB) prices
- Splits the location line into postal code and city
- Detects offers vs wanted ads (
Gesuch) - Clean per-listing error handling, so one bad page never crashes the run
- Export to Excel, CSV, JSON, XML, or Google Sheets
What you get per listing
| Field | Type | Description |
|---|---|---|
listingId | string | The ad's Kleinanzeigen ID |
url | string | Direct link to the listing |
listingTitle | string | Ad title |
price | string | Price text as shown, for example 40 € or VB |
priceValue | number | Numeric price when available |
isNegotiable | boolean | True when the price is marked VB (negotiable) |
shipping | string | Shipping note when present |
location | string | Location line as shown on the ad |
postalCode | string | German postal code parsed from the location |
city | string | City or area parsed from the location |
listingText | string | Short description snippet |
postedDate | string | When the ad was posted, as shown on the site |
imageUrl | string | Thumbnail image URL |
tags | array | Extra labels such as Gesuch (wanted) |
listingType | string | offer or wanted |
sourceUrl | string | The search URL the listing came from |
scrapedAt | string | ISO timestamp of the run |
Input
| Field | Key | Type | Default | Description |
|---|---|---|---|---|
| Search URLs | searchUrls | array | (required) | One or more Kleinanzeigen search or category results URLs, one per line |
| Max pages per search | maxPages | integer | 20 | How many results pages to follow per search URL (max 100) |
| Max items | maxItems | integer | 25 | Maximum listings to collect per run (max 1000) |
| Request timeout (seconds) | requestTimeoutSecs | integer | 30 | Per-request timeout (5 to 120) |
Provide at least one URL in searchUrls. Add several to scrape multiple searches in one run; the combined result is capped at maxItems.
How to use it
- Open kleinanzeigen.de and run your search with any filters, category, or location.
- Copy the URL from your browser's address bar.
- Paste it into the Search URLs field, one URL per line.
- To scrape more than one search at once, add each results URL on its own line.
- Optionally adjust Max items and Max pages per search.
- Click Start.
- When the run finishes, open the Output tab and export to Excel, CSV, JSON, or Google Sheets.
How to get a search URL
Kleinanzeigen search URLs already carry the category, keyword, and location. A few examples:
- Keyword in a city:
https://www.kleinanzeigen.de/s-aachen/iphone/k0l1921 - Whole category:
https://www.kleinanzeigen.de/s-fahrraeder/c217 - Keyword nationwide:
https://www.kleinanzeigen.de/s-iphone/k0
Apply any filters you want on the site first (price range, radius, condition, offer vs wanted). The actor scrapes exactly what that URL returns, so the filters carry over automatically.
Example input
{"searchUrls": ["https://www.kleinanzeigen.de/s-aachen/iphone/k0l1921"],"maxItems": 25,"maxPages": 20,"requestTimeoutSecs": 30}
Multiple searches in one run:
{"searchUrls": ["https://www.kleinanzeigen.de/s-berlin/fahrrad/k0l3331","https://www.kleinanzeigen.de/s-muenchen/sofa/k0l6411"],"maxItems": 200,"maxPages": 10}
Example output
{"listingId": "3489517709","url": "https://www.kleinanzeigen.de/s-anzeige/pitaka-magez-case-pro-4-fuer-iphone-16-pro-max/3489517709-173-1931","listingTitle": "Pitaka MagEZ Case Pro 4 für iPhone 16 Pro Max","price": "40 €","priceValue": 40,"isNegotiable": false,"shipping": null,"location": "52080 Eilendorf","postalCode": "52080","city": "Eilendorf","listingText": "Ich verkaufe hier eine hochwertige Schutzhülle von Pitaka...","postedDate": "Heute, 10:37","imageUrl": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/45/45219975-4e13-40a9-ab66-b2758a711081?rule=$_2.AUTO","tags": [],"listingType": "offer","sourceUrl": "https://www.kleinanzeigen.de/s-aachen/iphone/k0l1921","scrapedAt": "2026-08-20T09:04:01.734425+00:00"}
Use cases
- Price monitoring: Track how prices for a product or category move over time in a region.
- Resale sourcing: Find underpriced items and negotiable (VB) ads to flip.
- Lead generation: Build lists of sellers in a category or city.
- Market research: Measure supply, price ranges, and demand across regions.
- Competitor tracking: Watch what other sellers list and how they price.
- SEO and keyword research: Study real listing titles and demand signals on a live marketplace.
Tips and best practices
- Narrow your search on the site first. A tighter URL means fewer pages and lower cost.
- Use
maxItemsto keep runs small while testing, then raise it once the output looks right. - For a full category sweep, raise
maxPages; the actor stops early when a search runs out of results. - Run several city or category URLs together in batch mode to compare regions in one dataset.
- Schedule the actor to run daily or weekly to build a price history over time.
Pricing and performance
The actor runs on the Apify platform and bills for the compute it uses. Cost scales with how many pages you scrape, which is driven by maxItems and maxPages. Each results page holds roughly 25 listings, so collecting 100 listings usually means about four page requests. Keep limits low for quick, cheap runs and raise them for full sweeps.
FAQ
Do I need an account or login? No. The actor reads public search result pages only.
Can I scrape a single listing's full detail page?
This actor extracts everything shown on the search results pages, which already includes title, price, location, description snippet, image, and the link to each ad. Follow the url field if you want to open the full listing.
What formats can I export to? Excel, CSV, JSON, XML, and Google Sheets, through the Apify dataset export.
Why are prices and dates in German?
Values are returned exactly as shown on kleinanzeigen.de, including German number and date formatting. The numeric priceValue field gives you a clean integer to sort and filter on.
Can I run it on a schedule? Yes. Use Apify Schedules to run it automatically and grow a historical dataset.
Notes and limitations
- The actor reads public search result pages. It does not log in or access private data.
- Prices, dates, and descriptions are returned as shown on the site, in German formatting.
- The results page provides a single thumbnail per listing; full image galleries live on the individual ad page.
- Site layout changes on kleinanzeigen.de can affect extraction; the actor is updated as needed.