Catawiki Scraper - Auction Lots, Bids, Estimates & Leads avatar

Catawiki Scraper - Auction Lots, Bids, Estimates & Leads

Pricing

from $4.00 / 1,000 auction lot scrapeds

Go to Apify Store
Catawiki Scraper - Auction Lots, Bids, Estimates & Leads

Catawiki Scraper - Auction Lots, Bids, Estimates & Leads

Scrape Catawiki auction lots from any category or search: current bids, expert estimates, reserve status, closing times, per-country shipping costs, full specs, image galleries and seller reputation. Plus seller leads, bulk URL import and monitor mode. Export JSON, CSV, Excel.

Pricing

from $4.00 / 1,000 auction lot scrapeds

Rating

5.0

(1)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

2.7 hours

Issues response

6 days ago

Last modified

Share

Catawiki Scraper — Auction Lots, Live Bids, Expert Estimates & Seller Leads

Extract complete data from Catawiki, the global online auction house for special objects — watches, art, jewellery, coins & stamps, classic cars, wine & whisky, comics, trading cards, LEGO, fossils and more. Get the full lot: current bid, expert estimate range, reserve status, exact closing time, bid history, per-country shipping costs with delivery estimates, every structured specification, the complete image gallery, the Catawiki catalog expert, and the seller's country and reputation.

No login, no cookies, no API key, no browser — fast JSON extraction straight from Catawiki's own page data, with monitor mode to capture only new lots on every run.

Why this Catawiki scraper?

Generic "paste-a-URL" crawlers grab a thumbnail and a title and miss the data that actually drives a buying or pricing decision. This actor reads Catawiki's full lot data and ships the richest dataset in the category:

DataGeneric crawlersThis actor
Lot title, subtitle, category pathpartial
Current bid + currency (+ stable EUR value)
Number of bids + recent bid history (amounts, times, bidder country)
Expert estimate range (low–high)✅ when published
Reserve price set / reserve met
Exact closing time + auction status
Shipping costs per country/region + estimated delivery days + pickup & combined-shipping flags
Pick only the output fields you need (lean CSV exports)
Every structured specification (brand, model, year, material, grade…)
Full image gallery (all photos) + video countpartial
One-line AI summary + full description
Catalog expert (name, bio, profile)
Seller country, verified status, reputation score & rating counts
Deduplicated seller / dealer leads with a 0–100 lead score✅ opt-in
Monitor mode — only new lots since last run

Use cases

  • Price & market intelligence — track realized bids vs. expert estimates across watches, art, coins, wine, classic cars and more. Spot under-bid lots, measure demand (bidCount, favoriteCount, highInterest) and benchmark categories over time.
  • Collectibles sourcing & flipping — monitor a saved search or category and get alerted the moment a new lot appears, with the estimate range and reserve status already attached.
  • Lead generation — turn high-volume, verified sellers into a prospect list: shop name, profile, country, reputation score and the categories they sell in, ranked by a 0–100 lead score. Ideal for dealers, marketplaces and authentication/insurance services.
  • Auction & deal aggregation — power apps, newsletters and dashboards with structured lot data: title, specs, photos, current bid and closing time.
  • Research & valuation — build comps libraries for appraisers, insurers and resale platforms using estimate ranges, specifications and bidding outcomes.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Catawiki Scraper, enter search queries (e.g. rolex, art deco ring), pick categories (e.g. watches, art, coins), or paste Start URLs from Catawiki, and click Start.
  3. Watch lots stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"searchQueries": ["rolex", "omega speedmaster"],
"categories": ["watches"],
"includeLotDetails": true,
"includeShippingRates": true,
"includeSellerLeads": true,
"outputFields": [],
"maxItems": 100,
"monitorMode": false
}
  • searchQueries — keywords to search across all auctions (rolex, lego star wars, 1982 bordeaux, pokemon psa 10).
  • categories — browse whole categories by name (art, jewellery, watches, coins, wine, classic cars, comics, trading cards, toys, books, sports, cameras, fashion, interiors) or by code (333-watches). For sub-categories (e.g. Breitling watches), use Start URLs.
  • startUrls — paste any Catawiki URL: a search page, a category page, an auction page, or a lot page. The most reliable way to scrape the exact filters you set on the site. Also accepts the Console's Link remote text file option, so you can point it at a hosted list instead of adding URLs one by one.
  • lotUrls — direct lot URLs to fetch full detail for.
  • urlsFromFile — bulk-import URLs, one per line, without adding them one at a time. Either paste the whole list into the box, or give a single link to the file and it is downloaded for you. See Importing a list of lot URLs.
  • includeLotDetails (default true) — open each lot for current bid, estimate, bid history, specs, gallery, expert and seller reputation. Turn off for fast, cheap card-level listings only.
  • includeShippingRates (default true) — attach each lot's shipping rate card: per-country/region prices in EUR, estimated delivery days, combined-shipping availability and pickup flags.
  • includeSellerLeads (default false) — also output one deduplicated sellerLead record per seller.
  • outputFields (default: all fields) — list the field names you want and every record is trimmed to exactly those (case-insensitive). Great for lean CSV/Sheets exports.
  • maxItems / maxSellerLeads — caps for a run.
  • monitorMode / monitorOnlyNew / monitorKey — output only lots not seen on previous runs (see below).
  • proxyConfiguration — proxy settings (Apify datacenter by default).

Output

By default you get one clean, dense table of lots (type: "lot"). With seller leads enabled, deduplicated seller records (type: "sellerLead") are added to the same dataset.

A lot record (type: "lot"):

{
"type": "lot",
"lotId": 104689705,
"title": "Rolex - Oyster Perpetual Date Men's Watch - 15200(A) - Men - 2000-2010",
"subtitle": "Automatic - Stainless steel",
"summary": "Rolex Oyster Perpetual Date men's watch, ref. 15200(A), stainless steel, 34 mm case, white dial, automatic.",
"url": "https://www.catawiki.com/en/l/104689705-...",
"categoryName": "Rolex Watches",
"categoryPath": ["Watches, Pens & Lighters", "Watches", "Rolex Watches"],
"currency": "EUR",
"currentBid": 2800,
"currentBidEUR": 2800,
"minNextBid": 3000,
"bidCount": 10,
"bidHistory": [{ "amount": 2800, "time": "2026-06-18T18:40:58.000Z", "bidderCountry": "de" }],
"estimateLow": 4300,
"estimateHigh": 4800,
"estimateCurrency": "EUR",
"reservePriceSet": true,
"reservePriceMet": false,
"biddingEndTime": "2026-06-22T19:48:36.000Z",
"status": "open_now",
"specs": { "Brand": "Rolex", "Model": "Oyster Perpetual Date", "Reference number": "15200(A)", "Band material": "Steel" },
"shippingRates": [
{ "region": "Belgium", "regionCode": "be", "price": 100, "currency": "EUR" },
{ "region": "Rest of European Union", "regionCode": "europe", "price": 100, "currency": "EUR" },
{ "region": "Anywhere else", "regionCode": "world", "price": 100, "currency": "EUR" }
],
"shippingCurrency": "EUR",
"hasFreeShipping": false,
"estimatedDeliveryDays": { "from": 7, "to": 14 },
"combinedShippingAllowed": true,
"pickupOnly": false,
"favoriteCount": 16,
"expertName": "Mauro Atienza",
"expertUrl": "https://www.catawiki.com/en/e/...",
"sellerId": 12345678,
"sellerCountry": "Japan",
"sellerScore": 100,
"sellerLifetimeCount": 65,
"sellerVerified": true,
"images": ["https://assets.catawiki.com/.../1.jpg", "..."],
"imageCount": 6,
"scrapedAt": "2026-06-18T20:00:00.000Z"
}

A seller record (type: "sellerLead") carries sellerShopName, sellerUrl, country, verified, reputationScore, positiveCount/negativeCount, lifetimeRatings, the categories they sell in, minBid/maxBid, sampleLots, and a 0–100 leadScore.

What to expect (field coverage)

Catawiki is curated, expert-vetted data, so most fields are reliably present. A few are populated only when relevant to that lot:

FieldCoverage
title, url, categoryPath, images, specs~100%
currentBid, bidCount, biddingEndTime, status✅ on every open lot
estimateLow / estimateHighwhen the expert published an estimate (common in art, jewellery, coins)
reservePriceMetonce bidding is underway
shippingRates, hasFreeShipping, estimatedDeliveryDayswith includeShippingRates on (default); pickup-only lots carry pickupOnly/pickupLocation instead of rates, and classic cars may return a transport-quote URL (shippingQuoteUrl)
sellerCountry, sellerScore, sellerVerifiedwith includeLotDetails on
bidHistoryrecent bids on lots that have received bids
sellerShopNamefor professional/dealer sellers (private sellers are anonymous shops)

A blank field means Catawiki didn't publish it for that lot — not that scraping failed. Nothing is dropped, so you always get the richest dataset available.

Note on contact details: Catawiki keeps buyer/seller contact private, so seller leads do not include email or phone. The lead is the dealer profile, country, reputation and selling categories — exactly what you need to identify and prioritise high-volume sellers, then reach them through their public profile.

Monitor only new lots

Turn on Monitor mode to track a search, category or seller over time and output only the lots that are new since your last run:

  • Each monitor remembers the lots it has already seen in a named key-value store (catawiki-monitor-<your key>).
  • Use a distinct monitor key per saved search so their memories stay separate (e.g. rolex-watches, art-weekly).
  • It de-duplicates before spending a detail fetch, so monitoring stays cheap.

This works alongside Apify Schedules, not against it: schedule how often the actor runs in Apify, and monitor mode controls what's new. It never starts its own scheduler, so there's no conflict.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/catawiki-scraper').call({
searchQueries: ['rolex'],
includeLotDetails: true,
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} lots`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new lots or seller leads straight into your CRM or sheet.
  • Slack — get notified when a monitored category adds a new lot.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find every open Rolex lot under estimate closing this week" and let it run the scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete resale, auction & marketplace pricing stack:

Importing a list of lot URLs

Got a list of lots already — a saved watchlist, a spreadsheet column, a file your own tooling produced? You do not have to add them one at a time. There are three ways in, and all of them accept one URL per line:

1. Paste the list. Open your .txt file, select all, and paste it straight into Import URLs from a file:

https://www.catawiki.com/en/l/105707144-rolex-datejust-ii
https://www.catawiki.com/en/l/105748263-rolex-oyster-perpetual
https://www.catawiki.com/en/l/105862786-rolex-datejust-lady

2. Link the file. Put a single link in the same box and it is downloaded for you — a public .txt/.csv, a Google Sheets or Drive share link (converted to a CSV export automatically), or an Apify key-value-store record:

{ "urlsFromFile": "https://example.com/my-watchlist.txt", "includeLotDetails": true }

3. Upload it in the Console. On the Start URLs field choose Link remote text file and give it your file's address — the file is expanded into individual lots at the start of the run.

What the parser tolerates, because real files are messy: blank lines, Windows line endings, a UTF-8 BOM, # comment lines, surrounding quotes, extra CSV columns, and several URLs on one line. Duplicates are scraped and charged only once. Lot URLs (/en/l/...) come back as full lot-detail records; search, category and auction URLs are crawled exactly as if you had pasted them into Start URLs. Anything that is not a catawiki.com link is skipped with a warning, and if the file cannot be read the run says so on the run card instead of quietly returning nothing.

Tips

  • Bulk lot lists: paste or link a file of lot URLs with urlsFromFile instead of adding them one at a time — see Importing a list of lot URLs.
  • Pricing intelligence: keep includeLotDetails on — currentBid, estimateLow/estimateHigh, reservePriceMet and bidCount are where the value is. Use currentBidEUR / estimateLowEUR for stable cross-currency comparisons.
  • Exhaust a category: pass a category and raise maxItems; pagination walks the whole category automatically (24 lots/page).
  • Sub-categories & filters: set the exact filters on Catawiki, then paste that URL into Start URLs to scrape precisely that view.
  • Recurring monitoring: combine Schedules with monitor mode and a per-search monitor key to capture only new lots.
  • Seller prospecting: turn on includeSellerLeads and sort by leadScore to surface the highest-volume verified dealers first.
  • True landed cost: combine currentBid + your region's entry in shippingRates to compare lots by total cost, not just hammer price — free-shipping lots are flagged with hasFreeShipping.
  • Lean exports: set outputFields (e.g. ["title", "currentBid", "currency", "shippingRates", "biddingEndTime", "url"]) to keep your CSV exactly as wide as you need.

FAQ

Does it need a Catawiki account or API key? No. It reads Catawiki's public lot, search and category pages directly — no login, no key.

Which categories are supported? All of them — Art, Interiors & Decorations, Jewellery & Precious Stones, Watches/Pens/Lighters, Fashion, Coins & Stamps, Comics & Animation, Classic Cars/Motorcycles, Wine/Whisky/Spirits, Asian & Tribal Art, Trading Cards, Toys & Models, Archaeology & Natural History, Sports, Music/Movies/Cameras, and Books & Historical Memorabilia.

Can I get the current bid and closing time? Yes — currentBid, minNextBid, bidCount, bidHistory, biddingEndTime and status are captured for every open lot when lot details are on.

Does it include shipping costs? Yes — with includeShippingRates on (the default), every lot carries its full shipping rate card: price per destination country/region in stable EUR, estimated delivery days, combined-shipping availability and pickup options. Lots the seller only offers for pickup are flagged (pickupOnly) with the pickup location when published.

Can I choose which fields I get? Yes — list them in outputFields and each record is trimmed to exactly those fields (case-insensitive). Leave it empty for the full record.

Can I import lot URLs from a text file, one per line? Yes. Paste the list into Import URLs from a file, or put a single link to the file there (a public .txt/.csv, a Google Sheet, or a key-value-store record) and it is downloaded and expanded for you. The Start URLs field's Link remote text file option works too. Duplicates are only scraped once. Full details in Importing a list of lot URLs.

Do seller leads include email or phone? No — Catawiki keeps contact details private. The lead is the seller's profile, country, verified status, reputation score and selling categories, with a 0–100 lead score.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I monitor for new lots? Turn on monitor mode, set a monitor key, and create an Apify Schedule (e.g. hourly). Each run outputs only lots that are new since the last one.

Is scraping Catawiki legal? This actor collects publicly available data only. You're responsible for using the data in compliance with applicable laws (e.g. GDPR/CCPA for personal data) and Catawiki's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.