AniList Scraper
Pricing
from $3.00 / 1,000 results
AniList Scraper
Scrape anime and manga from AniList.co with title (romaji/english/native), description, score, episodes, status, genres, studios, streaming links, season + year. Public GraphQL API, no auth required.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(17)
Developer
Crawler Bros
Maintained by CommunityActor stats
17
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape anime and manga from AniList.co — multi-language titles, descriptions, scores, episodes, status, genres, studios, streaming links, season + year. Powered by AniList's public GraphQL API. No login, no API key, no proxy required.
Built for anime/manga industry analytics, recommendation engines, fan-community apps, and content-aggregator backends.
What you get
Media records (recordType=anime or recordType=manga)
| Field | Description |
|---|---|
id | AniList ID |
malId | MyAnimeList ID (when present) |
type | ANIME or MANGA |
format | TV / MOVIE / OVA / ONA / MANGA / NOVEL / etc. |
status | FINISHED / RELEASING / NOT_YET_RELEASED / CANCELLED / HIATUS |
titleRomaji | Romanized title |
titleEnglish | Official English title |
titleNative | Native (Japanese / Korean / Chinese) title |
description | Plain-text synopsis |
episodes | Total episode count (anime) |
chapters | Total chapter count (manga) |
volumes | Total volume count (manga) |
episodeDuration | Per-episode duration in minutes |
averageScore | Weighted score (0-100) |
meanScore | Raw mean score (0-100) |
popularity | Number of users with the entry on a list |
favourites | Number of users who favourited it |
trending | Live trending rank score |
season, seasonYear | Anime season + year |
startDate, endDate | Air/serialisation dates (ISO) |
genres | Array of genre names |
tags | Array of curated tag names |
studios | Array of studio names |
coverImage | High-res cover image URL |
bannerImage | Banner image URL |
streamingEpisodes | Array of {title, url, site, thumbnail} for legal stream sources (Crunchyroll / Funimation / etc.) |
externalLinks | Array of {site, url, type} for official + community pages |
source | Adaptation source (MANGA, LIGHT_NOVEL, ORIGINAL, etc.) |
countryOfOrigin | ISO country code |
siteUrl | Public AniList URL |
isAdult | true for 18+ titles |
User records (recordType=user)
| Field | Description |
|---|---|
id | AniList user ID |
username | Username |
siteUrl | Profile URL |
about | Plain-text bio |
avatarUrl, bannerImage | Profile media URLs |
createdAt | ISO 8601 account creation timestamp |
animeCount, mangaCount | Lists counts |
animeMeanScore, mangaMeanScore | User's average ratings |
animeMinutesWatched, animeEpisodesWatched, mangaChaptersRead | Activity totals |
Empty fields are dropped from every record at every depth.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | Enum | search | search / byIds / userProfile / trending / seasonal / characters / staff / studios / byUrl |
mediaType | Enum | ANIME | ANIME or MANGA |
searchQuery | String | Naruto | Title query |
ids | Array | — | AniList numeric IDs (mode=byIds) |
username | String | — | AniList username (mode=userProfile) |
format | Enum | — | TV / MOVIE / OVA / etc. |
status | Enum | — | FINISHED / RELEASING / etc. |
season | Enum | — | WINTER / SPRING / SUMMER / FALL |
seasonYear | Integer | — | Year for season filter |
genres | Array (enum) | — | Canonical AniList genres (multi-select dropdown). All requested genres must be present (AND-match). |
urls | Array | — | anilist.co URLs (mode=byUrl) |
minScore | Integer | — | Drop media with averageScore below this (0-100) |
isAdult | Boolean | false | Include 18+ content |
sort | Enum | POPULARITY_DESC | Sort order |
maxItems | Integer | 25 | Hard cap (1-5000) |
Example input — search by title
{"mode": "search","mediaType": "ANIME","searchQuery": "Naruto","maxItems": 25}
Example input — current season top scored
{"mode": "search","mediaType": "ANIME","season": "FALL","seasonYear": 2026,"minScore": 75,"sort": "SCORE_DESC","maxItems": 50}
Example input — top action manga
{"mode": "search","mediaType": "MANGA","genres": ["Action"],"sort": "POPULARITY_DESC","maxItems": 100}
Example input — fetch by IDs
{"mode": "byIds","ids": ["20", "21", "113415"]}
Example input — user profile
{"mode": "userProfile","username": "AniList"}
Example input — trending anime right now
{"mode": "trending","mediaType": "ANIME","maxItems": 25}
Example input — Winter 2024 anime board
{"mode": "seasonal","mediaType": "ANIME","season": "WINTER","seasonYear": 2024,"sort": "POPULARITY_DESC","maxItems": 50}
Example input — search characters
{"mode": "characters","searchQuery": "Naruto","maxItems": 25}
Example input — search staff (voice actors / directors)
{"mode": "staff","searchQuery": "Hayao Miyazaki","maxItems": 10}
Example input — search studios
{"mode": "studios","searchQuery": "Ghibli","maxItems": 10}
Example input — fetch by AniList URLs
{"mode": "byUrl","urls": ["https://anilist.co/anime/20/Naruto","https://anilist.co/character/17","https://anilist.co/staff/96870","https://anilist.co/studio/21","https://anilist.co/user/AniList"]}
Character / Staff / Studio output
characters, staff, and studios modes emit records with recordType=character, staff, or studio respectively. Each record carries a compact media (or staffMedia) array of {id, type, format, titleRomaji, titleEnglish, siteUrl} stubs identifying the works the entity is associated with.
Example output
{"recordType": "anime","id": "20","malId": 20,"type": "ANIME","format": "TV","status": "FINISHED","titleRomaji": "NARUTO","titleEnglish": "Naruto","titleNative": "NARUTO -ナルト-","description": "Naruto Uzumaki, a hyperactive and knuckle-headed ninja, lives in Konohagakure...","episodes": 220,"episodeDuration": 23,"averageScore": 80,"meanScore": 80,"popularity": 715000,"favourites": 65000,"season": "FALL","seasonYear": 2002,"startDate": "2002-10-03","endDate": "2007-02-08","genres": ["Action", "Adventure", "Fantasy"],"studios": ["Pierrot"],"coverImage": "https://s4.anilist.co/file/anilistcdn/media/anime/cover/large/20.jpg","siteUrl": "https://anilist.co/anime/20","scrapedAt": "2026-05-06T10:42:18Z"}
Use cases
- Anime/manga recommendation engines — Build niche recommender systems with full metadata.
- Streaming platform analytics — Surface which titles are licensed to which sites (Crunchyroll, Funimation, Netflix, etc.).
- Trend analysis — Track popularity / score / trending over time for a portfolio of titles.
- Industry research — Snapshot studio output, season slates, and adaptation patterns.
- CRM enrichment — Augment fan-community user records with AniList stats.
- Content aggregator backends — Power Trakt-like apps or anime calendar tools.
FAQ
Do I need an AniList account or API key?
No. AniList's GraphQL endpoint at graphql.anilist.co is public for read operations. Only mutations (rating, list edits) require auth.
What are the rate limits? AniList rate-limits at 90 requests / minute. The actor stays well under this with built-in delays.
How do genre filters work?
The genres array is AND-combined on the server side — every requested genre must be present on a record. Common genres: Action, Adventure, Comedy, Drama, Fantasy, Horror, Mecha, Music, Mystery, Psychological, Romance, Sci-Fi, Slice of Life, Sports, Supernatural, Thriller.
How do I find the AniList ID for a title?
Run a mode=search query first; the id field on each result is what byIds expects. AniList IDs are also visible in their site URLs (https://anilist.co/anime/20/Naruto → ID 20).
Are mature/adult titles included?
Set isAdult: true to include them. Default is false, and adult-flagged tags are also dropped from non-adult records.
How current is the data? Live — every run hits AniList's GraphQL endpoint at request time.
Do I need a proxy? No. AniList accepts datacenter IPs without restriction.
What if I get blocked or my discovery query returns empty?
By default the actor auto-engages Apify proxy when it hits a block (HTTP 403/429) or when a season/genre/year discovery query returns empty media from a datacenter IP — it retries the request once after escalation. Set autoEscalateOnBlock=false to disable (the run fails fast instead of paying proxy cost).
Limitations
- AniList's catalogue focuses on anime and manga; live-action/film entries are sparse.
- The free tier of the GraphQL API has a 90 req/min rate limit; the actor stays polite (~2 req/sec).
- Character / staff / studio modes return name, image, description, key dates, and a compact list of associated media. Detailed per-work credits (character roles, staff roles per anime) are not flattened — use
mode=byUrlon individual character/staff URLs for richer data. - Streaming links in
streamingEpisodesare user-curated and may lag behind actual platform availability.