Bing Search API + Node.js で画像検索する
こんにちは、まちいろの工藤 (@macococo) です。
前回 Slack bot の作成方法をご紹介しましたが、試しに bot に画像検索機能を付けてみようと、画像検索 API について調べてみました。
画像検索といえば Google ですが、Google Custom Search API の無料枠が 100件/日と結構厳しい制限があります。
そこで今回は Bing Search API を使って、画像のキーワード検索を行う手順をご紹介します。
Bing Search API であれば、無料で 5000件/日まで利用することができます。

事前準備
- Microsoft アカウントを作成する
- Azure Marketplace にて、
5000トランザクション/月のプランにサインアップする - Azure Marketplace の[マイアカウント]-[アカウントキー]ページにアクセスし、アカウントキーを取得する
Bing Search API を実行してみる
取得したキーを使って、実際に API を実行してみます。
今回は Node.js の node-bing-api というライブラリを利用します。
$ npm install node-bing-api --save
実際のコードは以下のようになります。 実行すると、デフォルトでは最大50件の結果が返ります。
var Bing = require('node-bing-api')({ accKey: '取得したアカウントキー' }); Bing.images('検索キーワード', { market: 'ja-JP', imageFilters: 'Size:Medium', adult: 'Strict' }, function(error, res, body) { console.log(body.d.results); });
Marketplace のサービスエクスプローラー
API にどのようなオプションを渡せるかどうかは、Marketplace のサービスエクスプローラーで確認することができます。
実際にどんな画像が返ってくるか、事前に確認できて良いですね。
https://datamarket.azure.com/dataset/explore/bing/search

まとめ
Bing Search API、思っていた以上に簡単に利用できました。
無料枠の範囲も広いので、社内のちょっとした用途で利用する分には良さそうです。