The catalogue
The reference layer is a strict hierarchy with two side branches:
Brand ──► Series ──► Model
│
└─► Caliber ◄──► Complication
Brands, series, models
A brand is a watch house: Rolex, A. Lange & Söhne, Seiko. A series is a named line inside it: Submariner, Lange 1, Prospex. A model is one watch: a specific reference with one specification.
The model is the unit of description. Its record carries the fields the whole catalogue agrees on: reference number, case material and dimensions, the calibre inside and its properties, dial, bracelet or strap, water resistance, production years, pictures.
Two structural details are worth knowing before you build against the data:
- A model is unique within its brand, not globally. Reference numbers
repeat across makers: Lange and Sinn both ship a
212.050. Every model lookup is therefore scoped by brand, and the API addresses a model as/models/{brandSlug}/{slug}, never by reference alone. - A model can carry alternate references. Some watches are known under more than one reference (regional variants, "also known as" numbers). The primary reference stays exact, and the alternates are recorded beside it, so a search by either finds the watch.
Calibres
A calibre is a movement, catalogued per brand under
/calibers/{brandSlug}/{ref}. Calibres can reference a parent: a base
movement that other calibres derive from. That relationship is how the
catalogue answers one of its favourite questions: which watches from
different houses actually share an ébauche. A calibre's page lists every model
across the catalogue that runs it.
Complications
Complications (date, chronograph, GMT, moonphase and so on) are catalogued once and linked to the calibres that implement them, so they behave as facets: you can walk from a complication to every movement that carries it, and from there to every watch.
Slugs and addresses
Every entity has a stable, human-readable slug, and the catalogue's URL grammar is consistent between the site and the API:
| Entity | On dials.co | On the API |
|---|---|---|
| Brand | dials.co/watches/{brand} | /v1/brands/{slug} |
| Series | dials.co/watches/{brand}/{series} | /v1/brands/{brandSlug}/series/{seriesSlug} |
| Model | dials.co/watches/{brand}/{series}/{model} | /v1/models/{brandSlug}/{slug} |
| Calibre | dials.co/calibers/{brand}/{ref} | /v1/calibers/{brandSlug}/{ref} |
Model slugs are chosen to stay unique within a brand even where reference numbers alone would collide; treat the slug, not the reference, as the address.