curl --request GET \
--url https://api.simkl.com/anime/episodes/{id} \
--header 'User-Agent: <user-agent>' \
--header 'simkl-api-key: <api-key>'Returns the full episode list for a Simkl anime ID, including specials. For anime, season is omitted in regular episodes (anime is treated as a single canonical season per AniDB); specials use type: "special" and lack a season/episode pair.
{
"title": "To You, in 2000 Years",
"description": "...",
"episode": 1,
"type": "episode",
"aired": true,
"img": "https://simkl.in/episodes/...",
"date": "2013-04-07T00:00:00+09:00",
"ids": {
"simkl_id": 1010234
},
"tvdb": {
"season": 1,
"episode": 1
}
}
tvdb.season / tvdb.episode reflect the original TVDB numbering when AniDB mapping diverges.
Responses are Cloudflare-cached by Simkl ID, so repeat lookups of popular anime are near-free. Parallel requests against this endpoint are explicitly allowed (see Rate limits → Parallel requests).
Cache invalidation is automatic. When Simkl updates the underlying episode list (new episode airs, airdate change, title edit, image swap, etc.), the corresponding Cloudflare cache entry is purged server-side. The next call returns the fresh data — there’s no TTL to wait out. Your own app-level cache, if any, still has to be invalidated by your client.
Use the parent anime’s Simkl ID. If you only have an external ID (MAL, AniDB, AniList, Kitsu, …), resolve it via GET /redirect first.
Errors: 400 empty_id if id is missing.
curl --request GET \
--url https://api.simkl.com/anime/episodes/{id} \
--header 'User-Agent: <user-agent>' \
--header 'simkl-api-key: <api-key>'Documentation Index
Fetch the complete documentation index at: https://api.simkl.org/llms.txt
Use this file to discover all available pages before exploring further.
Optional alias for the client_id query parameter. Simkl accepts your client_id either as the simkl-api-key request header or as the ?client_id=… query parameter — pick one. The query-parameter form is preferred because it makes the request fully self-describing in URL form.
Descriptive identifier for your app, ideally name/version. Examples: PlexMediaServer/1.43.1.10540, kodi-simkl/0.9.2, MyApp/2.4.1 (https://myapp.com).
Simkl ID of the anime — the parent anime's Simkl ID (not an individual episode ID). The endpoint returns the full episode list for that anime. Use a Simkl ID directly when you have one — the response is Cloudflare-cached.
If you only have an external ID (MAL, AniDB, AniList, Kitsu, etc.), resolve it to a Simkl ID first via GET /redirect.
Your client_id from your Simkl developer settings. Required on every request.
Short, lowercase identifier for your app (e.g. plex-scrobbler, kodi-bridge). Helps Simkl identify which apps are using the API.
Your app's current version (e.g. 1.0, 2.4.1). Helps Simkl debug issues you report.
Array of anime episode entries. Regular episodes are numbered sequentially (AniDB style — no season field); specials and movies in the listing carry type: "special". When a TVDB mapping exists, a tvdb object pins down the corresponding TVDB season/episode for cross-referencing. Empty array [] for an unknown anime ID (Type 3 null).
AniDB-style sequential episode number.
Episode classification. episode for regular numbered episodes, special for one-off content (specials, clip shows, behind-the-scenes, picture dramas, etc.). On TV episode lists specials follow the regular run; on anime listings specials and movies share this enum.
episode, special Only present for specials and movies; omitted for regular TV-numbered episodes.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Was this page helpful?