Kleinanzeigen Resell Price Checker avatar

Kleinanzeigen Resell Price Checker

Pricing

Pay per event

Go to Apify Store
Kleinanzeigen Resell Price Checker

Kleinanzeigen Resell Price Checker

Price check for used items on Kleinanzeigen.de, built for AI agents and automations: sell price estimate, deal check, market statistics and alerts for new listings. Prices come from the ads currently listed for the same item, with accessories, bundles and defects filtered out.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Bel

Bel

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Find out what a used item is worth on Kleinanzeigen.de. Ask for a sell price, check whether a price or an ad is a good deal or look up market prices. The answer is based on what the same item is listed for on Kleinanzeigen right now, not on guesses.

Accessories, complete PCs, bundles, broken units, swap ads and other models are filtered out before any price is calculated, so the number you get is the price of the item you asked about.

It is built for AI agents and automations: one call in, one clear result out. You can also run it by hand with the form.

Copy-paste prompt for your agent

Add this to your agent's instructions (Claude project instructions, a system prompt, or the start of a chat). It tells the agent when and how to use this Actor.

You can price used items on Kleinanzeigen.de with the Apify Actor
"beltech/kleinanzeigen-resell-price-checker". Call it with the Apify MCP tool call-actor
(actor name without a tool suffix), then read the result with get-dataset-items using the returned
datasetId. The run's statusMessage already contains a one-line answer.
WHEN TO USE IT
- The user wants to SELL a used item or asks what it is worth: action "estimate_sale_price".
- The user asks whether a price or an ad is a good deal: action "check_deal"
(with "query" + "priceEur", or with "listingUrl").
- The user wants to see what is on offer: "search_listings". A market overview: "market_stats".
- Only for used consumer goods in Germany (electronics, furniture, bikes, tools, toys, clothing).
Real estate, vehicles, jobs, pets and services are not priced. Say so instead of guessing.
HOW TO BUILD THE INPUT
- If the user shares a photo, read the exact product from it: brand, model, generation, storage size,
edition. Check labels, the box and invoices in the photo. If you cannot tell the exact model, ask
the user before calling the Actor, because the model decides the price.
- "query" is only the product name, for example "PlayStation 5 Disc Edition", "iPhone 13 128GB",
"RX 7800 XT". Do not put accessories, "OVP", "mit Controller" or full sentences into it.
- Put the condition into "condition": new (sealed, unopened), like_new (as new, with box),
good (light wear), used (clear signs of use), worn (heavy wear). With "listingUrl" use "auto".
- Optional: "shippingOnly": true for buying across Germany, "priceMax" / "priceMin" in EUR.
- Set callOptions.maxTotalChargeUsd to 0.5 to cap the cost. One call per item is enough.
HOW TO READ THE RESULT
- Use only numbers from the result. Never invent prices.
- Check "confidence". If it is "low", or there is no recommendation but a "hint", tell the user why
(the hint says what to refine, for example adding brand and model), refine the query once, and retry.
- If the result has "sealed_new_median", mention it as the price level of sealed brand-new ads.
The recommended used price is already kept below it.
- These are ASKING prices of comparable ads, not final sale prices. Real sales are usually 5 to 10 %
lower. Tell the user the asking price, the quick-sale price and the expected range.
- Mention what the photo cannot show and what moves the price by 10 to 20 %: original box, invoice or
warranty, accessories, battery or health status, storage size.
- For deals: report the verdict (suspiciously_cheap, good_deal, fair_price, overpriced) and the
suggested offer. For "suspiciously_cheap" warn about scams and defects, and advise paying only
with buyer protection.
- Answer in the user's language. Prices are in EUR.

Short version for a chat message:

Use the Apify Actor beltech/kleinanzeigen-resell-price-checker (call-actor, then get-dataset-items)
to price my used item on Kleinanzeigen. Input: {"action": "estimate_sale_price", "query": "<exact
model>", "condition": "<like_new|good|used|worn>"}. Read the exact model from my photo first and ask
me if unsure. Only use numbers from the result, mention the confidence, and remind me that these are
asking prices, not final sale prices.

What you can do

Action (action)What you get
estimate_sale_pricerecommended asking price, quick-sale price and expected sale range for a used item
check_dealverdict for a price or an ad URL (suspiciously cheap, good deal, fair, overpriced) and a suggested offer
search_listingsmatching listings with deal labels and a market summary
market_statsmedian, quartiles, sample size and confidence for a product
get_listingone ad in detail: description, condition, seller type, category

When an agent should call it

The user saysInput
"What should I ask for my graphics card?" / "How much is my iPhone 13 worth?"{"action": "estimate_sale_price", "query": "iPhone 13 128GB", "condition": "good"}
"Is 400 € a good price for an RTX 3080?"{"action": "check_deal", "query": "RTX 3080", "priceEur": 400}
"Is this listing a good deal?" (with a link){"action": "check_deal", "listingUrl": "https://www.kleinanzeigen.de/s-anzeige/..."}
"Find me a used RX 7800 XT under 500 €."{"action": "search_listings", "query": "RX 7800 XT", "priceMax": 500}
"What does a used Steam Deck cost right now?"{"action": "market_stats", "query": "Steam Deck OLED"}

If the user shares a photo, the agent reads the exact model from the photo, label, box or invoice and passes it as text in query. Images are not processed by the Actor itself.

Call it

From an AI agent (Apify MCP server). The agent finds the Actor with search-actors, calls it with call-actor using one of the inputs above, and reads the result with get-dataset-items using the returned dataset ID.

From code or automations (one request, result in the response):

curl -X POST "https://api.apify.com/v2/acts/beltech~kleinanzeigen-resell-price-checker/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"action": "estimate_sale_price", "query": "PlayStation 5 Disc Edition", "condition": "like_new"}'

By hand. Open the Actor, pick an action in the form and click Start.

Every run writes its result to the dataset (export as JSON, CSV or Excel) and the full answer to the key-value store record RESULT. The summary field holds one readable sentence.

Example: estimate_sale_price

{
"action": "estimate_sale_price",
"product": "PlayStation 5 Disc Edition",
"searched_as": "PS5",
"condition": "like_new",
"median": 450,
"p25": 437.5,
"p75": 542.5,
"n": 12,
"confidence": "medium",
"asking_price_eur": 540,
"quick_sale_eur": 440,
"expected_sale_range_eur": [485, 540],
"basis": "12 comparable listings; condition \"like_new\" priced at the matching point of the 438-542 EUR market range.",
"summary": "Ask 540 EUR, quick sale 440 EUR (12 matching ads)"
}

The full RESULT record also contains the 5 closest matching ads as evidence. If the product name is too generic or too few matching ads exist, there is no recommendation and hint says what to refine. "Sofa" is too generic, "IKEA Kallax 2x4" works.

Example: check_deal

{
"action": "check_deal",
"verdict": "fair_price",
"price_eur": 520,
"fair_price_eur": 520,
"difference_vs_fair_pct": 0.4,
"cheaper_than_share_of_ads_pct": 52,
"suggested_offer_eur": 490,
"summary": "fair_price: In line with the market price. A small discount is usually possible."
}

With a listingUrl the condition ("Zustand") is read from the ad. Ads marked as defective get no verdict because they cannot be compared with working items.

Input fields

FieldUsed byMeaning
actionallone of the actions above (default search_listings)
queryall except get_listingproduct, ideally brand and model
conditionestimate_sale_price, check_dealauto, new (sealed), like_new, good, used, worn
priceEurcheck_dealthe price to judge
listingUrlcheck_deal, get_listinglink to a kleinanzeigen.de ad
priceMin, priceMax, shippingOnly, maxResults, includeVariantssearch_listingsfilters and size
location, radiusKmsearchlocal pickup

How the price is calculated

  1. Fetch up to 100 current listings for the search, newest first.
  2. Classify each listing as the exact product, a variant (for example Super, Ti, Pro Max), accessory, bundle (complete PC, laptop, several units), defect, or off topic (swap, wanted, rental).
  3. Calculate median and quartiles from the exact-product listings only, with outliers removed. Ads offering sealed brand-new goods ("NEU & OVP", "ungeöffnet") are kept apart, because their prices follow the retail price. A used item is priced from used ads only and never above the sealed-new ads; their median is reported as sealed_new_median. Use condition new to price a sealed item.
  4. Rate confidence: high from 12 listings, medium from 6, otherwise low. A very wide price range or a broad category such as "sofa" also gives low, with a note on how to refine the search.
  5. Price bands: quick sale is the lower quartile, market is the median, ambitious is the upper quartile. estimate_sale_price picks the point that matches the condition.
  6. Deal labels (below_market, fair, above_market, suspiciously_cheap) appear only when there are at least 6 comparable listings.

These are asking prices of similar listings. Final sale prices are usually somewhat lower.

Pricing

Pay per event, no subscription, no extra platform usage charge. You pay only for results that match your search.

EventPrice (USD)Charged for
search_start0.006each search
listing_result0.0025each returned listing
listing_detail0.008get_listing
market_stats0.010market_stats
sale_estimate0.050estimate_sale_price
deal_check0.030check_deal

Good to know

  • Kleinanzeigen.de only. Real estate, vehicles, jobs, pets, services and giveaways are not priced; such requests return a short explanation and cost nothing.
  • Works best with a specific model ("RX 7800 XT", "iPhone 13 128GB"). Broad terms get a low-confidence result.
  • A run takes about 5 to 15 seconds.
  • shipping_only is applied by this Actor because Kleinanzeigen has no shipping filter in its search.
  • Searches with location and radiusKm can include a few nationwide results when there are only few local ads.
  • No sold-price data. Prices are what sellers ask.
  • If Kleinanzeigen is unreachable or changes its page layout, the run fails with a clear message and you are not charged.

Data and privacy

The Actor reads publicly visible listing data and does not store personal data. To classify listings, listing titles and prices (no personal data) are sent to a third-party language model API. This Actor is not affiliated with or endorsed by Kleinanzeigen. Make sure your use complies with the terms of the websites you access and with applicable law.

FAQ

Do I need a Kleinanzeigen account or API key? No. You only need an Apify account.

Why is the confidence low? The search is too broad, so prices differ too much to give one meaningful number. Add brand and model.

Are these the prices items actually sold for? No. They are asking prices of comparable listings. Expect final prices to be a bit lower.

Does it work for Austria or Switzerland? Not at the moment.