Chrono24 Scraper — Luxury Watch Prices & Listings
Pricing
from $20.00 / 1,000 result scrapeds
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
Maintained by CommunityActor 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:
- 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.
- Collects listing URLs and paginates until it has enough candidates for
maxResults. - 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.
- 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
maxResultsto 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
referenceNumberto build a price-history dataset
No login or account needed on Chrono24 — this scrapes public listing pages only.
Input
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | String | No | Brand, model, or reference number to search for. Defaults to "Rolex" when left empty. |
maxResults | Integer | No | Maximum listings to return. Default 30, hard-capped at 300. |
fetchDetails | Boolean | No | When 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. |
requestDelaySecs | Integer | No | Pause between Bright Data requests. Default 1. Raise this if you see retry warnings in the log. |
brightDataApiKey | String | No | Bright Data Web Unlocker API key. Pre-configured on this actor — you normally don't need to set it. |
proxyConfiguration | Object | No | Accepted for compatibility. Unblocking is handled by Bright Data, not Apify proxy. |
Output
Each result contains:
| Field | Type | Example |
|---|---|---|
listingId | String | "48333548" |
listingTitle | String | "Rolex Submariner No Date Black PVD Coating..." |
brand | String | "Rolex" |
model | String | "Submariner (No Date)" |
referenceNumber | String | "14060" |
year | Number | 2001 |
yearRaw | String | "2001" |
condition | String | "Used (Very good)" |
conditionState | String | "used" |
material | String | "Steel" |
caseDiameter | String | "40 mm" |
movement | String | "Automatic" |
price | Number | 8000 |
currency | String | "USD" |
sellerName | String | "BRICKELL WATCHES" |
sellerType | String | "dealer" |
sellerCountry | String | "US" |
imageUrl | String | Primary listing image |
imageUrls | Array | All listing images |
url | String | Listing detail page URL |
scrapedAt | String | ISO 8601 timestamp |
searchQuery | String | Input 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.
materialandconditionare 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. sellerCountryis 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.
Related Scrapers
- Back Market Scraper — refurbished electronics marketplace
- Vinted Scraper — second-hand fashion marketplace
- Autoscout24 Scraper — used car marketplace
- Immoweb Scraper — real estate listings
- Bazaraki Scraper — general classifieds marketplace