Kleinanzeigen Scraper: Past the 1,250 Limit avatar

Kleinanzeigen Scraper: Past the 1,250 Limit

Pricing

from $1.05 / 1,000 ads

Go to Apify Store
Kleinanzeigen Scraper: Past the 1,250 Limit

Kleinanzeigen Scraper: Past the 1,250 Limit

Every ad of a Kleinanzeigen search, past the 1,250 the site shows, checked against its count. $1.50 per 1,000 ads. Prices, places, sellers; ad pages optional.

Pricing

from $1.05 / 1,000 ads

Rating

0.0

(0)

Developer

Luzi

Luzi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Security

Limited permissions

Share

Get every ad of a Kleinanzeigen search, not just the 1,250 the site shows you: by search words, or from any results link with your own place, radius, category and filters. The run's last message checks the ads saved against Kleinanzeigen's own count for each search. No Kleinanzeigen account, login or cookies needed.

Tested daily. Latest check: Hamburg's road bikes, 3,669 of the 3,669 ads the site counted, in 8.5 minutes.

What does this Actor do?

You give it search words (searched across Germany) or links to Kleinanzeigen results pages. For each search it saves one row per ad, until it has every ad Kleinanzeigen counts for that search or reaches your limit.

Kleinanzeigen's own site stops at 50 pages of 25 ads (1,250) for any search. This Actor keeps going: a bigger search is read place by place (and by price where needed), so a whole city or category comes back in one run, and its final message says, per search, whether it got all of Kleinanzeigen's count ("3,669 of 3,669").

Each row comes with:

  • the ad id, the ad's link, its title and the start of its description
  • the price, the price as shown, whether it is fixed, negotiable (VB) or free (zu verschenken), and an earlier price when the seller cut it
  • the date (and time, for ads from today and yesterday), the ZIP code, the town or district and the region
  • the seller's id, private or business, a PRO badge, the shop's link and tag line
  • shipping, direct buy, wanted ads, the ad's tags (mileage and first registration for cars, living area and rooms for flats, read out into their own fields)
  • every picture of the card, top ad, highlight and priority flags, videos and virtual tours
  • the search it came from and Kleinanzeigen's count for the search

With Include ad pages on, each row also gets the ad's own page: the full description, every detail the seller filled in (mileage, rooms, condition, rent with utilities…), the equipment list, the street and map point, the category path, all pictures, documents, and the seller's name, member-since date, ads online, badges and rating, plus a business seller's phone number and legal notice.

Why use it?

  • Every ad, not 1,250. A search with more ads than the site shows is read to its end; the run tells you for each search how many of the count it saved.
  • Any search, from search words or a results link with your filters (place and radius, category, price, private or business, offers or wanted).
  • Ad pages when you want them, with the seller's phone and legal notice for businesses.
  • $1.50 per 1,000 ads, ad pages included, and nothing per search.

How to use it

  1. Type search words under Search words, or paste Kleinanzeigen results links under Search links.
  2. Set Max ads per search (1,000 by default). To get a whole search, set it above the number Kleinanzeigen shows for it.
  3. Turn on Include ad pages if you need the full ads.
  4. Start the run, then download the ads as JSON, CSV or Excel.

Run it with no input to see a sample: up to 100 ads for "rennrad carbon", charged as usual.

Input

FieldWhat it is
searchQueriesSearch words, one search per line, across Germany
startUrlsKleinanzeigen results links with your place, category and filters
minPriceLowest price in euros, for the search words
maxPriceHighest price in euros, for the search words
sellerTypeall (default), private or commercial, for the search words
offerTypeall (default), offered or wanted, for the search words
maxAdsPerSearch1 to 50,000, default 1,000
includeAdDetailstrue to read each ad's own page too (default false)

Example:

{
"startUrls": ["https://www.kleinanzeigen.de/s-muenchen/rennrad/k0l6411"],
"searchQueries": ["e-bike"],
"maxPrice": 2000,
"sellerType": "private",
"maxAdsPerSearch": 5000,
"includeAdDetails": false
}

A link to a single ad or to a seller's page, or a link to another site, is refused before the run starts, with the link named.

Output

One row per ad. Fields the site does not show for an ad are null or an empty list.

FieldWhat it is
ad_id, url, title, description_snippetThe ad
price, price_text, price_type, original_price, original_price_text, currencyThe price in euros, as shown, fixed/negotiable/give_away, a cut
date, posted_at, date_textThe ad's date, with the time for today's and yesterday's ads
zip, region, locality, location_text, location_id, category_idWhere it is, and its category
distance_km, exact_distance_km, availability_radius_kmDistance from the searched place, for searches with a place
seller_id, seller_type, seller_badge, has_shop, shop_url, shop_taglineThe seller
shipping, shipping_possible, buy_now, is_wantedShipping, direct buy, and whether it is a wanted ad
tags, mileage_km, first_registration, living_area_m2, roomsThe card's tags, and the car and flat facts read out of them
image_url, images, has_image, has_videos, has_virtual_tourPictures and media
is_top_ad, is_highlighted, is_priority_ad, promotions, is_new_construction_unit, is_new_construction_projectThe ad's paid features and new-build flags
search_url, search_totalThe search the row came from and Kleinanzeigen's count for it
details_read, page_layoutWith ad pages: whether the ad's page was read (false: taken down)
description, details, equipmentWith ad pages: the full text, every detail by name, the equipment list
street, state, location_path, latitude, longitudeWith ad pages: the address and map point
posted_date, ad_type, category, category_path, category_ids, attribute_codesWith ad pages: created on, offer or wanted, the category path
image_count, videos, documentsWith ad pages: all pictures, videos and documents
offer_possible, secure_payment, buyer_fee_eur, financing_eligibleWith ad pages, where shown: offers, secure payment, financing
seller_name, seller_kind, seller_active_since, seller_ads_online, seller_badges, seller_rating, seller_rating_countWith ad pages: the seller's profile
seller_phone, seller_imprint, shop_nameWith ad pages: a business seller's phone, legal notice and shop name
is_expired, is_pausedWith ad pages, where shown: the ad's status

Sellers' names, phone numbers and addresses are personal data: check that your use is allowed where you are (in the EU, the GDPR applies).

How much does it cost?

No surcharges and no paid options; an item that fails is not charged.

This Actor is priced per ad saved:

  • $1.50 per 1,000 ads ($0.0015 an ad), with or without ad pages. Each ad is charged once per run.
  • No start fee, and nothing per search.

So 1,000 ads cost $1.50. If you set a maximum cost for a run, the Actor stops when it reaches it and keeps every ad saved so far.

How long does a run take?

About two and a half minutes per 1,000 ads (3,669 in 8.5 minutes in a test). With ad pages, about 4 minutes per 50 ads (97 in 7 minutes in a test). For more than about 5,000 ads, or a few hundred with ad pages, raise the run's timeout under Run options before you start.

Good to know

  • Kleinanzeigen's count. The final message compares the ads saved with the site's count for each search. The count moves while a big search is read, as ads come and go.
  • Ads with no price at all. When a search over 1,250 ads can't be split by place (the site's place list doesn't cover it), it is split by price, and an ad with no price at all (only "VB", or free to give away) can then be missed: 51 of 4,994 (1%) in a test.
  • An ad in two of your searches is saved once, under the first search that reached it. Two searches that overlap (a nationwide search and a city link for the same words) may read the overlap only once, so the second one's count check can read short.
  • Dates. "Today" and "yesterday" on the site are turned into dates from the run's start, in German time; a run that crosses midnight dates its later ads one day early.
  • Order. A search under 1,250 ads comes back in the site's order; a larger one comes back place by place.
  • Ad pages. A taken-down ad keeps the row from the results page, marked details_read: false. The site sometimes refuses an ad page several times in a row; such an ad is not saved (3 of 100 in a test, all cars). Views are not read.
  • Germany only, as Kleinanzeigen.

More Actors from us

Use it from an AI agent or the API

One call starts a run and returns its items (Apify waits up to 300 seconds; for a longer run, start it with POST /v2/acts/…/runs and read its dataset):

POST https://api.apify.com/v2/acts/luzivanlt~kleinanzeigen-listings-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>

With the sample input as its JSON body:

{
"searchQueries": ["rennrad carbon"],
"sellerType": "all",
"offerType": "all",
"maxAdsPerSearch": 100,
"includeAdDetails": false
}

Its inputs, in the order of the input form:

InputWhat it takesDefault
searchQueries (Search words)What to search for across all of Germany, one search per line, as you would type it in Kleinanzeigen's search box (up to 100 characters each).—
startUrls (Search links)Kleinanzeigen results links, copied from your browser after you set the place, radius, category, price and other filters you want (https://www.kleinanzeigen.de/s-muenchen/rennrad/k0l6411).—
minPrice (Lowest price (€))Only ads priced at or above this many euros, for the search words above.—
maxPrice (Highest price (€))Only ads priced at or below this many euros, for the search words above.—
sellerType (Seller)Private sellers, businesses (dealers, shops and agents), or both (the default), for the search words above."all"
offerType (Ad type)Offers (things for sale, rent or free), wanted ads (people looking for something), or both (the default), for the search words above."all"
maxAdsPerSearch (Max ads per search)Stop each search after this many ads, from 1 to 50,000 (1,000 by default).1000
includeAdDetails (Include ad pages)Also open each ad's own page for its full description, every detail (mileage, rooms, condition…), equipment list, street and map point, all pictures, the seller's name, member-since date, ads online, badges, and a business seller's phone and legal notice.false

Apify's MCP server, https://mcp.apify.com, lists it as luzivanlt/kleinanzeigen-listings-scraper. To give an AI agent this Actor as a tool, add the server to the agent's MCP config:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=luzivanlt/kleinanzeigen-listings-scraper"
}
}
}

The client signs in with OAuth, or add "headers": { "Authorization": "Bearer <APIFY_TOKEN>" }.

Charged per ad delivered; the sample input above costs at most $0.15.

FAQ

Can I get every ad in a big city? Yes. Set Max ads per search above the site's count; the final message tells you how many of the count were saved.

Can I use my own filters? Yes. Set them on Kleinanzeigen, copy the link from your browser and paste it under Search links.

Can I get sellers' phone numbers? With Include ad pages on, a row carries the phone number the ad's page shows, which business sellers often do.

This Actor reads pages anyone can open without an account. Check Kleinanzeigen's terms and the laws where you are before you use the data, especially the personal data of sellers.

Support

Open an issue on the Actor's page and describe the search and what you expected.