Catawiki Scraper
Pricing
from $2.50 / 1,000 lots
Catawiki Scraper
Scrape Catawiki auction lots for collectors and dealers. Export the current bid, closing time, reserve, expert estimate, and seller shop from public search and lot pages.
Pricing
from $2.50 / 1,000 lots
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Catawiki B.V. or its affiliates. Data is read from publicly accessible search, category, auction, and lot pages only. No login and no bidding. You are responsible for complying with applicable law (including GDPR where a seller shop name appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Scrape Catawiki auction lots. Export the current bid, closing time, reserve, expert estimate when the lot page has one, and the seller shop. One Catawiki scraper for collectors, dealers, and resale research. It is a Catawiki API alternative for the public catalog: the same rows in JSON or CSV, from Python, Node.js, or an AI assistant over MCP.
Best for: watch, art, jewellery, coin, and collectible buyers who want auction rows they can filter, schedule, and compare.
Crawloop auction and resale suite — Catawiki lots, then sold comps and specialist auctions for the same object.
| Catawiki | Specialist auctions | Marketplace sold | Live resale |
|---|---|---|---|
| Catawiki Scraper ◄── you are here | Goldin Scraper | eBay Sold Listings Scraper | Whatnot Listings Scraper |
| Current bid, close time, reserve, estimate | Live and sold auction rows | Completed marketplace sales | Live shop listings |
| Heritage Auctions Scraper | PriceCharting Scraper | The RealReal Listings Scraper | |
| Live bids and archive cards | Price guide rows | Luxury resale listings |
When to use this Actor
- Live lot watch — current bid, next bid, and closing time on lots that are still open
- Reserve check — whether a reserve is set, and whether the page says it is met
- Expert estimate — low and high estimate when the lot page publishes one
- Seller shop — public shop name, country, and reputation score
- Scheduled new-lot monitor —
monitorModeon an Apify Schedule so repeat runs only charge lot ids you have not already stored - Category or auction pull — paste a category or auction URL instead of a keyword
When not to use this Actor
- Sold marketplace comps — use eBay Sold Listings Scraper for completed sales of the same watch, card, or object
- US specialist auctions — use Goldin Scraper or Heritage Auctions Scraper
- Live shopping shows — use Whatnot Listings Scraper
- Placing bids or logging in — this Actor only reads public auction data
Key features
- Keyword, category, auction, and lot URL in one Actor
- Current bid from the lot page, plus closing time, reserve, and seller shop
- Expert estimate when the lot page includes one. Many lots leave it empty
- Monitor mode stores seen lot ids in a named key-value store and skips them on the next run
- HTTP catalog — no browser. Leave proxy off unless a run starts returning HTTP 403
- Related filler lots are dropped and are not charged
- Deduped rows across several searches in the same run
Input
| Field | Required | Description |
|---|---|---|
searchQueries | No | Keywords such as rolex or art deco lamp. Each keyword is its own search |
startUrls | No | Search, category, auction, or lot URL. A lot URL returns that lot |
locale | No | en (default), nl, de, fr, es, or it. A pasted URL keeps the language in its path |
currency | No | EUR (default), USD, or GBP. The saved bid is the amount on the lot page |
sort | No | best_match (default), ending_soon, or newest for keyword searches |
maxItems | No | Cap across the whole run. Default 20. Each saved row opens that lot page |
maxPages | No | Catalog pages per keyword, category, or auction. Default 5. 24 lots per page |
monitorMode | No | Charge only lot ids not seen in the named store |
monitorStoreName | No | Key-value store name. One name per watch |
resetMonitorState | No | Clear seen ids before this run |
proxyConfiguration | No | Leave off |
{"searchQueries": ["rolex submariner"],"locale": "en","currency": "EUR","sort": "ending_soon","maxItems": 20}
A single lot:
{"startUrls": [{ "url": "https://www.catawiki.com/en/l/107740761-rolex-datejust" }],"maxItems": 1}
Output
| Field | Description |
|---|---|
lotId | Catawiki lot id |
title / subtitle / summary | Public lot text |
currentBid / currency | Current bid and its currency |
minNextBid / startingBid | Next bid and opening bid |
biddingStartTime / biddingEndTime | Open and close, UTC |
reservePriceSet / reservePriceMet | Reserve flag, and whether the page says it is met |
closed / sold | Bidding state |
buyNow / buyNowAmount | Buy-now when the page offers it |
estimateLow / estimateHigh | Expert estimate when published |
expertName | Catalog expert |
sellerName / sellerUrl / sellerScore / sellerCountryCode | Public shop. Street address and legal entity are not saved |
specs | Specification name and value pairs |
auctionTitle / url / imageUrl | Auction name, lot link, and lead photo |
{"lotId": "107740761","title": "Rolex - Datejust - No reserve price - 6917 - Women - 1990-1999","currentBid": 1350,"currency": "EUR","minNextBid": 1450,"biddingEndTime": "2026-10-25T19:52:00Z","reservePriceSet": false,"sellerName": "blackgold","sellerCountryCode": "it","expertName": "Mauro Atienza","url": "https://www.catawiki.com/en/l/107740761-rolex-datejust-no-reserve-price-6917-women-1990-1999"}
Use cases
- Watch dealer comps — open Rolex lots with the current bid and close time, then the same reference on eBay sold
- Ending-soon watch — sort by
ending_soonand keep lots that close today - No-reserve filter —
reservePriceSetfalse on art, coins, or jewellery - Morning monitor — a schedule that only returns lot ids you have not already stored
- Seller shop review — public shop name, country, and reputation next to the bid
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('crawloop/catawiki-scraper').call({searchQueries: ['rolex submariner'],sort: 'ending_soon',maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {console.log(item.title, item.currentBid, item.currency, item.biddingEndTime);}
Python
from apify_client import ApifyClientclient = ApifyClient(token="YOUR_TOKEN")run = client.actor("crawloop/catawiki-scraper").call(run_input={"searchQueries": ["rolex submariner"],"sort": "ending_soon","maxItems": 20,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("title"), item.get("currentBid"), item.get("currency"))
cURL
curl -X POST "https://api.apify.com/v2/acts/crawloop~catawiki-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries":["rolex submariner"],"sort":"ending_soon","maxItems":20}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID crawloop/catawiki-scraper.
Example prompts:
- "Run Catawiki Scraper for rolex submariner, ending soon, max 20, and return title, currentBid, currency, biddingEndTime, reservePriceSet as JSON"
- "Scrape Catawiki lots for art deco lamp and summarize bids that close in the next two days"
- "Chain Catawiki Scraper then eBay Sold Listings Scraper for the same Rolex reference"
Suite next step
After a Catawiki bid, run eBay Sold Listings Scraper for marketplace comps on the same object. For cards and memorabilia, continue with Goldin Scraper or Heritage Auctions Scraper. For a price-guide check, use PriceCharting Scraper.
FAQ
Does this Catawiki scraper log in or place bids? No. It reads public search, category, auction, and lot pages.
Is the current bid on the search card? The catalog list does not include the live bid. Each saved row opens the lot page and stores the bid shown there.
Why is the expert estimate empty? Many lots do not publish an estimate. The fields stay empty instead of a guessed number.
What does monitor mode charge? A later run charges only lot ids that were not stored in the named key-value store. A page that is already entirely known stops that search, so an empty tick does not open lot pages.