Kleinanzeigen Scraper (ads, prices, sellers) avatar

Kleinanzeigen Scraper (ads, prices, sellers)

Pricing

from $2.00 / 1,000 ad with details

Go to Apify Store
Kleinanzeigen Scraper (ads, prices, sellers)

Kleinanzeigen Scraper (ads, prices, sellers)

Scrape kleinanzeigen.de (eBay Kleinanzeigen) by keyword, category, location and price: title, price and price type, place, posting time, description, attributes, images, shipping, seller type and category. No proxy, no login.

Pricing

from $2.00 / 1,000 ad with details

Rating

0.0

(0)

Developer

SteadyRows

SteadyRows

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Security

Limited permissions

Share

Kleinanzeigen Scraper: ads, prices and sellers

Get structured data from Kleinanzeigen (formerly eBay Kleinanzeigen), Germany's largest classifieds site: search by keyword, category, city and radius, price range and seller type, or paste a results page copied from the site, and get one clean row per ad.

Built for price research, market monitoring and sourcing: what a used item sells for in a region, how many ads a category gets per day, which commercial sellers are active in a niche, which ads offer shipping.

What you get

One row per ad (every row has the same keys, null when the site has no value):

FieldExample
id, url, title3529394058, https://www.kleinanzeigen.de/s-anzeige/yamaha-ebike-motor-neu/3529394058-217-8428, YAMAHA EBIKE MOTOR NEU
price, priceType, priceText450, negotiable (VB) / fixed / free (Zu verschenken), "450 € VB"
isWantedtrue for "Gesuch" (wanted) ads; they are skipped by default
zip, city, region, locality75417, Mühlacker, Baden-Württemberg, "75417 Baden-Württemberg - Mühlacker" (region is the state for towns and the district for big cities, as the site shows it)
postedAt, postedDate2026-10-03T05:12:00.000Z (Berlin time converted to UTC), 2026-10-03
snippet, descriptionthe first lines shown on the results page; the full ad text
attributes{ "Art": "Herren", "Typ": "Elektrofahrräder", "Zustand": "Neu" } – whatever the category asks sellers to fill in
imageUrl, imageUrls[], imageCountfull-size image links; ads posted without a photo have null, [] and 0
shippingPossible, pickupOnly, buyNow, tags[]"Versand möglich", "Nur Abholung", "Direkt kaufen" badges
sellerType, sellerSince, sellerBadges[]private / commercial, 2024-10-20, ["TOP Zufriedenheit", "Sehr freundlich", "Besonders zuverlässig"]
isPro, sellerName, shopUrl, hasPhonecommercial sellers only: shop name and shop page; whether the ad shows a phone number
isTopAdpaid placement at the top of the results page
categoryId, categoryName, parentCategoryId, parentCategoryName217, Fahrräder & Zubehör, 210, Auto, Rad & Boot
query, searchUrl, positionwhere the ad was found and its rank there
detailsFetchedwhether the ad page was opened for this row

Privacy: private sellers stay anonymous. The actor never outputs private sellers' names, user IDs or phone numbers, only what a visitor sees on the results page plus the ad's own text and attributes. For sellers who registered as a business ("Gewerblicher Nutzer") the displayed business name and, for PRO shops, the shop page are included.

Input

{
"searchQueries": ["fahrrad", "e-bike"],
"category": "https://www.kleinanzeigen.de/s-fahrraeder/c217",
"location": "Berlin",
"radiusKm": 20,
"minPrice": 100,
"maxPrice": 500,
"sellerType": "private",
"shippingOnly": false,
"sort": "newest",
"excludeWanted": true,
"postedSince": "7 days",
"searchUrls": ["https://www.kleinanzeigen.de/s-muenchen/preis::300/sofa/k0l6411r50"],
"adUrls": ["https://www.kleinanzeigen.de/s-anzeige/yamaha-ebike-motor-neu/3529394058-217-8428"],
"maxAds": 100,
"includeDetails": true
}
  • searchQueries are searched one by one; category, location, radiusKm, minPrice, maxPrice, sellerType and shippingOnly apply to all of them. A category without queries lists the whole category.
  • location is any city, district or postcode the site knows ("Berlin", "Hamburg-Nord", "80331"); the actor resolves it the same way the site's search box does and tells you in the log which place it picked.
  • sort newest (default), price-asc, price-desc.
  • postedSince accepts a date (2026-10-01) or 1 day, 2 weeks, 1 month. With the default newest-first order the search stops as soon as it reaches older ads, so a daily run with postedSince: "1 day" costs only what is new.
  • searchUrls take any results page from the site, filters included; all its pages are read.
  • adUrls take ad page URLs or bare ad IDs and are always delivered with details.
  • maxAds applies per query, category or URL. The site shows at most 50 pages of 25 ads (1,250) per search; narrow by location, category or price to get past that.
  • includeDetails off: only the results-page fields (title, price, place, time, snippet, first image, shipping badge), about 3× faster and cheaper.

Pricing

Pay per result, no subscription:

EventPrice
Ad with details (ad page opened)$2.00 per 1,000
Ad, search row only (includeDetails: false)$1.00 per 1,000
Run start$0.002

1,000 ads with details take about 6 minutes; search rows alone about 1 minute per 1,000.

Reliability

  • Public pages only, no login, no proxy. Requests are spaced out and a bot wall (403 or captcha page) is retried with backoff instead of being reported as data.
  • An ad deleted between the results page and the ad page is delivered as a search row with a warning; an unknown ad URL is skipped with a warning.
  • If ad pages stop answering, the run falls back to search rows (charged at the lower price) instead of failing.
  • Promoted ads repeat on every page and ads show up under several queries; each ad is delivered once per run.
  • Rows are pushed as they are collected, so a run stopped early still delivers what it has.

Limits

  • What a logged-out visitor in Germany sees: no seller phone numbers, no view counts, no "Direkt kaufen" checkout details.
  • Posting time is shown by the site only for the current and previous day; older ads carry the date (midnight Berlin time in postedAt).
  • attributes keys are the site's German labels and differ by category.
  • The site's own ad-type path filter (anzeige:angebote|gesuche) is excluded by robots.txt, so wanted ads are filtered after fetching; use excludeWanted (default on) or a pasted anzeige:gesuche URL for wanted ads only.