---
title: "Search Chrono24 watch listings"
method: GET
path: "/chrono24/search"
tags: ["Chrono24"]
---

# Search Chrono24 watch listings

`GET /chrono24/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/chrono24/search`
- Auth: API key in header `x-api-key`

Searches Chrono24's luxury-watch marketplace by free-text keyword, or browses one brand's (optionally narrowed to one model's) current listings, returning 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.

## Query parameters

- `query` string
- `brand` string
- `model` string
- `sort` 'relevance' | 'price_asc' | 'price_desc' | 'newest' | 'popularity'
- `page` integer
- `page_size` integer
- `condition` 'new' | 'like_new_unworn' | 'very_good' | 'good' | 'fair' | 'incomplete' | 'no_details'
- `used_or_new` 'new' | 'used' | 'no_details'
- `case_material` 'aluminum' | 'brass' | 'bronze' | 'carbon' | 'ceramic' | 'gold_steel' | 'gold_plated' | 'palladium' | 'plastic' | 'platinum' | 'rose_gold' | 'sapphire_crystal' | 'silver' | 'steel' | 'tantalum' | 'titanium' | 'tungsten' | 'white_gold' | 'yellow_gold' | 'no_details'
- `dial_color` 'black' | 'blue' | 'bordeaux' | 'bronze' | 'brown' | 'champagne' | 'gold' | 'green' | 'grey' | 'meteorite' | 'mother_of_pearl' | 'orange' | 'pink' | 'purple' | 'red' | 'silver' | 'skeletonized' | 'turquoise' | 'white' | 'yellow' | 'no_details'
- `bracelet_material` 'alligator_skin' | 'aluminium' | 'brass' | 'calf_skin' | 'ceramic' | 'crocodile_skin' | 'gold_steel' | 'gold_plated' | 'leather' | 'lizard_skin' | 'ostrich_skin' | 'plastic' | 'platinum' | 'red_gold' | 'rose_gold' | 'rubber' | 'satin' | 'shark_skin' | 'silicon' | 'silver' | 'snake_skin' | 'steel' | 'textile' | 'titanium' | 'white_gold' | 'yellow_gold' | 'no_details'
- `movement_type` 'automatic' | 'manual_winding' | 'quartz' | 'solar' | 'smartwatch' | 'no_details'
- `gender` 'mens_unisex' | 'womens'
- `watch_type` 'watches' | 'parts_accessories'
- `stock_info` 'in_stock' | 'on_order' | 'on_request'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- Chrono24SearchResponseDoc
  - `code` integer
  - `data` Chrono24SearchResponse
    - `brand` string
    - `filters` object: Filters echoes every advanced-search filter this call applied, keyed by its SearchOption field (snake_case) with the caller-supplied value, e.g. {"case_material": "steel"}. Omitted entirely when no filter param was set.
    - `listings` Chrono24ListingSummary[]
      - `badge` string: Badge is a promotional badge Chrono24 shows on the card, e.g. "Popular" or "Promoted". Empty when the card carries none.
      - `currency` string: Currency is the ISO-4217 currency code Price is denominated in.
      - `id` string: ID is Chrono24's numeric listing id, parsed from the URL.
      - `image_url` string: ImageURL is the listing's primary photo.
      - `location` string: Location is the seller's country, e.g. "US".
      - `price` number: Price is the numeric asking price. Zero when Chrono24 shows "Price on request" instead of a number.
      - `price_text` string: PriceText is Chrono24's own formatted price string, kept alongside Price/Currency for a "price on request" or other non-numeric case.
      - `seller_type` string: SellerType is Chrono24's own seller-badge text, e.g. "Private Seller" or a dealer's shop name.
      - `subtitle` string: Subtitle is the listing's own free-text title line, e.g. "36 Rolex Datejust".
      - `title` string: Title is the listing's brand + model line, e.g. "Rolex Datejust".
      - `url` string: URL is the absolute listing-detail page URL, usable as the `path` input to Chrono24Listing.
    - `model` string
    - `page` integer
    - `page_size` integer
    - `query` string
    - `sort` string
    - `total_count` integer: TotalCount is Chrono24's own reported result count for the query, including promoted listings mixed into the count.
  - `msg` string

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
