AniList Scraper avatar

AniList Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
AniList Scraper

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

Crawler Bros

Maintained by Community

Actor stats

17

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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)

FieldDescription
idAniList ID
malIdMyAnimeList ID (when present)
typeANIME or MANGA
formatTV / MOVIE / OVA / ONA / MANGA / NOVEL / etc.
statusFINISHED / RELEASING / NOT_YET_RELEASED / CANCELLED / HIATUS
titleRomajiRomanized title
titleEnglishOfficial English title
titleNativeNative (Japanese / Korean / Chinese) title
descriptionPlain-text synopsis
episodesTotal episode count (anime)
chaptersTotal chapter count (manga)
volumesTotal volume count (manga)
episodeDurationPer-episode duration in minutes
averageScoreWeighted score (0-100)
meanScoreRaw mean score (0-100)
popularityNumber of users with the entry on a list
favouritesNumber of users who favourited it
trendingLive trending rank score
season, seasonYearAnime season + year
startDate, endDateAir/serialisation dates (ISO)
genresArray of genre names
tagsArray of curated tag names
studiosArray of studio names
coverImageHigh-res cover image URL
bannerImageBanner image URL
streamingEpisodesArray of {title, url, site, thumbnail} for legal stream sources (Crunchyroll / Funimation / etc.)
externalLinksArray of {site, url, type} for official + community pages
sourceAdaptation source (MANGA, LIGHT_NOVEL, ORIGINAL, etc.)
countryOfOriginISO country code
siteUrlPublic AniList URL
isAdulttrue for 18+ titles

User records (recordType=user)

FieldDescription
idAniList user ID
usernameUsername
siteUrlProfile URL
aboutPlain-text bio
avatarUrl, bannerImageProfile media URLs
createdAtISO 8601 account creation timestamp
animeCount, mangaCountLists counts
animeMeanScore, mangaMeanScoreUser's average ratings
animeMinutesWatched, animeEpisodesWatched, mangaChaptersReadActivity totals

Empty fields are dropped from every record at every depth.

Input

ParameterTypeDefaultDescription
modeEnumsearchsearch / byIds / userProfile / trending / seasonal / characters / staff / studios / byUrl
mediaTypeEnumANIMEANIME or MANGA
searchQueryStringNarutoTitle query
idsArrayAniList numeric IDs (mode=byIds)
usernameStringAniList username (mode=userProfile)
formatEnumTV / MOVIE / OVA / etc.
statusEnumFINISHED / RELEASING / etc.
seasonEnumWINTER / SPRING / SUMMER / FALL
seasonYearIntegerYear for season filter
genresArray (enum)Canonical AniList genres (multi-select dropdown). All requested genres must be present (AND-match).
urlsArrayanilist.co URLs (mode=byUrl)
minScoreIntegerDrop media with averageScore below this (0-100)
isAdultBooleanfalseInclude 18+ content
sortEnumPOPULARITY_DESCSort order
maxItemsInteger25Hard 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"
}
{
"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=byUrl on individual character/staff URLs for richer data.
  • Streaming links in streamingEpisodes are user-curated and may lag behind actual platform availability.