Visão geralInício rápidoReferência da APIPreçosRegisto de alteraçõesEstadoObter uma chave de API
ProgramadoresInício rápidoReferência da APIConsolaPreçosRegisto de alterações da APIEstado do serviço
ExplorarFilmesSéries de TVAjudaTermos de ServiçoPolítica de PrivacidadeObter a appPolítica de CookiesPreçosReembolsos e CancelamentoPolítica de Utilização AceitávelTitulares de direitosEstado do serviçoConsultar um aviso de remoçãoNovidades
·

© 2026 Wambesha

v0.110.0
Visão geral

Discovery

  • SearchGET
  • DiscoverGET
  • LookupGET
  • GenresGET
  • Similar titlesGET

Titles

  • Batch titlesGET
  • Title recordGET
  • SeasonsGET
  • EpisodesGET
  • CreditsGET
  • ImagesGET
  • Where a title is heldGET

People

  • PersonGET
  • FilmographyGET

Changes

  • Change feedGET
  • ChangelogGET

Account

  • Plan and usageGET
  • Usage historyGET
  • Recent requestsGET
  • KeysGET
  • Rotate keyPOST

21 de 21 endpoints

A referência da API está disponível apenas em inglês.

Changes

GET/v1/changes

Apenas quota de chamadasPaginação por cursor

What changed in the catalogue since a moment you name - records added, updated, merged or removed - for keeping a mirror in step. Spends no verification.

Parâmetros

  • sincestring · date-timeobrigatório

    Start of the window, RFC 3339, within the last 30 days. Required.

    Mais⌄

    RFC 3339. Must be within the retention window; older is a 400, never an empty success.

  • untilstring · date-timeopcional

    End of the window, RFC 3339. Default: as fresh as your plan allows.

    Mais⌄

    End of the window, an RFC 3339 timestamp after since. Omit it to read up to the freshest moment your plan allows; an explicit value fresher than that is a 403 plan-required.

  • languagestringopcional

    Accepted for consistency; the feed carries no translated text.

    Mais⌄

    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.

  • limitintegeropcionalpredefinição: 100

    Change rows per page, 1-500. Default 100.

    Mais⌄

    Counts change-log ROWS, not emitted entries. See has_more on the response.

  • cursorstringopcional

    The previous page's next_cursor.

    Mais⌄

    Opaque and FILTER-BOUND. Replaying a cursor after any filter changes is a 400 CURSOR_INVALID, never a silently wrong page.

Campos da resposta

  • itemsChangeEntry[]
  • sincestring · date-time
  • untilstring · date-time
  • next_sincestring · date-time

    The 'since' value to send next time. Pass it TOGETHER with next_cursor or the feed livelocks: on its own it is an inclusive bound that re-selects everything sharing that instant.

  • next_cursorstringanulável
  • has_moreboolean

    LOOP ON THIS, never on the length of items. The limit counts change-log ROWS while the response carries COLLAPSED entries - several rows become one entry per record - so a page legitimately returns fewer entries than the limit while more remain.

  • retention_daysinteger · int64

    How far back the feed goes. A request older than this is a 400, never an empty success.

Cabeçalhos de resposta

  • 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-ID you send is honoured and echoed back, so you can use your own; otherwise we generate one. /v1 error 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-Reset is (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-Reset is.

  • X-Quota-Grace

    true when THIS request fell inside the 10% grace band above a monthly ceiling. A grace request is served and is not billed; treat true as "back off now", not as headroom. Always true or false, 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-ModeApenas com a chave de demonstração

    Sent only on responses to the public demo key. The value interactive asks 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 in X-Demo-Challenge. Requests made with your own key never receive it.

Erros

  • validation-failed

  • validation-failed

  • validation-failed

  • validation-failed

  • cursor-invalid

  • cursor-invalid

  • validation-failed

  • unauthenticated

  • plan-required

  • forbidden

  • plan-required

  • challenge-required

  • validation-failed

  • quota-exhausted

  • rate-limited

  • upstream-unavailable

Detalhes⌄

What moved in the catalogue since an instant, so a mirror can stay in step.

Not the changelog - /v1/changelog is what we changed about the API itself. Two different products share a word.

Sub-24-hour since windows are STUDIO and above, answering 403 plan-required below rather than silently widening the window - widening would hand a caller results they did not ask for, make their diff wrong, and give away what the higher tier is charged for.

The feed is POLLED; there is no push. It holds a short settle lag and never reads into it, so it cannot honestly promise sub-five-minute freshness - reading right up to now would let a mirror advance past an in-flight transaction and permanently miss records, with every response a cheerful 200.

AnteriorFilmographySeguinteChangelog

Experimente

A carregar a chave de demonstração…

Start of the window, RFC 3339, within the last 30 days. Required.

End of the window, RFC 3339. Default: as fresh as your plan allows.

Accepted for consistency; the feed carries no translated text.

Change rows per page, 1-500. Default 100.

curl "https://api.wambesha.com/v1/changes?since=2026-01-01T00%3A00%3A00Z" \
  -H "Authorization: Bearer YOUR_API_KEY"

Exemplo

{
  "items": [
    {
      "kind": "record",
      "id": "mv_41SYZ99KKT",
      "change": "updated",
      "fields": [
        "ratings"
      ],
      "changed_at": "2026-09-26T01:00:05.69633Z",
      "redirects_to": null
    }
  ],
  "since": "2026-09-26T00:00:00Z",
  "until": "2026-09-26T16:21:33.038123228Z",
  "next_since": "2026-09-26T01:00:05.69633Z",
  "next_cursor": "djF8ZTNiMGM0NDI5OGZjMWMxNHxjaGFuZ2VkX2F0fDIwMjYtMDktMjZUMDElM0EwMCUzQTA1LjY5NjMzMFolN0M3Zjc0YjQxOS00OTY2LTRhYzUtYTQyMC0zY2JjMzFlNjViMmM",
  "has_more": true,
  "retention_days": 30
}