# API аніме з фільтрамі discover

> У amodb няма асобнага эндпоінта аніме. Выбірайце аніме праз /3/discover/tv або /3/discover/movie з жанрам 16 і with_original_language=ja, потым звужайце спіс праз id ключавога слова anime з /3/search/keyword. Японская не з’яўляецца падтрымліванай мовай інтэрфейсу, але original_name захоўвае японскую назву. Назвы і апісанні вяртаюцца на запытанай мове або па-англійску.

## Пошук аніме па жанры 16 і арыгінальнай мове ja

У amodb няма асобнага эндпоінта аніме. Аніме гэта фільтр на `GET /3/discover/tv` і `GET /3/discover/movie`: `with_genres=16` (Animation) плюс `with_original_language=ja`. Дадайце id ключавога слова `anime`, які вы знаходзіце праз `GET /3/search/keyword`, каб пакінуць толькі назвы з пазнакай аніме.

Адно сумленнае абмежаванне: японская не ўваходзіць у 14 моў інтэрфейсу, якія падтрымлівае amodb. Назвы і апісанні вяртаюцца на мове, якую вы запытваеце, або па-англійску. Японская назва застаецца ў `original_name` для серыялаў і `original_title` для фільмаў.

Што вы атрымліваеце:

- Серыялы аніме і поўнаметражныя аніме з тых жа фільтраў discover.
- Арыгінальныя японскія назвы побач з лакалізаванымі.
- Спісы сезонаў і эпізодаў для кожнага абранага серыяла.
- Постэры і фонавыя выявы з `https://img.amodb.dev/t/p/{size}/{file}`.

## Якія даныя вы атрымліваеце

| Што вам трэба            | Выклік або поле                                                       | Заўвагі                                                                 |
| ------------------------ | --------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| Серыялы аніме            | `GET /3/discover/tv` з `with_genres=16` і `with_original_language=ja` | `results` нясуць `name`, `original_name`, `first_air_date`, `genre_ids` |
| Поўнаметражныя аніме     | `GET /3/discover/movie` з тымі ж двума фільтрамі                      | `title`, `original_title`, `release_date`                               |
| Id ключавога слова anime | `GET /3/search/keyword?query=anime`                                   | Масіў `results` з `id` і `name`                                         |
| Спіс эпізодаў            | `GET /3/tv/{series_id}/season/{season_number}`                        | Адзін выклік на сезон                                                   |
| Японская назва           | `original_name` або `original_title`                                  | Арыгінальнае пісьмо, як захавана                                        |
| Постэр                   | `poster_path`                                                         | Дадаецца да хоста выяў, ключ не патрэбны                                |

## Пачніце за 3 крокі

1. Абярыце план на старонцы [цэны](https://amodb.dev/be/pricing/). Усе даныя ёсць у кожным плане, адрозніваецца толькі частата: 20, 40 або 120 запытаў у хвіліну.
2. Стварыце ключ у асабістым кабінеце.
3. Адзін раз знайдзіце id ключавога слова, потым выклічце discover з ім і двума фільтрамі.

## Прыклад запыту

Скрыпт на Python знаходзіць id ключавога слова anime, а потым пералічвае самыя папулярныя японскія анімацыйныя серыялы з гэтай пазнакай. Выклік curl пад ім пропускае ключавое слова і пералічвае адзін сезон эфіру па вокне дат.

```bash
curl -s "https://api.amodb.dev/3/discover/tv?with_genres=16&with_original_language=ja&first_air_date.gte=2026-10-01&first_air_date.lte=2026-12-31&sort_by=popularity.desc" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```python
import os
import requests

BASE = "https://api.amodb.dev/3"
session = requests.Session()
session.headers["Authorization"] = f"Bearer {os.environ['AMODB_KEY']}"


def get(path, **params):
    r = session.get(BASE + path, params=params, timeout=10)
    r.raise_for_status()
    return r.json()


keywords = get("/search/keyword", query="anime")["results"]
anime_id = next((k["id"] for k in keywords if k["name"].lower() == "anime"), None)
if anime_id is None:
    raise SystemExit("anime keyword not found")

page = get(
    "/discover/tv",
    with_genres=16,
    with_original_language="ja",
    with_keywords=anime_id,
    sort_by="popularity.desc",
    language="en-US",
    page=1,
)
for show in page["results"]:
    print(show.get("first_air_date"), show["name"], "/", show["original_name"])
```

Скарочаны адказ для выкліку на Python вышэй: 2 з 19 вынікаў на старонцы 1, масівы скарочаны да 2 элементаў.

```json
{
  "page": 1,
  "results": [
    {
      "adult": false,
      "backdrop_path": "/dmptwhmqxcMrCKgyvBlTt18PgDu.jpg",
      "first_air_date": "2005-04-22",
      "genre_ids": [
        10759,
        16
      ],
      "id": 65733,
      "name": "Doraemon",
      "origin_country": [
        "JP"
      ],
      "original_language": "ja",
      "original_name": "ドラえもん",
      "overview": "Robotic cat Doraemon is sent back in time from the 22nd century to protect 10-year-old...",
      "popularity": 301.2214,
      "poster_path": "/9ZN1P32SHviL3SV51qLivxycvcx.jpg",
      "vote_average": 8.089,
      "vote_count": 252
    },
    {
      "adult": false,
      "backdrop_path": "/mFKys64gbDQrFqwUheGwXQwo2JK.jpg",
      "first_air_date": "2004-10-05",
      "genre_ids": [
        10759,
        16
      ],
      "id": 30984,
      "name": "Bleach",
      "origin_country": [
        "JP"
      ],
      "original_language": "ja",
      "original_name": "BLEACH",
      "overview": "For as long as he can remember, Ichigo Kurosaki has been able to see ghosts. But when h...",
      "popularity": 190.3257,
      "poster_path": "/2EewmxXe72ogD0EaWM8gqa0ccIw.jpg",
      "vote_average": 8.4,
      "vote_count": 2295
    }
  ],
  "total_pages": 216,
  "total_results": 4302
}
```

## Фільтры, што фарміруюць спіс аніме

| Фільтр                                     | Значэнне                                                      | Эфект                                                                                                      |
| ------------------------------------------ | ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `with_genres`                              | `16`                                                          | Animation. Коска азначае І, таму `16,35` гэта анімацыя і камедыя.                                          |
| `without_genres`                           | id жанру                                                      | Выдаляе назвы з гэтым жанрам.                                                                              |
| `with_original_language`                   | `ja`                                                          | Толькі японскія арыгіналы.                                                                                 |
| `with_keywords`                            | id ключавога слова                                            | Толькі назвы з гэтым ключавым словам. Назвы без пазнакі прапускаюцца.                                      |
| `first_air_date.gte`, `first_air_date.lte` | `YYYY-MM-DD`                                                  | Акно эфіру для серыялаў. Фільмы выкарыстоўваюць `primary_release_date.gte` і `.lte`.                       |
| `sort_by`                                  | `popularity.desc`, `vote_average.desc`, `first_air_date.desc` | Парадак. Спалучайце `vote_average.desc` з `vote_count.gte`, каб малыя выбаркі не траплялі на першае месца. |
| `page`                                     | ад 1 да 500                                                   | Да 20 вынікаў на старонку.                                                                                 |

Пазнакі ключавых слоў выстаўлены часткова. Калі спіс выглядае кароткім, прыбярыце `with_keywords` і пакіньце фільтры жанру і мовы для шырэйшага ахопу. Поўны спіс фільтраў ёсць на старонцы [пошук па фільтрах](https://amodb.dev/be/discover/), а id ключавых слоў апісаны на старонцы [ключавыя словы](https://amodb.dev/be/keywords/).

## Поўнаметражныя аніме і доўгія серыялы

Фільмы выкарыстоўваюць тыя ж два фільтры на эндпоінце фільмаў. Гэты выклік пералічвае японскія анімацыйныя фільмы з добрым рэйтынгам, а `vote_count.gte` адсякае назвы з некалькімі галасамі.

```bash
curl -s "https://api.amodb.dev/3/discover/movie?with_genres=16&with_original_language=ja&sort_by=vote_average.desc&vote_count.gte=200" \
  -H "Authorization: Bearer $AMODB_KEY"
```

Кожны вынік мае `title`, `original_title`, `release_date` і `poster_path`. Доўгія серыялы ў каталогу часта падзелены на некалькі сезонаў. `GET /3/tv/{series_id}/episode_groups` пералічвае іншыя парадкі з іх назвамі і колькасцю эпізодаў, дзе яны вядомыя, але саміх груп amodb не аддае, а `number_of_episodes` у серыяла дае агульную колькасць. Выклікі сезонаў апісаны на старонцы [API серыялаў](https://amodb.dev/be/tv-show-api/).

## Назвы і мовы

Аніме гэта выпадак, калі арыгінальная назва важыць больш за ўсё, таму захоўвайце абодва палі.

| Поле                | Што змяшчае                                                         | Прызначэнне                                                         |
| ------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| `name`              | Назва на мове, якую вы запыталі                                     | Асноўны подпіс у вашым інтэрфейсе                                   |
| `original_name`     | Назва на арыгінальнай мове, японскае пісьмо для японскіх арыгіналаў | Другасны подпіс, карысны для заўзятараў, што ведаюць японскую назву |
| `original_language` | `ja`                                                                | Фільтруйце на сваім баку, калі змешваеце крыніцы                    |
| `overview`          | Лакалізаваны тэкст, пусты, калі перакладу няма                      | Паўторыце запыт з `language=en-US`, калі пусты                      |

`GET /3/tv/{series_id}/alternative_titles` пералічвае іншыя назвы па краінах, дзе яны вядомыя. 14 падтрымліваных моў пералічаны на старонцы [мовы](https://amodb.dev/be/languages/).

## Параўнанне

| Магчымасць                 | Скрэйпінг фанацкіх сайтаў | API базы даных толькі пра аніме                 | amodb                                                         |
| -------------------------- | ------------------------- | ----------------------------------------------- | ------------------------------------------------------------- |
| Ахоп                       | Тое, што ахоплівае сайт   | Толькі аніме, пра глыбіню глядзіце дакументацыю | Фільмы і серыялы ў адным каталогу, аніме выбіраецца фільтрамі |
| Выбар аніме                | Катэгорыі сайта           | Глядзіце дакументацыю                           | Жанр 16, `with_original_language=ja`, ключавое слова anime    |
| Назва на арыгінальнай мове | Па-рознаму                | Глядзіце дакументацыю                           | `original_name` і `original_title`                            |
| Спісы эпізодаў             | Разбор са старонак        | Глядзіце дакументацыю                           | Выклік сезона з масівам `episodes`                            |
| Японская мова інтэрфейсу   | Залежыць ад сайта         | Глядзіце дакументацыю                           | Не падтрымліваецца, толькі арыгінальныя назвы                 |
| Умовы доступу              | Умовы кожнага сайта       | Бясплатныя і платныя тарыфы розныя              | Платна, наперад, без бясплатнага тарыфа                       |

## Цэны

Спіс аніме гэта некалькі выклікаў discover, а вынікі discover застаюцца ў edge-кэшы 30 хвілін, таму 20 запытаў у хвіліну хопіць многім праграмам. Планы бываюць на 20, 40 або 120 запытаў у хвіліну з аднолькавымі данымі. Плаціце за 1, 3, 6, 12 або 24 месяцы са зніжкай 0, 10, 20, 30 і 40 працэнтаў і без аўтапрадаўжэння. Бясплатнага тарыфа няма. Абярыце план на старонцы [цэны](https://amodb.dev/be/pricing/).

## Пытанні і адказы

### Ці ёсць у amodb асобны эндпоінт аніме?

Не. Аніме гэта фільтр на звычайных эндпоінтах discover: with_genres=16 для Animation і with_original_language=ja для японскіх арыгіналаў. Дадайце id ключавога слова anime, каб звузіць спіс.

### Ці можна атрымаць японскія назвы і апісанні?

Японскія арыгіналы захоўваюць японскую назву ў original_name для серыялаў і original_title для фільмаў. Японская не ўваходзіць у 14 падтрымліваных моў інтэрфейсу, таму name і overview залежаць ад вашага тэга мовы або англійскай.

### Як знайсці id ключавога слова anime?

Выклічце /3/search/keyword?query=anime і прачытайце id выніку з назвай anime. Перадайце яго як with_keywords у discover. Захавайце id пасля першага пошуку, бо пошукі ключавых слоў кэшуюцца толькі на 10 хвілін.

### Ці вяртае жанр 16 толькі аніме?

Не. Жанр 16 гэта Animation, які ахоплівае таксама мультфільмы з іншых краін. Дадаванне with_original_language=ja выдаляе большасць з іх, а ключавое слова anime звужае спіс яшчэ больш.

### Як глыбока можна гартаць спіс аніме?

Старонкі ідуць ад 1 да 500 па да 20 вынікаў, таму адзін запыт даходзіць прыкладна да 10 000 вынікаў. Большыя спісы дзеліце на вокны first_air_date.gte і first_air_date.lte. Вынікі discover кэшуюцца на 30 хвілін.

## Звязаныя старонкі

- [Discover API](https://amodb.dev/be/discover/): Discover API з фільтрамі TMDB v3. Спіс фільмаў і серыялаў па жанры, акцёрах, кампаніі, ключавым слове, годзе, рэйтынгу і працягласці з сартаваннем.
- [API ключавых слоў](https://amodb.dev/be/keywords/): API ключавых слоў з шляхамі TMDB v3: тэгі сюжэта фільма або серыяла, пошук ключавога слова, яго фільмы і спалучэнне id з with_keywords у discover.
- [Жанры і даведачныя спісы](https://amodb.dev/be/genres/): API спіса жанраў з шляхамі TMDB v3: id жанраў фільмаў і серыялаў з перакладзенымі назвамі, а таксама спісы краін, моў, пасад, узроставых рэйтынгаў і сэрвісаў.
- [Мовы](https://amodb.dev/be/languages/): amodb аддае назвы, апісанні і імёны на 14 мовах. Перадайце тэг у стылі TMDB, напрыклад ru-RU або pt-BR, у language; любы іншы тэг замяняецца англійскай мовай.
- [API серыялаў, сезонаў і эпізодаў](https://amodb.dev/be/tv-show-api/): API серыялаў са статусам, тэлеканаламі, сезонамі, эпізодамі і next_episode_to_air. JSON, сумяшчальны з TMDB v3, на 14 мовах, ад 20 запытаў у хвіліну.
- [Хуткі старт](https://amodb.dev/be/quickstart/): Першы выклік да amodb: атрымайце ключ, запытайце дэталі фільма ў curl, JavaScript, Python, PHP або Go і загрузіце постэр з img.amodb.dev. Менш за 2 хвіліны.

Абноўлена: 2026-10-18. Source: https://amodb.dev/be/anime-api/
