Free Movie & TV APIs in 2026 — Compared
Four APIs with genuine free tiers. Two of them need no key at all.
For films, artwork and multi-language metadata: TMDB. For IMDb, Rotten Tomatoes and Metacritic ratings in one call: OMDb. For episode-level TV schedules with no key: TVmaze. For anime and manga: Jikan. For streaming availability, nothing free is good enough — see below.
The shape of this category was set by three shutdowns. IMDb has never had a public API — it sells bulk datasets and an enterprise feed, and that is the entire offering. Netflix closed its public API in 2014, taking the last first-party catalog endpoint with it. Marvel discontinued its developer portal, which is why half the character-data tutorials still online now 404. Into that vacuum stepped a community database with a free key and no seat at any studio's table, and that is how TMDB became the default.
Below: what each API covers, what it costs in rate limit and attribution, and the mistakes that turn a two-hour integration into a two-day one. Live status and 30-day uptime for all four sit on the entertainment category page, measured as described in our methodology.
Comparison
| API | Free tier | Auth | Rate limit | Best for |
|---|---|---|---|---|
| TMDB | Unlimited, non-commercial | Free key | Unpublished; ~20 req/s in practice | Films, artwork, 39 languages |
| OMDb | 1,000 requests/day | Free key | 1,000/day | IMDb / RT / Metacritic ratings |
| TVmaze | Free, unmetered | None | ~20 calls / 10 s per IP | TV schedules, episode air dates |
| Jikan | Free, community-run | None | 3 req/s and 60 req/min | Anime and manga |
The providers
1. TMDB (The Movie Database)
Free tier: Unlimited non-commercial use on a free key. Commercial use needs a separate agreement, which TMDB grants readily — but you have to ask rather than assume
Auth: Free key
Rate limit: No published limit since 2024; unpublished abuse protection is still live
Coverage: 900,000+ movie and TV titles, full cast and crew, artwork at multiple resolutions, translated titles and overviews across 39 languages
Best for: Anything that renders posters, needs proper season and episode structure, or serves a non-English audience
The default, and it earns it. Two things bite every new integration. First, image fields are relative paths like /kqjL17yufvn9OVLyXYpvtyrFfak.jpg, not URLs — call /3/configuration once, read images.secure_base_url, pick a size from poster_sizes, and concatenate. Cache that response for about a day and never hardcode the CDN hostname: TMDB has rotated it before, and every integration that hardcoded it lost all its images the same afternoon. Second, the two credential systems are not interchangeable — the v3 key goes in an api_key query parameter, the v4 read access token is a JWT for an Authorization: Bearer header. Send a v3 key as a bearer token and you get a 401 about an invalid token, sending people hunting for a key-activation problem that does not exist. Use append_to_response on detail endpoints to collapse five round-trips into one. The attribution requirement is real: the TMDB logo plus a statement that your product is not endorsed or certified by TMDB.
Live status and 30-day uptime → · TMDB (The Movie Database) docs ↗
2. OMDb API
Free tier: 1,000 requests/day on the free key, which arrives by email in about a minute
Auth: Free key
Rate limit: 1,000/day; no per-second ceiling published
Coverage: IMDb-keyed lookups returning IMDb, Rotten Tomatoes and Metacritic scores in one flat object, plus runtime, plot, certificate and cast
Best for: A ratings layer bolted onto a catalog you already have
The fastest path from an IMDb ID to ratings: pass tt0111161 and get the IMDb score, the Rotten Tomatoes percentage and the Metacritic number in one response. Very few free endpoints do that. The failure mode costs people an afternoon: every lookup returns HTTP 200, including misses. A title that does not exist comes back with Response: False and an Error string at a 200 status, so response.ok is always true and any code branching on status treats a miss as a hit. Check Response before touching the payload. Nothing else is typed either — Released is a string like 01 Oct 1994, Runtime is 142 min, imdbVotes carries comma separators, and any field can be the literal N/A rather than null. Write one parser at the fetch boundary that maps N/A to null. Do not plan on OMDb for artwork: the poster endpoint is a separate paid subscription, and the inline Poster URLs go stale with no fallback.
3. TVmaze
Free tier: Free, no key, no signup, no quota dashboard
Auth: None
Rate limit: About 20 calls per 10 seconds, per IP
Coverage: Television only — episode lists with real air dates, season and episode numbering, cast with character mappings, network and country data, daily and weekly broadcast schedules
Best for: Episode trackers, calendar and reminder apps, anything answering what aired last night
The best no-key option for TV, and the only one here where the episode is a first-class entity rather than a sub-resource. Pull a show, its full episode list and its cast in one request with /shows/82?embed[]=episodes&embed[]=cast. The bracket syntax matters — repeating ?embed= without brackets silently keeps only the last value and you quietly lose the other resource. TVmaze IDs have no relationship to IMDb, TheTVDB or TMDB IDs; cross-reference through /lookup/shows?imdb=tt0944947, which returns the show object directly rather than a results array, so parsing code shared with /search/shows breaks on one of them. With no key the limit is per IP, so on shared CI runners, serverless platforms or corporate NAT you share that budget with strangers and 429s appear in test suites that pass on a laptop — record fixtures for CI. Schedule endpoints default to the US in Eastern time; pass an explicit country code and treat every airstamp as UTC.
4. Jikan (MyAnimeList)
Free tier: Free, no key, community-run on donated infrastructure
Auth: None
Rate limit: 3 requests/second and 60/minute, enforced independently
Coverage: Anime and manga entries, community scores and rankings, seasonal charts, characters, staff, recommendations
Best for: Anime trackers, seasonal chart widgets, Discord bots
Know what you are integrating with: Jikan is an unofficial scraper and cache layer over MyAnimeList, not a partnership and not something MAL has any obligation to keep working. When MAL changes its markup or ships anti-bot measures, fields start returning null or whole endpoints degrade until the maintainers ship a parser fix — that has happened repeatedly across v3 and v4. Null-check every field you render rather than trusting the documented schema. Both rate limits are enforced separately, so building a seasonal chart by fanning out one detail request per title exhausts the per-minute budget in well under a minute; use /seasons/now and /top/anime, which return full objects. Freshness is cache freshness, not MAL freshness — scores and airing status can lag the live page by hours, which nobody notices on a leaderboard and everybody notices with the MAL page open side by side. Cache with a long TTL, serve stale on error, and if the data is load-bearing, register for MAL's official API and keep Jikan as the fallback.
Live status and 30-day uptime → · Jikan (MyAnimeList) docs ↗
Where free stops: streaming availability
Every free API on this page tells you what a title is. None of them reliably tells you where to watch it tonight. If your product's core promise is answering where can I stream this, the free tier will not carry it and you should budget for a paid feed on day one.
TMDB's watch-provider endpoint is the best free approximation — per-country provider lists, sourced from JustWatch — but it is coarse, it lags licensing changes, and TMDB's terms do not contemplate a competing availability product built on it. The commercial answers are Watchmode, with a small free developer tier and paid plans covering deep links across 200+ services, and JustWatch, which licenses through a commercial agreement rather than self-serve signup. Rights windows move weekly, and tracking them is the product those companies sell.
Two patterns worth copying
Pattern 1 — TMDB for structure, OMDb for ratings
The most common production shape. TMDB owns the catalog — search, IDs, artwork, cast — and returns the IMDb ID on its external-IDs endpoint, so a resolved title feeds straight into OMDb for all three ratings in one flat response. Cache that result hard: ratings move slowly, and 1,000 requests a day disappears fast if you re-fetch per page view. One row per title, refreshed weekly, keeps a mid-size catalog inside the free tier.
Pattern 2 — TVmaze for the calendar, TMDB for the pixels
For an episode tracker, TVmaze answers the hard question — which episode airs when, on which network, in which country — with no credential and one embedded request per show. Imagery and non-English metadata are its weak point, so resolve each show to a TMDB record through the IMDb ID and pull posters from there. The only credential in the stack is the TMDB key.
Frequently Asked Questions
What is the best free movie API?
TMDB, for almost every use case. It is the only free option with deep artwork, proper TV season and episode structure, and metadata in dozens of languages, and the free key covers unlimited non-commercial use. Add OMDb when you specifically want IMDb, Rotten Tomatoes and Metacritic ratings; reach for TVmaze instead when your product is about episode air dates rather than films.
Is there a free IMDb API?
No. IMDb has never offered a public API. It publishes bulk TSV datasets under a non-commercial licence and sells an enterprise data product, and that is the whole menu. That vacuum is exactly why TMDB became the community default, and why OMDb exists at all as an IMDb-keyed ratings lookup. If you need IMDb ratings in an application, OMDb is the practical route, within its terms.
Can I use TMDB commercially?
Not on the default free key without asking. The free key covers unlimited non-commercial use; commercial products need a separate agreement, which TMDB grants readily but does not grant implicitly. Either way you must display the TMDB logo and the statement that your product uses TMDB but is not endorsed or certified by TMDB. Treat that as a layout constraint, not a footnote.
Which movie API works without an API key?
TVmaze and Jikan. TVmaze covers television with no signup at roughly 20 calls per 10 seconds, and Jikan covers anime and manga at 3 requests per second. Both enforce those limits per IP, which is worth knowing before you deploy behind a shared NAT or a serverless platform where you do not control the egress address. TMDB and OMDb both require a free key.
How do I get movie poster images for free?
TMDB, and realistically only TMDB among the free options. Its image fields are relative paths, so you fetch the base URL and the list of available sizes from the configuration endpoint, cache that for about a day, and join base plus size plus path at render time. Never hardcode the CDN hostname, because TMDB has changed it before. OMDb's poster endpoint is a paid add-on, and its inline poster URLs point at third-party assets that go stale.
Is there a free API for streaming availability?
Not a good one. TMDB's watch-provider endpoint gives country-level availability sourced from JustWatch and is the best free approximation, but it tells you which service carries a title rather than giving you deep links and always-current per-region licensing. Products that answer where can I stream this properly run on Watchmode or a JustWatch commercial agreement. If that answer is your core feature, budget for it.
Related on FreeAPI.watch
- Entertainment API live status — hourly checks and 30-day uptime for every API above
- Free music APIs — MusicBrainz, iTunes Search, Deezer, and the lyrics problem
- Free sports APIs — fixtures, standings, and why live scores are never free
- Free APIs with no API key — the broader keyless list, including TVmaze and Jikan
- How we measure — the checks behind our uptime and free-tier scores
Last reviewed: August 2026. Free-tier terms verified against provider docs. Spotted a change? Tell us.