{
  "openapi": "3.0.1",
  "info": {
    "title": "Catawiki Scraper - Auction Lots, Bids, Estimates & Leads",
    "description": "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.",
    "version": "0.1",
    "x-build-id": "lPytK2NgAUD4ImkUV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~catawiki-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-catawiki-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapesage~catawiki-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-catawiki-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapesage~catawiki-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-catawiki-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Keywords to search on Catawiki, e.g. <code>rolex</code>, <code>art deco ring</code>, <code>lego star wars</code>, <code>1960 bordeaux</code>, <code>pokemon psa 10</code>. Each query is scraped across all matching auctions. Leave empty to browse by category or use Start URLs.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Browse whole categories by name or code. Top-level names: <code>art</code>, <code>jewellery</code>, <code>watches</code>, <code>fashion</code>, <code>coins</code>, <code>stamps</code>, <code>comics</code>, <code>classic cars</code>, <code>wine</code>, <code>whisky</code>, <code>trading cards</code>, <code>toys</code>, <code>sports</code>, <code>books</code>, <code>cameras</code>, <code>interiors</code>. You can also pass a category code like <code>333-watches</code>. For sub-categories (e.g. Breitling watches), use Start URLs.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Paste any Catawiki URL — a search page (<code>https://www.catawiki.com/en/s?q=omega</code>), a category page (<code>https://www.catawiki.com/en/c/333-watches</code>), an auction page (<code>.../en/a/123-...</code>) or a lot page (<code>.../en/l/...</code>). The most reliable way to scrape exactly the filters you set on the site. Used in addition to search queries and categories. <b>Bulk import:</b> use this field's <i>Link remote text file</i> option to load a file of URLs (one per line) — or paste the list into <b>Import URLs from a file</b> below.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "lotUrls": {
            "title": "Lot URLs",
            "type": "array",
            "description": "Direct Catawiki lot URLs (<code>https://www.catawiki.com/en/l/104507119-...</code>) to scrape full detail for. Each is fetched as a fully enriched lot-detail record. Adding them one at a time? Use <b>Import URLs from a file</b> below instead.",
            "items": {
              "type": "string"
            }
          },
          "urlsFromFile": {
            "title": "Import URLs from a file (one per line)",
            "type": "string",
            "description": "Bulk-load lot URLs without adding them one at a time. Two ways to use it: <b>(1)</b> paste your whole list straight in, one URL per line — open your .txt file, select all, paste; or <b>(2)</b> give a single link to the file and it is downloaded for you — a public <code>.txt</code>/<code>.csv</code>, a Google Sheet or Drive share link (auto-converted to CSV export), or an Apify key-value-store record. Blank lines, <code>#</code> comments and extra CSV columns are ignored, and duplicates are only scraped once. Lot URLs (<code>/en/l/...</code>) become full lot-detail records; search, category and auction URLs are crawled like Start URLs."
          },
          "includeLotDetails": {
            "title": "Scrape full lot details",
            "type": "boolean",
            "description": "Open each lot's page for the rich data: current bid, starting/min-next bid, bid count and bid history, expert estimate, reserve status, closing time, every structured specification, full image gallery, catalog expert and seller reputation. Turn off for a fast, cheap card-level listing only (no live bids/estimates/specs).",
            "default": true
          },
          "includeShippingRates": {
            "title": "Include shipping costs",
            "type": "boolean",
            "description": "Add each lot's shipping rate card: per-country/region shipping prices (<code>shippingRates</code>, stable EUR), estimated delivery days, combined-shipping availability and pickup flags. One extra lightweight request per lot. Applies to lot-detail records (has no effect when lot details are off).",
            "default": true
          },
          "includeSellerLeads": {
            "title": "Also output seller / dealer leads",
            "type": "boolean",
            "description": "Emit a second record type (<code>type: \"sellerLead\"</code>): one deduplicated record per seller with shop name, profile URL, country, verified status, reputation score with rating counts, the categories they sell in, bid range, sample lots and a 0-100 lead score. Great for finding high-volume verified dealers to partner with or prospect.",
            "default": false
          },
          "outputFields": {
            "title": "Output fields (leave empty for all)",
            "type": "array",
            "description": "Pick the fields you want and every record is trimmed to exactly those — handy for lean CSV/Sheets exports. <b>Nothing to memorise:</b> open the dropdown and tick, or start typing (<code>bid</code>, <code>ship</code>, <code>seller</code>) to filter. Leave empty to get all 99 fields. The list covers both record types — entries marked <b>Lead ·</b> only appear on <code>sellerLead</code> records. If a selection matches nothing on a given record, identity fields (<code>type</code>, <code>lotId</code>, <code>url</code>) are kept so rows are never empty.",
            "items": {
              "type": "string",
              "enum": [
                "type",
                "lotId",
                "title",
                "subtitle",
                "summary",
                "description",
                "url",
                "slug",
                "currency",
                "currentBid",
                "currentBidEUR",
                "minNextBid",
                "startingBid",
                "bidCount",
                "bidHistory",
                "reservePriceSet",
                "reservePriceMet",
                "sold",
                "closed",
                "buyNow",
                "buyNowAmount",
                "buyNowAmountEUR",
                "estimateLow",
                "estimateHigh",
                "estimateLowEUR",
                "estimateHighEUR",
                "estimateCurrency",
                "biddingStartTime",
                "biddingEndTime",
                "status",
                "closeStatus",
                "open",
                "categoryId",
                "categoryName",
                "categoryPath",
                "categoryLevel",
                "categoryUrl",
                "specs",
                "specifications",
                "images",
                "imageCount",
                "imageUrl",
                "thumbImageUrl",
                "videoCount",
                "sellerId",
                "sellerShopName",
                "sellerUrl",
                "sellerCountry",
                "sellerCountryCode",
                "sellerScore",
                "sellerPositiveCount",
                "sellerNegativeCount",
                "sellerNeutralCount",
                "sellerLifetimeCount",
                "sellerBadges",
                "sellerVerified",
                "shippingRates",
                "shippingCurrency",
                "hasFreeShipping",
                "estimatedDeliveryDays",
                "combinedShippingAllowed",
                "pickupOnly",
                "pickupPreferable",
                "pickupLocation",
                "deliveryMethods",
                "shippingQuoteUrl",
                "shipping",
                "auctionId",
                "auctionTitle",
                "auctionUrl",
                "auctionStatus",
                "auctionCloseAt",
                "auctionLotCount",
                "expertId",
                "expertName",
                "expertBio",
                "expertUrl",
                "favoriteCount",
                "highInterest",
                "ageCheckRequired",
                "detailScraped",
                "scrapedAt",
                "searchQuery",
                "sourceUrl",
                "country",
                "countryCode",
                "reputationScore",
                "positiveCount",
                "negativeCount",
                "neutralCount",
                "lifetimeRatings",
                "verified",
                "badges",
                "categories",
                "lotCountSeen",
                "minBid",
                "maxBid",
                "sampleLots",
                "leadScore"
              ],
              "enumTitles": [
                "Record type (type)",
                "Lot ID (lotId)",
                "Title (title)",
                "Subtitle (subtitle)",
                "AI summary (summary)",
                "Full description (description)",
                "Lot URL (url)",
                "Slug (slug)",
                "Currency (currency)",
                "Current bid (currentBid)",
                "Current bid in EUR (currentBidEUR)",
                "Minimum next bid (minNextBid)",
                "Starting bid — before any bids (startingBid)",
                "Bid count (bidCount)",
                "Bid history (bidHistory)",
                "Reserve price set (reservePriceSet)",
                "Reserve met (reservePriceMet)",
                "Sold (sold)",
                "Closed (closed)",
                "Buy Now available (buyNow)",
                "Buy Now price (buyNowAmount)",
                "Buy Now price in EUR (buyNowAmountEUR)",
                "Expert estimate low (estimateLow)",
                "Expert estimate high (estimateHigh)",
                "Estimate low in EUR (estimateLowEUR)",
                "Estimate high in EUR (estimateHighEUR)",
                "Estimate currency (estimateCurrency)",
                "Bidding start time (biddingStartTime)",
                "Closing time (biddingEndTime)",
                "Status (status)",
                "Close status (closeStatus)",
                "Open for bidding (open)",
                "Category ID (categoryId)",
                "Category name (categoryName)",
                "Category path (categoryPath)",
                "Category level (categoryLevel)",
                "Category URL (categoryUrl)",
                "Specs as a flat map (specs)",
                "Specifications, structured (specifications)",
                "All image URLs (images)",
                "Image count (imageCount)",
                "Main image URL (imageUrl)",
                "Thumbnail URL (thumbImageUrl)",
                "Video count (videoCount)",
                "Seller ID (sellerId)",
                "Seller shop name (sellerShopName)",
                "Seller profile URL (sellerUrl)",
                "Seller country (sellerCountry)",
                "Seller country code (sellerCountryCode)",
                "Seller reputation % (sellerScore)",
                "Seller positive ratings (sellerPositiveCount)",
                "Seller negative ratings (sellerNegativeCount)",
                "Seller neutral ratings (sellerNeutralCount)",
                "Seller lifetime ratings (sellerLifetimeCount)",
                "Seller badges (sellerBadges)",
                "Seller verified (sellerVerified)",
                "Shipping rates per region (shippingRates)",
                "Shipping currency (shippingCurrency)",
                "Free shipping (hasFreeShipping)",
                "Estimated delivery days (estimatedDeliveryDays)",
                "Combined shipping allowed (combinedShippingAllowed)",
                "Pickup only (pickupOnly)",
                "Pickup preferable (pickupPreferable)",
                "Pickup location (pickupLocation)",
                "Delivery methods (deliveryMethods)",
                "Transport quote URL (shippingQuoteUrl)",
                "Raw shipping config (shipping)",
                "Auction ID (auctionId)",
                "Auction title (auctionTitle)",
                "Auction URL (auctionUrl)",
                "Auction status (auctionStatus)",
                "Auction close time (auctionCloseAt)",
                "Lots in auction (auctionLotCount)",
                "Expert ID (expertId)",
                "Catalog expert name (expertName)",
                "Expert bio (expertBio)",
                "Expert URL (expertUrl)",
                "Favourites (favoriteCount)",
                "High interest (highInterest)",
                "Age check required (ageCheckRequired)",
                "Detail page scraped (detailScraped)",
                "Scraped at (scrapedAt)",
                "Matched search query (searchQuery)",
                "Source URL (sourceUrl)",
                "Lead · Country (country)",
                "Lead · Country code (countryCode)",
                "Lead · Reputation % (reputationScore)",
                "Lead · Positive ratings (positiveCount)",
                "Lead · Negative ratings (negativeCount)",
                "Lead · Neutral ratings (neutralCount)",
                "Lead · Lifetime ratings (lifetimeRatings)",
                "Lead · Verified (verified)",
                "Lead · Badges (badges)",
                "Lead · Categories sold in (categories)",
                "Lead · Lots seen this run (lotCountSeen)",
                "Lead · Min bid seen (minBid)",
                "Lead · Max bid seen (maxBid)",
                "Lead · Sample lots (sampleLots)",
                "Lead · Lead score 0-100 (leadScore)"
              ]
            }
          },
          "maxItems": {
            "title": "Max lots",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of lots to scrape across all queries, categories and URLs. Pagination stops automatically when this is reached. 0 or empty uses the default.",
            "default": 100
          },
          "maxSellerLeads": {
            "title": "Max seller leads",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of seller-lead records to output (only applies when seller leads are enabled). Leads are ranked by lead score, so the strongest dealers come first.",
            "default": 200
          },
          "monitorMode": {
            "title": "Monitor mode (only new lots)",
            "type": "boolean",
            "description": "Remember the lots seen on previous runs (in a named key-value store) and, on each run, output only lots that are new since last time. Perfect for tracking a category, search or seller for fresh items. Works alongside Apify <b>Schedules</b> — schedule the run cadence there, and this flag controls de-duplication. It does not start its own scheduler.",
            "default": false
          },
          "monitorOnlyNew": {
            "title": "Output only new lots",
            "type": "boolean",
            "description": "When monitor mode is on, skip lots already seen on previous runs and only output (and charge for) new ones. Turn off to re-output everything each run while still recording what was seen.",
            "default": true
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "A name for this monitor's memory, e.g. <code>rolex-watches</code> or <code>art-weekly</code>. Use a different key per saved search so their seen-lists stay separate. Each key maps to a key-value store named <code>catawiki-monitor-&lt;key&gt;</code>.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. Catawiki serves clean data to Apify datacenter proxies, which are used by default. If you ever see blocks, switch to Residential.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}