開発者のための無料映画 API ベスト10 (2026年版)
映画とテレビ番組のデータの収集に最適な無料API
Hyperealで構築を始めよう
Kling、Flux、Sora、Veoなどに単一のAPIでアクセス。無料クレジットで開始、数百万規模まで拡張可能。
クレジットカード不要 • 10万人以上の開発者 • エンタープライズ対応
開発者向けのおすすめ無料映画 API 10選(2026年版)
映画アプリ、レコメンデーションエンジン、またはエンターテインメントダッシュボードを構築していますか?それには信頼性の高い映画 API が不可欠です。本ガイドでは、2026年時点で利用可能な映画・テレビ番組 API のトップ10を、それぞれのコード例とともに紹介します。
クイック比較
| API | 無料プラン | レート制限 | テレビ番組 | 画像 | 評価 |
|---|---|---|---|---|---|
| TMDB | 無制限 | 40回/10秒 | あり | あり | あり |
| OMDB | 1,000回/日 | 1,000回/日 | あり | ポスター | あり (IMDb) |
| TVmaze | 無制限 | 20回/10秒 | あり | あり | あり |
| Trakt | 1,000回/日 | 1,000回/日 | あり | なし | あり |
| JustWatch | 非公式 | 変動 | あり | あり | あり |
| Watchmode | 1,000回/月 | 変動 | あり | あり | あり |
| Movie of the Night | 10,000回/月 | 変動 | あり | あり | あり |
| IMDb (unofficial) | 変動 | 変動 | あり | あり | あり |
| Streaming Availability | 100回/日 | 100回/日 | あり | あり | あり |
| Kitsu | 無制限 | 中程度 | アニメ | あり | あり |
1. TMDB (The Movie Database) -- 総合ベスト
TMDB は無料映画 API のゴールドスタンダードです。最も包括的なデータベース、優れたドキュメント、そして寛大な無料プランを提供しています。
主な特徴:
- 90万以上の映画と16万以上のテレビ番組
- 高解像度の画像とポスター
- キャスト、スタッフ、制作詳細
- 40以上の言語に対応
- コミュニティ主導のデータ
API キーの取得方法
- themoviedb.org で無料アカウントを作成
- 設定 > API から API キーをリクエスト
- 無料アクセスのために「Developer(開発者)」を選択
コード例
import requests
API_KEY = "your_tmdb_api_key"
BASE_URL = "https://api.themoviedb.org/3"
# 映画を検索
response = requests.get(f"{BASE_URL}/search/movie", params={
"api_key": API_KEY,
"query": "Inception",
"language": "en-US"
})
results = response.json()["results"]
for movie in results[:3]:
print(f"{movie['title']} ({movie['release_date'][:4]}) - Rating: {movie['vote_average']}")
// Node.js / fetch
const API_KEY = "your_tmdb_api_key";
const response = await fetch(
`https://api.themoviedb.org/3/search/movie?api_key=${API_KEY}&query=Inception`
);
const data = await response.json();
data.results.slice(0, 3).forEach(movie => {
console.log(`${movie.title} (${movie.release_date.slice(0, 4)}) - ${movie.vote_average}`);
});
トレンドの映画を取得
# 今週のトレンド映画を取得
response = requests.get(f"{BASE_URL}/trending/movie/week", params={
"api_key": API_KEY
})
trending = response.json()["results"]
for movie in trending[:5]:
print(f"Trending: {movie['title']} - {movie['vote_average']}/10")
2. OMDB (Open Movie Database) -- IMDb データに最適
OMDB を使用すると、IMDb 評価、Rotten Tomatoes スコア、Metacritic データを1回の API コールで直接取得できます。
無料プラン: 1日1,000リクエスト
コード例
import requests
API_KEY = "your_omdb_api_key" # omdbapi.com で無料キーを取得
# タイトルで検索
response = requests.get("https://www.omdbapi.com/", params={
"apikey": API_KEY,
"t": "The Dark Knight",
"type": "movie"
})
movie = response.json()
print(f"Title: {movie['Title']}")
print(f"IMDb Rating: {movie['imdbRating']}")
print(f"Rotten Tomatoes: {movie['Ratings'][1]['Value']}")
print(f"Metacritic: {movie['Metascore']}")
const response = await fetch(
`https://www.omdbapi.com/?apikey=YOUR_KEY&t=The+Dark+Knight&type=movie`
);
const movie = await response.json();
console.log(`${movie.Title} - IMDb: ${movie.imdbRating}, RT: ${movie.Ratings[1]?.Value}`);
3. TVmaze -- テレビ番組データに最適
TVmaze はテレビ番組データに特化しており、詳細なエピソード情報、スケジュール、キャストデータを提供します。基本的な使用には API キーは不要です。
コード例
import requests
# 基本的なエンドポイントには API キー不要
response = requests.get("https://api.tvmaze.com/search/shows", params={
"q": "Breaking Bad"
})
shows = response.json()
for item in shows[:3]:
show = item["show"]
print(f"{show['name']} - Rating: {show['rating']['average']}")
print(f" Genres: {', '.join(show['genres'])}")
print(f" Status: {show['status']}")
エピソードスケジュールを取得
# アメリカの今日のテレビスケジュールを取得
response = requests.get("https://api.tvmaze.com/schedule", params={
"country": "US"
})
episodes = response.json()
for ep in episodes[:5]:
show_name = ep["show"]["name"]
print(f"{show_name} - S{ep['season']}E{ep['number']}: {ep['name']}")
4. Trakt -- 視聴履歴と推奨に最適
Trakt はユーザーの視聴履歴、リスト、ソーシャル機能に焦点を当てています。パーソナライズされたレコメンデーションエンジンの構築に最適です。
無料プラン: 1日1,000 API コール
import requests
headers = {
"Content-Type": "application/json",
"trakt-api-version": "2",
"trakt-api-key": "your_client_id"
}
# トレンドの映画を取得
response = requests.get(
"https://api.trakt.tv/movies/trending",
headers=headers
)
trending = response.json()
for item in trending[:5]:
movie = item["movie"]
print(f"{movie['title']} ({movie['year']}) - Watchers: {item['watchers']}")
5. JustWatch (非公式) -- 配信状況の確認に最適
JustWatch は、どの映画や番組がどのストリーミングプラットフォームで利用可能かを追跡します。公式の無料 API はありませんが、コミュニティが維持しているライブラリからアクセス可能です。
# justwatch-python パッケージを使用
# pip install justwatch
from justwatch import JustWatch
jw = JustWatch(country="US")
results = jw.search_for_item(query="Dune")
for item in results["items"][:3]:
title = item["title"]
offers = item.get("offers", [])
platforms = set(o["package_short_name"] for o in offers)
print(f"{title} - Available on: {', '.join(platforms)}")
6. Watchmode -- 配信元データに最適
Watchmode は、各タイトルを配信しているストリーミングサービスに関する構造化データを提供し、直接のディープリンクも含まれています。
無料プラン: 1ヶ月1,000 API コール
import requests
API_KEY = "your_watchmode_key"
response = requests.get(f"https://api.watchmode.com/v1/search/", params={
"apiKey": API_KEY,
"search_field": "name",
"search_value": "Stranger Things"
})
results = response.json()["title_results"]
for title in results[:3]:
print(f"{title['name']} ({title['year']}) - Type: {title['type']}")
7. Movie of the Night API -- 発掘・提案に最適
Movie of the Night は、厳選されたレコメンデーションとフィルタリングによるコンテンツの発見に重点を置いています。
無料プラン: 1ヶ月10,000リクエスト
import requests
headers = {"x-rapidapi-key": "your_rapidapi_key"}
response = requests.get(
"https://movie-of-the-night.p.rapidapi.com/search",
headers=headers,
params={"query": "sci-fi", "type": "movie"}
)
for movie in response.json()[:5]:
print(f"{movie['title']} - Streaming on: {', '.join(movie.get('services', []))}")
8. IMDb Unofficial APIs -- 生の IMDb データに最適
RapidAPI 上には、IMDb のデータをスクレイピングまたはミラーリングした非公式の IMDb API がいくつか存在します。
import requests
headers = {
"x-rapidapi-key": "your_rapidapi_key",
"x-rapidapi-host": "imdb8.p.rapidapi.com"
}
response = requests.get(
"https://imdb8.p.rapidapi.com/auto-complete",
headers=headers,
params={"q": "Oppenheimer"}
)
results = response.json()["d"]
for item in results[:3]:
print(f"{item['l']} ({item.get('y', 'N/A')}) - {item.get('s', '')}")
警告: 非公式 API は予告なく利用できなくなる可能性があります。本番用アプリケーションには TMDB または OMDB を使用してください。
9. Streaming Availability API -- マルチプラットフォーム検索に最適
この API は、60カ国以上の150以上のサービスにわたる配信データを集約します。
無料プラン: RapidAPI で1日100リクエスト
import requests
headers = {
"x-rapidapi-key": "your_rapidapi_key",
"x-rapidapi-host": "streaming-availability.p.rapidapi.com"
}
response = requests.get(
"https://streaming-availability.p.rapidapi.com/shows/search/filters",
headers=headers,
params={
"country": "us",
"catalogs": "netflix",
"genres": "action",
"order_by": "rating",
"output_language": "en"
}
)
for show in response.json()["shows"][:5]:
print(f"{show['title']} - Rating: {show.get('rating', 'N/A')}")
10. Kitsu -- アニメに最適
Kitsu は、アニメやマンガのデータに関する最高の無料 API です。API キーは不要です。
import requests
response = requests.get("https://kitsu.io/api/edge/anime", params={
"filter[text]": "Attack on Titan",
"page[limit]": 5
})
for anime in response.json()["data"]:
attrs = anime["attributes"]
print(f"{attrs['canonicalTitle']} - Rating: {attrs['averageRating']}")
print(f" Episodes: {attrs['episodeCount']}, Status: {attrs['status']}")
適切な API の選び方
以下の意思決定ツリーを参考にしてください。
- 一般的な映画アプリを作りたい? TMDB から始めましょう。すべてが揃っています。
- IMDb/RT の評価が必要? 補足として OMDB を併用してください。
- 「どこで見れるか」機能を作りたい? Streaming Availability または Watchmode を使用してください。
- テレビ番組のスケジュールが必要? TVmaze が最強です。
- アニメアプリを作りたい? Kitsu が専用に作られています。
- レコメンデーションエンジン? TMDB のデータと Trakt のユーザー行動を組み合わせましょう。
完全な映画アプリの構築
ほとんどのプロジェクトでは、2つあるいは3つの API を組み合わせることになります。
import requests
class MovieService:
def __init__(self, tmdb_key, omdb_key):
self.tmdb_key = tmdb_key
self.omdb_key = omdb_key
def get_movie_details(self, title):
# TMDB から豊富なデータを取得
tmdb = requests.get("https://api.themoviedb.org/3/search/movie", params={
"api_key": self.tmdb_key,
"query": title
}).json()["results"][0]
# OMDB から評価を取得
omdb = requests.get("https://www.omdbapi.com/", params={
"apikey": self.omdb_key,
"t": title
}).json()
return {
"title": tmdb["title"],
"overview": tmdb["overview"],
"poster": f"https://image.tmdb.org/t/p/w500{tmdb['poster_path']}",
"tmdb_rating": tmdb["vote_average"],
"imdb_rating": omdb.get("imdbRating"),
"rotten_tomatoes": next(
(r["Value"] for r in omdb.get("Ratings", [])
if r["Source"] == "Rotten Tomatoes"), None
),
}
# 使用例
service = MovieService("tmdb_key", "omdb_key")
movie = service.get_movie_details("Dune: Part Two")
print(movie)
AI 機能の追加
基本的な映画データ以上のものを提供したいですか? AI API を使用して、映画アプリに高度な機能を追加できます。
- プロットの説明文から AI 生成の映画要約 を作成
- ポスターのスタイル変換 や AI によるサムネイルの強化
- 映画レビューの 音声ナレーション
Hypereal AI は、映画データと相性の良い画像生成、ビデオ制作、およびテキスト読み上げ(TTS)API を提供しています。たとえば、カスタムポスターのバリエーションを作成したり、AI ナレーション付きのレビュー動画を制作したりできます。まずは無料クレジットで試してみてください。
結論
多くのユースケースにおいて、TMDB が明確な勝者です。無料で包括的、かつドキュメントも整備されています。評価データには OMDB を、配信状況の確認には Streaming Availability API などを組み合わせて補完してください。
このリストにある10個の API はすべて、開発や小規模な運用には十分な無料プランを提供しています。まずは TMDB から使い始め、必要に応じて他を追加していけば、コストをかけずに完璧な映画データスタックを構築できるでしょう。
