# Anime & Manga Scraper for AniList: Airing, Seasons, Tags, Lists (`getascraper/anime-manga-scraper-for-anilist-unofficial`) Actor

Unofficial AniList anime and manga scraper: seasonal charts, weekly airing schedule with episode countdown, rankings filtered by tag, country and year, public user lists, studios, characters, voice actors, recommendations, streaming links and change tracking. Pay per record, no login.

- **URL**: https://apify.com/getascraper/anime-manga-scraper-for-anilist-unofficial.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Videos, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.45 / 1,000 records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🎌 Anime & Manga Scraper for AniList: Airing, Seasons, Tags, Lists

<table width="100%" style="margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#EEF0FF;border:1px solid #CBD0FF;border-top:4px solid #5B5BD6;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">This season's anime, this week's episodes and any public list, as clean rows.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Seasonal charts, an airing schedule with countdowns, rankings you can filter by tag, country and year, public user lists, and a change tracker that tells you what moved since last week.</span>
</td>
</tr>
</table>
<table width="100%" style="margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #CBD0FF;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#3730A3">📅 Airing schedule</span><br>
<span style="font-size:12px;color:#57534E">Every episode airing in the next days, with air time, hours until it airs and whether it is the finale.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #CBD0FF;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#3730A3">🎛️ Deep filters</span><br>
<span style="font-size:12px;color:#57534E">Tags, excluded genres, country (manhwa, donghua), year range, score range and popularity range.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #CBD0FF;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#3730A3">🎭 Optional extras</span><br>
<span style="font-size:12px;color:#57534E">Staff, characters with voice actors, related titles, recommendations, streaming links and score spread.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #CBD0FF;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#3730A3">🔔 Change tracking</span><br>
<span style="font-size:12px;color:#57534E">New titles, score moves, status changes and new episodes between scheduled runs.</span>
</td>
</tr>
</table>

Looking for an AniList scraper that does more than search by title? This Actor turns the public AniList catalog into rows for a spreadsheet, a database, a Discord bot or a weekly report. Each row carries titles in four forms, scores, popularity, genres, tags without spoilers, studios, dates, cover art and next-episode timing.

This is an unofficial Actor. It is not affiliated with or endorsed by AniList. Data comes from AniList's public API, needs no account, and stays the property of AniList and its contributors.

### 🔍 What does this Actor do?

- **Seasonal charts.** Pick a season and year, or leave them empty for the current season, and sort by trending, popularity, score or favourites.
- **Airing schedule.** List episodes airing in the coming days (or the days just gone), filtered by genre, format, country or popularity.
- **Ranking boards with filters.** Trending, most popular, highest rated, newest and more, narrowed by genre, excluded genre, tag, tag strength, format, status, country, release years, score range and popularity range.
- **Title search.** Up to 10 search terms in one run, with the same filters.
- **Specific titles.** Paste AniList IDs or links and get exactly those titles back, in the order you gave.
- **Public user lists.** Read the public anime or manga list of up to 10 users, with status, score, progress and dates. Private lists are skipped with a note.
- **Extras on request.** Add staff, characters with voice actors in ten languages, related titles, recommendations, watch and info links, rankings and score spread.
- **Change tracking.** Name a run, schedule it, and each new run reports only what is new or changed.

Adult-marked titles and spoiler tags are off by default.

### 🎯 What can I use it for?

- **Discord and Telegram bot builders:** post tonight's episodes with air times and countdowns.
- **Anime blogs and fan wikis:** build the seasonal chart or a top-rated list for any year, tag or country.
- **Recommendation and app developers:** pull clean titles, tags, relations and recommendations for a small catalog.
- **Analysts and students:** follow which shows gain popularity or lose score week over week.
- **Anime fans:** export a friend's public list, or find hidden gems with a low popularity cap and a high score floor.

### 🚀 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#EEF0FF;border:1px solid #CBD0FF;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#5B5BD6;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick the job</span><br>
<span style="font-size:12px;color:#57534E">Choose search, ranking, season, airing schedule, specific IDs or a public user list.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF0FF;border:1px solid #CBD0FF;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#5B5BD6;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Run a small test</span><br>
<span style="font-size:12px;color:#57534E">The default run returns 10 records in a few seconds. Add filters and extras, then raise the limit.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF0FF;border:1px solid #CBD0FF;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#5B5BD6;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Export or schedule</span><br>
<span style="font-size:12px;color:#57534E">Download CSV, Excel or JSON, or add a change tracking name and run it every week.</span>
</td>
</tr>
</table>

### 📥 Input

Every field is optional. With nothing changed you get a quick title search for "Frieren".

| Field | Type | Required | Description |
|---|---|---|---|
| What to collect | enum | No | Title search, ranking board, seasonal chart, airing schedule, specific IDs or links, or public user list. |
| Anime or manga | enum | No | Applies to every job except the airing schedule, which is anime only. |
| AniList IDs or links | array of text | No | For the specific IDs job. Numeric IDs or links such as an anilist.co anime or manga page. Up to 100. |
| AniList usernames | array of text | No | For the public user list job. Usernames or profile links, up to 10. |
| Search terms | array of text | No | For the title search job. Up to 10 titles or keywords. |
| Ranking order | enum | No | Trending, popular, highest rated, most favourited, newest, recently added or title A to Z. |
| Release season | enum | No | Winter, spring, summer or fall. Empty uses the current season in the seasonal chart job and acts as a filter elsewhere. |
| Release year | integer | No | Year of the season. 0 means the current year for seasonal charts and any year elsewhere. |
| Airing: days back | integer | No | Include episodes that aired this many days ago. |
| Airing: days ahead | integer | No | Include episodes airing within this many days. Default 7. |
| List status | enum | No | For user lists: watching or reading, planning, completed, dropped, paused or repeating. |
| Genres (any of) | array of enum | No | Keep titles with at least one of these genres. |
| Exclude genres | array of enum | No | Drop titles with any of these genres. |
| Tags (any of) | array of text | No | Tag names such as Isekai or Time Loop. |
| Exclude tags | array of text | No | Drop titles carrying any of these tags. |
| Minimum tag strength | integer | No | Count a tag only when it is at least this strong, 1 to 100. |
| Format | enum | No | TV, short TV, movie, special, OVA, ONA, music, manga, novel or one-shot. |
| Release status | enum | No | Finished, releasing, not yet released, cancelled or hiatus. |
| Country of origin | enum | No | Japan, South Korea, China or Taiwan. |
| First release year | integer | No | Keep titles that started in or after this year. |
| Last release year | integer | No | Keep titles that started in or before this year. |
| Minimum score | integer | No | AniList score floor from 1 to 100. |
| Maximum score | integer | No | AniList score ceiling from 1 to 100. |
| Minimum popularity | integer | No | Minimum number of users who list the title. |
| Maximum popularity | integer | No | Maximum number of users who list the title. Good for hidden gems. |
| Include adult-marked titles | boolean | No | Off by default. |
| Include spoiler tags | boolean | No | Off by default. When on, spoiler tags are kept and flagged. |
| Add staff | boolean | No | Credited staff with roles. |
| Add characters and voice actors | boolean | No | Main characters with their voice actors. |
| Voice actor language | enum | No | Japanese, English, Korean, Italian, Spanish, Portuguese, French, German, Hebrew or Hungarian. |
| Add related titles | boolean | No | Sequels, prequels, adaptations and spin-offs. |
| Add recommendations | boolean | No | Community recommendations with vote counts. |
| Add watch and info links | boolean | No | Official sites, streaming platforms and trailer. |
| Add rankings and score spread | boolean | No | All-time and seasonal rankings, score distribution and list status counts. |
| Change tracking name | text | No | Name the run to compare it with the previous run of the same name. Empty turns tracking off. |
| Only save changes | boolean | No | With tracking on, skip unchanged titles. New titles are always saved. |
| Maximum records | integer | No | Stops after this many records. Up to 500 per run. Default 10. |

### 📊 Data table

Fields AniList does not report are left out of the row. Nothing is filled with placeholders. Airing and list rows use the same columns where they overlap.

| Field | Type | Description |
|---|---|---|
| `recordType` | text | `media`, `airing` or `listEntry`. |
| `id` | number | AniList title ID. Stable across runs. |
| `idMal` | number | Matching MyAnimeList ID when AniList has one. |
| `url` | text | AniList page of the title. |
| `titleDisplay` | text | English title when available, otherwise romanized. |
| `titleRomaji`, `titleEnglish`, `titleNative` | text | Title in each form. |
| `synonyms` | array | Alternative titles. |
| `format`, `status`, `source` | text | Format, release status and source material. |
| `description` | text | Synopsis without markup. |
| `startDate`, `endDate` | text | Dates as year, year-month or full date. |
| `season`, `seasonYear` | text, number | Release season. |
| `episodes`, `episodesAired` | number | Total episodes and episodes already aired. |
| `chapters`, `volumes` | number | Manga counts. |
| `averageScore`, `meanScore` | number | AniList scores from 0 to 100. |
| `popularity`, `favourites`, `trending` | number | Audience size and momentum. |
| `genres` | array | Genres. |
| `tags` | array | Tags with strength and category. Spoilers hidden by default. |
| `countryOfOrigin` | text | JP, KR, CN or TW. |
| `isAdult`, `isLicensed` | boolean | Adult marking and licensing. |
| `coverImageUrl`, `bannerImageUrl`, `coverColor` | text | Artwork and colour. |
| `nextEpisode`, `nextAiringAt` | number, text | Next episode number and air time (UTC). |
| `studios` | array | Main animation studios. |
| `staff`, `characters`, `relations`, `recommendations` | array | Added on request. |
| `externalLinks`, `streamingSites`, `trailerUrl` | array, text | Added on request. |
| `rankings`, `scoreVotes`, `scoreDistribution`, `listStatusCounts` | mixed | Added on request. |
| `episode`, `airingAt`, `hoursUntilAiring`, `isFinalEpisode` | mixed | Airing rows. |
| `username`, `listName`, `entryStatus`, `userScore`, `progress` | mixed | List rows. |
| `changeType`, `changedFields`, `scoreChange`, `previousScore` | mixed | Change tracking: NEW or UPDATED, what changed and the old values. |
| `scrapedAt` | text | Time the row was collected (ISO 8601). |

### 💰 Pricing

You pay per record saved, whether it is a title, an airing slot or a list entry. The optional extras add no extra charge. A run that finds nothing costs nothing, and there are no subscriptions. The default run of 10 records is a quick test. Free plan runs are limited to 25 records per run, 3 runs per day, and a short wait between runs.

### ⭐ Enjoying Anime & Manga Scraper for AniList: Airing, Seasons, Tags, Lists?

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:20px 24px 14px;background:#EEF0FF;border:1px solid #CBD0FF;border-left:5px solid #5B5BD6;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Building the seasonal chart by hand is worth a quick rating.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other bot builders, bloggers and analysts find this Actor. Your feedback also tells us which filters to add next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#5B5BD6;border:1px solid #CBD0FF;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/anime-manga-scraper-for-anilist-unofficial/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ❓ FAQ

#### Does it need an AniList account or API key?

No. It reads only public data that anyone can see. It never logs in, and a private user list is skipped.

#### How do I get this week's airing anime with countdowns?

Choose the airing schedule job, set days ahead to 7 and run. Each row has the episode, the air time in UTC, the hours until it airs and whether it is the final episode. Add a genre or minimum popularity filter to cut the list down.

#### How does change tracking work?

Give the run a name and schedule it. The first run records a starting point and marks every title as new. Later runs save only titles that are new or changed: score moved by a point or more, a new status, a new episode or chapter, or a clear shift in popularity. Rows show the old and new values.

#### Why is there a record limit?

AniList asks that its data is not collected in bulk or stored as a backup, so each run is capped at 500 records and the Actor is built for targeted lists, charts and schedules. It spaces its requests to respect AniList's rate limit, so larger runs take a little longer.

### 🔗 Other actors

- [Bilibili Trending Videos Scraper 哔哩哔哩: Rankings & Hot Searches](https://apify.com/getascraper/bilibili-popular-video-intelligence) ↗ - Popular videos and hot searches from Bilibili.
- [Douban Movie Top 250 Scraper 豆瓣电影: Hot Charts, Filters, Changes](https://apify.com/getascraper/douban-movie-rankings-scraper) ↗ - Movie charts from Douban.
- [Kugou Music Scraper: 酷狗音乐 Catalog, Charts & Lyrics](https://apify.com/getascraper/kugou-music-scraper) ↗ - Songs, charts and lyrics from Kugou.
- [Moj Short Video Scraper: Hashtag Videos, Views & Growth Monitor](https://apify.com/getascraper/moj-short-video-scraper) ↗ - Moj hashtag videos with growth tracking.
- [Douban Book Scraper 豆瓣读书: Top 250, Tags, New Releases, Changes](https://apify.com/getascraper/douban-book-rankings-scraper) ↗ - Book charts and new releases from Douban.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/anime-manga-scraper-for-anilist-unofficial/changelog.md

# Actor input Schema

## `mode` (type: `string`):

Pick one job. Title search, ranking boards and season charts return anime or manga records. Airing schedule lists upcoming episodes. Specific IDs fetches exact titles. User list reads a public list.

## `mediaType` (type: `string`):

Applies to searches, rankings, seasons, ID lookups and user lists. The airing schedule is anime only.

## `mediaIdentifiers` (type: `array`):

For the specific IDs job: numeric AniList IDs or links such as https://anilist.co/anime/154587. Up to 100 values.

## `usernames` (type: `array`):

For the public user list job: usernames or profile links. Private lists are skipped with a note. Up to 10 users.

## `searchTerms` (type: `array`):

For the title search job: up to 10 titles or keywords. Results follow AniList title match.

## `chartKind` (type: `string`):

Order used by ranking boards and seasonal charts.

## `season` (type: `string`):

Seasonal chart job: leave on Current season to use today's season. In other jobs it works as a filter.

## `seasonYear` (type: `integer`):

Year of the season, for example 2026. Leave 0 for the current year in the seasonal chart job, or any year elsewhere.

## `airingDaysBack` (type: `integer`):

Airing schedule job: include episodes that aired this many days ago. 0 starts from now.

## `airingDaysAhead` (type: `integer`):

Airing schedule job: include episodes airing within this many days.

## `listStatus` (type: `string`):

User list job: keep only entries with this status.

## `genres` (type: `array`):

Keep titles with at least one of these genres.

## `excludeGenres` (type: `array`):

Drop titles with any of these genres.

## `tags` (type: `array`):

AniList tag names such as Isekai, Time Loop or Female Protagonist. Up to 15.

## `excludeTags` (type: `array`):

Drop titles carrying any of these tags. Up to 15.

## `minTagRank` (type: `integer`):

Tags only count when at least this strong (1 to 100). Use 60 or more for core themes. 0 means any strength.

## `format` (type: `string`):

Filter by format, for example TV, movie, manga or novel.

## `status` (type: `string`):

Filter by release status.

## `countryOfOrigin` (type: `string`):

Japan for anime and manga, South Korea for manhwa, China for donghua and manhua, Taiwan.

## `yearFrom` (type: `integer`):

Keep titles that started in or after this year. 0 means no limit.

## `yearTo` (type: `integer`):

Keep titles that started in or before this year. 0 means no limit.

## `minScore` (type: `integer`):

AniList score from 1 to 100. 0 means no limit.

## `maxScore` (type: `integer`):

AniList score from 1 to 100. 0 means no limit.

## `minPopularity` (type: `integer`):

Minimum number of AniList users who list the title. 0 means no limit.

## `maxPopularity` (type: `integer`):

Maximum number of AniList users who list the title. 0 means no limit. Useful for finding hidden gems.

## `includeAdult` (type: `boolean`):

Off by default. When on, adult-marked titles appear alongside the others. AniList's adult marking can be incomplete.

## `includeSpoilerTags` (type: `boolean`):

Off by default. When on, tags AniList marks as spoilers are kept and flagged.

## `includeStaff` (type: `boolean`):

Directors, writers and other credited staff with roles.

## `includeCharacters` (type: `boolean`):

Main characters with their voice actors.

## `voiceActorLanguage` (type: `string`):

Language used when characters and voice actors are added.

## `includeRelations` (type: `boolean`):

Sequels, prequels, adaptations and spin-offs.

## `includeRecommendations` (type: `boolean`):

Similar titles recommended by the community, with vote counts.

## `includeLinks` (type: `boolean`):

Official sites, streaming platforms and trailer link.

## `includeStats` (type: `boolean`):

All-time and seasonal rankings, score distribution and how many users list the title in each status.

## `monitorName` (type: `string`):

Give a name to compare this search with the previous run of the same name and see new titles, score moves, status changes and new episodes. Leave empty to turn off. Works for searches, rankings, seasons and ID lists.

## `onlyChanges` (type: `boolean`):

When change tracking is on, skip titles that did not change. New titles are always saved.

## `maxItems` (type: `integer`):

Stops after this many records. Up to 500 per run.

## Actor input object example

```json
{
  "mode": "search",
  "mediaType": "ANIME",
  "mediaIdentifiers": [],
  "usernames": [],
  "searchTerms": [
    "Frieren"
  ],
  "chartKind": "TRENDING",
  "season": "",
  "seasonYear": 0,
  "airingDaysBack": 0,
  "airingDaysAhead": 7,
  "listStatus": "",
  "genres": [],
  "excludeGenres": [],
  "tags": [],
  "excludeTags": [],
  "minTagRank": 0,
  "format": "",
  "status": "",
  "countryOfOrigin": "",
  "yearFrom": 0,
  "yearTo": 0,
  "minScore": 0,
  "maxScore": 0,
  "minPopularity": 0,
  "maxPopularity": 0,
  "includeAdult": false,
  "includeSpoilerTags": false,
  "includeStaff": false,
  "includeCharacters": false,
  "voiceActorLanguage": "JAPANESE",
  "includeRelations": false,
  "includeRecommendations": false,
  "includeLinks": false,
  "includeStats": false,
  "monitorName": "",
  "onlyChanges": true,
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "search",
    "mediaType": "ANIME",
    "mediaIdentifiers": [],
    "usernames": [],
    "searchTerms": [
        "Frieren"
    ],
    "chartKind": "TRENDING",
    "season": "",
    "seasonYear": 0,
    "airingDaysBack": 0,
    "airingDaysAhead": 7,
    "listStatus": "",
    "genres": [],
    "excludeGenres": [],
    "tags": [],
    "excludeTags": [],
    "minTagRank": 0,
    "format": "",
    "status": "",
    "countryOfOrigin": "",
    "yearFrom": 0,
    "yearTo": 0,
    "minScore": 0,
    "maxScore": 0,
    "minPopularity": 0,
    "maxPopularity": 0,
    "includeAdult": false,
    "includeSpoilerTags": false,
    "includeStaff": false,
    "includeCharacters": false,
    "voiceActorLanguage": "JAPANESE",
    "includeRelations": false,
    "includeRecommendations": false,
    "includeLinks": false,
    "includeStats": false,
    "monitorName": "",
    "onlyChanges": true,
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/anime-manga-scraper-for-anilist-unofficial").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "search",
    "mediaType": "ANIME",
    "mediaIdentifiers": [],
    "usernames": [],
    "searchTerms": ["Frieren"],
    "chartKind": "TRENDING",
    "season": "",
    "seasonYear": 0,
    "airingDaysBack": 0,
    "airingDaysAhead": 7,
    "listStatus": "",
    "genres": [],
    "excludeGenres": [],
    "tags": [],
    "excludeTags": [],
    "minTagRank": 0,
    "format": "",
    "status": "",
    "countryOfOrigin": "",
    "yearFrom": 0,
    "yearTo": 0,
    "minScore": 0,
    "maxScore": 0,
    "minPopularity": 0,
    "maxPopularity": 0,
    "includeAdult": False,
    "includeSpoilerTags": False,
    "includeStaff": False,
    "includeCharacters": False,
    "voiceActorLanguage": "JAPANESE",
    "includeRelations": False,
    "includeRecommendations": False,
    "includeLinks": False,
    "includeStats": False,
    "monitorName": "",
    "onlyChanges": True,
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/anime-manga-scraper-for-anilist-unofficial").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "search",
  "mediaType": "ANIME",
  "mediaIdentifiers": [],
  "usernames": [],
  "searchTerms": [
    "Frieren"
  ],
  "chartKind": "TRENDING",
  "season": "",
  "seasonYear": 0,
  "airingDaysBack": 0,
  "airingDaysAhead": 7,
  "listStatus": "",
  "genres": [],
  "excludeGenres": [],
  "tags": [],
  "excludeTags": [],
  "minTagRank": 0,
  "format": "",
  "status": "",
  "countryOfOrigin": "",
  "yearFrom": 0,
  "yearTo": 0,
  "minScore": 0,
  "maxScore": 0,
  "minPopularity": 0,
  "maxPopularity": 0,
  "includeAdult": false,
  "includeSpoilerTags": false,
  "includeStaff": false,
  "includeCharacters": false,
  "voiceActorLanguage": "JAPANESE",
  "includeRelations": false,
  "includeRecommendations": false,
  "includeLinks": false,
  "includeStats": false,
  "monitorName": "",
  "onlyChanges": true,
  "maxItems": 10
}' |
apify call getascraper/anime-manga-scraper-for-anilist-unofficial --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/anime-manga-scraper-for-anilist-unofficial"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3wdtrI9QC3GZ6z4sE/builds/jKgUuOssR8CxkjvM9/openapi.json
