# 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.
- Оригінальні японські назви поруч із локалізованими.
- Списки сезонів і серій для кожного вибраного серіалу.
- Постери та фони (backdrop) з `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/uk/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. Кома означає AND, тож `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` і залиште фільтри жанру та мови, щоб охопити більше. Повний список фільтрів на сторінці [discover](https://amodb.dev/uk/discover/), а id ключових слів пояснено на сторінці [ключові слова](https://amodb.dev/uk/keywords/).

## Аніме-фільми та довгі серіали

Фільми використовують ті самі два фільтри на ендпоінті movie. Цей запит виводить високо оцінені японські анімаційні фільми, а `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/uk/tv-show-api/).

## Назви та мови

Для аніме оригінальна назва важить найбільше, тож зберігайте обидва поля.

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

`GET /3/tv/{series_id}/alternative_titles` показує інші назви за країнами, якщо вони відомі. 14 підтримуваних мов перелічено на сторінці [мови](https://amodb.dev/uk/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/uk/pricing/).

## Запитання й відповіді

### Чи є в amodb окремий ендпоінт для аніме?

Ні. Аніме це фільтр на звичайних ендпоінтах discover: with_genres=16 для анімації та 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/uk/discover/): Discover API з тими самими фільтрами, що й у TMDB v3. Фільми та серіали за жанром, акторами, компанією, роком, рейтингом, тривалістю й провайдером.
- [API ключових слів](https://amodb.dev/uk/keywords/): API ключових слів фільмів зі шляхами TMDB v3: теги сюжету фільму чи серіалу, пошук ключового слова, його фільми та поєднання id з discover через with_keywords.
- [Жанри та довідкові списки](https://amodb.dev/uk/genres/): API жанрів зі шляхами TMDB v3: id жанрів фільмів і серіалів з перекладеними назвами, списки країн, мов, посад, вікових рейтингів і стрімінгових провайдерів.
- [Мови](https://amodb.dev/uk/languages/): amodb віддає назви, описи та імена 14 мовами. Передайте в language тег у стилі TMDB, наприклад ru-RU або pt-BR; будь-який інший тег переходить на англійську.
- [API серіалів з даними про сезони та серії](https://amodb.dev/uk/tv-show-api/): API серіалів зі статусом, телемережами, сезонами, серіями та next_episode_to_air. JSON, сумісний із TMDB v3, 14 мовами, від 20 запитів на хвилину.
- [Швидкий старт](https://amodb.dev/uk/quickstart/): Перший виклик amodb: отримайте ключ, запросіть деталі фільму в curl, JavaScript, Python, PHP чи Go і завантажте постер з img.amodb.dev. Менш ніж за 2 хвилини.

Оновлено: 2026-10-18. Source: https://amodb.dev/uk/anime-api/
