Kitsu API

Anime / OAuth Advanced HTTPS CORS
64 C
Measured Score 0 50 100 Speed 8/30 Consistency 13/20 Security 20/20 Browser access 15/15 Transparency 8/15 TESTED 2026-08-10

Overview

Kitsu is a JSON:API-compliant anime and manga tracking platform that lets you search titles, manage user libraries, and fetch detailed series metadata. While powerful, its OAuth 2.0 requirement makes it more appropriate for building full applications than quick experiments. Beginners who already understand OAuth can use it to build anime tracker or recommendation apps.

Beginner Tip

You can search anime and manga without authentication using GET /anime?filter[text]=. Only write operations (saving to user library) require OAuth. Explore the unauthenticated endpoints first.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://kitsu.io/api/edge/anime?filter[text]=Attack+on+Titan&page[limit]=5
Result
HTTP 200 · application/vnd.api+json · 27,914 bytes · compressed
Response time
434 ms (median of 3) · fastest 373 ms
Transport
TLSv1.3 · TLS_AES_256_GCM_SHA384 · certificate issued by Google Trust Services
Browser CORS
Allowed — Access-Control-Allow-Origin: *
Served by
cloudflare
Recorded
2026-08-10

Fields Returned

Top-level fields present in the response we captured, with the type and value we actually received.

Field Type Value received
id string 7442
type string anime
links object {1 fields}
attributes object {1 fields}
relationships object {1 fields}

Captured Response

Captured from a real request to https://kitsu.io/api/edge/anime?filter[text]=Attack+on+Titan&page[limit]=5 on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
{
  "data": [
    {
      "id": "7442",
      "type": "anime",
      "links": {
        "…": "(1 more fields)"
      },
      "attributes": {
        "…": "(31 more fields)"
      },
      "relationships": {
        "…": "(16 more fields)"
      }
    }
  ],
  "meta": {
    "count": 32
  },
  "links": {
    "first": "https://kitsu.io/api/edge/anime?filter%5Btext%5D=Attack+on+Titan&page%5Blimit%5D=5&page%5Boffset%5D=0",
    "next": "https://kitsu.io/api/edge/anime?filter%5Btext%5D=Attack+on+Titan&page%5Blimit%5D=5&page%5Boffset%5D=5",
    "last": "https://kitsu.io/api/edge/anime?filter%5Btext%5D=Attack+on+Titan&page%5Blimit%5D=5&page%5Boffset%5D=27"
  }
}

Field Reference

id Unique Kitsu identifier for the anime resource.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://kitsu.io/api/edge/anime?filter[text]=Attack+on+Titan&page[limit]=5";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "Authorization": "Bearer YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

How This API Fails

We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.

HTTP 400 Requesting a path that does not exist application/vnd.api+json
{
  "errors": [
    {
      "title": "Invalid field value",
      "detail": "apisscore-nonexistent-path is not a valid value for id.",
      "code": "103",
      "status": "400"
    }
  ]
}

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

401 Unauthorized Trying to access a user-specific endpoint without a valid OAuth token.
Use client credentials flow for public data or follow the OAuth 2.0 authorization code flow for user data.
400 Bad Request Malformed JSON:API filter or include parameters.
Check the Kitsu API docs for correct filter syntax, e.g. ?filter[text]=naruto not ?q=naruto.
404 Not Found Invalid resource ID or the anime/manga does not exist in Kitsu database.
Search by title first to find the correct Kitsu ID, then use it for direct lookups.

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 8/30
Consistency 13/20
Security 20/20
Browser access 15/15
Transparency 8/15
Endpoint Response Time 434ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth OAuth
HTTPS REQUIRED
CORS YES
Category Anime
Difficulty Advanced
Endpoint last called: 2026-08-10

Related Tags

Recipes Using Kitsu

Build something with this API. Each recipe includes step-by-step instructions and code outlines.

Similar APIs

View All →