Discover/Chrono24 API
live

Chrono24 APIchrono24.com

Search luxury watch listings and retrieve full specs from Chrono24 via two endpoints. Get price, brand, model, caliber, photos, and seller data.

This API takes change requests — .
Endpoint health
verified 3h ago
search_watches
get_watch_details
2/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago

What is the Chrono24 API?

The Chrono24 API gives developers access to watch listings across the world's largest pre-owned and new watch marketplace through 2 endpoints. search_watches returns up to 60 results per query including price, brand, model, and seller country, while get_watch_details delivers full specifications — caliber data, case size, crystal type, production year, and photo arrays — for any individual listing identified by a numeric listing ID or URL.

Try it
Maximum number of results to return (capped at 60).
Search query for watches (brand, model, reference number, or keywords).
api.parse.bot/scraper/4dc3881d-e9c4-4804-9a0d-b5fdd23bdfc3/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/4dc3881d-e9c4-4804-9a0d-b5fdd23bdfc3/search_watches?limit=5&query=Rolex+Daytona' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace chrono24-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: chrono24 SDK — bounded, re-runnable; every call capped."""
from parse_apis.chrono24_com_api import Chrono24, WatchNotFound

client = Chrono24()

# Search for watches — limit caps total items returned.
for watch in client.search_results.search(query="Rolex Daytona", limit=3):
    print(watch.name, watch.price, watch.seller_location)

# Drill-down: take one result and get full details via the summary's navigation op.
summary = client.search_results.search(query="Omega Speedmaster", limit=1).first()
if summary:
    full = summary.details()
    print(full.name, full.reference_number, full.condition, full.year)
    print(full.case_size, full.movement_type, full.case_material)

# Direct lookup by listing_id with typed error handling.
try:
    detail = client.watches.get(listing_id="40983017")
    print(detail.brand, detail.model, detail.price, detail.currency)
    print(detail.seller_name, detail.seller_location)
except WatchNotFound as e:
    print(f"not found: {e.listing_id}")

print("exercised: search_results.search, WatchSummary.details, watches.get")
All endpoints · 2 totalmissing one? ·

Full-text search across Chrono24 watch listings. Returns up to 60 results per query with basic listing data including price, brand, model, and seller country. Results are ordered by relevance. Each result carries a listing_id usable with get_watch_details for full specs.

Input
ParamTypeDescription
limitintegerMaximum number of results to return (capped at 60).
queryrequiredstringSearch query for watches (brand, model, reference number, or keywords).
Response
{
  "type": "object",
  "fields": {
    "query": "the search query used",
    "watches": "array of watch listing summaries",
    "total_results": "integer total from current page"
  },
  "sample": {
    "data": {
      "query": "Rolex Daytona",
      "watches": [
        {
          "name": "Rolex UNWORN 2024 126500LN Daytona 40mm White Panda Dial",
          "brand": "Rolex",
          "model": "Daytona",
          "price": "37250",
          "currency": "USD",
          "image_url": "https://img.chrono24.com/images/uhren/r82r2z1a8vsn-3xvfxvze8ivg4y35pwzqbzdn-ExtraLarge.jpg",
          "listing_id": "40983017",
          "listing_url": "https://www.chrono24.com/rolex/unworn-2024-126500ln-daytona-40mm-white-panda-dial--id40983017.htm",
          "seller_location": "US"
        }
      ],
      "total_results": 60
    },
    "status": "success"
  }
}

About the Chrono24 API

Searching Watch Listings

The search_watches endpoint accepts a query string covering brand names, model names, reference numbers, or free-text keywords. Results are ordered by relevance and include a listing_id field for each watch, which feeds directly into get_watch_details. The limit parameter caps results at a maximum of 60 per call. The response also includes total_results, giving a count of how many listings matched the current query on the page sampled.

Retrieving Full Listing Details

get_watch_details accepts either a listing_id (the numeric ID from search results) or a full url from the listing_url field in search results — at least one must be provided. The response includes the listing name, brand, model, year of production, price and currency, a photos array of image URLs, and a caliber object with fields for caliber name, base_caliber, power_reserve, and jewels. Physical attributes like case_size and crystal type are also returned.

Data Scope and Considerations

Chrono24 lists watches from dealers and private sellers across many countries; the seller_country field in search results reflects this geographic spread. The price field is returned as a string and paired with an ISO currency code, so currency normalization is left to the caller. Listings that lack certain spec fields — such as power_reserve or year — will return those fields as null or empty rather than omitting them entirely, so defensive handling is advised.

Reliability & maintenanceVerified

The Chrono24 API is a managed, monitored endpoint for chrono24.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when chrono24.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official chrono24.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track asking-price trends for a specific reference number across multiple Chrono24 listings using search_watches and the price field
  • Build a watch valuation tool that pulls case size, caliber, and production year from get_watch_details to estimate market value
  • Aggregate photo galleries for a watch model by collecting the photos array across multiple get_watch_details calls
  • Monitor new listings for a target model by periodically running search_watches with a reference number query
  • Compare seller countries for the same reference to identify regional pricing differences using seller_country from search results
  • Populate a watch database with structured specs (crystal, case_size, jewels, power_reserve) sourced from get_watch_details
  • Build a caliber lookup tool that maps brand and model names to base_caliber and power_reserve data from get_watch_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Chrono24 have an official developer API?+
Chrono24 does not publish a public developer API. There is no official documentation or API portal available to external developers at this time.
What does get_watch_details return beyond what search_watches provides?+
search_watches returns a summary per listing: price, brand, model, seller country, and a listing_id. get_watch_details adds the full caliber object (caliber name, base_caliber, power_reserve, jewels), case_size, crystal type, production year, and a photos array of image URLs. It accepts either the numeric listing_id or the full listing URL.
Does search_watches support pagination across all results, or is it limited to one page?+
Each search_watches call returns up to 60 results from the current page and a total_results count. Multi-page pagination is not currently exposed as a parameter. You can fork this API on Parse and revise it to add offset or page parameters if you need deeper result sets.
Can I retrieve auction listings or price history for a watch?+
The API currently covers buy-it-now and dealer listings with their asking price. Auction-format listings and historical sold-price data are not included in either endpoint. You can fork this API on Parse and revise it to add an endpoint targeting sold listings or price history if that data is accessible on the source.
Are seller profile details like ratings or contact information returned?+
The current endpoints return seller_country in search results and basic seller context in get_watch_details, but detailed seller profiles, ratings, or contact information are not exposed. You can fork this API on Parse and revise it to add a seller detail endpoint if that level of data is needed.
Page content last updated . Spec covers 2 endpoints from chrono24.com.
Related APIs in MarketplaceSee all →
watchcharts.com API
Search and analyze luxury watch market data including current listings, historical price trends, and recent sales information. Get detailed watch specifications and track market pricing to make informed collecting or investment decisions.
thewatchpages.com API
Browse current luxury watch collections from top brands and access detailed product information including reference numbers, model names, retail prices, and direct product links. Find exactly what you're looking for across multiple luxury watchmakers in one unified platform.
watchbase.com API
Search and explore watches across thousands of brands and collections, discover detailed specifications for watches and mechanical calibers, and retrieve high-quality watch images. Browse curated watch collections by brand or find specific timepieces using advanced search functionality.
watchmaxx.com API
Browse luxury watches from WatchMaxx by brand, category, or search terms, and access detailed product information including specifications, pricing, and images. Filter and compare watches across different series to find the perfect timepiece.
rolex.com API
Explore Rolex's complete watch catalog to compare models, editions, and specifications, then check pricing and locate nearby authorized stores. Access user guides and brochures to learn more about any timepiece.
jomashop.com API
Browse and search a watch store catalog to discover products by category, brand, or sale status, view detailed product information and customer reviews, and explore new arrivals and navigation options. Find the perfect timepiece with access to watch brands, pricing details, and curated collections.
kleinanzeigen.de API
Search and retrieve classified ad listings from kleinanzeigen.de. Filter by keyword, category, price range, and sorting order. Supports vehicles, real estate, jobs, electronics, and general products, with full listing details including title, price, description, location, and seller information.
christies.com API
Browse and search Christie's auction catalogs to discover artworks, explore lots across live and online auctions, and access detailed information about specific pieces and their departments. Quickly find auction results, compare items, and research private sales all in one place.