APIとは、「Application Programming Interface」 の略で、企業や個人が作成したプログラムの機能やデータを外部から使えるようにする窓口です。
各社の様々な機能でAPIが提供されており、Googleの提供するAPIを利用してGoogle Mapの地図をウェブサイトに埋め込んだり、Twitterの提供するAPIを利用して定期的に「髪の毛が後退しているのではない。 私が前進しているのである。」と言った名言をツイートする機能が簡単に実現できるようになっています。
私も最近知ったのですが、世の中に存在する数多くのAPIをまとめるAPIの墓場、もとい市場がこの世には存在しています。
その名も「Rakuten RapidAPI」!あのRakuten(楽天)が提供するAPIの市場です。
API利用経験の少ない私ではありますが、MicrosoftのComputer Visionを使うために利用したところ、メリットもかなりあるのでは(特に管理面で)と感じましたのでご紹介させていただきます。
なお、Rakuten RapidAPIはAPI利用者だけではなく、APIを提供している方々にも魅力的なサービスだと思われますが、本記事では利用者の目線で紹介しています。
Rakuten RapidAPIとは
Rakuten RapidAPIは、皆さんご存じの楽天が米国でAPIマーケットプレイス「RapidAPI」を提供するR Software, Inc.社と戦略パートナー契約を締結し、アジア地域に向けて放たれた世界最大級のAPIマーケットプレイスです。
ウェブサイトには以下のような数字が並んでいます。(2020年2月現在)
- 10,000API
- 数十億のAPIコール/月
- 100万人以上の開発者
今まで英語しかなかったAPIマーケットプレイスを日本語化して展開し、ちゃっかりRakutenを名前に冠するという、そういったものになってます。なにはともあれ、英語に抵抗のある開発者にとって万歳のサービスです。
Rakuten RapidAPIの良いところ
まだ1つしかAPIを利用していない身分で何ですが、使っていいなと思った点を挙げます。
アカウントが1本化できる
通常APIを使う際は、そのAPIを提供している企業/サービスでアカウント登録が必要になります。しかし、Rakuten RapidAPIを利用することでアカウントやブックマークサイトが増えるのを抑えられます。
APIが一定回数のリクエストまで利用料金がかからないフリーミアムモデルを採用している場合はクレジットカードの登録が必要となりますが、クレジットカードを登録する先が減らせるのもメリットとなります。
また、統合されたダッシュボードにより、利用しているAPIの状況もまとめて確認することができるので効率的な管理が行えます。
「1つのSDK、1つのAPIキー、統合された1つのダッシュボードが実現できます。」が彼らの謳い文句です。
ブラウザ上で試せる
ブラウザ上でテストリクエストを送ることができ、どのようなレスポンスが得られるのかを試せます。
例えば、Microsoft Computer Visionの場合はウェブ上の画像のURLを渡すことでどのような形式でどのようなレスポンスが得られるかと前もって確認できます。
コードライブラリが豊富
APIをサービスに組み込む際に必要となるコードが複数言語で用意されています。このライブラリを使うことによって簡単にサンプルプログラムを組むことができました。
Microsoft Computer Visionを例に取ると、15種類の言語のコードライブラリが用意されていました。
サポート対応
ウェブサイトの表記に気になる部分がありメールで問い合わせをしたところ、迅速に丁寧な回答をもらえました。もちろん日本語でOKです。
まだ使う機会がないですが、チャットサポートもあります。
Rakuten RapidAPIのイマイチなところ
まだ1つしかAPIを利用していない身分で何ですが、現状がイマイチなのでここが良くなればもっと良くなるという点を挙げます。
リクエスト回数の管理が大変
Rakuten RapidAPIを経由せずにAPIを利用する場合も同じ状況かと思いますが、APIのリクエスト回数の管理は大変です。特にフリーミアムモデルを採用しているAPIでは、一足間違えばお金が発生してしまうのでリクエスト回数の管理は気を遣う部分です。
料金プランにハードリミットと記載のあるものは無料の上限で使えなくなる設定が可能らしいのですが、Microsoft Computer Visionはハードリミット設定がありませんでした。(利用者自身がダッシュボードにて確認)
「API利用が割当利用量の85%に達しています」というメールをもらえたので、親切ではあるのですが、すべてのAPIで ハードリミット設定ができると開発者は安心して利用ができるので是非ともそうなっていって欲しいです。
日本語化のクオリティが低い
Microsoft Computer Visionをいざ使おうと料金プラン見たところ、以下のような表示がされてました。
$5,000 / 月!!!???
そして、一番料金の高いプランでは以下のようになってました。
$200,000 / 月!!!!!!!!????????
英語版を確認したところ、問題なかったのでほぼ間違いなく誤記なんだろうけど場所が場所だけに怖い。高額料金オソロシイ…。
結局サポートに連絡してみたら誤記(「$」ではなく「回」。どんな間違いじゃ!)ということでしたが、英語版から日本語版を作っていることは間違いなく、そのクオリティも結構怪しいです。日本語版で「ん?」と感じることがあった場合は、英語版を確認してみるといった対応が必要そうです。
コードライブラリがうまく動かなかった
最後に致命的なイマイチポイントです。
コードライブラリが用意してあって、簡単にサンプルプログラムが組めるのを良いところとして書きましたが、Microsoft Computer Visionではこのコードライブラリ内に間違いがありました。
コピペしてうまくいかず、コードを確認したところ「,」を「%252C」にする処理が入っていました。これを「,」に戻したところ、コードがうまく動くようになりました。(あくまで私が利用したPHP cURLの場合です。)
簡単に見つけられる場所だったのでそれほど時間は取られませんでしたが、完成度としてはイマイチと言わざるを得ません。私が使った特定APIの特定言語のみなのかもしれませんが、こういうこともありますよという情報としてお伝えしておきます。
私が利用したAPIと実現サービス
Rakuten RapidAPIを通じて利用したAPI、それを利用して作成したサービス一覧です。(順次更新)
Microsoft Computer Vision
画像解析APIです(Rakuten RapidAPIページ)。
パンダ画像をアイキャッチに使っている記事をツイートしたときに自動でリツイートするサービス(PP4RT)に使用しました。
まとめ
様々なサービスのAPIが提供されていることで、個人がサービスを作成する閾値を下げてくれているように感じています。私もMicrosoft Computer Visionを利用したサービス(?)を作成しましたが、拍子抜けするほど簡単に作れました。本当にAPI様様です。
そんな個人の強い味方であるAPIをマーケットプレイスとして集めたRakuten RapidAPIは非常におもしろいサービスだと思います。
人気のあるAPIのリストを見たりするだけでも「APIでこんなことができるのか」とか「こういうものを作れば面白いのでは?」など色々妄想が拡がります。
世の中にAPIが増えれば増えるほど、その管理は煩雑になります。Rakuten RapidAPIの活躍の場も拡がっていくことでしょう。
それにしても楽天さん、いろんなところに顔を出しますね。
コメント