Tony Wang5 分で読めますApple Podcasts Scraper API:チャート・番組・エピソード
Apple Podcasts scraper APIでチャートランキング・番組メタデータ・エピソード・検索をJSONとして取得し、iTunes Search APIがどこで不足するかを確認しましょう。
手短に言うと、無料のiTunes Search APIはApple Podcastsの検索とルックアップには便利ですが、チャートのランキング・番組メタデータ・エピソードの一連の処理をまとめて扱えるクリーンなAPIは1つも提供していません。CrawloraのApple Podcasts scraper APIは、検索・チャート・番組の詳細・番組のエピソード・エピソード検索を構造化されたJSONで返し、この公開データのギャップを埋めます。
Apple Podcastsは最大のポッドキャストディレクトリであり、ポッドキャスト調査・チャート追跡・カタログのエンリッチメントにとって主要なデータソースとなっています。問題はアクセス手段です。Appleは、チャート・番組メタデータ・エピソードをまとめて返す単一の開発者向けAPIを公開していません。本ガイドでは、Appleが公式に提供しているもの、その不足している部分、そしてApple Podcasts scraper APIがそのデータをどのように構造化されたJSONで返すのかを解説します。
Appleが公式に提供しているもの(そして不足しているもの)
公式な経路は2つありますが、そのどちらも作業全体をカバーするものではありません。
- iTunes Search APIは無料で、キーも不要です。番組の検索とルックアップに対応し、RSSフィードのURLと基本的なメタデータを返します。ただし、クリーンなチャートランキングのエンドポイントは提供されず、エピソードを一覧化するには各番組のRSSフィードを取得して解析する必要があります。
- Apple Podcasts Connectは、自分が所有するポッドキャストのアナリティクスのみを提供します。公開カタログを読み取る手段ではありません。
実際に使ってみると、iTunes Search APIは次のようになります。そして、どこで行き詰まるかも示しています。
import requests
# Free, no key — but a directory only (no chart rankings):
shows = requests.get("https://itunes.apple.com/search",
params={"term": "history", "entity": "podcast", "limit": 25}).json()["results"]
# lookup returns the most recent ~200 episodes; use each show's feedUrl (RSS) for the full archive:
episodes = requests.get("https://itunes.apple.com/lookup",
params={"id": shows[0]["collectionId"], "entity": "podcastEpisode", "limit": 200}).json()["results"]
注意点は次のとおりです。おおよそ20回/分にレート制限されていること、エピソードのルックアップが200件で上限になること(それより古いエピソードにはRSSフィードが必要)、そしてチャートランキングのエンドポイントがまったく存在しないこと(人々が最も求めているデータです)。そのため一般的な回避策は、iTunes Search API・番組ごとのRSSフィード・Appleのチャートフィードをつなぎ合わせ、そのすべてを自分で正規化することになります。これこそが、scraper APIが埋めるギャップです。
| 要件 | iTunes Search API | Crawlora Apple Podcasts scraper API |
|---|---|---|
| 番組検索 | あり | あり、CrawloraのドキュメントとPlaygroundの例で正規化 |
| 番組ルックアップ | 限定的 | あり、ドキュメント化された番組詳細エンドポイント経由 |
| エピソード一覧 | 最近のエピソード / RSSでの回避策 | 対応範囲で番組エピソードのエンドポイント |
| チャートランキング | クリーンなチャートエンドポイントなし | 国・カテゴリ・コレクション・件数によるチャート |
| ワークフロー用の単一APIキー | iTunes Searchはキー不要だが残りは別ツール | 検索・チャート・番組・エピソードを横断する単一のCrawlora x-api-key |
チャートランキング:無料APIが提供しないデータ
最も要望の多いApple Podcastsのデータは、公式APIから最も入手しづらいものでもあります。それがチャートランキングです。人々は、何が・どこで・どのように動いてトレンドになっているのかを知りたいため、apple podcast charts us、apple podcast charts uk、apple podcast chart rankingsといった検索をします。
Apple Podcast charts APIのエンドポイントは、国別・カテゴリ別にランク付けされた番組を返すため、次のことができます。
- ある国・カテゴリの現在のトップ番組を1回のリクエストで取得する
- チャートの順位を定期的に記録し、ランク追跡の時系列を構築する
- 複数の市場(US、UK、その他の国)でのビジビリティを比較する
リクエストは次のようになります。
curl "https://api.crawlora.net/api/v1/apple-podcasts/charts?country=us&limit=25" \
-H "x-api-key: YOUR_API_KEY"
collection(toppodcastsまたはtopaudiopodcasts)を選び、現在のcategory・country・limitパラメータと正確なレスポンススキーマについてはAPI docsを確認してください。
Apple Podcasts scraper APIが返すもの
チャートに加えて、同じAPIがカタログの残りの部分を正規化されたJSONとしてカバーします。
- 検索 — キーワードでタイトル・アートワーク・フィードURL・ジャンル・識別子を含む番組を見つける
- 番組の詳細 — 特定の番組のメタデータ
- 番組のエピソード — エピソードのタイトル・説明・公開日・再生時間
- エピソード検索 — 番組を横断してエピソードを見つける
構造化された形にする狙いは、ダッシュボード・チャートトラッカー・エンリッチメントジョブといった下流のすべてが、HTMLやRSSを再解析するのではなく、同じフィールドを読み取れるようにすることです。
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/apple-podcasts"
shows = requests.get(f"{base}/search", headers=h, params={"term": "history"}).json()["data"]
show = requests.get(f"{base}/show/173001861", headers=h).json()["data"]
episodes = requests.get(f"{base}/show/173001861/episodes", headers=h).json()["data"]
番組とエピソードは、Appleの番組id(検索結果とチャート結果で返されます)で指定します。
典型的なワークフロー
ポッドキャスト調査のパイプラインは、通常この順序で実行されます。
- キーワードで番組を検索する、または国・カテゴリのチャートを取得する。
- 対象としたい番組の番組の詳細を取得する。
- 各番組のエピソードを一覧化する。
- ダッシュボードやアラート層が直接読み取れるように正規化された行を保存し、動きを追跡するためにチャートを定期的に再取得する。
Apple Podcasts data recipeでは、この検索 → 番組 → エピソード → チャートという流れを最初から最後まで解説しています。
制限事項と正直なスコープ
これが何であるかを明確にしておきましょう。
- Crawloraは公式のApple Podcasts APIではなく、Apple製品でもありません。公開されているApple Podcastsのページデータを抽出します。
- エピソードの文字起こしや、非公開で番組ごとのアナリティクスは返しません(それらは、自分が所有する番組向けのApple Podcasts Connectの領域です)。
- 商用利用は、あなたのユースケース・適用される法律・第三者の権利・プラットフォームの規約次第です。
こうした範囲内であれば(調査・チャート追跡・発見・カタログのエンリッチメント)、スクレイパーを運用することなく、構造化された公開Apple Podcastsデータを素早く取得する方法となります。
収集を始める
まずは無料で試す: 任意の公開URLをFree Web Scraperに通すか、Anti-Bot Checkerでサイトがボットをブロックするかどうかを確認しましょう。サインアップは不要です。
Apple Podcastsの検索とチャートのエンドポイントをPlaygroundでテストし、レスポンススキーマをAPI docsで確認し、クレジットのコストをpricing pageで確認してください。ワークフロー全体については、Apple Podcasts APIページから始めましょう。プラットフォームを横断してポッドキャストのビジビリティを比較するには、Spotify Podcasts APIがSpotify上の同じ番組をカバーします。
Sources
関連記事
- Best Apple Podcasts Scraper APIs in 2026 — CrawloraとTaddy、Listen Notes、Apifyのアクター、PodcastIndexとの比較。
- Best Web Scraping APIs in 2026: How to Choose — プラットフォーム特化型のscraper APIが、より広い選択肢の中でどこに位置づけられるか。
- How SERP Monitoring APIs Work (and How to Build a Rank Tracker) — ポッドキャストのチャートではなく検索ランキングに適用した、同じスナップショットと比較のパターン。
- Is Web Scraping Legal in 2026? — チャートとカタログのデータを収集する背景にある公開データのルール。
よくある質問
Apple Podcastsの公式APIはありますか?
Appleは無料のiTunes Search API(番組の検索とルックアップ)とPodcasts Connect(自分が所有する番組向けのアナリティクス)を提供していますが、チャートランキング・番組メタデータ・エピソードをまとめて返す単一の公式APIはありません。そこが構造化されたscraper APIの埋めるギャップです。iTunes Search APIはおおよそ20回/分にレート制限され、エピソードのルックアップは200件で上限になります。
Apple Podcasts scraper APIはiTunes Search APIとどう違いますか?
iTunes Search APIは検索とルックアップには対応しますが、クリーンなチャートランキングのワークフローや、チャート・番組の詳細・エピソードを1つにまとめた画面はありません。CrawloraのApple Podcasts scraper APIは、対応している公開の検索・チャート・番組・エピソードのデータを、ドキュメント化されたJSONとして返します。
Apple Podcastのチャートランキングは取得できますか?
はい。構造化されたチャートエンドポイントが国別・カテゴリ別にランク付けされた番組を返すため(コレクションtoppodcastsおよびtopaudiopodcasts)、現在のトップ番組を取得し、順位を定期的に記録できます。無料のiTunes Search APIはクリーンなチャートランキングを公開していません。
番組のすべてのエピソードを取得するにはどうすればよいですか?
検索するかチャートを取得してAppleの番組idを得てから、/apple-podcasts/show/{id}/episodesを呼び出します。無料のiTunes Search APIはルックアップを最新の約200件のエピソードで上限とするため、より深いアーカイブが必要な場合は各番組のRSS feedUrlを自分で解析することになります。
どのようなApple Podcastsデータを収集できますか?
チャートランキング、番組の検索と詳細、番組のエピソード、エピソード検索です。すべて正規化されたJSONとして、公開カタログデータに対応します。
チャートの順位を時系列で追跡できますか?
はい。国別・カテゴリ別にチャートエンドポイントを定期的に再取得し、各スナップショットを保存すれば、公式APIが直接は提供できないランク追跡の時系列を構築できます。
文字起こしや非公開のアナリティクスは取得できますか?
いいえ。エピソードの文字起こしや番組ごとの非公開アナリティクスは、自分が所有する番組向けのApple Podcasts Connectの領域です。これが返すのは公開のページデータのみです。