Luxury and vintage watch pricing research
Usa los endpoints de Chrono24 para convertir luxury and vintage watch pricing research en solicitudes API repetibles con inputs documentados y respuestas JSON.
Turn Chrono24's public luxury and vintage watch marketplace into structured JSON — free-text or brand/model search across current listings, full listing detail with the complete spec table (movement, case, bracelet, condition), a dealer's storefront with rating and inventory, and the discovery endpoints for every brand and model slug the search accepts. Normalized JSON, credential-free.
Search Chrono24's luxury-watch marketplace by brand and model, get listing and dealer detail, and browse the brand and model directories as structured JSON.
Familias de endpoints
6
Parámetros documentados
33
Ejemplos
8
Snapshot en vivo del catálogo
Endpoints activos
8
Métodos
GET
Parámetros obligatorios
14
Referencias de esquema
8
{
"platform": "Chrono24",
"endpoint": "chrono24-search",
"method": "GET",
"path": "/chrono24/search",
"auth": "apiKey"
}Casos de uso
Search Chrono24's luxury-watch marketplace by brand and model, get listing and dealer detail, and browse the brand and model directories as structured JSON.
Usa los endpoints de Chrono24 para convertir luxury and vintage watch pricing research en solicitudes API repetibles con inputs documentados y respuestas JSON.
Usa los endpoints de Chrono24 para convertir dealer inventory and reputation monitoring en solicitudes API repetibles con inputs documentados y respuestas JSON.
Usa los endpoints de Chrono24 para convertir brand and model demand tracking en solicitudes API repetibles con inputs documentados y respuestas JSON.
Ejecución gestionada
Cada cifra de abajo se lee directamente del catálogo de endpoints en vivo de Chrono24 — 8 endpoints, 33 parámetros de solicitud documentados y 8 esquemas de respuesta publicados — el mismo catálogo contra el que corren Docs y Playground.
8 documented Chrono24 endpoints, grouped into 7 request families — Dealer, Autocomplete and Brands, plus 4 more.
33 request parameters are documented across those Chrono24 endpoints, 14 of them required — the full input contract is public before you write any integration code.
8 of the 8 Chrono24 endpoints ship a recorded example response, and 8 carry a documented response schema — you can code against the real JSON before the first request.
Chrono24 endpoints document their error responses (400, 404, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
8 hosted MCP tools back the Chrono24 endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Mapa de cobertura
Estas tarjetas se generan a partir del catálogo de endpoints activo, así que la landing page refleja la misma superficie de API que usan Docs y Playground.
/chrono24/dealer
/chrono24/autocomplete
/chrono24/brands
/chrono24/facets
/chrono24/listing
/chrono24/models
Catálogo de endpoints
/chrono24/searchSearches Chrono24's luxury-watch marketplace by free-text keyword, or browses one brand's (optionally narrowed to one model's) current listings, returning normalized result cards: title, price with currency, seller type, seller country, promotional badge, image, and the listing URL to pass to chrono24-listing. At least one of query or brand is required. Optional advanced-search filters (condition, used_or_new, case_material, dial_color, bracelet_material, movement_type, gender, watch_type, stock_info) narrow results further; each filter's accepted values are discoverable from chrono24-facets and echoed back in the response's filters field.
Notas de la respuesta
- `total_count` is Chrono24's own reported result count for the query, including promoted listings mixed into the count. - `price`/`currency` are `0`/empty when Chrono24 shows a non-numeric price such as "Price on request" instead of a number; `price_text` always carries Chrono24's own formatted price string. - An unrecognized `sort` value, an unknown `brand`, or an unrecognized value for any filter param above, returns `400` before any upstream request is made. - `filters` echoes every filter param this call applied, keyed by its query-param name; omitted entirely when no filter was set. Example response: ```json { "code": 200, "msg": "OK", "data": { "brand": "rolex", "sort": "relevance", "page": 1, "total_count": 117628, "listings": [ { "id": "40700313", "title": "Rolex Datejust", "subtitle": "36 Rolex Datejust", "price": 3900, "currency": "USD", "price_text": "$3,900", "seller_type": "Private Seller", "location": "US", "badge": "Popular", "image_url": "https://img.chrono24.com/images/uhren/40700313-Square.jpg", "url": "https://www.chrono24.com/rolex/datejust-36--id40700313.htm" } ] } } ```
Herramienta MCP chrono24_search
/chrono24/listingFetches one Chrono24 listing's full detail page: brand, model, reference number, price with currency and negotiability, condition, year of production, movement, case material and diameter, bracelet material, location, availability, seller type, photos, and the complete raw spec table Chrono24 itself shows (grouped by section: Basic Info, Caliber, Case, Bracelet/strap, Functions). path is the listing URL from a chrono24-search result's url field; Chrono24 has no lookup by numeric id alone.
Notas de la respuesta
- A `path` that is not a `chrono24.com` URL, or carries no `--id<number>.htm` listing marker, returns `400` before any upstream request is made. - A `path` for a listing Chrono24 no longer serves (retired, sold and removed, or otherwise invalid) returns `404`. - `specs` carries every label/value row from the page's own spec table, grouped by section, in addition to the normalized top-level fields -- useful for fields the normalized shape does not cover, since Chrono24 varies which sections a given listing carries. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "40700313", "title": "Rolex Datejust 36 Rolex Datejust", "url": "https://www.chrono24.com/rolex/datejust-36--id40700313.htm", "brand": "Rolex", "model": "Datejust", "reference": "16014", "price": 3900, "currency": "USD", "price_text": "$3,900 [Negotiable]", "negotiable": true, "condition": "Used (Very good) The item shows minor signs of wear, such as small, intangible scratches.", "year": "1981 (Approximation)", "movement": "Automatic", "case_material": "Steel", "case_diameter": "36 mm", "bracelet_material": "White gold", "gender": "Men's watch/Unisex", "location": "United States of America, Alabama", "availability": "Item is in stock", "seller_type": "Private Seller", "images": ["https://img.chrono24.com/images/uhren/40700313-a.jpg"], "specs": [ {"section": "Basic Info", "label": "Listing code", "value": "O8CK96"}, {"section": "Case", "label": "Case diameter", "value": "36 mm"} ] } } ```
Herramienta MCP chrono24_listing
/chrono24/dealerFetches one Chrono24 dealer/seller's public storefront page: business description, trust badge, average buyer rating and review count, lifetime watches-sold count, and their current listed inventory in the same shape chrono24-search returns. slug is found in a chrono24-search or chrono24-listing result's seller link; there is no separate dealer-discovery endpoint since dealer slugs are not a closed set Chrono24 publishes an index of.
Notas de la respuesta
- A malformed `slug` returns `400` before any upstream request is made. - A `slug` for a storefront Chrono24 no longer serves returns `404`. - `rating`/`review_count`/`watches_sold` are `0` when Chrono24 shows no reviews or sales yet for the dealer. Example response: ```json { "code": 200, "msg": "OK", "data": { "slug": "thetimelords", "name": "Time Lords", "url": "https://www.chrono24.com/dealer/thetimelords/index.htm", "description": "The Time Lords we are Jewelry Store/ Watch Dealers In Los Angeles Since 1978", "seller_badge": "Trusted Seller", "rating": 4.9, "review_count": 7, "watches_sold": 13, "listings": [ { "id": "52200001", "title": "Rolex Daytona", "subtitle": "2025 full set rose gold box papers", "price": 52000, "currency": "USD", "price_text": "$52,000", "seller_type": "Time Lords", "location": "US", "image_url": "https://img.chrono24.com/images/uhren/52200001-Square.jpg", "url": "https://www.chrono24.com/rolex/daytona--id52200001.htm" } ] } } ```
Herramienta MCP chrono24_dealer
/chrono24/brandsReturns Chrono24's full watch-brand index: every brand name and the slug identifying it, usable as the brand parameter on chrono24-models and chrono24-search. This is the discovery endpoint for that parameter, so every accepted value is obtainable from this API rather than by reading the website.
Notas de la respuesta
- `brands` lists every brand Chrono24 currently lists on its own brand index, deduplicated by slug. Brand count varies over time as Chrono24 adds or retires brands; treat `count` as informational rather than fixed. Example response: ```json { "code": 200, "msg": "OK", "data": { "brands": [ {"name": "Rolex", "slug": "rolex", "url": "https://www.chrono24.com/rolex/index.htm"}, {"name": "Omega", "slug": "omega", "url": "https://www.chrono24.com/omega/index.htm"}, {"name": "Patek Philippe", "slug": "patekphilippe", "url": "https://www.chrono24.com/patekphilippe/index.htm"} ], "count": 599 } } ```
Herramienta MCP chrono24_brands
/chrono24/modelsReturns every model/collection Chrono24 lists for one watch brand (e.g. Rolex Submariner, Rolex Datejust), each with the slug identifying it, usable as the model parameter on chrono24-search. This is the discovery endpoint for that parameter, so every accepted value for a brand is obtainable from this API rather than by reading the website.
Notas de la respuesta
- An unknown or malformed `brand` value returns `400` before any upstream request is made. - `models[].slug` is the exact value `chrono24-search`'s `model` parameter accepts (e.g. `submariner--mod1`); `models[].id` is the numeric model id Chrono24 embeds in that slug. Example response: ```json { "code": 200, "msg": "OK", "data": { "brand": "rolex", "models": [ {"name": "Submariner", "slug": "submariner--mod1", "id": "1", "url": "https://www.chrono24.com/rolex/submariner--mod1.htm"}, {"name": "Datejust", "slug": "datejust--mod45", "id": "45", "url": "https://www.chrono24.com/rolex/datejust--mod45.htm"} ], "count": 2 } } ```
Herramienta MCP chrono24_models
/chrono24/autocompleteFetches Chrono24's own search-box typeahead suggestions for a partial query: each suggested phrase with its own live result count, plus the Chrono24 search URL it resolves to. Useful for building a search box against chrono24-search without guessing a full query.
Notas de la respuesta
- An empty or whitespace-only `query` returns `400` before any upstream request is made. - Suggestions come with no results for a query Chrono24's own index has nothing to suggest for -- an empty `suggestions` array, not an error. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "submar", "suggestions": [ { "label": "Rolex Submariner", "result_count": 12428, "url": "https://www.chrono24.com/search/index.htm?dosearch=true&query=Rolex+submariner" }, { "label": "Rolex Submariner Date", "result_count": 6365, "url": "https://www.chrono24.com/search/index.htm?dosearch=true&query=Rolex+submariner+date" }, { "label": "Tudor Submariner", "result_count": 417, "url": "https://www.chrono24.com/search/index.htm?dosearch=true&query=Tudor+submariner" } ] } } ```
Herramienta MCP chrono24_autocomplete
/chrono24/dealer/reviewsFetches one page of a Chrono24 dealer/seller's buyer reviews: reviewer name and country, review date, star-rating breakdown (shipping/description/communication), whether the buyer recommends the seller, their free-text comment, and the dealer's own reply when present. slug is the same dealer slug chrono24-dealer takes.
Notas de la respuesta
- A malformed `slug` returns `400` before any upstream request is made. - A `slug` for a storefront Chrono24 no longer serves returns `404`. - `rating.article`/`rating.communication`/`rating.delivery` are omitted when a buyer left no rating for that sub-category. - `dealer_reply` is empty when the dealer left no reply to a given review. - `total_count` reflects the current `min_stars` filter, not the dealer's overall review count. Example response: ```json { "code": 200, "msg": "OK", "data": { "slug": "thetimelords", "sort": "relevance", "page": 1, "page_size": 10, "total_count": 7, "reviews": [ { "author": "Scott H.", "country": "US", "date": "October 27, 2025", "rating": { "average": 5.0, "article": 5, "communication": 5, "delivery": 5 }, "recommends_seller": true, "comment": "Absolutely perfect transaction. I'd highly recommend this dealer.", "watch_title": "Rolex Explorer II 2001" } ] } } ```
Herramienta MCP chrono24_dealer_reviews
/chrono24/facetsFetches every value Chrono24 accepts for one of chrono24-search's advanced-search filter params, each with its own live listing count: the discovery endpoint for condition, used_or_new, case_material, dial_color, bracelet_material, movement_type, gender, watch_type and stock_info.
Notas de la respuesta
- An unrecognized `group` returns `400` before any upstream request is made. - `count` on each value is Chrono24's own live listing count carrying that value, across all brands (not scoped to any one search). - The value space is cached up to 6 hours, since it changes rarely; a fresh `chrono24-search` call always applies filters against Chrono24's live inventory regardless of this cache. Example response (`group=caseMaterial`): ```json { "code": 200, "msg": "OK", "data": { "group": "caseMaterial", "label": "Case material", "param": "case_material", "count": 20, "values": [ { "label": "Steel", "value": "steel", "count": 412873 }, { "label": "Yellow gold", "value": "yellow_gold", "count": 48213 }, { "label": "White gold", "value": "white_gold", "count": 15942 }, { "label": "Titanium", "value": "titanium", "count": 9021 } ] } } ```
Herramienta MCP chrono24_facets
APIs relacionadas
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
Cómo hacer scraping de Chrono24
Crawlora's five Chrono24 endpoints return brand/model directories, search, listing, and dealer data as normalized JSON with one API key — brands and models are the discovery endpoints for search's own brand and model parameters, so a caller never has to guess a slug from the website.
Call /chrono24/brands for every watch brand's name and slug (599 as of the last verified count) — usable directly as /chrono24/search's brand parameter. Pass a brand slug to /chrono24/models for every model/collection Chrono24 lists for it (e.g. Rolex's Submariner, Datejust), each with the exact slug value search's model parameter accepts.
Send query and/or brand to /chrono24/search — at least one is required — optionally narrowed further with model (requires brand). sort accepts relevance (default), price_asc, price_desc, newest, or popularity; page and page_size (Chrono24's own UI offers 30, 60, or 120) control pagination. total_count is Chrono24's own reported match count, including promoted listings mixed in.
Pass a search result's own url to /chrono24/listing's path parameter for brand, model, reference number, condition, year, movement, case material and diameter, bracelet material, and the complete raw specs table grouped by section (Basic Info, Caliber, Case, Bracelet/strap, Functions) — useful for fields the normalized top-level shape doesn't cover.
Pass a dealer's slug (from a search or listing result's seller link, e.g. thetimelords) to /chrono24/dealer for their business description, trust badge, average rating, review count, lifetime watches-sold count, and current inventory in the same shape /chrono24/search returns. There is no separate dealer-discovery endpoint, since dealer slugs aren't a closed set Chrono24 publishes an index of.
Preguntas frecuentes
Pass a brand slug from /chrono24/brands to /chrono24/search's brand parameter, optionally narrowed with a model slug from /chrono24/models (which requires brand to be set first). query is also accepted and can stand alone or combine with brand — at least one of query or brand is required.
Because Chrono24 itself shows a non-numeric price such as "Price on request" instead of a number for that listing — price and currency come back as 0 and empty in that case, while price_text always carries Chrono24's own formatted price string regardless.
Every label/value row from the listing page's own spec table, grouped by section (Basic Info, Caliber, Case, Bracelet/strap, Functions) — a superset of the normalized top-level fields (movement, case_material, case_diameter, and so on), useful since Chrono24 varies which sections a given listing actually carries.
Not directly — there is no dealer-discovery endpoint, since dealer slugs aren't a closed, indexed set the way brands and models are. Get a dealer's slug from a search or listing result's own seller link, then pass it to /chrono24/dealer.
No — only your Crawlora API key. Chrono24's brand, model, search, listing, and dealer data are collected from its public, credential-free marketplace surface.