💾 IT Security Toolsconftest v0.70.0(14.09.2026 um 07:32 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.4 (08.08.2026)(08.08.2026 um 05:26 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.5 (08.08.2026)(08.08.2026 um 18:39 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.6 (12.08.2026)(12.08.2026 um 10:47 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.7 (13.08.2026)(13.08.2026 um 10:36 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.9 (18.08.2026)(18.08.2026 um 16:09 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.8 (20.08.2026)(20.08.2026 um 07:43 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.10 (20.08.2026)(20.08.2026 um 11:58 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.11 (23.08.2026)(23.08.2026 um 19:39 Uhr)
🐧 Linux TippsGitHub Release: ddev/ddev v1.25.4 (04.09.2026)(04.09.2026 um 20:07 Uhr)
💾 IT Security Toolsconftest v0.70.0(14.09.2026 um 07:32 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.4 (08.08.2026)(08.08.2026 um 05:26 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.5 (08.08.2026)(08.08.2026 um 18:39 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.6 (12.08.2026)(12.08.2026 um 10:47 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.7 (13.08.2026)(13.08.2026 um 10:36 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.9 (18.08.2026)(18.08.2026 um 16:09 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.8 (20.08.2026)(20.08.2026 um 07:43 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.10 (20.08.2026)(20.08.2026 um 11:58 Uhr)
🔧 AI Nachrichten GitHub Release: Hmbown/Codewhale v0.9.11 (23.08.2026)(23.08.2026 um 19:39 Uhr)
🐧 Linux TippsGitHub Release: ddev/ddev v1.25.4 (04.09.2026)(04.09.2026 um 20:07 Uhr)

🔧 Programmierung 🕛 vor 2 Monaten 4 Min Lesezeit
0

One API Call to Price Any Luxury Watch (Median, Percentiles, Market Depth)

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

Every watch-price tool I found gives you the same thing: a pile of raw listings. Scrape Chrono24, get 60 JSON objects, and now you write the median logic, you filter out the "strap only" listings poisoning your stats, you figure out that the first cards on the page are promoted ads for a different model entirely.



I wanted the opposite: one call in, one market analysis out. So I built it.






What "analyzed" means



Ask for "Rolex Submariner 16610" and you get back a single structured answer:




CODE
{
"analysis": {
"n": 46,
"currency": "EUR",
"median": 9150,
"p10": 8000, "p25": 8690, "p75": 11400, "p90": 13465,
"priceBasis": "asking",
"marketDepth": 1181,
"certifiedSharePct": 21.7,
"dealerCountryMix": [
{ "country": "IT", "count": 10 },
{ "country": "ES", "count": 7 }
],
"confidence": "high"
}
}






Plus the cleaned comps behind every number, so you can audit the math.



The cleaning is where the real work happens. Before any statistics run, the pipeline drops:





  • Promoted cards. On chrono24.com they can be up to two thirds of the page, and they are often a different model than what you searched.


  • Accessories. A "strap for Submariner" contains every token of your query and costs 95% less. Keyword matching fails here: in watch land, "Blue Dial" and "Box & Papers" are descriptors of a complete watch, not accessory listings. The filter is positional instead: a title that starts with "strap", or matches "bezel for ...", is an accessory; a title that merely mentions a bezel is not.

  • Parts, defective, replica listings and duplicates.



Skip the cleaning and your median moves by hundreds of euros. I measured it.






Honest data: asks, not sales



Every price here is a live asking price (priceBasis: "asking" is stamped on every response). Asking prices tell you where the market is priced today: what you'd pay right now, how deep supply is (marketDepth), how spread the market is (p10 to p90).



What they don't tell you is what buyers actually pay. For that you want confirmed sales, like eBay sold listings. Comparing the two gives you the ask-vs-sold gap, which is where negotiation lives. (I run a . One HTTP call:




CODE
curl -s -X POST \
"https://api.apify.com/v2/acts/jdepablos~chrono24-watch-analyzer/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query": "Omega Speedmaster Professional", "domain": "chrono24.com"}'






Batch mode takes up to 25 models per run. Six Chrono24 domains are supported (.com/.es/.de/.fr/.it/.co.uk), which sets the currency.



Pricing is per analysis ($0.02, comps included), and an analysis that returns no data is never charged. That last part took real plumbing: the actor distinguishes "this query genuinely has zero listings" from "the site soft-blocked this request", retries the latter with a different proxy, and only bills when you get numbers.






Wiring it into an AI agent (MCP)



If you're building agents, this is one line of config via Apify's MCP server:




CODE
https://mcp.apify.com?tools=jdepablos/chrono24-watch-analyzer






Your agent gets a chrono24-watch-analyzer tool that answers "what's this watch worth on the open market?" with structured, self-describing data. No pagination, no post-processing, no HTML. The output schema ships with the actor, so the agent knows what marketDepth and certifiedSharePct mean without you writing glue.



Agent use cases I'm already seeing work:





  • Deal triage: agent receives a watch listing (marketplace, auction, classifieds), pulls the ask distribution, flags anything under p25 for human review.


  • Collection valuation: batch-run 25 references, sum medians, track weekly.


  • Negotiation prep: median and p10 in hand before you make an offer.






What I learned building it



Two bugs worth sharing so you don't repeat them:





  1. Regex money parsing: my price regex \d{1,3}(?:[.,\s]\d{3})* silently truncated "5590 €" to "559". The first alternative matched a prefix and stopped. Chrono24 omits decimals and thousands separators under 10k; eBay always emits decimals, so the same bug sat latent in another parser for weeks. Make the thousands group mandatory (+) and fall through to plain \d+.


  2. Keyword-based accessory filters break on watches: "Box & Papers" is a good sign in a watch listing, not an accessory. Domain vocabulary matters; test your filters against real cards before trusting your medians.



Questions, feature requests (multi-page sampling and reference-number input are next), weird edge cases: comments are open.

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
2 Quellen
Microsoft bringt Emoji 17.0 auf Windows 11
1 Quelle
Neue Android-Malware schreit Sie an, wenn Sie nicht zahlen
1 Quelle
Handy: Wer diese App installiert hat, sollte sein Gerät besser zurücksetzen
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten One API Call to Price Any Luxury Watch (Median, Percentiles, Market Depth)

Thematisch verwandte Begriffe: Call, Price, Luxury, Watch · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...