Quickstart
Everything the catalogue knows is available as JSON. The public endpoints need
no key, no account and no Authorization header; the catalogue is meant
to be read.
| Resource | Where |
|---|---|
| Base URL | https://api.dials.co/v1 |
| OpenAPI 3.0 document | api.dials.co/openapi.json |
| Interactive reference | docs.dials.co/api/reference |
| Agent index | dials.co/llms.txt |
First requests
Resolve a reference number to a model:
curl -s 'https://api.dials.co/v1/models?q=116610LN&pageSize=1'Read that model's full specification:
curl -s 'https://api.dials.co/v1/models/rolex/submariner-date-116610ln'See what it is currently selling for, converted to euros:
curl -s 'https://api.dials.co/v1/listings?modelId=<id>¤cy=EUR'Walk a house's catalogue:
curl -s 'https://api.dials.co/v1/brands/rolex'
curl -s 'https://api.dials.co/v1/brands/rolex/series'
curl -s 'https://api.dials.co/v1/models?brandSlug=rolex&page=1&pageSize=50'When to reach for this API
It answers structured questions about a specific watch, which is a narrower job than it sounds and the one thing it does better than a search engine:
- Resolve a reference to a model. Reference numbers are a compressed parts
list, not a name, and every house has its own grammar.
GET /models?q=<reference>does the lookup and gives you back fields, not prose. - Compare two watches on the same axes. Every model is described to one
specification. Two
GET /models/{brandSlug}/{slug}responses are directly comparable field by field (case dimensions, calibre, power reserve, water resistance) with no translation step. - Price a watch against the live market.
GET /listings?modelId=…returns current offers from the tracked marketplaces.?currency=converts, using the same ECB tableGET /ratespublishes, so your numbers and ours agree. - Identify a movement.
GET /calibers/{brandSlug}/{ref}gives the calibre's properties and every model across the catalogue that runs it. - Enumerate a catalogue. Brand, then series, then models, paginated, for building a picker or filling a table.
Do not reach for it to value a watch, to authenticate one, to look up anything about a specific physical watch (serial numbers, service history, provenance), or to transact: nothing here buys or sells.
Endpoints
| Method | Path | What it returns |
|---|---|---|
GET | /brands | A page of watch houses, with counts and a lead picture |
GET | /brands/highlighted | The hand-picked row the home page leads with |
GET | /brands/{slug} | One brand |
GET | /brands/{brandSlug}/series | The series inside a brand |
GET | /brands/{brandSlug}/series/{seriesSlug} | One series |
GET | /models | A page of models; filter by brand, series, caliber or free text |
GET | /models/{brandSlug}/{slug} | One model, full specification and pictures |
GET | /calibers/{brandSlug}/{ref} | One movement, and the models that run it |
GET | /listings | Live marketplace listings |
GET | /listings/{id} | One listing |
GET | /rates | USD to display-currency conversion table |
The full request and response shapes for each are in the interactive reference, generated from the same OpenAPI document the API serves.