iTunes Store/App Store Search API を使ってみる


iTunes Store, App Store の Search API の使い方の説明です (2011/8/13 新規作成)。

API / 基本形 / / 戻る / トップページ


Search API

iTunes Store, App Store, iBookstore, Mac App Store では、 その項目を検索する Search API が提供されています。 アフィリエイト用に用意されているようですが、アフィリエイトとは関係なく、 登録不要で使える便利な API です。 iTunes の曲や、iPhone/iPad/iPod touch 用の iOS アプリ、 Mac App Store のアプリを検索して、詳しい情報が取得できます。
 
検索しても日本語の情報が少なかったので、 自分で調べた情報をここにメモがてら、残していこうと思います。 拙作の bgmTunes で これらの機能を使っています。

API 呼び出しの基本形

Search API を呼び出すのは簡単で、REST API で呼び出し、 JSON フォーマットのデータを受け取ります。 そのため、JavaScript を使って Web ページから呼び出すこともできますし、 適当なプログラミング言語から http 接続を使って呼び出すことも簡単です。
 
Search API の URL は http://itunes.apple.com/search? となります。 引数の指定で必須なのは、検索語を示す term と、国を示す country のみです。 API Key などは必要ありません。 なお、http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStoreServices.woa/wsSearch でも呼べますが、非公式な指定のようです。
 
引数 term に日本語を渡したい時は、UTF-8 で文字列を用意して、 URL エンコーディングをすれば良いです。 country には、日本なら JP を渡します。
何を探したいかは、引数 entity で指定します。 曲なら song, album、アプリなら software, iPadSoftware, macSoftware などを 指定します (例:「Beatles」の曲を検索iOS アプリの「ゆれくる」を検索)。
 
もう一つ、ID を指定して情報を引っ張ってくる lookup もあります。 URL は http://itunes.apple.com/lookup? となります。 iTunes ID であれば、引数 id にその値を渡すだけです (カンマ区切りで 複数指定可能)。
 
公式ドキュメントには明示されていませんが、lookup は search と 同じ引数指定ができるようで、逆に言えば指定をしないと 米国版の情報を取りに行ってしまいます。 例えば、太鼓の達人 の情報を取ろうとして、 http://itunes.apple.com/lookup?id=366956158 と指定しても国内でしか提供されていないこのアプリの情報は取れません。 そのため、 http://itunes.apple.com/lookup?country=JP&id=366956158 と引数 country を指定すれば 情報が取れるようになります。

API 以外で情報を取る方法

Search API は細かい指定ができないため、目的の情報を取るのに 他の機能を利用した方が便利なことがあります。
 
各ジャンルの人気順の情報を取るなら、 RSS Generator を 使うと良いです。 その名の通り RSS でデータが得られるため、 XML でパースすれば目的の情報が取れます。
 
iTunes のデータベースの中身を丸ごと提供する Enterprise Partner Feed もあります。 全曲・アプリに対して処理する場合に便利ですが、 パートナーシップを結ぶ必要があり、主に法人向けと思われます。

戻る