Chrono24 Search Scraper avatar

Chrono24 Search Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Chrono24 Search Scraper

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

Farhan Febrian Nauval

Maintained by Community

Actor 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

  1. You provide one or more watch keywords (e.g. rolex submariner, omega speedmaster).
  2. The actor pulls the search results for each keyword across as many pages as you allow (about 60 watches per page).
  3. Each watch is saved as a WATCH_LISTING record with its title, price, currency, seller, and location.
  4. 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.
  5. If a keyword returns nothing, the actor still writes one diagnostic record so a query is never silently dropped.
  6. 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.

FieldTypeDescription
queriesarrayRequired. Watch keywords to search (one per array entry). Each keyword yields its own watch listings.
maxPagesPerQueryintegerPages of results per query, ~60 watches/page (120). Stops early when a page returns no more watches. Default 2.
enrichDetailsbooleanWhen true, opens each watch's full detail page and merges in reference, year, condition, movement, and case material. Slower and heavier. Default false.
currencystringCurrency every price is shown in: USD, EUR, GBP, CHF, JPY, AUD, or CAD. Default USD.
maxConcurrencyintegerNumber of parallel requests across all keywords, covering both search and detail pages (120). Default 4.
maxRequestRetriesintegerRetries per page before giving up (115). Default 5.
proxyConfigurationobjectApify 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"
}
FieldTypeDescription
recordTypestringAlways "WATCH_LISTING".
querystringThe keyword that produced this record.
pageintegerResult page the watch was found on.
titlestringWatch title (brand + model line).
subtitlestringSecond line of the card — usually the reference or variant (e.g. 16610).
listingIdstringChrono24 listing identifier.
detailUrlstringFull listing detail URL.
priceTextstringPrice exactly as shown, e.g. $8,500.
pricenumberNumeric price.
currencystringISO currency of the price (e.g. USD).
locationstringSeller's country.
sellerTypestringSeller type when shown, e.g. Private Seller, Dealer, Trusted Seller.
badgesarrayPill labels on the card (e.g. Popular, Private Seller).
imagestringPrimary watch image URL.
scrapedAtstringISO 8601 timestamp of collection.
errorstringOnly on diagnostic records: NO_RESULTS or BLOCKED_AFTER_RETRIES.

When enrichDetails is on, these extra fields are merged into the record:

FieldTypeDescription
detailNamestringFull watch name from the detail page.
brandstringManufacturer, e.g. Rolex.
modelstringModel line, e.g. Submariner.
referencestringReference / model number, e.g. 14060M.
yearstringProduction year, e.g. 2002.
movementstringMovement type, e.g. Automatic.
caseMaterialstringCase material, e.g. Steel.
caseDiameterstringCase size, e.g. 40 x 14 mm.
detailPricenumberPrice from the detail page.
detailCurrencystringCurrency from the detail page.
conditionstringCondition, e.g. New, Used.
availabilitystringStock status, e.g. InStock.
sellerLocationstringSeller location from the detail page.
detailImagestringHigh-resolution watch image.
descriptionstringShort specification summary.

Other Watch / Marketplace Scrapers

ActorDescription
Chrono24 Search ScraperKeyword search → watch listings with price, currency, seller, and optional full detail.
eBay Search ScraperKeyword search across eBay listings with price, condition, and seller.
eBay Sold Comps ScraperSold-listing comparables for price history and resale research.
GOAT Search ScraperSneaker and apparel listings with sizes, prices, and product detail.
Made-in-China Search ScraperKeyword search → B2B product cards with supplier, price, and MOQ.