A serverless REST API to discover anime recommendations β random, genre-based, or format-filtered β powered by AniList.
- π² Get random anime recommendations
- π₯ Get anime by
id - π― Filter by genre (
/genre?genre=Action) - πΌοΈ Dual API versions (with or without image)
- πΊ Filter by anime format (
TV,MOVIE,OVA, etc.) - π§ Smart scraper with no duplicates
- βοΈ GitHub-based auto JSON store
- π 100% free to deploy on Vercel
https://anirecommend.vercel.app/api/v1/randomhttps://anirecommend.vercel.app/api/v2/genre?genre=actionhttps://anirecommend.vercel.app/api/v3/format?type=moviehttps://anirecommend.vercel.app/api/anime?genre=action&format=tvhttps://anirecommend.vercel.app/api/v1/id?id=27https://anirecommend.vercel.app/api/v1/idGet stats summary
https://anirecommend.vercel.app/api/stats| Endpoint | Description |
|---|---|
/api/v1/random |
Get a random anime |
/api/v1/genre?genre=Action |
Get a random anime from specific genre |
/api/v1/id |
Get random anime (with ID) |
/api/v1/id?id=27 |
Get anime by ID |
| Endpoint | Description |
|---|---|
/api/v2/random |
Random anime with cover image |
/api/v2/genre?genre=Drama |
Genre filter with image |
| Endpoint | Description |
|---|---|
/api/v3/format?type=movie |
Get anime by format (Movie, TV, OVA, etc.) |
The /api/v4 endpoints support advanced filtering by season, year, score, format, adult content, source, and genre.
Returns a random anime matching all query parameters.
| Parameter | Type | Example | Description |
|---|---|---|---|
season |
String | SPRING |
Anime season (SPRING, SUMMER, FALL, WINTER) |
year |
Integer | 2020 |
Year the anime aired |
score |
Integer | 80 |
Minimum average score |
adult |
Boolean | true / false |
Include adult (hentai) anime |
source |
String | MANGA |
Source material (e.g., MANGA, LIGHT_NOVEL) |
format |
String | MOVIE |
Format (TV, MOVIE, ONA, OVA, SPECIAL) |
genre |
String | Action |
Genre name (case-insensitive) |
GET /api/v4/filter?season=SPRING&year=2020&score=75&adult=falseGET /api/v4/filter?genre=Action&source=MANGA&format=TV| Endpoint | Description |
|---|---|
/api/anime?genre=Action&format=Movie |
Get anime with both filters |
GET /api/anime?season=SPRING&year=2020&score=75&adult=false
GET /api/anime?season=SPRING&year=2020&score=75&adult=false&format=TV&genre=Action&source=MANGA
GET /api/anime?season=SPRING&year=2020&format=TV&genre=Action&source=MANGAThe /api/anime endpoint supports the following optional query parameters:
| Parameter | Type | Example | Description |
|---|---|---|---|
season |
string | SPRING |
Filter by anime season (WINTER, etc) |
year |
number | 2020 |
Filter by seasonYear |
score |
number | 75 |
Minimum average score (0β100) |
adult |
boolean | true/false |
Filter by NSFW status |
format |
string | TV |
Filter by anime format (TV, MOVIE, etc) |
genre |
string | Action |
Filter by genre |
source |
string | MANGA |
Source material (MANGA, NOVEL, etc) |
All parameters are ANDed together β meaning the result must match all provided filters.
| Endpoint | Description | Parameters |
|---|---|---|
GET /api/anime?genre={genre} |
Filters anime by specific genre | genre: Action, Adventure, Comedy, etc. |
GET /api/anime?format={type} |
Filters anime by media type | format: TV, Movie, OVA, ONA, Special |
GET /api/anime?genre={genre}&format={type} |
Filters by both genre and media type | Combination of above parameters |
Tip
All query values are case-insensitive (e.g., action, Action, ACTION work the same).
| Endpoint | Description |
|---|---|
/api/stats |
Show genre & format counts |
/api/stats/badge |
JSON badge showing total anime |
{
"formats": {
"TV": 35,
"MOVIE": 20,
"OVA": 5,
"ONA": 10,
"SPECIAL": 10
},
"genres": {
"Action": 25,
"Fantasy": 18,
"Romance": 10,
"Drama": 7,
"Comedy": 12
},
"total": 80
}{
"id": 102,
"title": "Jujutsu Kaisen (εͺθ‘ε»»ζ¦)",
"description": "A boy fights cursed spirits after eating a special finger...",
"type": "ANIME",
"format": "TV",
"status": "FINISHED",
"episodes": 24,
"duration": "23 Per Ep.",
"score": 88,
"genres": ["Action", "Supernatural", "Shounen"],
"studios": ["MAPPA"],
"season": "FALL",
"seasonYear": 2020,
"isAdult": false,
"source": "MANGA",
"image": "https://s4.anilist.co/file/anilistcdn/media/anime/cover/large/bx116588-xyz.jpg",
"creator": "Shinei Nouzen",
"github": "https://github.com/Shineii86",
"telegram": "https://telegran.me/Shineii86",
"message": "Build with β€οΈ by Shinei Nouzen",
"timestamp": "23/03/2023, 01:04:03 pm"
}- Visit: https://github.com/Shineii86/AniRecommendAPI
- Click the
Forkbutton
- Select your forked repo
- Set the Environment Variable:
Set these on Vercel β Project β Settings β Environment Variables:
| Key | Value | Description |
|---|---|---|
GH_PAT |
Your GitHub token | Allows writing to data/anime.json |
API_KEY |
API KEY |
Secures /api/scrape route |
- Deploy
- Issues: GitHub Issues
This project is licensed under the MIT License - see the LICENSE file for details.
π¨ Follow me on GitHub
β Give a star to this project