Chrono24 Scraper — Luxury Watch Prices & Listings avatar

Chrono24 Scraper — Luxury Watch Prices & Listings

Pricing

from $20.00 / 1,000 result scrapeds

Go to Apify Store
Chrono24 Scraper — Luxury Watch Prices & Listings

Chrono24 Scraper — Luxury Watch Prices & Listings

Scrape luxury watch listings from Chrono24.com, the world's largest pre-owned watch marketplace. Extract prices, reference numbers, condition, year, material, movement, and seller info for any brand or model. No login needed.

Pricing

from $20.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

Chrono24 Scraper

Scrape luxury watch listings from Chrono24.com — the world's largest online marketplace for pre-owned and new watches.

Why use this actor?

Chrono24 lists hundreds of thousands of watches from dealers and private sellers worldwide, but the site sits behind a Cloudflare challenge, so it's not accessible with a plain HTTP request or a naive scraper. This actor gets you the data anyway: price, reference number, condition, year, material, and seller info for any brand, model, or reference you search for. Useful for price-tracking a specific reference across sellers, building a comps database for valuation, monitoring new listings for a model you collect, or feeding a watch price-history tool.

How to scrape Chrono24 data

Give the actor a search query — a brand ("Rolex"), a model ("Omega Speedmaster"), or a reference number ("Rolex 16610") — and it does the rest:

  1. Fetches the Chrono24 search results page for your query (up to 60 listings per page) through Bright Data Web Unlocker, which handles the Cloudflare challenge.
  2. Collects listing URLs and paginates until it has enough candidates for maxResults.
  3. Visits each listing's detail page and pulls the structured product data Chrono24 embeds in the page (brand, model, reference number, year, material, movement, condition) plus the seller's name, type, and country.
  4. Pushes one row per listing to the dataset.

Run it directly from the Apify Console, via the API, or with any of the official SDKs (JavaScript, Python). Typical workflows:

  • Reference lookup: search a specific reference number to see every current listing and price for that exact watch
  • Brand sweep: search a brand name and set a high maxResults to pull a broad price sample
  • Scheduled monitoring: run daily on a saved search to catch new listings or price drops
  • Comps / valuation feed: export JSON or CSV and join on referenceNumber to build a price-history dataset

No login or account needed on Chrono24 — this scrapes public listing pages only.

Input

FieldTypeRequiredDescription
searchQueryStringNoBrand, model, or reference number to search for. Defaults to "Rolex" when left empty.
maxResultsIntegerNoMaximum listings to return. Default 30, hard-capped at 300.
fetchDetailsBooleanNoWhen true (default), fetches each listing's detail page for reference number, year, condition, material, movement, and seller info — one extra request per result. When false, only search-page fields are returned (title, brand guess, price, currency, image, url) — faster and cheaper.
requestDelaySecsIntegerNoPause between Bright Data requests. Default 1. Raise this if you see retry warnings in the log.
brightDataApiKeyStringNoBright Data Web Unlocker API key. Pre-configured on this actor — you normally don't need to set it.
proxyConfigurationObjectNoAccepted for compatibility. Unblocking is handled by Bright Data, not Apify proxy.

Output

Each result contains:

FieldTypeExample
listingIdString"48333548"
listingTitleString"Rolex Submariner No Date Black PVD Coating..."
brandString"Rolex"
modelString"Submariner (No Date)"
referenceNumberString"14060"
yearNumber2001
yearRawString"2001"
conditionString"Used (Very good)"
conditionStateString"used"
materialString"Steel"
caseDiameterString"40 mm"
movementString"Automatic"
priceNumber8000
currencyString"USD"
sellerNameString"BRICKELL WATCHES"
sellerTypeString"dealer"
sellerCountryString"US"
imageUrlStringPrimary listing image
imageUrlsArrayAll listing images
urlStringListing detail page URL
scrapedAtStringISO 8601 timestamp
searchQueryStringInput echo

currency is reported exactly as published — Chrono24 is a global marketplace and most listings price in USD regardless of seller country, so don't assume EUR.

Example output

{
"listingId": "48333548",
"listingTitle": "Rolex Submariner No Date Black PVD Coating Black dial Stainless Steel Watch Only 14060 Good Automatic",
"brand": "Rolex",
"model": "Submariner (No Date)",
"referenceNumber": "14060",
"year": 2001,
"yearRaw": "2001",
"condition": "Used (Good)",
"conditionState": "used",
"material": null,
"caseDiameter": "40 mm",
"movement": "Automatic",
"price": 8000,
"currency": "USD",
"sellerName": "BRICKELL WATCHES",
"sellerType": "dealer",
"sellerCountry": "US",
"imageUrl": "https://img.chrono24.com/images/uhren/48333548-es2kuz2kstkojjj7qlk8j2hz-ExtraLarge.jpg",
"imageUrls": [
"https://img.chrono24.com/images/uhren/48333548-es2kuz2kstkojjj7qlk8j2hz-ExtraLarge.jpg",
"https://img.chrono24.com/images/uhren/48333548-tcr05agt472d6nqdd0ze5szu-ExtraLarge.jpg"
],
"url": "https://www.chrono24.com/rolex/submariner-no-date-black-pvd-coating-black-dial-stainless-steel-watch-only-14060-good-automatic--id48333548.htm",
"scrapedAt": "2026-09-04T09:14:18.611Z",
"searchQuery": "Rolex Submariner"
}

Cost estimate

With fetchDetails on (default), each result costs one search-page fetch share plus one detail-page fetch — two Bright Data Web Unlocker requests per result at roughly 60 results per search-page fetch. Budget for roughly 1 Bright Data request per result at scale. A 30-result run typically finishes in under a minute with the default 1-second request delay.

Limitations / known issues

  • Chrono24 is protected by Cloudflare and reached exclusively through Bright Data Web Unlocker — a direct HTTP request to the site returns a 403 challenge page.
  • material and condition are pulled from the listing's specs table; a small share of listings (roughly 1 in 10 in testing) render a slightly different template and omit one or two of these fields — conditionState (machine-normalized from the listing's own schema.org data) is the more reliable field to filter/sort on.
  • Search results cap at 60 listings per page; the actor paginates automatically up to maxResults.
  • sellerCountry is a 2-letter country code only — Chrono24 does not publish the seller's city or full address on the listing page.
  • Pricing and availability reflect the moment the actor ran; watch prices on Chrono24 change frequently and listings can be sold or removed.
  • A run's usage cost only settles once the run finishes with status SUCCEEDED — check the run's final status before relying on the billed amount.