Chrono24 Search Scraper
Pricing
from $2.00 / 1,000 results
Chrono24 Search Scraper
Search Chrono24 for any luxury-watch keyword and get listing cards with title, model, price, currency, seller, and location — plus optional full detail enrichment.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Search Chrono24 for any luxury-watch keyword and get clean watch listings — title, model, asking price, currency, seller type, and location — as structured JSON. Turn on detail enrichment to also pull each watch's reference number, year, condition, movement, and case material.
Why use this actor
- Market-wide watch search — every result links straight to the live Chrono24 listing.
- Real asking prices — captures the price exactly as shown plus a numeric value and its currency.
- Pick your currency — see every price in USD, EUR, GBP, CHF, JPY, AUD, or CAD.
- Optional full detail — enrich each watch with its reference number, production year, condition, movement, and case material.
- No account, no API key — works straight from public search pages.
- Stable JSON output — the same field names every run, ready for spreadsheets, databases, or pipelines.
How it works
- You provide one or more watch keywords (e.g.
rolex submariner,omega speedmaster). - The actor pulls the search results for each keyword across as many pages as you allow (about 60 watches per page).
- Each watch is saved as a
WATCH_LISTINGrecord with its title, price, currency, seller, and location. - If you turn on detail enrichment, the actor opens every watch's full page and merges in the reference number, year, condition, movement, and case material.
- If a keyword returns nothing, the actor still writes one diagnostic record so a query is never silently dropped.
- Everything lands in your dataset, exportable as JSON, CSV, or Excel.
You don't need to manage any browsers or scrapers. For larger runs that go several pages deep, use a residential proxy.
Input
{"queries": ["rolex submariner","omega speedmaster"],"maxPagesPerQuery": 2,"enrichDetails": false,"currency": "USD","maxConcurrency": 4,"maxRequestRetries": 5,"proxyConfiguration": { "useApifyProxy": true }}
Each keyword in queries is searched independently and produces its own set of WATCH_LISTING records.
| Field | Type | Description |
|---|---|---|
queries | array | Required. Watch keywords to search (one per array entry). Each keyword yields its own watch listings. |
maxPagesPerQuery | integer | Pages of results per query, ~60 watches/page (1–20). Stops early when a page returns no more watches. Default 2. |
enrichDetails | boolean | When true, opens each watch's full detail page and merges in reference, year, condition, movement, and case material. Slower and heavier. Default false. |
currency | string | Currency every price is shown in: USD, EUR, GBP, CHF, JPY, AUD, or CAD. Default USD. |
maxConcurrency | integer | Number of parallel requests across all keywords, covering both search and detail pages (1–20). Default 4. |
maxRequestRetries | integer | Retries per page before giving up (1–15). Default 5. |
proxyConfiguration | object | Apify Proxy or a custom proxy list. A residential proxy is recommended for larger, deeper runs. |
Output
Listing-only record (enrichDetails: false)
Each watch is one record (recordType: "WATCH_LISTING"):
{"recordType": "WATCH_LISTING","query": "rolex submariner","page": 1,"title": "Rolex Submariner Date","subtitle": "16610","listingId": "46281637","detailUrl": "https://www.chrono24.com/rolex/submariner-date--id46281637.htm","priceText": "$8,500","price": 8500.0,"currency": "USD","location": "United States of America","sellerType": "Private Seller","badges": ["Popular", "Private Seller"],"image": "https://img.chrono24.com/images/uhren/46281637-2b787oep59hc8orkmfn2e2vt-Square300.jpg","scrapedAt": "2026-06-10T19:29:11Z"}
Enriched record (enrichDetails: true)
The same record with the watch's full detail fields merged in:
{"recordType": "WATCH_LISTING","query": "rolex submariner","page": 1,"title": "Rolex Submariner (No Date)","subtitle": "only","listingId": "46442674","detailUrl": "https://www.chrono24.com/rolex/submariner--id46442674.htm","priceText": "$7,999","price": 7999.0,"currency": "USD","location": "United States of America","sellerType": "Private Seller","badges": ["Popular", "Private Seller"],"image": "https://img.chrono24.com/images/uhren/46442674-gzvzurgsq6lhp29fh0mjdc5m-Square300.jpg","scrapedAt": "2026-06-10T19:29:11Z","detailName": "Rolex Submariner Watch only","brand": "Rolex","model": "Submariner","reference": "14060M","year": "2002","movement": "Automatic","caseMaterial": "Steel","caseDiameter": "40 x 14 mm","detailPrice": 7999.0,"detailCurrency": "USD","condition": "Used","availability": "InStock","sellerLocation": "United States of America","detailImage": "https://img.chrono24.com/images/uhren/46442674-gzvzurgsq6lhp29fh0mjdc5m-ExtraLarge.jpg","description": "Reference number 14060M Steel Automatic Year 2002 40x14mm"}
If a keyword returns no watches, the actor writes a single diagnostic record instead:
{"recordType": "WATCH_LISTING","_input": "xyzzy no such watch","error": "NO_RESULTS","scrapedAt": "2026-06-10T19:29:11Z"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "WATCH_LISTING". |
query | string | The keyword that produced this record. |
page | integer | Result page the watch was found on. |
title | string | Watch title (brand + model line). |
subtitle | string | Second line of the card — usually the reference or variant (e.g. 16610). |
listingId | string | Chrono24 listing identifier. |
detailUrl | string | Full listing detail URL. |
priceText | string | Price exactly as shown, e.g. $8,500. |
price | number | Numeric price. |
currency | string | ISO currency of the price (e.g. USD). |
location | string | Seller's country. |
sellerType | string | Seller type when shown, e.g. Private Seller, Dealer, Trusted Seller. |
badges | array | Pill labels on the card (e.g. Popular, Private Seller). |
image | string | Primary watch image URL. |
scrapedAt | string | ISO 8601 timestamp of collection. |
error | string | Only on diagnostic records: NO_RESULTS or BLOCKED_AFTER_RETRIES. |
When enrichDetails is on, these extra fields are merged into the record:
| Field | Type | Description |
|---|---|---|
detailName | string | Full watch name from the detail page. |
brand | string | Manufacturer, e.g. Rolex. |
model | string | Model line, e.g. Submariner. |
reference | string | Reference / model number, e.g. 14060M. |
year | string | Production year, e.g. 2002. |
movement | string | Movement type, e.g. Automatic. |
caseMaterial | string | Case material, e.g. Steel. |
caseDiameter | string | Case size, e.g. 40 x 14 mm. |
detailPrice | number | Price from the detail page. |
detailCurrency | string | Currency from the detail page. |
condition | string | Condition, e.g. New, Used. |
availability | string | Stock status, e.g. InStock. |
sellerLocation | string | Seller location from the detail page. |
detailImage | string | High-resolution watch image. |
description | string | Short specification summary. |
Other Watch / Marketplace Scrapers
| Actor | Description |
|---|---|
| Chrono24 Search Scraper | Keyword search → watch listings with price, currency, seller, and optional full detail. |
| eBay Search Scraper | Keyword search across eBay listings with price, condition, and seller. |
| eBay Sold Comps Scraper | Sold-listing comparables for price history and resale research. |
| GOAT Search Scraper | Sneaker and apparel listings with sizes, prices, and product detail. |
| Made-in-China Search Scraper | Keyword search → B2B product cards with supplier, price, and MOQ. |