Kleinanzeigen Scraper
Pricing
$1.50 / 1,000 posts
Kleinanzeigen Scraper
Scrape Kleinanzeigen posts and search results. Extract titles, prices, descriptions, images, seller info, and properties from any listing. Search by keyword and location or look up posts by URL. No API key needed. Export as CSV, JSON, or Excel.
Pricing
$1.50 / 1,000 posts
Rating
0.0
(0)
Developer
Beat Analytics
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Kleinanzeigen Scraper (eBay Kleinanzeigen) -- Extract Posts and Search Results Without an API
Kleinanzeigen-Daten strukturiert abrufen -- die API-Alternative für Deutschlands größtes Kleinanzeigenportal. Durchsuchen Sie Kleinanzeigen.de nach Suchbegriffen, Standorten und Kategorien und erhalten Sie strukturierte Daten zu Preisen, Beschreibungen, Verkäufern und mehr. Kein API-Key nötig. Export als JSON, CSV oder Excel.
Scrape Kleinanzeigen.de (formerly eBay Kleinanzeigen) listings at scale -- the only Kleinanzeigen API alternative that lets you search by keyword, location, and category and get structured data for every result. There is no official Kleinanzeigen API, so this scraper is the fastest way to extract post titles, prices, descriptions, seller information, images, and 15+ additional fields from Germany's largest classifieds platform. Whether you are monitoring prices, researching markets, generating leads, or tracking inventory, this actor turns Kleinanzeigen search results and individual posts into clean, structured data you can work with immediately.
- Why Use This Kleinanzeigen Scraper
- What Data Can You Extract from Kleinanzeigen?
- How to Scrape Kleinanzeigen
- Input Parameters
- Output Examples
- How Much Does It Cost to Scrape Kleinanzeigen?
- Use Cases for Kleinanzeigen Data
- Integrations and API Access
- Frequently Asked Questions
Why Use This Kleinanzeigen Scraper
- 🔍 Search by keyword across all of Germany -- enter any search term (e.g. "iPhone 15 Pro", "Sofa", "Fahrrad") and get structured data for every matching Anzeige. Search nationally or restrict to a specific city or postal code.
- 🔄 Cartesian product search -- provide multiple keywords and multiple locations to automatically search all combinations. 5 keywords and 10 locations means 50 searches in a single run, with automatic deduplication of any posts that appear in multiple results.
- 📍 Location and radius filtering -- narrow results by city, postal code (e.g. "Berlin", "10178"), or a radius of up to 200 km. Perfect for local market analysis or regional price comparisons.
- 🔗 Direct post lookup by URL or Anzeigen-ID -- already have a list of specific Kleinanzeigen posts? Paste URLs like
https://www.kleinanzeigen.de/s-anzeige/...or supply Anzeigen-IDs directly, and the scraper fetches full details for each one. - 🧩 Combine search and direct lookup -- use keyword search and direct post URLs in the same run. The scraper merges all results and deduplicates automatically.
- ⚡ No API key required -- there is no official Kleinanzeigen API. This scraper requires no registration, no authentication tokens, and no configuration overhead. Just add your inputs and click Start.
- 📦 15+ structured fields per post -- extract post title, full description, price, price type (Festpreis / VB / Zu verschenken), location, category, seller information, images, shipping details, and structured properties (e.g. "Zustand: Neu", "Art: Apple").
- 💾 Export as JSON, CSV, Excel, XML, or HTML -- download your Kleinanzeigen data in whichever format your workflow requires. All five formats are available out of the box on the Apify platform.
- 🛡️ Automatic deduplication -- posts found through multiple keyword or location combinations are included only once in the output, so you never pay for or process duplicate records.
- 🌐 The Kleinanzeigen API alternative -- there is no official Kleinanzeigen API (formerly eBay Kleinanzeigen API). Use this scraper anywhere you would use one, with structured JSON output, no rate limits, and no authentication setup required.
What Data Can You Extract from Kleinanzeigen?
The Kleinanzeigen Scraper extracts 15+ structured data fields for each post (Anzeige). Here is the complete list of every field included in the output:
Post identity:
- id -- Anzeigen-ID (e.g.
2623607133) - url -- Direct link to the Kleinanzeigen post
- title -- Post title as written by the seller
Content:
- description -- Full post description text
- properties -- Structured category-specific attributes as
[{"name": "Zustand", "value": "Neu"}, {"name": "Art", "value": "Apple"}]-- varies by category (electronics, vehicles, furniture, etc.) - images -- Full-resolution image URLs from the Kleinanzeigen CDN
Pricing:
- price -- Price in EUR (e.g.
"1129.00"), or null if not specified - priceType -- Price type:
"fixed"(Festpreis),"negotiable"(Verhandlungsbasis / VB), or"give_away"(Zu verschenken) - buyNowPossible -- Whether the seller offers Direkt kaufen
- offerPossible -- Whether the seller accepts a Preisvorschlag (price offer / negotiate)
Location and logistics:
- location -- Location string as posted (e.g.
"44536 Nordrhein-Westfalen - Lünen") - shipping -- Shipping availability, e.g.
"Versand möglich", or null if pickup only
Listing metadata:
- publishDate -- Date the post was published (e.g.
"2023-12-26") - category -- Category name (e.g.
"Handy & Telefon","Autos","Möbel & Wohnen")
Seller information:
- user.id -- Seller account ID
- user.name -- Seller display name
- user.isCommercial -- Whether the seller is a commercial dealer (Gewerblich) or private individual (Privat)
Search context (when found via search):
- _search.keywords -- The keyword(s) used in the search that returned this post
- _search.location -- The location that was searched
- _search.rank -- Position in search results for that keyword and location combination (1-indexed)
This comprehensive field set makes the Kleinanzeigen Scraper suitable for price monitoring, market research, inventory tracking, lead generation, and any other workflow requiring structured data from German classifieds.
How to Scrape Kleinanzeigen
Getting started with the Kleinanzeigen Scraper takes less than two minutes. Follow these five steps to extract Kleinanzeigen post data:
Step 1: Create a free Apify account
Sign up at apify.com if you do not have an account yet. Every new account includes $5 in free credits -- enough to scrape over 3,000 Kleinanzeigen posts at no cost.
Step 2: Open the Kleinanzeigen Scraper
Navigate to the Kleinanzeigen Scraper actor page on the Apify Store and click "Try for free" or "Start."
Step 3: Add your search keywords, locations, or post URLs
You have three ways to specify which posts to scrape:
- Keyword search: Enter one or more search keywords (e.g. "iPhone 15 Pro", "Sofa", "Mountainbike") and optionally one or more locations (e.g. "Berlin", "München", "10178"). The scraper searches all combinations of keywords and locations.
- Direct post URLs: Paste one or more Kleinanzeigen post URLs, such as
https://www.kleinanzeigen.de/s-anzeige/apple-iphone-15-pro.../2623607133-173-1753. - Anzeigen-IDs: Enter post IDs directly if you already know them (e.g.
2623607133).
You can combine all three methods in a single run. The scraper deduplicates results automatically.
Step 4: Click Start
Click the "Start" button to begin the scrape. The scraper processes your inputs, fetches post details, and pushes results to the dataset. You can monitor progress in real time on the run detail page.
Step 5: Download your data in JSON, CSV, Excel, XML, or HTML
Once the run completes, go to the Storage tab to view and download your results. Apify supports five export formats out of the box:
- JSON -- structured data, ideal for programmatic processing
- CSV -- spreadsheet-friendly, opens directly in Excel or Google Sheets
- Excel (.xlsx) -- native Excel format with proper column types
- XML -- for systems that consume XML feeds
- HTML -- human-readable table view
You can also access your data programmatically through the Apify API, or set up automatic exports to Google Sheets, Dropbox, Amazon S3, and other destinations.
Input Parameters
The Kleinanzeigen Scraper accepts the following input parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchKeywords | Array of strings | No | -- | Keywords to search for (e.g. "iPhone 15 Pro", "Sofa", "Fahrrad"). Used together with searchLocations -- all combinations are searched. |
searchLocations | Array of strings | No | -- | Locations to search in: city name or postal code (e.g. "Berlin", "München", "10178"). Used together with searchKeywords -- all combinations are searched. |
searchRadius | Integer | No | none | Search radius in km around the specified location. Supported values: 0, 5, 10, 20, 30, 50, 100, 150, 200. A value of 0 means exact location match only. |
searchCategoryId | Integer | No | -- | Optional category filter. Restrict results to a specific Kleinanzeigen category by its numeric category ID. |
maxResultsPerSearch | Integer | No | 25 | Maximum number of posts to return per keyword + location combination. |
postUrls | Array of URLs | No | -- | Direct Kleinanzeigen post URLs to fetch details for. Can be used instead of or in addition to keyword search. |
postIds | Array of strings | No | -- | Anzeigen-IDs to fetch details for. Can be used instead of or in addition to URLs and/or keyword search. |
Note: You must provide at least one of searchKeywords, postUrls, or postIds. When using searchKeywords with searchLocations, all combinations are searched automatically -- 3 keywords and 4 locations produces 12 searches in a single run.
Search example: Setting searchKeywords to ["iPhone 15 Pro", "Samsung Galaxy S24"] and searchLocations to ["Berlin", "Hamburg", "München"] runs six searches. With maxResultsPerSearch at 25, this returns up to 150 posts (fewer after deduplication).
Output Examples
The Kleinanzeigen Scraper outputs data in two formats: a structured JSON dataset and a flattened CSV file. You can download results in JSON, CSV, Excel, XML, or HTML from the Storage tab after each run.
Apify Dataset
The results are stored in a dataset which you can find in the Storage tab. Each item in the dataset represents a single Kleinanzeigen post (Anzeige).
Example JSON output
{"id": 2623607133,"url": "https://www.kleinanzeigen.de/s-anzeige/apple-iphone-15-pro-128gb-titanium-natural-natur-grau-neu/2623607133-173-1753","title": "Apple iPhone 15 PRO 128GB Titanium Natural Natur Grau | NEU","description": "Willkommen bei FUCHS Handyhandel...","location": "44536 Nordrhein-Westfalen - Lünen","price": "1129.00","priceType": "fixed","buyNowPossible": false,"offerPossible": false,"publishDate": "2023-12-26","shipping": "Versand möglich","category": "Handy & Telefon","properties": [{"name": "Art", "value": "Apple"},{"name": "Farbe", "value": "Grau"},{"name": "Gerät & Zubehör", "value": "Gerät & Zubehör"},{"name": "Zustand", "value": "Neu"}],"images": ["https://img.kleinanzeigen.de/api/v1/prod-ads/images/87/876833af-4f17-44d6-8dfc-80c7262d4c4f?rule=$_59.JPG"],"user": {"id": 49555324,"name": "FUCHS Handyhandel","isCommercial": true},"_search": {"keywords": "iPhone 15 Pro","location": "Lünen","rank": 3}}
CSV file
Post details are stored in a CSV file. The file contains the following columns:
id: Anzeigen-IDurl: Link to the Kleinanzeigen posttitle: Post titledescription: Full description textlocation: Location string (e.g."44536 Nordrhein-Westfalen - Lünen")price: Price in EUR, or empty if not specifiedpriceType:fixed,negotiable, orgive_awaybuyNowPossible: Whether Direkt kaufen is availableofferPossible: Whether Preisvorschlag is acceptedpublishDate: Publication dateshipping: Shipping info (e.g."Versand möglich"), or emptycategory: Category nameproperties: Structured properties flattened as"Name: Value"pairs (newline-separated)images: Full-resolution image URLs (newline-separated)user_id: Seller account IDuser_name: Seller display nameuser_isCommercial: Whether the seller is commercial (Gewerblich) or privatesearch_keywords: The keyword(s) used to find this post (empty for direct lookups)search_location: The location used in the search (empty for direct lookups)search_rank: Position in search results (empty for direct lookups)
How Much Does It Cost to Scrape Kleinanzeigen?
The Kleinanzeigen Scraper uses simple, transparent per-result pricing -- you only pay for the posts you get.
$1.50 per 1,000 results -- each post returned counts as one result, whether found via keyword search or direct ID/URL lookup. Deduplication happens before billing, so you never pay for the same post twice.
Free trial: Every new Apify account comes with $5 in free platform credits -- no credit card required. That's enough to scrape over 3,000 Kleinanzeigen posts at no cost, so you can fully evaluate the scraper before committing.
Enterprise plans: If you need to scrape large volumes of Kleinanzeigen data on a regular basis -- tens of thousands up to millions of posts per month -- reach out to sales@beatanalytics.org for custom Enterprise pricing with dedicated support and volume discounts.
Use Cases for Kleinanzeigen Data
Kleinanzeigen data powers a wide range of analytical, operational, and research workflows. Here are the most common use cases:
Price monitoring and market valuation
Track prices for specific products across all of Germany or within a defined region. Monitor how prices change over time by scheduling regular scraping runs. Compare private seller prices against commercial dealer prices to understand market spreads. This is particularly valuable for used electronics, vehicles, furniture, and collectibles where there is no fixed reference price.
Competitive intelligence for dealers and resellers
Commercial sellers (Gewerblich) can monitor competitor listings in their product categories. Track which products competitors are listing, at what prices, and in which locations. Identify inventory gaps and pricing opportunities by analyzing what sells quickly (posts that disappear between runs) versus what lingers.
Inventory sourcing and arbitrage
Find underpriced items in specific categories and regions before competitors do. Search by keyword and location with radius filtering to identify deals within a drivable distance. Use priceType filtering on the results to focus on Festpreis listings (no negotiation needed) or VB listings with room to offer.
Lead generation and sales prospecting
Extract contact-adjacent data (seller name, commercial/private status, location) for businesses and dealers selling in your target category. Commercial sellers on Kleinanzeigen are often SMBs that may be receptive to B2B outreach. Use user.isCommercial to focus on verified business sellers.
Academic research and economic analysis
Study pricing patterns in the German second-hand market. Analyze the geographic distribution of supply and demand for specific goods. Research the difference in pricing behavior between private individuals and commercial dealers. The structured properties field lets you analyze product condition (Zustand) and specifications alongside price data.
Real estate and housing market analysis
Kleinanzeigen hosts a large volume of private real estate listings alongside the major portals. Scrape rental and sales listings by city or postal code to track price trends, compare neighborhoods, and monitor supply levels in specific markets.
Fraud detection and brand protection
Monitor Kleinanzeigen for counterfeit goods, unauthorized use of brand names, or suspicious listing patterns. Use keyword and category filters to find posts mentioning specific product names, then analyze seller patterns, pricing anomalies, and image data for indicators of fraud.
Journalism and public interest reporting
Investigate pricing trends, regional economic disparities, and consumer behavior patterns in the German second-hand economy. Kleinanzeigen data can serve as a real-time indicator of consumer sentiment -- when used electronics prices rise or fall, it often reflects broader economic conditions.
Integrations and API Access
The Kleinanzeigen Scraper integrates with the Apify platform ecosystem, giving you programmatic access to your scraped data and the ability to connect it to thousands of external tools.
Python API access
Use the Apify Python SDK to run the scraper and retrieve results programmatically:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run_input = {"searchKeywords": ["iPhone 15 Pro", "Samsung Galaxy S24"],"searchLocations": ["Berlin", "Hamburg"],"maxResultsPerSearch": 50,}run = client.actor("beatanalytics/kleinanzeigen-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['title']} - {item['price']} EUR - {item['location']}")
JavaScript / Node.js API access
Use the Apify JavaScript SDK to integrate Kleinanzeigen scraping into your Node.js applications:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("beatanalytics/kleinanzeigen-scraper").call({searchKeywords: ["Sofa", "Couch"],searchLocations: ["München"],maxResultsPerSearch: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(`${item.title} - ${item.price} EUR - ${item.user.name}`);});
No-code integrations
Connect the Kleinanzeigen Scraper to thousands of apps without writing code:
- Make (formerly Integromat) -- trigger workflows when new Kleinanzeigen data is scraped, or schedule regular runs as part of larger automations
- Zapier -- connect Kleinanzeigen data to Google Sheets, Slack, email, CRM tools, and 5,000+ other apps
- Webhooks -- receive HTTP notifications when a scraping run completes, then process the data in your own backend
- Google Sheets -- export results directly to a Google Sheets spreadsheet for collaborative analysis
- Amazon S3 / Dropbox -- automatically save scraped data to cloud storage after each run
Scheduled runs
Set up the Kleinanzeigen Scraper to run on a schedule (hourly, daily, weekly, or custom cron) to keep your data fresh. Each run appends new results to your dataset, making it easy to track new listings, price changes, and sold items over time. This is particularly useful for price monitoring, inventory sourcing, and competitive intelligence workflows.
API endpoints
Every scraper run on Apify exposes RESTful API endpoints for accessing results, checking run status, and managing datasets. See the Apify API documentation for the complete reference.
Frequently Asked Questions
Is there an official Kleinanzeigen API? / Gibt es eine offizielle Kleinanzeigen API?
No. Kleinanzeigen (formerly eBay Kleinanzeigen) does not offer a public API. There is no official way to programmatically access Kleinanzeigen listing data, search results, or post details. The Kleinanzeigen Scraper was built specifically to fill this gap -- it works as a Kleinanzeigen API alternative, returning structured JSON data for any search query or post URL without requiring authentication or API keys.
Nein. Kleinanzeigen bietet keine öffentliche API an. Es gibt keine offizielle Möglichkeit, Kleinanzeigen-Daten programmatisch abzurufen. Dieser Scraper ist die Alternative: Er liefert strukturierte Daten für beliebige Suchbegriffe, Standorte und Inserate -- ohne Registrierung, ohne API-Schlüssel.
Wie kann ich Kleinanzeigen-Daten scrapen und exportieren? (How do I scrape and export Kleinanzeigen data?)
Geben Sie Ihre Suchbegriffe und Standorte ein, klicken Sie auf Start, und laden Sie die Ergebnisse als JSON, CSV, Excel, XML oder HTML herunter. Für regelmäßige Marktbeobachtung können Sie den Scraper mit der Apify-Planungsfunktion automatisch täglich oder wöchentlich ausführen lassen. Alle Details finden Sie unter How to Scrape Kleinanzeigen.
Was kostet es, Kleinanzeigen zu scrapen? (What does it cost to scrape Kleinanzeigen?)
$1,50 pro 1.000 Ergebnisse -- Sie zahlen nur für die Inserate, die Sie erhalten. Jedes neue Apify-Konto enthält $5 Startguthaben (keine Kreditkarte nötig), das reicht für über 3.000 Kleinanzeigen-Inserate. Für Großvolumen ab 10.000+ Inserate pro Monat bieten wir Enterprise-Tarife an -- schreiben Sie uns an sales@beatanalytics.org.
Kann ich Kleinanzeigen-Inserate nach Standort und Umkreis filtern? (Can I filter by location and radius?)
Ja. Geben Sie in searchLocations einen oder mehrere Städtenamen oder Postleitzahlen ein (z.B. „Berlin", „10178", „München"). Mit searchRadius erweitern Sie die Suche auf einen Umkreis von 5 bis 200 km. So können Sie lokale Marktanalysen oder regionale Preisvergleiche durchführen.
How do I scrape Kleinanzeigen without an API?
The Kleinanzeigen Scraper is designed specifically for this use case. Open the actor on Apify, enter your search keywords, locations, or post URLs, and click Start. The scraper handles all data extraction automatically and returns structured results in JSON, CSV, or any other supported format. No API key, no rate limits, no authentication. See How to Scrape Kleinanzeigen for a step-by-step walkthrough.
Is it legal to scrape Kleinanzeigen?
This scraper only accesses publicly visible listings -- the same data any visitor sees without logging in. German and EU courts (including the BGH) have generally upheld that accessing publicly available information is permissible. That said, legality depends on your specific use case, jurisdiction, and how you use the data. Consult a legal professional if you have concerns. Always use scraped data responsibly and in compliance with applicable data protection laws, including GDPR.
How many posts can I scrape?
There is no hard limit on the number of posts you can scrape in a single run. Control the volume with the maxResultsPerSearch parameter. A run with 10 keyword-location combinations and maxResultsPerSearch set to 100 will attempt to retrieve up to 1,000 posts. For very large-scale scraping (hundreds of thousands of posts per month), consider reaching out to sales@beatanalytics.org for Enterprise plans with volume discounts.
Can I filter results by location or radius?
Yes. Set searchLocations to one or more city names or postal codes (e.g. "Berlin", "10178", "München"). Use searchRadius to expand the search to include listings within a given distance: supported values are 0, 5, 10, 20, 30, 50, 100, 150, and 200 km. A radius of 0 (the default) restricts results to the specified location only. Each result includes the full location string from the post, so you can also filter or group results geographically after scraping.
What is the difference between "fixed", "negotiable", and "give_away" price types?
The priceType field maps to Kleinanzeigen's three pricing modes:
"fixed"-- Festpreis: the seller expects the listed price, no negotiation."negotiable"-- Verhandlungsbasis (VB): the seller is open to offers below the listed price."give_away"-- Zu verschenken: the item is being given away for free.
Use this field to filter results programmatically -- for example, to focus only on Festpreis listings when you need predictable pricing data, or on Zu verschenken listings for free goods research.
What are "properties" in the output?
The properties field contains structured, category-specific attributes for each post. These are the key-value fields that sellers fill in when creating a listing, and they vary by category. For a smartphone listing, properties might include {"name": "Art", "value": "Apple"}, {"name": "Zustand", "value": "Neu"}, and {"name": "Farbe", "value": "Grau"}. For a car listing, you would see mileage, fuel type, and year of manufacture. In the CSV export, properties are flattened to one "Name: Value" pair per line.
What export formats are supported?
The Kleinanzeigen Scraper supports five export formats, all available directly from the Apify platform with no additional configuration:
- JSON -- structured data, ideal for programmatic processing and API integrations
- CSV -- comma-separated values, opens directly in Excel, Google Sheets, or any spreadsheet tool
- Excel (.xlsx) -- native Microsoft Excel format with proper column types
- XML -- for systems that consume XML feeds or require XML-based data exchange
- HTML -- human-readable table view for quick visual inspection
You can download data in any format from the Storage tab after a run completes, or retrieve it programmatically through the Apify API.
How often is the data updated?
The Kleinanzeigen Scraper fetches live data from Kleinanzeigen every time it runs. There is no cached or stale data -- each run makes fresh requests and returns the most current listings available at that moment. To track new listings or price changes over time, schedule the scraper to run on a recurring basis (hourly, daily, weekly, or on a custom cron schedule) using Apify's built-in scheduling feature.
How do I scrape Kleinanzeigen listings for market research? (Wie kann ich Kleinanzeigen-Inserate für Marktforschung scrapen?)
Enter your target keywords (e.g. product names, categories) in searchKeywords, add one or more German cities or postal codes in searchLocations, and set maxResultsPerSearch to the volume you need. Run the scraper, then download the results as CSV or JSON for analysis. For ongoing market research, use Apify's scheduling feature to run the scraper daily or weekly and track how prices and supply volumes evolve over time.
Can I look up specific posts by their Anzeigen-ID?
Yes. Use the postIds input field and provide one or more Anzeigen-IDs (the numeric ID visible in each Kleinanzeigen URL). The scraper fetches full post details for each ID directly. You can combine this with keyword search in the same run -- the results from all sources are merged and deduplicated automatically.