Jikan API Lightweight Client
July 25, 2026 ยท View on GitHub
This is a typed lightweight client for Jikan API. It contains only methods and types
and exports only fetch calls to make requests.
Installation
npm install @lightweight-clients/jikan-api-lightweight-client
Usage
Examples
import { getRandomAnime, getAnimeById, getAnimeSearch } from 'jikan-api-lightweight-client';
const randomAnime = await getRandomAnime();
const cowboyBebop = await getAnimeById({ id: 1 });
const allCowboyBebop = await getAnimeSearch({
q: 'Cowboy Bebop',
limit: 3,
page: 2,
orderBy: 'mal_id',
sort: 'asc',
});
The library provides 2 groups of methods:
- request methods:
getAnimeById,getMangaById,getCharacterById, etc. These methods are used to make requests to the Jikan API. client_*: methods for configuring the client.
Request Methods
They return a promise that resolves to the response from the API. You can find all request methods in the 'client.ts' file. The request methods are named as in Jikan API documentation, so you can easily find them.
client_* Methods
The methods starting with client_ are used to configure the client. They are:
client_setBaseUrl(endpoint: string): sets the endpoint.
Defaults tohttps://api.jikan.moe/v4/. If you want to use a different endpoint (e.g., for a self-hosted Jikan API server or a proxy), you can set it here.client_setFetch(customFetch: <Request, Result>(path: string, args?: Request): Promise<Result>): sets the fetch function for all requests. Defaults to thefetchfunction from thenode-fetchpackage. If you want to use a different fetch function (e.g., for browser or Node.js), you can set it here.
Features
- No dependencies.
- When using code minifiers, only the fetch command is exported.
- Can be used in browser and Node.js.
- Fully compatible with AWS LLRT.
- Fully typed API.
Versioning
The versioning of this library is based on Jikan API versioning. So, if Jikan API version is 4.0, then this library version will be 4.0.1. The last number is for bug fixes and small changes in the library.
Schema
The schema for the Jikan API is available in the lightweight-clients/schemas repository.
License
This project is licensed under the MIT License - see the LICENSE.md file for details. Types are generated from Jikan API documentation. by @hey-api/openapi-ts.
Tests
Tests run against a local MockServer instance, so they never
depend on the public Jikan API. npm test starts and removes the container automatically.
It uses Podman by default locally; GitHub Actions sets MOCKSERVER_RUNTIME=docker.
npm test
npm run mockserver:up
npm run mockserver:down
Mock responses are committed in tests/mockserver/mockserverInitialization.json. Refresh them
manually and commit the reviewed changes when an API-shape update is needed; normal tests never
contact Jikan.