background

Reko API

βeta 0.0.0

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


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;
    };
}