Asura API documentation
Table of contents
Usage info and etiquette
API Version: 2.0.0
Referer
Please add a referer header where the value is your app or website name. For personal use, please use 'PERSONAL'.
Rate limiting
There is no rate limit, but please be respectful and do not abuse the service so I won't have to feel the need to add one in the future.
Caching
There is no caching, please cache the data on your end if you know you'll be needing to use it multiple times.
Batch downloading
For batch downloading files, please use the dl.ofchaos.com domain instead of the asura.ofchaos.com domain.
Privacy
Requests are not logged, but the server may be monitored for performance and security reasons. Please do not give me a reason to log requests in the future.
Usage
It is not necessary to request all the available animes or episodes.
You may call the subtitles directly, though they may not be available, so ensure you have a fallback for such a case.
Endpoints
HEAD /api
For the quickest method to check whether or not the API is available, use a HEAD request. (Not required)
Keep in mind that a HEAD request contains no body, just check for status 200.
200 OK
GET /api
Returns a json with similar information as this page
{
CONTACT: {
Discord: "https://discord.gg/rSM94Vhtwn"
},
API_INFO_AND_ETIQUETTE: {
"Referer": "Please add a referer header where the value is your app or website name. For personal use, please use 'PERSONAL'.",
"Privacy": "Requests are not logged, but the server may be monitored for performance and security reasons. Please do not give me a reason to log requests in the future.",
"Rate-Limit": "There is no rate limit, but please be respectful and do not abuse the service.",
"Caching": "There is no caching, so please cache the data on your end if you need to use it multiple times.",
"Documentation": "https://asura.ofchaos.com/docs",
"API Version": "2.0.0"
},
API_GET_ENDPOINTS: [
"/api/anime",
"/api/anime/[anilist id]",
"/api/anime/[anilist id]/[episode number]",
"/api/anime/[anilist id]/[episode number]/list",
"/api/anime/[anilist id]/[episode number]/alt/[file id]"
],
API_RETURN_STANDARD: {
success: true,
error: null,
result: "API is available"
}
}
GET /api/anime
Returns an array of anilist ids for all available anime subtitles
{
"success": true,
"error": null,
"result": [
1,
5,
15,
16,
18,
20,
...
]
}
GET /api/anime/[anilist id]
Returns an array of all episodes associated with the anime
{
"success": true,
"error": null,
"result": [
{
"file_id": 6632,
"anilist_id": 1,
"episode": 1,
"verified_episode": false,
"converted": false,
"faults": 0,
"filename": "カウボーイビバップ.S01E01.アステロイド・ブルース.WEBRip.Netflix.ja[cc].srt",
"filetype": "srt",
"translator": "Netflix",
"direct_link": "https://asura.ofchaos.com/api/anime/1/1/alt/6632",
"last_modified": 1762362066000
},
{
"file_id": 72474,
"anilist_id": 1,
"episode": 1,
"verified_episode": false,
"converted": false,
"faults": 0,
"filename": "[AnimeKaizoku] Cowboy Bebop - 01 (720p-Dual Audio-Encodergasm).ja-en.ass",
"filetype": "ass",
"translator": "AnimeKaizoku",
"direct_link": "https://asura.ofchaos.com/api/anime/1/1/alt/72474",
"last_modified": 1762367711000
},
...
}
GET /api/anime/[anilist id]/[episode number]
Returns a subtitle file associated with the episode
NOTE: By default, the best match to the following filters is returned:
- filetype: srt > vtt > ass
- verified_episode: true > false
- converted: false > true
- faults: lowest
An attempt to return any file will always be made even if no filter matches.
FILTER:
If you or your application has filetype preferences, you can request them as such:
GET /api/anime/[anilist id]/[episode number]?filetypes=ass,vtt,srt
The order does matter, as the first matching filetype is returned.
1
00:00:00,667 --> 00:00:07,674
(教会の鐘の音)
2
00:00:47,797 --> 00:00:54,220
♪~
...
GET /api/anime/[anilist id]/[episode number]/list
Returns an array of all episodes associated with the specific episode
{
"success": true,
"error": null,
"result": [
{
"file_id": 6632,
"anilist_id": 1,
"episode": 1,
"verified_episode": false,
"converted": false,
"faults": 0,
"filename": "カウボーイビバップ.S01E01.アステロイド・ブルース.WEBRip.Netflix.ja[cc].srt",
"filetype": "srt",
"translator": "Netflix",
"direct_link": "https://asura.ofchaos.com/api/anime/1/1/alt/6632",
"last_modified": 1762362066000
},
{
"file_id": 72474,
"anilist_id": 1,
"episode": 1,
"verified_episode": false,
"converted": false,
"faults": 0,
"filename": "[AnimeKaizoku] Cowboy Bebop - 01 (720p-Dual Audio-Encodergasm).ja-en.ass",
"filetype": "ass",
"translator": "AnimeKaizoku",
"direct_link": "https://asura.ofchaos.com/api/anime/1/1/alt/72474",
"last_modified": 1762367711000
},
...
}
GET /api/anime/[anilist id]/[episode number]/alt/[file id]
Returns a specific subtitle file associated with the episode
File id can be obtained via /api/anime/[anilist id] (all episodes) or /api/anime/[anilist id]/[episode number]/list (specific episode)
1
00:00:00,667 --> 00:00:07,674
(教会の鐘の音)
2
00:00:47,797 --> 00:00:54,220
♪~
...