Знайдіть аніме за жанром 16 і мовою оригіналу ja
В amodb немає окремого ендпоінта для аніме. Аніме це фільтр на GET /3/discover/tv і GET /3/discover/movie: with_genres=16 (Animation) плюс with_. Додайте 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_ | results містить name, original_name, first_air_date, genre_ids |
| Аніме-фільми | GET /3/discover/movie з тими самими двома фільтрами | title, original_title, release_date |
| Id ключового слова anime | GET / | Масив results з id та name |
| Список серій | GET / | Один запит на сезон |
| Японська назва | original_name або original_title | Оригінальне письмо, як збережено |
| Постер | poster_path | Додайте до хоста зображень, ключ не потрібен |
Почніть за 3 кроки
- Оберіть тариф на сторінці ціни. Усі дані доступні на кожному тарифі, відрізняється лише ліміт: 20, 40 або 120 запитів на хвилину.
- Створіть ключ у кабінеті акаунта.
- Один раз знайдіть id ключового слова, а потім викличте discover із ним та двома фільтрами.
Приклад запиту
Скрипт на Python знаходить id ключового слова anime, а потім виводить найпопулярніші японські анімаційні серіали з цим тегом. Виклик curl пропускає ключове слово й показує один сезон мовлення за вікном дат.
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"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 елементів.
{
"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_ і .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, а id ключових слів пояснено на сторінці ключові слова.
Аніме-фільми та довгі серіали
Фільми використовують ті самі два фільтри на ендпоінті movie. Цей запит виводить високо оцінені японські анімаційні фільми, а vote_count.gte відсікає тайтли з жменькою голосів.
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 / показує інші порядки серій з назвами й кількістю серій, якщо вони відомі, але самі групи amodb не віддає, а загальну кількість дає number_of_episodes у серіалі. Запити сезонів описано на сторінці API серіалів.
Назви та мови
Для аніме оригінальна назва важить найбільше, тож зберігайте обидва поля.
| Поле | Що містить | Призначення |
|---|---|---|
name | Назва мовою вашого запиту | Основна мітка у вашому інтерфейсі |
original_name | Назва мовою оригіналу, японським письмом для японських оригіналів | Додаткова мітка, корисна для фанатів, які знають японську назву |
original_language | ja | Фільтруйте на своєму боці, якщо поєднуєте джерела |
overview | Локалізований текст, порожній, якщо перекладу немає | Повторіть запит із language=en-US, якщо порожньо |
GET / показує інші назви за країнами, якщо вони відомі. 14 підтримуваних мов перелічено на сторінці мови.
Порівняння
| Можливість | Скрапінг фан-сайтів | API бази лише з аніме | amodb |
|---|---|---|---|
| Охоплення | Те, що охоплює сайт | Лише аніме, глибину перевіряйте в документації | Фільми й серіали в одному каталозі, аніме вибирається фільтрами |
| Вибір аніме | Категорії сайту | Дивіться документацію | Жанр 16, with_, ключове слово anime |
| Назва мовою оригіналу | По-різному | Дивіться документацію | original_name і original_title |
| Списки серій | Розбираються зі сторінок | Дивіться документацію | Запит сезону з масивом episodes |
| Японська мова інтерфейсу | Залежить від сайту | Дивіться документацію | Не підтримується, лише оригінальні назви |
| Умови доступу | Умови кожного сайту | Безкоштовні й платні тарифи різняться | Платно, передплата, без безкоштовного тарифу |
Ціни
Список аніме це кілька запитів discover, а результати discover лишаються в edge-кеші 30 хвилин, тож для багатьох застосунків достатньо 20 запитів на хвилину. Тарифи мають 20, 40 або 120 запитів на хвилину з однаковими даними. Платіть за 1, 3, 6, 12 або 24 місяці зі знижками 0, 10, 20, 30 і 40 відсотків та без автоматичного поновлення. Безкоштовного тарифу немає. Оберіть тариф на сторінці ціни.