Tony Wang7 分で読めますTicketmasterのスクレイピング方法【2026年版】(API & Python)
Ticketmaster公式Discovery APIは実在し無料 — 1日5,000件の上限、対応範囲、そして実際のJSON例付き構造化API代替案を解説。
Ticketmasterは、このシリーズの中でも実際に無料でセルフサービス型の公式APIを持つ数少ないプラットフォームの一つです — Discovery APIはイベント、会場、アトラクションをカバーしており、単発の検索ツールとしては十分寛容な無料クォータがあります。したがって正直な問いは「Ticketmasterにはそもそも API があるのか」ではなく、「Ticketmaster自身のキーとクォータだけで運用するより、構造化されたマルチプラットフォームAPIの方が理にかなうのはどんなときか」です。このガイドではDiscovery API、ノーコードの選択肢、そして構造化APIを取り上げ、それぞれの法的な現実を最初に明らかにします。
なぜTicketmasterをスクレイピングするのか?
Ticketmasterのイベント、会場、アーティストのデータはライブエンターテインメント関連ツールの大半の基盤となっており、次のような用途を支えます。
- イベントの発見とモニタリング — アーティスト、チーム、会場について、新規イベントの掲載、オンセール開始時刻、プレセール期間を追跡できます。
- ツアーとアーティストのトラッキング — アトラクション(アーティストやチーム)の全イベントスケジュールを都市をまたいで追跡できます。
- 会場のリサーチ — 正規の会場住所、地理座標、収容人数に関連するメタデータを、リスティングやローカルイベント向けのプロダクトに付加できます。
- 都市とカテゴリーによる閲覧 — 都市別、または探索カテゴリー(音楽、スポーツ、アート&シアター)別に「開催中のイベント」画面を構築できます。
- クロスプラットフォームのイベントリサーチ — 一つのソースだけに頼るのではなく、スポーツについてはTicketmasterの掲載情報をESPNのスケジュールと組み合わせたり、アーティストやツアーについては検索需要と組み合わせたりできます。
Ticketmasterをスクレイピングするのは合法か?
選択肢1: Ticketmaster自身のDiscovery API(そして実際の制限)
TicketmasterのDiscovery APIは実在し、実際に機能します。無料アカウントに登録してAPIキーを取得し、直接呼び出せます — スクレイピングは不要です。
curl "https://app.ticketmaster.com/discovery/v2/events.json?keyword=ariana%20grande&apikey=YOUR_TICKETMASTER_API_KEY"
これはTicketmaster自身のイベント検索結果を返します — Discovery APIのドキュメントによれば、priceRanges配列(通貨、最小、最大)と、Ticketmaster自身のプライマリ在庫を通じて販売されるイベントの公開オンセール/プレセール日時とステータス(onsale、offsale、canceled、postponed、rescheduled)を含むsalesオブジェクトも含まれます。つまり、価格とセールステータスは無料APIから締め出されているわけではありません — これは推測で済ませず自分で確認する価値があります。誤って思い込みやすい点だからです。
より大規模なパイプラインでは、その重要性が薄れ始める点があります。
- デフォルトのクォータは実在するが有限。 デベロッパーポータルによれば、デフォルトは1日5,000APIコール、最大で秒間5リクエストです — 単一のアーティストトラッカーには十分寛容ですが、多数のアーティスト、都市、会場をスケジュールに沿ってポーリングするには厳しくなります。より高いクォータはケースバイケースでリクエストにより利用可能です。
- プラットフォームごとに別々のアカウント、キー、クォータが必要。 プロダクトがESPNのスケジュールや他のイベント/会場ソースも取得する場合、Discovery APIはさらにもう一つの認証モデル、もう一つの日次クォータ、もう一つのレスポンス形式として、他と並行して管理する必要があります。
- あくまでTicketmaster自身の在庫ビュー。 Discovery APIの価格とセールステータスのフィールドは、Ticketmaster自身のプライマリセールを反映したものであり、二次流通/リセール市場やすべてのプロモーターの完全な内部状態を反映しているわけではありません — 自分のユースケースが実際に何を必要としているか照らし合わせて確認する価値があります。
選択肢2: ノーコードツール
Ticketmaster関連のワークフロー向けに、マーケットプレイスのスクレイパーアクターやノーコードコネクタが存在します — その多くはDiscovery APIをラップするか、上記の利用規約が明示的に制限しているサイト自体への直接アクセスを試みます。単発の取得やスプレッドシートへのエクスポートには問題ありませんが、スケジュール実行するパイプラインには、本来直接呼び出せるはずのAPIの上にもう一段の間接層を追加することになり、マルチプラットフォームのスキーマ問題も解決しません。
選択肢3: 構造化されたTicketmaster API(Crawlora経由)
Ticketmasterを他のプラットフォームと並べて一つの正規化された形で扱いたい場合 — 同じ認証ヘッダー、一貫したJSON、別途構築が必要な日次クォータ管理もなし — Ticketmasterスクレイピング APIがそれを提供します。キーワードでイベントを検索するには次のようにします。
curl "https://api.crawlora.net/api/v1/ticketmaster/search-events?q=ariana+grande" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "ariana grande",
"page": 0,
"sort": "relevance",
"total": 28,
"count": 1,
"events": [
{ "id": "04006319DDEA2CD5", "title": "Ariana Grande - The Eternal Sunshine Tour", "venue": { "id": "32882", "name": "United Center" } }
]
}
}
続いて会場のidを解決し、Pythonで会場詳細を取得します。
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/ticketmaster"
hits = requests.get(f"{base}/search-events", headers=h, params={"q": "ariana grande"}).json()["data"]["events"]
venue_id = hits[0]["venue"]["id"]
event = requests.get(f"{base}/event", headers=h, params={"id": hits[0]["id"]}).json()["data"]["event"]
venue = requests.get(f"{base}/venue", headers=h, params={"id": venue_id}).json()["data"]["venue"]
会場詳細は正規化されたJSONです(実際のフィールド — ドキュメントを確認してください)。
{
"code": 200,
"msg": "OK",
"data": {
"venue": {
"id": "32882",
"name": "United Center",
"address": "1901 W Madison",
"city": "Chicago",
"state": "IL",
"postal_code": "60612",
"country": "US",
"latitude": 41.881244,
"longitude": -87.674274,
"time_zone": "America/Chicago",
"info": [{ "name": "Box Office", "text": "Open event days" }]
}
}
}
イベント詳細は、会場、アトラクション、分類(セグメント/ジャンル/サブジャンル)、そしてsold_out、limited_availability、ticketing_status、onsale_time、presales(名前、開始/終了時刻)といった可用性シグナルを、正規化されたブール値と文字列としてid1件につき1コールで返します。/ticketmaster/attractionと/ticketmaster/attraction-eventsはアーティストとチームについて同様のことを行い、/ticketmaster/discover-citiesと/ticketmaster/discover-city-eventsは都市別に閲覧でき、/ticketmaster/discover-categoriesと/ticketmaster/discover-category-eventsはセグメント(音楽、スポーツ、アート&シアター)別に閲覧でき、/ticketmaster/suggestは高速なオートコンプリート候補を返します。イベント(または会場、アトラクション)ごとに1行を保存し、スケジュールを組んで再実行しましょう。
収集できるもの
公開されているTicketmasterのカタログデータです。イベント検索と詳細(タイトル、開始時刻、タイムゾーン、会場、アトラクション、分類、通貨、sold_out/limited_availability/ticketing_statusフラグ、オンセールとプレセールのタイミング、座席表URL)、アトラクション詳細とアトラクションの全イベントリスト(アーティスト、チーム、分類)、会場詳細(住所、市、州、郵便番号、国、緯度/経度、タイムゾーン、来場者向け情報)と会場の全イベントリスト、都市による閲覧(国別のページ分割された都市リスト)と都市別イベント、探索カテゴリー(セクション別にページ分割されたセグメント/ジャンルの階層)とカテゴリー別イベント、そしてオートコンプリート候補(クエリ、タイプ — アーティスト、会場、イベント)です。
制約とよくある課題
- どの入口を使っているか把握する。 Ticketmaster自身のDiscovery APIは、直接のAPIアクセスとして無料かつ正当です。一方、ticketmaster.comのウェブサイト自体をスクレイピングすることは、いずれにせよ利用規約に明確に違反します。
- 正規化されたイベントデータには数値の価格帯がありません。
priceRanges(最小/最大)を返すTicketmaster自身のDiscovery APIとは異なり、このAPIのイベント詳細はチケット価格ではなく可用性シグナル(sold_out、ticketing_status、onsale_time)を表示します — 数値の価格情報が必須要件の場合はドキュメントを確認してください。 - ページネーションには上限がある。
search-eventsのページは0始まりで0〜49までなので、単一のクエリは最大でも約50ページの結果までです。すべてをページ送りしようとするのではなく、キーワード、都市、カテゴリーで絞り込みましょう。 - レコードごとのファンアウト。 イベント、アトラクション、会場の完全なレコードはid1件につき1コールです。カタログを構築するには、検索、都市、カテゴリーのエンドポイントからidを反復処理する必要があります。
- 公開データのみ。 これは公開されて掲載されている情報を収集するものであり、Ticketmasterのサイト制限や、大量利用・リセール用途に関する自社APIのライセンス条項を回避する手段では決してありません。
どこで使われるか
- ツアーとアーティストのトラッキング — アーティストやチームのイベントスケジュールを会場や都市をまたいで監視できます。
- ローカルの「開催中」画面 — 都市別またはカテゴリー別のイベント探索を構築できます。
- 会場のリサーチ — 正規の住所と地理データをローカルイベントやリスティング向けのプロダクトに付加できます。
- クロスプラットフォームのイベントリサーチ — スポーツについてはTicketmasterの掲載情報をESPNのスケジュールと組み合わせたり、アーティストやツアーについてはGoogle Trendsの検索需要と組み合わせたりできます。
出典
収集を始める
まずは無料でお試しください: 任意の公開URLを無料ウェブスクレイパーに通すか、アンチボットチェッカーでサイトがボットをブロックするかどうかを確認できます — サインアップ不要です。
検索、イベント、会場のエンドポイントをプレイグラウンドで試し、APIドキュメントでスキーマを確認し、料金をご覧ください。Ticketmasterは何がどこで販売中かを教えてくれます。ESPNはチケット制の試合のすぐ隣にあるライブスポーツのスケジュールをカバーしており、MLBのスクレイピング方法は同じ野球の試合のスケジュール面を専門にカバーし、Google Trendsはアーティストやツアーの検索需要と実際のチケット検索の関心を組み合わせます。あわせてウェブスクレイピングAPIの選び方とウェブスクレイピングは合法かもご覧ください。
よくある質問
Ticketmasterには公式APIがありますか?
はい。Ticketmasterはdeveloper.ticketmaster.comで無料・セルフサーブのDiscovery APIを運用しており、キーを登録すればイベント・会場・アーティストについて直接呼び出せます。デフォルトの上限は1日5,000コール、秒間最大5リクエストです。
Ticketmasterのウェブサイトをスクレイピングするのは合法ですか?
Ticketmasterの利用規約はticketmaster.comサイト自体でのボット、スパイダー、データマイニングツールを禁止しています。プログラムによるアクセスの正規の経路はDiscovery APIです — これは法的助言ではないため、自分のユースケースについて規約を確認してください。
Discovery APIにはチケット価格が含まれますか?
はい — Discovery APIのイベントはpriceRanges配列(通貨、最小・最大)と、Ticketmaster自身の主要在庫の発売開始日・先行販売日・ステータスを含むsalesオブジェクトを返します。制限されていると思われがちですが実際は違います。
TicketmasterのDiscovery APIのレート制限はどれくらいですか?
開発者ポータルには、デフォルトで1日5,000APIコール、秒間最大5リクエストという上限が記載されており、依頼によりケースバイケースでより高い上限も利用可能です。
構造化Ticketmaster APIは公式Discovery APIに何を付け加えますか?
Ticketmasterや他のプラットフォームにまたがる正規化されたスキーマと単一の認証ヘッダーを提供し、それぞれ別々にキーとクォータ管理を構築する必要をなくします。さらに単一プラットフォームの無料枠を超えるボリュームにも対応します。
構造化Ticketmaster APIで数値のチケット価格は取得できますか?
このAPIの正規化されたイベントデータからは取得できません — sold_out、ticketing_status、onsale_timeといった在庫状況シグナルを表示します。数値価格が必要な場合は、Ticketmaster自身のDiscovery APIのpriceRangesフィールドが情報源になります。
どのTicketmasterデータを収集できますか?
イベント検索・詳細、アトラクション(アーティスト/チーム)の詳細とイベントリスト、会場の詳細とイベントリスト、都市・カテゴリのブラウジング、オートコンプリート候補 — すべて公開のカタログデータです。