MyAnimeList Scraper - Anime, Manga, Rankings & Scores
Pricing
from $1.20 / 1,000 anime or manga records
MyAnimeList Scraper - Anime, Manga, Rankings & Scores
Scrape MyAnimeList anime and manga by keyword, ranking chart or URL. Extract titles, scores, ranks, members, genres, studios, authors, synonyms and full synopses. Supports top, airing, upcoming, popular and favorite rankings, plus resume and incremental monitoring.
Pricing
from $1.20 / 1,000 anime or manga records
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
MyAnimeList Scraper
Why This Scraper?
- Walks MyAnimeList search results forward through every page, not just page 1.
- Covers all five ranking charts (top, airing, upcoming, most popular, most favourited) for anime and manga.
- Enriches records with related entries, character and staff previews, voice actors, paginated reviews and full stats.
- Reads pasted detail-page links, anime and manga mixed, auto-detected.
- Resume from a previous run and incremental monitoring are built in.
- Keeps the main dataset to one row per anime or manga, including nested review and preview lists.
- Pushes each record the moment it is ready, so a stopped run keeps its data.
Data You Get
One record per anime or manga. With fetchDetails on (the default), the
record also contains the entry's three review previews by default, plus the
characters and voice actors shown there, staff, and related entries. Set
maxReviews above 3 to read paginated review pages, or 0 to follow every
available review page. reviewsComplete tells you whether the collection
reached the end of the visible pages. Some titles report more reviews than
their pages expose; reviewCountGap records that difference. The character
and staff lists remain previews.
Other detail fields include Japanese title, manga volumes and chapters,
synonyms, favorites, licensors, producers, demographics, serialization,
premiere, broadcast, source, duration, rating and review sentiment counts
(reviewBreakdown).
| Field | Always | Notes |
|---|---|---|
id | yes | MyAnimeList's numeric id. |
mediaType | yes | anime or manga. |
title | yes | Main title. |
url | yes | Detail-page URL. |
type | most rows | TV, Movie, Manga, and so on. |
score | when scored | Weighted community score. |
members | details | Member count. |
scoredBy | details | Number of users behind the weighted score. |
reviewCount | details | Total review count shown on the entry. |
reviews | details | Review text, author, date, recommendation, rating and URL; three previews by default or more with maxReviews. |
reviewsFetched | details | Number of reviews actually returned. |
reviewsComplete | details | True only when the review pages reached their end. |
reviewPagesFetched | details | Dedicated review pages successfully read; zero with the default previews. |
reviewCountGap | complete review pulls | Reported total minus reviews available in the pages; null for a capped or interrupted pull. |
characters | details | Character previews with role and nested voiceActors where available. |
voiceActors | anime details | Flat list of voice actors from the character previews. |
staff | anime details | Staff previews with name and role. |
relatedEntries | details | Related anime and manga with relationship, title and URL. |
openingThemes | anime details | Opening song names. |
endingThemes | anime details | Ending song names. |
genres | details | Genre list. |
themes | details | Theme list. |
synopsis | details | Full description text. |
changeType | incremental | NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED. |
firstSeenAt | incremental | First time this actor saw the record. |
How to Use
Pick a mode, set the scope, run. Search walks every result page forward; charts walk the ranking; URL mode reads the links you paste. Example 1, anime search with details:
{"mode": "search","mediaType": "anime","searchTerms": ["space opera"],"maxItems": 50,"fetchDetails": true}
Example 2, the currently-airing chart, listing fields only:
{"mode": "charts","mediaType": "anime","chartKind": "airing","maxItems": 100,"fetchDetails": false}
Example 3, pasted links of both kinds in one run:
{"mode": "url","urls": ["https://myanimelist.net/anime/5114/Fullmetal_Alchemist__Brotherhood","https://myanimelist.net/manga/2/Berserk"],"maxReviews": 0}
Example 4, recurring incremental monitoring of one chart:
{"mode": "charts","mediaType": "manga","chartKind": "top","maxItems": 100,"incrementalMode": true,"emitExpired": true}
A genuinely empty search is reported honestly as an empty result, never as a failure. Profile pages (user lists) are not scraped: they are account-scoped.
Input Parameters
| Input | What it does |
|---|---|
mode | Keyword search, Ranking charts, or Paste URLs. |
mediaType | Anime or manga (search and charts; URL mode auto-detects). |
searchTerms | Keywords; each is its own walk, merged and de-duplicated. |
chartKind | top, airing, upcoming, bypopularity or favorite. |
urls | Detail-page links to read directly. |
fetchDetails | Read every record's own page (adds the detail-enrichment surcharge). |
maxReviews | Reviews per record: 3 previews by default, a larger finite limit, or 0 for all available pages. Requires detail fetching; large histories take longer. |
maxItems | The one finite cap (default 20). 0 means no limit. |
maxPages | Pages per scope. 0 (default) walks to the natural end. |
resumeFromRunId | Previous run or dataset id; the run returns only new records. |
incrementalMode | Classify changes across scheduled runs of the same scope. |
stateKey | Optional campaign name for the incremental baseline. |
emitUnchanged | Also return unchanged records (bills extra rows). |
emitExpired | Also return records no longer found, after a complete scan (bills extra rows). |
proxy | Optional connection settings. |
mcpConnectors | Connector ids to also export results into. |
notionParentPageUrl | Parent page for the Notion export. |
maxNotifyListings | Maximum items per connector export. |
Output Example
The dataset holds one record per row; the overview view shows the headline columns. Fictional sample:
{"id": 123456,"mediaType": "anime","title": "Sample Anime: Legend of the Test Fields","type": "TV","episodes": 12,"score": 8.61,"scoredBy": 4200,"ranked": 114,"members": 1234567,"reviewCount": 12,"reviews": [{"author": "sample_user", "date": "Jan 1, 2026", "recommendation": "Recommended", "rating": 9, "text": "An illustrative review preview."}],"reviewsFetched": 1,"reviewsComplete": false,"reviewPagesFetched": 0,"reviewCountGap": null,"characters": [{"id": 100001, "name": "Sample Character", "role": "Main", "voiceActors": [{"id": 200001, "name": "Sample Performer", "language": "Japanese"}]}],"voiceActors": [{"id": 200001, "name": "Sample Performer", "language": "Japanese", "characterId": 100001}],"relatedEntries": [{"id": 100002, "mediaType": "manga", "title": "Sample Source Manga", "relation": "Adaptation"}],"staff": [{"id": 200002, "name": "Sample Director", "role": "Director"}],"openingThemes": ["Sample Opening"],"endingThemes": ["Sample Ending"],"genres": ["Action", "Adventure"],"studios": ["Sample Studio"],"synopsis": "A sample synopsis body.","url": "https://myanimelist.net/anime/123456/Sample_Anime","changeType": "NEW"}
Plan Requirement
An Apify account is required to run this actor. Detail enrichment adds a per-record charge only when an enriched record is returned. Each review in a returned record adds one review-enrichment event, including the three default previews. The review event is priced per review item.
Send results into your apps (MCP connectors)
After a run, results can also be piped into your apps: mcpConnectors names
the connector ids, notionParentPageUrl sets the Notion parent page, and
maxNotifyListings caps items per connector (default 50, dataset unchanged).
Connector export needs the connector authorized in Apify; the dataset is
written regardless.