Il riferimento API è disponibile solo in inglese.
Discoverydiscover
GET/v1/ discover
Browse the catalogue by genre, year range, country, type and minimum rating, in one of four fixed sort orders. Returns title ids. Spends no verification.
Parametri
- genrestring[]facoltativo
A genre slug from
/v1/genres. Repeat to require several (ANDed).Altro
Repeatable. Multiple genres are ANDed.
- year_fromintegerfacoltativo
Earliest release year, inclusive, 1874-2200.
Altro
Inclusive lower bound of a RANGE. Supplying only one end is fine - the other is filled from the bounds below. An inverted range (
year_fromafteryear_to) is a 400, and so is a year outside 1874-2200. - year_tointegerfacoltativo
Latest release year, inclusive, 1874-2200; not before
year_from.Altro
Inclusive upper bound of the same range. See
year_from. - countrystring[]facoltativo
A production country code. Repeat for several (any of them).
Altro
Only titles produced in this country, given as the country code the title record's
countriesfield uses. Repeatable; several match ANY of them. An unknown code matches nothing rather than failing. - typemovie | tv_movie | short | series | mini_series | specialfacoltativopredefinito: all types
One title type, e.g.
movie. Omit for every type.Altro
One title type. Omit for every type. Case-insensitive; shown here in lowercase. An unlisted value is a 400 naming these.
- min_ratingstringfacoltativo
Lowest aggregate rating, 0-10. Decimals allowed.
Altro
Only titles whose aggregate rating is at least this value, on a 0-10 scale; decimals allowed (
7.5). Anything else is a 400 naming the fieldmin_rating. - sortnewest | rating | popularity | alphabeticalfacoltativopredefinito: popularity
newest,rating,popularity(default) oralphabetical.Altro
One of
newest,rating,popularity,alphabetical. Each carries a fixed direction; there is no descending form, and a leading minus is a 400 rather than an order this API cannot actually produce. An unrecognised token is a 400 naming the accepted set. Case-insensitive; shown here in lowercase. - languagestringfacoltativo
Response language, a supported BCP-47 tag. Default
en. Not an original-language filter.Altro
A supported BCP-47 tag. Defaults to
en. An UNSUPPORTED tag is a 400 naming the accepted set, never a silent fallback - the catalogue stores match the 17 tags as exact strings, so degrading would answer an empty 200 that an integrator would ship before noticing. - limitintegerfacoltativopredefinito: 20
Ids per page, 1-50. Default 20.
Altro
Out of range is a 400, never a silent clamp - silent clamping hides client bugs until they surface as a support ticket.
- cursorstringfacoltativo
The previous page's
next_cursor. Bound to every filter and the sort.Altro
Opaque and FILTER-BOUND. Replaying a cursor after any filter changes is a 400
CURSOR_INVALID, never a silently wrong page.
Campi della risposta
- itemsstring[]
- next_cursorstringpuò essere null
- totalinteger · int64può essere null
How many items the query matches in total, when that is known. Null when it is not known; it is never an estimate.
Intestazioni di risposta
- X-Request-ID
The id of this request, on every response - success or error. Quote it to support: it is how we find your request in our logs. An
X-Request-IDyou send is honoured and echoed back, so you can use your own; otherwise we generate one./v1error bodies carry no trace id of their own. - X-Quota-Reset
RFC 3339 instant at which the billing period rolls. Present on every response to a request whose key was metered - every 2xx, every error a handler returned, and the quota 429. Absent on a refusal that happens before metering: a missing or unknown key (401), a restricted key or a plan that does not carry the endpoint (403), a public demo-key gate refusal, and the pre-authentication flood throttle.
- X-Calls-Remaining
Requests left in the period after this one, never below 0. Present whenever
X-Quota-Resetis (see there for when a response carries no quota headers). - X-Verifications-Remaining
How many verifications you can still make before a limit stops you. The daily limit and the monthly allowance are counted separately; this is whichever of the two runs out first. Sent whenever
X-Quota-Resetis. - X-Quota-Grace
truewhen THIS request fell inside the 10% grace band above a monthly ceiling. A grace request is served and is not billed; treattrueas "back off now", not as headroom. Alwaystrueorfalse, never absent when the other quota headers are present. - Retry-After429
Seconds to wait before retrying. On every 429 - the quota hard stop, the public demo key's limits, and the pre-authentication flood throttle (which carries this header alone, because no key has been read yet).
- X-Demo-Challenge-ModeSolo con la chiave demo
Sent only on responses to the public demo key. The value
interactiveasks the documentation page to show the visible verification widget - it is sent once a browser has made more than five runs in ten minutes or has received a 429. The page then repeats the header,X-Demo-Challenge-Mode: interactive, on its next request, with the widget's token inX-Demo-Challenge. Requests made with your own key never receive it.
Errori
Dettagli
Spends no verification, for the same reason as search: the caller is querying the index, not asking us to confirm a page.
Unknown FACET VALUES are dropped rather than rejected, so a shared discover URL still works next month. A MALFORMED value is still a 400 - year_from=banana is not a stale facet value, it is a broken request.