Reko API | Documentation
To learn more about the Reko API inner workings, please check out the readme on GitHub
Reko API is online at https://api.reko.moe, you can check the server status and api version at /version.
For any doubts or issues you can contact the developer, or refer to this MyAnimeList post.
index
- Generic Responses
- Generic Errors
- GET User Recommendations
- GET Specific User Recommendations
- GET Similar Users
- GET Compare Users
- GET Random Recommendations
Responses
Response data is wrapped in an object containing the requesting user data, and, for paginated responses, pagination details.
{
requester: {
username: string;
hash: string;
};
pagination: {
current: number;
previous: number | null;
next: number | null;
};
data: Data;
}
Errors
Common errors text/plain
404Resource does not exist
405Invalid request method
503Rate limited
All the errors that the server can handle, are sent as json. They include the response http satus code, a displayable message and their unique id.
{
code: number;
id: string;
message: string;
}
Common handled errors application/json(status | ids)
403PrivateUserList
404UserNotFound
422EmptyUserListInvalidUserList
500HashFailedFailedSave
Requests
GET User Recommendations
Get anime recommendations from the lists of the most similar users.
/{username}/recommendations?page={1-20}&batch={1-40}
query parameters
- page number (optional) | decides the recommendations page The page number is clamped between 1 and 20, pages MAY NOT return data.
- batch number (optional) | decides the similar users batch The page number is clamped between 1 and 40, all pages return data.
request example (javascript)
async function recommendations(username, page = 1, batch = 1) {
const res = await fetch(
`https://api.reko.moe/${username}/recommendations?page=${page}&batch=${batch}`
);
return await res.json();
}
responses
200Success{
requester: { ... };
pagination: { ... };
data: Array<{
id: number;
score: number;
details: {
title: string;
mean: number;
airing_date: string | null;
length: number | null;
rating: string | null;
picture: string | null;
genres: Array<string>;
};
users: Array<{
score: number;
username: string;
hash: string;
similarity: number;
}>;
}>;
}
GET Specific User Recommendations
Get anime recommendations from the list of a specific user.
/{username}/recommendations/{other}?page={1-20}
query parameters
- page number (optional) | decides the current pagination The page number is clamped between 1 and 20, pages MAY NOT return data.
request example (javascript)
async function recommendationsFrom(username, other, page = 1) {
const res = await fetch(
`https://api.reko.moe/${username}/recommendations/${other}?page=${page}`
);
return await res.json();
}
responses
200Success{
requester: { ... };
pagination: { ... };
data: Array<{
id: number;
score: number;
details: {
title: string;
mean: number;
airing_date: string | null;
length: number | null;
rating: string | null;
picture: string | null;
genres: Array<string>;
};
}>;
}
GET Similar Users
Get the most similar users.
/{username}/similar?page={1-40}
query parameters
- page number (optional) | decides the current pagination The page number is clamped between 1 and 40, all pages return data.
request example (javascript)
async function similarUsers(username, page = 1) {
const res = await fetch(
`https://api.reko.moe/${username}/similar?page=${page}`
);
return await res.json();
}
responses
200Success{
requester: { ... };
pagination: { ... };
data: Array<{
username: string;
hash: string;
similarity: number;
}>;
}
GET Compare Users
Compare two users.
/{username}/compare/{other}
request example (javascript)
async function compareUsers(username, other) {
const res = await fetch(
`https://api.reko.moe/${username}/compare/${other}`
);
return await res.json();
}
responses
200Success{
requester: { ... };
data: {
username: string;
hash: string;
similarity: number;
};
}
GET Random Recommendations
Get random anime recommendations from the lists of the most similar users.
/{username}/random?batch={1-40}
query parameters
- batch number (optional) | decides the similar users batch The page number is clamped between 1 and 40, all pages return data.
request example (javascript)
async function randomRecommendations(username, batch = 1) {
const res = await fetch(
`https://api.reko.moe/${username}/random?batch=${batch}`
);
return await res.json();
}
responses
200Success{
requester: { ... };
data: Array<{
id: number;
score: number;
details: {
title: string;
mean: number;
airing_date: string | null;
length: number | null;
rating: string | null;
picture: string | null;
genres: Array<string>;
};
users: Array<{
score: number;
username: string;
hash: string;
similarity: number;
}>;
}>;
}