Kleinanzeigen Scraper Without Login: Still Online by URL avatar

Kleinanzeigen Scraper Without Login: Still Online by URL

Pricing

from $1.52 / 1,000 successful lookups

Go to Apify Store
Kleinanzeigen Scraper Without Login: Still Online by URL

Kleinanzeigen Scraper Without Login: Still Online by URL

eBay Kleinanzeigen scraper without login (URL lookup, not keyword search): get the price of a Kleinanzeigen listing by URL, listing details, check if an ad is still online. Clean a list of saved links as a sold listing checker, compare prices across car listings, send rows to Google Sheets.

Pricing

from $1.52 / 1,000 successful lookups

Rating

0.0

(0)

Developer

Adriana Voss

Adriana Voss

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Kleinanzeigen Listing Lookup

Want new listings and price drops for a search instead of checking known links? Use Kleinanzeigen Search (kleinanzeigen-search-lookup).

Look up any Kleinanzeigen.de listing β€” title, price, location, description, and the full category-specific details list (mileage, brand, condition, and more) β€” from Germany's dominant classifieds marketplace, covering everything from cars and real estate to electronics and jobs.

Features

  • Core listing fields. Title, price (both raw text and a parsed numeric value), location, full description text, and the ad ID.
  • Category-specific details. A generic label/value details object that covers whatever attribute list the listing shows β€” vehicle mileage, real-estate room count, item condition, and more β€” without needing a separate schema per category.
  • Listing image. The preview image URL pulled from the page's Open Graph tags.
  • Pay only for hits. Removed or invalid listing URLs cost nothing β€” see Pricing.

How to use Kleinanzeigen Listing Lookup β€” Germany Classifieds API

  1. In the Apify Console. Open the actor page and click Start β€” the items field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
  2. Via the API. Call it directly with a POST request β€” no Console needed once you have an API token:
    curl "https://api.apify.com/v2/acts/accountable_eel~kleinanzeigen-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"items":["https://www.kleinanzeigen.de/s-anzeige/bmw-limousine-520-d-edition-sport-mpacket-facelift-/3504332152-216-2827","https://www.kleinanzeigen.de/s-anzeige/mercedes-benz-a-180-cdi-style-navi-tempomat-kamera-teilleder/3504331819-216-855"]}'
  3. On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own β€” no server of your own required.

Input

{
"items": ["https://www.kleinanzeigen.de/s-anzeige/audi-q3.../3489456174-216-2284"],
"maxConcurrency": 5,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

items is the only required field β€” a list of full Kleinanzeigen.de listing URLs (the /s-anzeige/... permalink). A bare path is also accepted and expanded onto the domain automatically. One dataset row is returned per item; rows with "found": false are never charged. maxConcurrency (default 5, up to 20) controls how many requests run in parallel. proxyConfiguration defaults to the Residential proxy group β€” plain datacenter IPs can get a 403 from this target even though a residential IP succeeds.

Output

{
"query": "https://www.kleinanzeigen.de/s-anzeige/audi-q3.../3489456174-216-2284",
"found": true,
"data": {
"adId": "3489456174",
"title": "Audi Q3 2.0 TDI quattro S line",
"priceText": "24.500 € VB",
"priceValue": 24500,
"locality": "10115 Berlin",
"description": "Gepflegter Audi Q3 aus erster Hand, scheckheftgepflegt...",
"details": {
"Kilometerstand": "68.000 km",
"Erstzulassung": "03/2019",
"Kraftstoffart": "Diesel",
"Fahrzeugzustand": "Gebraucht"
},
"image": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/...",
"url": "https://www.kleinanzeigen.de/s-anzeige/audi-q3.../3489456174-216-2284"
},
"scrapedAt": "2026-08-20T12:00:00.000Z"
}

A removed, expired, or invalid listing URL redirects to the category browse page, which has none of the listing elements above β€” that's used as the not-found signal, so you get a dataset row with "found": false, but you're never charged for it.

Use cases

  • Vehicle/marketplace price comparison β€” pull structured price and detail fields across a shortlist of listings instead of reading each page manually.
  • Listing monitoring β€” re-check a saved set of listing URLs over time; a removed or sold listing flips to found: false.
  • Category-specific data extraction β€” the generic details object surfaces whatever attributes a category shows (mileage and fuel type for cars, room count for real estate, condition for electronics) without a custom parser per category.
  • Lead sourcing β€” collect structured listing data from a set of URLs gathered elsewhere (search exports, saved searches) into one clean table.

Pricing

$2 per 1,000 results, plus a $0.00005 start fee. Misses (found:false) are never charged.

Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP β€” call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

curl "https://api.apify.com/v2/acts/accountable_eel~kleinanzeigen-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{"items":["https://www.kleinanzeigen.de/s-anzeige/bmw-limousine-520-d-edition-sport-mpacket-facelift-/3504332152-216-2827","https://www.kleinanzeigen.de/s-anzeige/mercedes-benz-a-180-cdi-style-navi-tempomat-kamera-teilleder/3504331819-216-855"]}'

n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~kleinanzeigen-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"items":["https://www.kleinanzeigen.de/s-anzeige/bmw-limousine-520-d-edition-sport-mpacket-facelift-/3504332152-216-2827","https://www.kleinanzeigen.de/s-anzeige/mercedes-benz-a-180-cdi-style-navi-tempomat-kamera-teilleder/3504331819-216-855"]} (swap in an expression from an earlier node for a real value).

Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~kleinanzeigen-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"items":["{{value}}"]}, mapping the row's value into the items array.

MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "Kleinanzeigen Listing Lookup | Apify" β€” the agent will find and run this actor.

FAQ

What counts as "not found"? A removed, expired, or fabricated listing URL redirects to Kleinanzeigen's category browse page, which has none of the listing-specific elements this actor extracts. That's used directly as the not-found signal.

Why does this default to a Residential proxy? Plain datacenter IPs have been observed getting blocked with an HTTP 403 on this target even when a request from a residential IP succeeds β€” the Residential proxy group is the default for a reliable found rate. You can override proxyConfiguration if you have your own proxy setup.

Can I submit a listing path instead of the full URL? Yes β€” a bare path (e.g. /s-anzeige/...) is expanded onto www.kleinanzeigen.de automatically. Submitting the full URL is recommended for clarity.

What's in the details field? Whatever category-specific attribute list the listing page shows, as label/value pairs β€” vehicle mileage and fuel type, real-estate room count, item condition, and so on. The fields present vary by listing category.

Does this cover every Kleinanzeigen category? Yes β€” the extraction targets generic id-tagged elements present on every listing page regardless of category (vehicles, real estate, electronics, jobs, services), plus the category-specific details list.

Can I run this against a large batch of listing URLs? Yes β€” maxConcurrency controls how many requests run in parallel (default 5, up to 20).