canonical: https://jentic.com/apis/kitsu.io/kitsu

# Kitsu API

Jentic publishes the only available OpenAPI specification for Kitsu API, keeping it validated and agent-ready. Kitsu is an anime and manga discovery platform with a JSON:API-compliant catalogue of titles, user profiles, library entries, and reviews. The API exposes anime and manga records, user accounts, library entry tracking (current status, progress, ratings), and community reviews - all backed by the public Kitsu database. It is well suited for building anime trackers, recommendation widgets, fan dashboards, and bots that surface what a user is watching or reading.

## For AI agents

Look up anime and manga titles, fetch user libraries and progress, and read community reviews from the Kitsu catalogue.

## Scope

Does not handle anime streaming, video playback, or licensing - use for catalogue lookups, user library tracking, and community reviews only.

## Capabilities

- Search the Kitsu catalogue for anime by title, slug, or popularity
- Retrieve manga records with synopsis, chapter count, and serialization data
- Look up a user profile and their library statistics on Kitsu
- Pull a user's library entries to track watch and read progress
- Fetch community reviews attached to a specific anime or manga
- Browse paginated lists of anime and manga using JSON:API filters

## Use cases

### Anime Discovery Widget

Power an anime discovery feature on a fan site or chat bot by querying Kitsu's catalogue at /anime and /anime/{id}. The endpoints return JSON:API resources with synopsis, episode count, average rating, and cover art, so the surface area of a discovery card can be assembled from a single response. Useful for Discord bots, browser extensions, and recommendation widgets that need fresh metadata without scraping.

Example prompt: Call GET /anime with a filter on the title 'Frieren' and return the top result's synopsis, episode count, and average rating.

### User Library Tracker

Build a personal anime and manga tracker that mirrors a user's Kitsu library. The /users and /library-entries endpoints return current status (watching, completed, dropped), progress, and rating per title, giving a tracker app everything it needs to render a dashboard. Integration takes hours rather than days because the JSON:API format already encodes relationships between users, entries, and titles.

Example prompt: Fetch the library entries for user id 12345, filter to status='current', and return the title slug and progress for each entry.

### Community Review Surface

Surface Kitsu community reviews next to an anime or manga record on a third-party site or in an agent's response. The /reviews endpoint returns review text, ratings, and author references so an agent can summarise community sentiment for a title without needing its own review system. Best for editorial bots and aggregator pages that want to enrich a title page with social signal.

Example prompt: List the latest 5 reviews for the anime with id 1 and return their rating and excerpt.

### Agent-Driven Anime Assistant via Jentic

Embed Kitsu lookups in an AI agent through Jentic so that questions like 'what is the user currently watching' or 'find a manga similar to Berserk' resolve to real catalogue data. The agent searches Jentic for the matching Kitsu operation, loads its schema, and executes the call without ever holding raw OAuth tokens. This is faster than wiring Kitsu's JSON:API client into the agent stack directly.

Example prompt: Through Jentic, search for 'find an anime on Kitsu', load the /anime operation, and return the top match for the query 'cyberpunk'.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /anime | List or search anime titles |
| GET | /anime/{id} | Retrieve a single anime record |
| GET | /manga | List or search manga titles |
| GET | /users/{id} | Retrieve a user profile |
| GET | /library-entries | List a user's library entries |
| GET | /reviews | List community reviews |

## Key resources

- **Anime** — Search and retrieve anime titles with synopsis, episode count, and ratings
- **Manga** — Search and retrieve manga titles with chapter count and serialization data
- **Users** — Look up user profiles and statistics on Kitsu
- **Library Entries** — Read a user's tracked anime and manga progress
- **Reviews** — Fetch community reviews for anime and manga titles

## Why Jentic

- **Setup:** Wiring Kitsu by hand means running its OAuth2 password flow, refreshing the token, and passing it against the kitsu.io/api/edge host yourself. Through Jentic you install once, import Kitsu from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Kitsu takes an id in the URL path only on read endpoints (/anime/{id}, /users/{id}), so scope by operation: limit the agent to the operations it needs, such as catalogue lookups, library reads, and community reviews, and leave anything else out of the allowed set.
- **Credential handling:** Your Kitsu credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'look up an anime by title' or 'read a user's library entries', and Jentic returns the matching Kitsu operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **MyAnimeList API** — Larger anime and manga catalogue with the same domain coverage as Kitsu
- **Trakt API** — Tracks live-action TV and film viewing alongside Kitsu's anime focus
- **TMDB API** — General movie and TV metadata source for non-anime titles

## FAQ

### Why is there no official OpenAPI spec for Kitsu API?

Kitsu does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Kitsu API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Kitsu API use?

The Kitsu API uses OAuth 2.0 for authenticated endpoints (user library writes, account-scoped data). Read-only catalogue endpoints such as /anime and /manga can be called without authentication. When called through Jentic, OAuth tokens are stored in your Jentic One instance and never enter the agent's context.

### Can I read a user's anime watchlist with the Kitsu API?

Yes. Call GET /library-entries with a filter on user id to retrieve a user's tracked anime and manga, including status, progress, and rating. Combine with /users/{id} to attach profile metadata to the watchlist.

### What are the rate limits for the Kitsu API?

Kitsu does not document a hard public rate limit but throttles aggressive clients. Treat the catalogue endpoints as best-effort and cache results - Jentic's runtime caches identical search responses across agent calls, which reduces upstream traffic substantially.

### How do I search for an anime with the Kitsu API through Jentic?

Search Jentic for 'find an anime on Kitsu', load the /anime operation schema, then execute with a filter parameter such as filter[text]=frieren. The agent receives the JSON:API response with title, synopsis, and rating and never has to handle OAuth flows directly.

### Is the Kitsu API free to use?

Yes. The Kitsu API is publicly accessible for catalogue reads with no fee. Authenticated user actions require a Kitsu account but no paid plan.

### Can I limit what my agent is allowed to do with the Kitsu API?

Yes. Because you run Jentic One yourself, your own rules decide which Kitsu operations the agent can call, so you can grant only the read endpoints it needs, such as catalogue lookups on /anime and /manga, library reads on /library-entries and /users/{id}, and community reviews on /reviews, and leave everything else out of the allowed set. Kitsu takes an id only in the URL path on read endpoints, so scoping is done at the operation level rather than per record. The Kitsu OAuth credential is stored once by your own Jentic One instance and injected at execution time, so the agent never sees the token and can only reach the operations you permit.
