Catawiki Scraper avatar

Catawiki Scraper

Pricing

from $0.77 / 1,000 lots

Go to Apify Store
Catawiki Scraper

Catawiki Scraper

Extract Catawiki auction lots with 90 fields each: current bid in EUR/USD/GBP, the expert's low-high estimate, full bid history, seller reputation, structured specifications and the image gallery. Search by keyword, browse a category, or take a whole auction in one run.

Pricing

from $0.77 / 1,000 lots

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Catawiki Scraper

Extract auction lots from catawiki.com at scale, with the richest field set available: current bid in three currencies, the expert's low/high estimate, full bid history, seller reputation, structured item specifications and the complete image gallery. No API key required.


Why this scraper?

💶 Live bidding data

Current bid, minimum next bid and opening bid, converted to euros, dollars or pounds on request, together with a true total bid count taken from the full bidding record rather than the handful shown on the page.

📈 The expert's estimate

Every lot on Catawiki is reviewed by a specialist who publishes a low and high estimate. Both figures are returned alongside the current bid, so you can measure the gap on any lot.

🔨 Complete bid history

Each individual bid with its amount, timestamp, the bidder's country and whether it came from an automatic bid — plus a total bid count on every lot.

🏅 Seller reputation

Shop name, country, member-since date, objects sold to date, positive/neutral/negative feedback counts, overall score, and the pro and top-seller flags.

🔎 Structured specifications

Brand, model, condition, material, period, dimensions and every other attribute Catawiki records, returned both as a list and as a keyed object you can query directly.

🗂️ Four ways in

Search by keyword, browse a category, take an entire auction in one pass, or scrape individual lots — paste any Catawiki address and the right mode is selected automatically.


Input parameters

ParameterTypeDefaultDescription
searchQuerystring(empty)Keyword to search across all Catawiki auctions — a brand, artist, model or object type.
startUrlsarray[]Catawiki addresses to scrape. Search pages, category pages, whole auctions and single lots are all recognised.
filtersstring(empty)Catawiki filter expression, copied from the part of an address after filters=. Join several clauses with an ampersand.
localestring"en"Storefront language: en, nl, de, fr, it or es. Selects which translated titles and descriptions are returned.
currencystring"EUR"Currency for bid amounts and estimates: EUR, USD or GBP.
maxResultsinteger100Maximum lots to return across all searches and start URLs. 0 means no limit.
fetchDetailsbooleantrueFetch each lot's own page to add bids, estimate, seller, specifications and gallery.
includeBidHistorybooleantrueInclude the individual bids on each lot, not just the count.
maxBidHistoryinteger25Largest number of bids to keep per lot, newest first. 0 keeps the count only.
skipRepostsbooleanfalseLeave out lots already returned by an earlier run, so a scheduled run gives you only what is new.

Output schema

Every field below is present on every record. Fields Catawiki does not publish for a given lot are returned as null rather than omitted.

Always present

FieldTypeDescription
idintegerCatawiki lot identifier.
lotIdintegerSame value as id, provided for convenience when joining datasets.
urlstringFull address of the lot page.
slugstringURL slug of the lot, identifier and title combined.
titlestringLot title as shown on the listing.
subtitlestringShort qualifier under the title, such as movement and case material.
auctionIdintegerIdentifier of the auction this lot belongs to.
reservePriceSetbooleanWhether the seller set a reserve price. false means a no-reserve lot.
hasFreeShippingbooleanWhether the seller offers free shipping on this lot.
buyNowPricenumberFixed buy-now price where the seller offers one (null on ordinary auction lots).
buyNowCurrencystringCurrency of buyNowPrice. Catawiki quotes buy-now in euros only.
favoriteCountintegerNumber of users who added the lot to their favourites.
isContentExplicitbooleanWhether Catawiki flags the lot as explicit content.
biddingStartTimestringISO timestamp at which bidding opened.
imageUrlstringFull-size primary image.
thumbnailImageUrlstringThumbnail version of the primary image.
sellerIdintegerCatawiki seller identifier.
sellerShopNamestringSeller's shop name as shown on the listing.
sourcestringAlways catawiki.com.
sourceUrlstringThe start URL this lot was reached from (null for keyword searches).
sourceTypestringHow the lot was reached: search, category, auction or lot.
localestringStorefront language the record was scraped in.
scrapedAtstringISO timestamp of extraction.
scrapedDatestringExtraction date in the Amsterdam time zone, YYYY-MM-DD.
contentHashstringStable fingerprint of the lot identity, used to detect changes between runs.
isRepostbooleanWhether this lot was already seen in an earlier run.
originalPublishDatestringBidding start time recorded the first time this lot was seen.
originalUrlstringAddress the lot carried when first seen.
changeStatusstringNEW, SEEN or UPDATED relative to earlier runs.

With fetchDetails: true

FieldTypeDescription
descriptionHtmlstringSeller's description as published. Catawiki stores descriptions as plain text, so this is normally null and descriptionText carries the content.
descriptionTextstringSeller's description as plain text.
descriptionMarkdownstringSeller's description converted to Markdown.
summarystringCatawiki's own one-paragraph summary of the lot.
currentBidnumberHighest bid so far, converted to the currency you selected.
currentBidCurrencystringCurrency of currentBid.
currentBidEurnumberThe same bid in euros, always present regardless of the currency you selected.
minimumNextBidnumberSmallest bid that would currently be accepted.
startingBidnumberOpening bid set for the lot.
bidCountintegerTotal bids placed on the lot over its whole run, not just the bids listed in bidHistory.
lastBidAtstringISO timestamp of the most recent bid.
estimateMinnumberLow end of the expert's estimate (null when no estimate was published).
estimateMaxnumberHigh end of the expert's estimate (null when no estimate was published).
estimateCurrencystringCurrency the estimate is expressed in.
biddingEndTimestringISO timestamp at which bidding closes.
biddingEndDatestringClosing date in the Amsterdam time zone, YYYY-MM-DD.
isOpenbooleanWhether the lot is currently open for bidding.
isClosedbooleanWhether bidding has closed.
isSoldbooleanWhether the lot sold.
reservePriceMetbooleanWhether the reserve has been met (null on no-reserve lots).
highInterestbooleanCatawiki's flag for lots attracting unusual attention.
categoryIdintegerIdentifier of the lot's own category.
categoryUrlstringAddress of that category page.
categoryLevelintegerDepth of that category in the tree.
categoryL0IdintegerTop-level category identifier, such as Watches, Pens & Lighters.
categoryL0NamestringTop-level category name.
categoryL1IdintegerSecond-level category identifier.
categoryL1NamestringSecond-level category name.
categoryL2IdintegerThird-level category identifier.
categoryL2NamestringThird-level category name.
auctionTitlestringTitle of the auction the lot sits in.
auctionUrlstringAddress of the auction page.
auctionStatusstringAuction state, such as open_now.
auctionStartAtstringISO timestamp the auction opened.
auctionCloseAtstringISO timestamp the auction closes.
auctionLotCountintegerNumber of lots in the auction.
auctionIsThemedbooleanWhether this is a themed sale rather than a regular one.
expertNamestringCatawiki specialist who curated the auction.
expertUrlstringAddress of that specialist's public profile.
sellerNamestringSeller's public shop name.
sellerUrlstringAddress of the seller's public profile.
sellerCountrystringCountry the seller ships from.
sellerCountryCodestringTwo-letter country code for the same.
sellerIsProbooleanWhether the seller holds professional status.
sellerIsTopbooleanWhether Catawiki marks the seller as a top seller.
sellerMemberSincestringISO timestamp the seller joined Catawiki.
sellerObjectsSoldintegerLots the seller has sold to date.
sellerLotsInAuctionintegerLots the seller currently has in this auction.
sellerScoreintegerSeller's overall feedback score as a percentage.
sellerPositiveCountintegerPositive feedback entries.
sellerNeutralCountintegerNeutral feedback entries.
sellerNegativeCountintegerNegative feedback entries.
sellerFeedbackCountintegerTotal feedback entries over the seller's lifetime.
sellerBadgesarrayBadge titles awarded to the seller, such as Verified.
specificationsarrayItem attributes as { name, value } pairs.
specsobjectThe same attributes as a keyed object, for direct lookup.
imagesarrayEvery full-size image in the lot gallery.
imageCountintegerNumber of images in the gallery.
ageCheckRequiredbooleanWhether the lot requires age verification to bid.
hasExplicitContentbooleanWhether the lot page carries an explicit-content warning.
bidHistoryarrayIndividual bids, newest first. Fields below.
bidHistory[].amountnumberBid amount.
bidHistory[].currencystringCurrency of the bid amount.
bidHistory[].placedAtstringISO timestamp the bid was placed.
bidHistory[].bidderCountryCodestringTwo-letter country code of the bidder.
bidHistory[].bidderTotalBidsintegerBids that bidder has placed on Catawiki in total.
bidHistory[].isAutobidbooleanWhether the bid was placed automatically.

Bidders are not identified. Catawiki publishes bids anonymously and this actor records only the country and lifetime bid count.

Example record

{
"id": 106613983,
"lotId": 106613983,
"url": "https://www.catawiki.com/en/l/106613983-rolex-oysterdate-precision-no-reserve-price-6425-men-1960",
"slug": "106613983-rolex-oysterdate-precision-no-reserve-price-6425-men-1960",
"title": "Rolex - Oysterdate Precision - No reserve price - 6425 - Men - 1960",
"subtitle": "Manual winding - Steel",
"auctionId": 1263236,
"reservePriceSet": false,
"hasFreeShipping": false,
"buyNowPrice": null,
"buyNowCurrency": null,
"favoriteCount": 112,
"isContentExplicit": false,
"biddingStartTime": "2026-09-11T10:00:00.000Z",
"imageUrl": "https://assets.catawiki.nl/assets/2026/9/4/0/d/4/0d47cb61-3cdb-4f1e-ab3f-5b7ccd2bcc9b.jpg",
"thumbnailImageUrl": "https://assets.catawiki.nl/assets/2026/9/4/0/d/4/thumb2_0d47cb61-3cdb-4f1e-ab3f-5b7ccd2bcc9b.jpg",
"sellerId": 1273747,
"sellerShopName": "balmes70",
"source": "catawiki.com",
"sourceUrl": null,
"sourceType": "search",
"locale": "en",
"scrapedAt": "2026-09-14T14:33:39.000Z",
"scrapedDate": "2026-09-14",
"contentHash": "4f2a8c1d93b7e560",
"summary": "A 1960 Rolex Oysterdate Precision reference 6425 in steel with a silver dial, manual winding, 34 mm case, offered with its original box and a three-year service warranty.",
"descriptionText": "Exclusive Rolex Oysterdate Precision. Ref 6425. Silver dial. Like New, serviced Official Serviced. Brand Rolex. Model Oysterdate Precision...",
"descriptionHtml": null,
"descriptionMarkdown": "Exclusive Rolex Oysterdate Precision. Ref 6425. Silver dial...",
"currentBid": 1625,
"currentBidCurrency": "EUR",
"currentBidEur": 1625,
"minimumNextBid": 1725,
"startingBid": 1725,
"bidCount": 10,
"lastBidAt": "2026-09-14T13:16:24.000Z",
"estimateMin": 2600,
"estimateMax": 2900,
"estimateCurrency": "EUR",
"biddingEndTime": "2026-09-20T18:32:32.000Z",
"biddingEndDate": "2026-09-20",
"isOpen": true,
"isClosed": false,
"isSold": false,
"reservePriceMet": null,
"highInterest": true,
"categoryId": 343,
"categoryUrl": "https://www.catawiki.com/en/c/343-rolex-watches",
"categoryLevel": 2,
"categoryL0Id": 299,
"categoryL0Name": "Watches, Pens & Lighters",
"categoryL1Id": 333,
"categoryL1Name": "Watches",
"categoryL2Id": 343,
"categoryL2Name": "Rolex Watches",
"auctionTitle": "Rolex Watches Auction · No Reserve",
"auctionUrl": "https://www.catawiki.com/en/a/1263236-rolex-watches-auction-no-reserve",
"auctionStatus": "open_now",
"auctionStartAt": "2026-09-11T10:00:00.000Z",
"auctionCloseAt": "2026-09-20T18:00:00.000Z",
"auctionLotCount": 40,
"auctionIsThemed": true,
"expertName": "Mauro Atienza",
"expertUrl": "https://www.catawiki.com/en/e/607-mauro-atienza",
"sellerName": "balmes70",
"sellerUrl": "https://www.catawiki.com/en/u/1273747-balmes70",
"sellerCountry": "Spain",
"sellerCountryCode": "ES",
"sellerIsPro": true,
"sellerIsTop": true,
"sellerMemberSince": "2015-11-06T16:01:30.000Z",
"sellerObjectsSold": 13980,
"sellerLotsInAuction": 10,
"sellerScore": 100,
"sellerPositiveCount": 126,
"sellerNeutralCount": 14,
"sellerNegativeCount": 0,
"sellerFeedbackCount": 5791,
"sellerBadges": ["Verified"],
"specifications": [
{ "name": "Brand", "value": "Rolex" },
{ "name": "Model", "value": "Oysterdate Precision" },
{ "name": "Gender", "value": "Men" },
{ "name": "Case material", "value": "Steel" },
{ "name": "Condition", "value": "Like New" }
],
"specs": {
"Brand": "Rolex",
"Model": "Oysterdate Precision",
"Gender": "Men",
"Case material": "Steel",
"Condition": "Like New"
},
"images": [
"https://assets.catawiki.nl/assets/2026/9/4/0/d/4/0d47cb61-3cdb-4f1e-ab3f-5b7ccd2bcc9b.jpg",
"https://assets.catawiki.nl/assets/2026/9/4/a/9/a/a9a99db3-c890-4c10-bbb7-bf5dbbb208c5.jpg"
],
"imageCount": 11,
"ageCheckRequired": false,
"hasExplicitContent": false,
"bidHistory": [
{
"amount": 1625,
"currency": "EUR",
"placedAt": "2026-09-14T13:16:24.000Z",
"bidderCountryCode": "it",
"bidderTotalBids": 441,
"isAutobid": false
},
{
"amount": 1525,
"currency": "EUR",
"placedAt": "2026-09-14T07:02:53.000Z",
"bidderCountryCode": "it",
"bidderTotalBids": 603,
"isAutobid": false
}
],
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null,
"changeStatus": "NEW"
}

Examples

Search for Rolex watches across all open auctions:

{
"searchQuery": "rolex",
"maxResults": 250,
"currency": "EUR"
}

No-reserve lots from Dutch sellers in the watches category:

{
"startUrls": [{ "url": "https://www.catawiki.com/en/c/333-watches" }],
"filters": "reserve_price[]=0&seller_location[]=nl",
"maxResults": 500
}

Take an entire auction in one pass, on the Dutch storefront:

{
"startUrls": [{ "url": "https://www.catawiki.com/nl/a/1263236-rolex-watches-auction-no-reserve" }],
"locale": "nl",
"maxResults": 0
}

Daily feed of newly listed lots closing within a day:

{
"searchQuery": "art deco",
"filters": "bidding_end_days[]=1",
"skipReposts": true,
"maxResults": 200
}

💰 Pricing

$0.79 per 1,000 results — you only pay for successfully retrieved lots. Failed retries and filtered reposts are never charged.

ResultsCost
100~$0.08
1,000~$0.79
10,000~$7.90
100,000~$79.00

Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Subscription tiers lower the rate further, down to $0.77 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeTypical time
100 lotsunder 1 minute
1,000 lots4–7 minutes
10,000 lots40–70 minutes

Turning off Fetch full lot details is roughly ten times faster, at the cost of bids, estimates, seller data and specifications.


Known limitations

  • Catawiki does not publish a sort order that survives to the data layer, so results arrive in the site's own default order. Use filters to narrow a result set rather than sorting it.
  • Descriptions are written by sellers and vary in depth from a single line to several paragraphs.
  • Expert estimates are absent on a minority of lots, mostly in lower-value categories.
  • Closed auctions drop out of search after a period. Scrape an auction while it is open, or on the day it closes, to capture final bids.
  • Which specifications exist depends entirely on the category — a watch carries case diameter and movement, a painting carries technique and signature.

Technical details

  • Source: catawiki.com — curated online auctions across art, watches, jewellery, coins, comics, wine, cars and collectibles
  • Coverage: all public categories and auctions, in six storefront languages
  • Repost storage: KeyValueStore catawiki-scraper-lot-dedup, 90-day TTL
  • Retry: automatic retry on network errors with exponential backoff, three attempts per request

Rate this actor

If this scraper does its job, a short review on the Reviews tab helps other users find it. Something not working? Open an issue on the Issues tab instead — issues get fixed.


Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl