animedex.backends.kitsu

High-level Kitsu Python API.

Wraps the eight most-used anonymous JSON:API endpoints on kitsu.io/api/edge with typed BackendRichModel-backed return shapes.

Kitsu serves both anime and manga catalogues plus a streaming-link rail and a cross-source mapping table (anilist / mal / anidb / kitsu). The mapping endpoint is the cheapest way to convert an upstream ID to its peers, so a downstream pipeline can fan out to any other backend without reading the same ID from each upstream in turn.

show

animedex.backends.kitsu.show(id: int, *, config: Config | None = None, **kw) KitsuAnime[source]

Fetch one anime by its Kitsu numeric ID via /anime/{id}.

Parameters:

id (int) – Kitsu anime ID (the int that appears in kitsu.io/anime/<slug> URLs after the slug resolves; numeric only).

Returns:

Typed anime resource, lossless against the upstream JSON:API data block.

Return type:

KitsuAnime

streaming

animedex.backends.kitsu.streaming(id: int, *, config: Config | None = None, **kw) List[KitsuStreamingLink][source]

Legal streaming links for an anime via /anime/{id}/streaming-links.

Parameters:

id (int) – Kitsu anime ID.

Returns:

List of typed streaming-link resources.

Return type:

list[KitsuStreamingLink]

mappings

animedex.backends.kitsu.mappings(id: int, *, config: Config | None = None, **kw) List[KitsuMapping][source]

Cross-source ID map for an anime via /anime/{id}/mappings.

Each row carries an externalSite (e.g. "myanimelist/anime", "anilist/anime", "anidb", "thetvdb/series") and an externalId so a downstream pipeline can fan out across upstream catalogues.

Parameters:

id (int) – Kitsu anime ID.

Returns:

List of typed mapping resources.

Return type:

list[KitsuMapping]

manga_show

animedex.backends.kitsu.manga_show(id: int, *, config: Config | None = None, **kw) KitsuManga[source]

Fetch one manga by its Kitsu numeric ID via /manga/{id}.

Parameters:

id (int) – Kitsu manga ID.

Returns:

Typed manga resource.

Return type:

KitsuManga

categories

animedex.backends.kitsu.categories(*, limit: int = 20, config: Config | None = None, **kw) List[KitsuCategory][source]

Top-level Kitsu categories via /categories.

Parameters:

limit (int) – page[limit].

Returns:

List of typed category resources.

Return type:

list[KitsuCategory]

anime_characters

animedex.backends.kitsu.anime_characters(id: int, *, limit: int = 10, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Cast for one anime via /anime/{id}/characters.

anime_staff

animedex.backends.kitsu.anime_staff(id: int, *, limit: int = 10, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Production staff for one anime via /anime/{id}/staff.

anime_episodes

animedex.backends.kitsu.anime_episodes(id: int, *, limit: int = 20, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Episode list for one anime via /anime/{id}/episodes.

anime_reviews

animedex.backends.kitsu.anime_reviews(id: int, *, limit: int = 10, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

User reviews for one anime via /anime/{id}/reviews.

anime_genres

animedex.backends.kitsu.anime_genres(id: int, *, config: Config | None = None, **kw) List[KitsuGenre][source]

Genres tagged on one anime via /anime/{id}/genres.

anime_categories

animedex.backends.kitsu.anime_categories(id: int, *, config: Config | None = None, **kw) List[KitsuCategory][source]

Categories tagged on one anime via /anime/{id}/categories.

anime_relations

animedex.backends.kitsu.anime_relations(id: int, *, limit: int = 10, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Sequel / prequel / spin-off relationships via /anime/{id}/media-relationships.

anime_productions

animedex.backends.kitsu.anime_productions(id: int, *, limit: int = 10, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Producer / studio / licensor list via /anime/{id}/anime-productions.

manga_characters

animedex.backends.kitsu.manga_characters(id: int, *, limit: int = 10, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Cast for one manga via /manga/{id}/characters.

manga_staff

animedex.backends.kitsu.manga_staff(id: int, *, limit: int = 10, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Production staff for one manga via /manga/{id}/staff.

manga_chapters

animedex.backends.kitsu.manga_chapters(id: int, *, limit: int = 20, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Chapter list for one manga via /manga/{id}/chapters.

manga_genres

animedex.backends.kitsu.manga_genres(id: int, *, config: Config | None = None, **kw) List[KitsuGenre][source]

Genres tagged on one manga via /manga/{id}/genres.

character

animedex.backends.kitsu.character(id: int, *, config: Config | None = None, **kw) KitsuCharacter[source]

One character by Kitsu ID via /characters/{id}.

person

animedex.backends.kitsu.person(id: int, *, config: Config | None = None, **kw) KitsuPerson[source]

One person (VA / staff) by Kitsu ID via /people/{id}.

person_voices

animedex.backends.kitsu.person_voices(id: int, *, limit: int = 10, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Voice-acting credits for one person via /people/{id}/voices.

person_castings

animedex.backends.kitsu.person_castings(id: int, *, limit: int = 10, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

Production-staff credits for one person via /people/{id}/castings.

producer

animedex.backends.kitsu.producer(id: int, *, config: Config | None = None, **kw) KitsuProducer[source]

One producer by Kitsu ID via /producers/{id}.

producers

animedex.backends.kitsu.producers(*, limit: int = 20, config: Config | None = None, **kw) List[KitsuProducer][source]

All producers via /producers.

genre

animedex.backends.kitsu.genre(id: int, *, config: Config | None = None, **kw) KitsuGenre[source]

One genre by Kitsu ID via /genres/{id}.

genres

animedex.backends.kitsu.genres(*, limit: int = 20, config: Config | None = None, **kw) List[KitsuGenre][source]

All genres (legacy taxonomy; the richer one is categories).

category

animedex.backends.kitsu.category(id: int, *, config: Config | None = None, **kw) KitsuCategory[source]

One category by Kitsu ID via /categories/{id}.

streamers

animedex.backends.kitsu.streamers(*, config: Config | None = None, **kw) List[KitsuStreamer][source]

All registered streamers via /streamers.

franchise

animedex.backends.kitsu.franchise(id: int, *, config: Config | None = None, **kw) KitsuFranchise[source]

One franchise by Kitsu ID via /franchises/{id}.

franchises

animedex.backends.kitsu.franchises(*, limit: int = 20, config: Config | None = None, **kw) List[KitsuFranchise][source]

All franchises via /franchises.

user

animedex.backends.kitsu.user(id: int, *, config: Config | None = None, **kw) KitsuUser[source]

One user’s public profile via /users/{id}.

Public fields only; the upstream silently strips private ones when no auth is presented.

user_library

animedex.backends.kitsu.user_library(user_id: int, *, limit: int = 20, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

A user’s public anime/manga library via /library-entries?filter[user_id]=<id>.

user_stats

animedex.backends.kitsu.user_stats(id: int, *, config: Config | None = None, **kw) List[KitsuRelatedResource][source]

A user’s public consumption stats via /users/{id}/stats.

selftest

animedex.backends.kitsu.selftest() bool[source]

Smoke-test the public Kitsu Python API (signatures only, no network).

Returns:

True on success.

Return type:

bool