こんにちは。ドワンゴでエンジニアをしている伊藤です。
今回は「Mashup Awards 9」と関連イベントである「ソーシャルかぶコン2013」に弊社が提供している「niconicoコンテンツ横断検索API」について紹介します。

Mashup Awardsは、リクルートメディアテクノロジーラボが主催するWebアプリ開発コンテストで、各企業から合計200以上のAPIが提供され、500程度の作品が応募されています。毎年夏から秋にかけて開催され、今回で9回目になります。

ソーシャルかぶコン2013は、東京証券取引所が主催する株式投資についてプロモーションするコンテストです。コンテスト部門には、アプリ開発部門、アプリアイデア企画部門、プロモーション部門があり、それぞれから優秀作品が選ばれます。

提供API概要

弊社が提供するAPIは、下記の2つです。

コンテンツ検索API
 キーワードやフィルタ条件を指定して、niconicoのコンテンツ(動画、生放送、静画等)を検索できます。
関連タグ検索API
 キーワードを指定して、関連するタグを検索できます。

動画検索の例

詳細は提供APIガイドを見ていただくとして、検索クエリの例を1つ紹介します。

動画を対象に、タイトルに「初音ミク」が含まれていて、音楽ダウンロード可能なコンテンツについて、視聴数の多い順でソートし、上位3件の情報(コンテンツID, タイトル, 視聴数)を取得するクエリを例に、cURLでのPOST、レスポンスについて例示します。

検索クエリ

{
  "query":"初音ミク",
  "service":[
    "video"
  ],
  "search":[
    "title"
  ],
  "join":[
    "cmsid",
    "title",
    "view_counter"
  ],
  "filters":[
    {
      "type":"equal",
      "field":"music_download",
      "value":true
    }
  ],
  "from":0,
  "size":3,
  "sort_by":"view_counter",
  "issuer":"apiguide",
  "reason":"ma9"
}

cURLでの実行例

curl -v "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"query":"初音ミク","service":["video"],"search":["title"],"join":["cmsid","title","view_counter"],"filters":[{"type":"equal","field":"music_download","value":true}],"from":0,"size":3,"sort_by":"view_counter","issuer":"apiguide","reason":"ma9"}' http://api.search.nicovideo.jp/api/

検索結果

{"dqnid":"e542b31f-036d-49fb-a0b5-2925b6cb0b6c","type":"stats","values":[{"_rowid":0,"service":"video","total":10660}]}
{"dqnid":"e542b31f-036d-49fb-a0b5-2925b6cb0b6c","endofstream":true,"type":"stats"}
{"dqnid":"e542b31f-036d-49fb-a0b5-2925b6cb0b6c","type":"hits","values":[{"_rowid":0,"cmsid":"sm16539814","title":"【初音ミク・巡音ルカ】リンちゃんなう!【鏡音生誕祭2011】","view_counter":1983881},{"_rowid":1,"cmsid":"sm2972481","title":"【初音ミク】トルコ行進曲 - オワタ\(^o^)/【アレンジ】","view_counter":1363194},{"_rowid":2,"cmsid":"sm17239967","title":"[初音ミク] paranoia [オリジナル]","view_counter":920589}]}
{"dqnid":"e542b31f-036d-49fb-a0b5-2925b6cb0b6c","endofstream":true,"type":"hits"}

サンプルアプリ - niconicoタグ回遊

コンテンツ検索APIを使った簡単なアプリを作ってみました。
niconicoのコンテンツをタグの繋がりで辿れるアプリです。

↓ スクリーンショットをクリック
c859981c9b239e7fc21dcaf3f970166ac6a00edc

検索クエリ解説

「オリンピック」という文字列をタグに含む動画を視聴数順に18件取得しています。
タグのリンクをクリックすると「オリンピック」の部分を選択したタグの文字列に置き換えて、新たに動画情報を取得しています。

{
   "query":"オリンピック",
   "service":[
      "video"
   ],
   "search":[
      "tags"
   ],
   "join":[
      "cmsid",
      "title",
      "tags",
      "thumbnail_url"
   ],
   "sort_by":"view_counter",
   "order":"desc",
   "from":0,
   "size":18,
   "issuer":"sample",
   "reason":"ma9"
}

最後に

MA9ではハッカソンで優勝すると1st Stageはパスして、2nd Stageに進めます。
ちなみに、2nd Stageで勝ち残れば、残すは授賞式当日のFinal Stageのみ!
ハッカソンは各地で開催されるので、是非お近くで開催されるハッカソンにご参加ください。

全国各地でアイデアソン&ハッカソンが開催中
http://mashupawards.tumblr.com/

私は10月14日(祝), 21日(月)に開催される「#MA9 Mashup Camp福井」に技術メンターとして参加します。日程の一部のみの参加もOKらしいですよ。
http://atnd.org/events/44283

提供APIを利用した作品の中から「協力企業賞」受賞作品が選出されますので、是非APIの利用をご検討ください。
MA9の応募締め切りは2013年10月28日、ソーシャルかぶコンは10月31日ですので、ご応募はお早めに。