Seasonal anime data, as an API
A small JSON API for season schedules, title metadata and studio credits. No SDK, no auth dance — one key, plain HTTP.
I kept rebuilding the same scraper for every side project, so I turned it into a service. It tracks broadcast schedules across seasons, normalises title variants, and keeps studio and staff credits linked to the right production committee.
Quick look
curl -s https://animelove.dev/v1/season/2026/summer \
-H "X-API-Key: $ALV_KEY" | jq '.titles[0]'
{
"id": "alv_8f2c91",
"title": { "romaji": "Natsu no Kioku", "english": "Summer Remembered" },
"format": "TV",
"episodes": 12,
"airing": { "start": "2026-07-04", "weekday": "sat", "time": "23:30+09:00" },
"studios": [ { "id": "std_0417", "name": "Studio Kigen", "role": "animation" } ]
}
What it does
- Schedules — per-season listings with broadcast slots in JST and normalised weekday keys.
- Title matching — romaji, english, native and common abbreviations resolve to one stable id.
- Credits — studios separated by role, so animation production isn't conflated with the committee.
- Delta endpoint — poll
/v1/changesinstead of re-fetching a whole season.
Status
Closed beta. Keys are handed out manually while I watch the rate limits behave. Data covers 2018 onward; earlier seasons are backfilling slowly.
Response times sit around 40 ms from Amsterdam for cached season queries. Everything is served from a single box — if that stops being enough, that is a good problem to have.
Caveats
- Schedule changes propagate within an hour, not instantly.
- Episode counts for split-cour shows follow the broadcaster's numbering, which is occasionally inconsistent.
- No streaming-availability data. It varies per region and goes stale faster than I can keep up with.