🔧 AI Nachrichten OpenAI Targets Work of Wall Street Junior Bankers(10.09.2026 um 21:02 Uhr)
🔧 AI Nachrichten Altman Considers Slowing Down AI Development(11.09.2026 um 20:00 Uhr)
⚠️ Malware / Trojaner / VirenJSCeal Malware Can Bypass Google Authentication Using Stolen Session Cookies(07.09.2026 um 09:53 Uhr)
⚠️ Malware / Trojaner / VirenBengalSEO Poisons Bing Search Results to Deliver MayaBot and Tech Support Scams(08.09.2026 um 10:43 Uhr)
🕵️ SicherheitslückenN-able N-central Pre-Auth RCE Flaw Exploited in the Wild(09.09.2026 um 06:27 Uhr)
🔧 AI Nachrichten OpenAI Targets Work of Wall Street Junior Bankers(10.09.2026 um 21:02 Uhr)
🔧 AI Nachrichten Altman Considers Slowing Down AI Development(11.09.2026 um 20:00 Uhr)
⚠️ Malware / Trojaner / VirenJSCeal Malware Can Bypass Google Authentication Using Stolen Session Cookies(07.09.2026 um 09:53 Uhr)
⚠️ Malware / Trojaner / VirenBengalSEO Poisons Bing Search Results to Deliver MayaBot and Tech Support Scams(08.09.2026 um 10:43 Uhr)
🕵️ SicherheitslückenN-able N-central Pre-Auth RCE Flaw Exploited in the Wild(09.09.2026 um 06:27 Uhr)

🔧 Programmierung 🕛 vor 2 Monaten 4 Min Lesezeit
0

Catawiki Publishes Its Expert Estimates in the Page JSON. I Built a Deal Finder on Top

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

Catawiki is an auction site where every lot gets reviewed by a category expert who writes an estimated value range. That estimate is the single most useful number on the page, and it turns out Catawiki ships it to your browser in structured JSON, for every lot, before you even bid.



Compare the current bid against the expert estimate across a whole category and you have a shopping list of undervalued lots. I built a bot that does exactly that. Here is what I learned about the site on the way.






The data is in NEXT_DATA



Catawiki is a Next.js app, so each page embeds its state in a <script id="__NEXT_DATA__"> block. No hidden API, no reverse engineering, just parse the JSON out of the HTML.



Two levels matter:



The search page carries pageProps.searchLots.lots, 24 lots per page. Handy for discovery, but there is a catch: search results do not include prices or estimates. Just IDs, titles and images.



The lot page is where everything lives: current bid, the expert's low and high estimate, whether the reserve price has been met, bid history, closing time. One fetch per lot, so a category scan is one search request plus N lot requests. I run them at concurrency 4 and the site has never complained.






The pivot I didn't plan



My original idea was to analyze completed auctions and build price history. Dead end: Catawiki's public search only exposes live lots. Once a lot closes it disappears from search, and there is no public archive to walk.



So the product pivoted from "price history" to "live deal finder": scan open lots, compute how far the current bid sits below the expert estimate, and surface the gap. The site constraint decided the product, which happens more often than product plans admit.






Fresh auctions look absurd, and that's fine



First real run: Game Boy lots showing bids 85 to 99 percent below the expert estimate. Too good to be true? Sort of. Auctions that just opened have starting bids of one euro against estimates of hundreds. The gap is real but everyone bidding knows it will close.



The actionable filter is time: a lot ending within 24 hours with the bid still 40 percent under estimate is a genuinely interesting signal. A lot with six days left is noise. So the bot takes endingWithinHours as its main input, and that single filter separates a gimmick from a tool.



One practical note: fetching through catawiki.com/es/ pins all amounts to EUR, which saves you currency detection entirely.






Try it



Packaged as an Apify Actor, catawiki-deal-finder:




CODE
curl -s -X POST \
"https://api.apify.com/v2/acts/jdepablos~catawiki-deal-finder/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query": "game boy", "endingWithinHours": 24, "minDiscountPct": 30}'






You get each lot with its current bid, the expert estimate range, the discount percentage, reserve status and closing time. Pricing is per auction scan, and a scan that returns nothing is never charged.



For AI agents there is an MCP route too:




CODE
https://mcp.apify.com?tools=jdepablos/catawiki-deal-finder






"Any watches closing today at half the expert estimate?" becomes a tool call your agent can run every morning.






Takeaways



Next.js sites are gifts: the state you want is usually sitting in __NEXT_DATA__, typed and complete, no DOM parsing needed. But check what the public surface actually exposes before you promise a product. I planned an archive analysis and the archive did not exist. The expert estimate data was better anyway: it is an opinion you can trade against, published in JSON.



If you hunt auctions and want a filter or a category I have not covered, 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 Phone Link Not Showing Messages on Windows 11? Fix It
1 Quelle
How to Enable Windows 11 Screen Savers
1 Quelle
Post-DEF CON phishing campaign delivered AMOS and NetSupport malware
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Catawiki Publishes Its Expert Estimates in the Page JSON. I Built a Deal Finder on Top

Thematisch verwandte Begriffe: Catawiki, Publishes, Expert, Estimates · 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 ...