Web API について厳格な定義はないが、広義にはHTTPプロトコルを用いてネットワーク越しに呼び出すアプリケーション間、システム間のインターフェースのこと。
APIの機能はわかっているけれども、その中身の実際の動作は詳しくわからない(知らなくてもよい)機能の塊を、外部から呼び出す仕様のことを指す。また、上記図の右側の「呼ばれる側のシステム」そのものをWeb APIと呼ぶこともある。
※APIとはApplication Programming Interfaceの略。
Web APIの重要性は年々高まっている。
※以下の図は
オージス総研グループ のもの
Web APIの歴史
古くから知られており非常に普及したWeb APIとして、2003年に公開されたAmazonの
Product Advertising API がある。
※ちなみに、当時はAWS(Amazon Web Service)という言葉そのものがProduct Advertising APIのことを意味していた。
このAPIはアフィリエイトと結び付けられており、これを使うことで誰もが簡単にAmazonの商品を自分のサイトから販売し、その収益の一部を得ることができたという点からインターネットの世界に大きなインパクトを与えた。これは企業や個人の開発者が簡単に収益を上げる方法として非常に注目されて普及し、更にブログの普及と相まってAmazonで商品を購入するためのリンクがいたるところで貼られるようになり、結果としてAmazonの収益を大きく押し上げる結果になった。
もう1つの歴史としてTwitterがある。Twitterは2006年からAPIを公開していた。Twitterはかなりシンプルなサービスだったため、APIを使うことでほとんどの操作を行うことができた。例えば、開発者がより使いやすさを追求したTwitterクライアントを作ったり、Twitterに投稿されたデータを使って分析を行うサービスや、botと呼ばれる機械的に生成したメッセージを投稿するシステムなど、さまざまな周辺サービスが開発された。それにより、Twitterはほとんどの情報が集まる場になっていき、巨大なエコシステムができあがった。
Amazon、Twitterともに、自分たちのデータをAPI経由で無料で提供しているので損しているようにも見えるが、新しいシステム、サービスを公開する力を持った開発者にAPIを公開することで、彼らがサービスに付加価値を与えてくれて、コアとなる自分たちのサービスがより発展する力をもらうことが出来た。
Web APIでの利用を前提としたサービスの登場
Twilio のようなAPIの利用を前提としたサービスも数多く登場している。コストだけを見るとこうしたサービスは自前で運用するよりも割高に見えるが、自前で運用した場合に発生する人件費や開発にかかる時間等を考えると割安であり、急速に利用されるようになってきている。その一翼をWeb APIが担っているわけである。
スマホアプリの登場
スマホアプリがサーバと通信をする場合、Web APIを利用するケースが最も一般的である。この場合、APIは自分たちが公開するスマホアプリとサーバを繋ぐためのもので一般には公開されないものも多いが、HTTPを利用してインターネット経由でアクセス可能なAPIを作るという意味では、一般公開されるWeb APIとなんら違いはない。このようにスマホアプリの登場もWeb APIの重要性の一因となっている。
APIエコノミーという考え方の登場
Web APIを公開することで外部サービスとの連携を容易にして新たな価値が生まれ、サービスやビジネスが発展していくことは「APIエコノミー」と呼ばれ、近年非常に注目されている。APIエコノミーの急速な広がりにより、APIそのものに注目したサービスも登場している。
今、起こりつつあるAPIエコノミーとか何か?
繋ぐことで生まれる「APIエコノミー」の衝撃
IBM - API エコノミー - Japan
また、Apigeeの戦略担当副社長であるSam Ramjiによると、今や自らのWebサイトで直接サービスを行う「直接販売」から、Web APIを公開しそれを複数組み合わせたアプリケーションがユーザーにサービスを行う「間接販売」モデルになったと述べている。つまり、サービスの価値を直営店(自分のサービス)で提供するだけでなく、小売店(他のアプリケーション)で利用できるようにしなければ、自社のサービスを拡販していくことは難しい世の中になってきているということ。そういったことからも、サービスを活性化させていくにはAPIの公開は非常に重要である。
ただ、日本ではまだAPIを公開するという潮流は本格化はしていない。
マイクロサービスアーキテクチャという考え方の登場
マイクロサービスアーキテクチャ の台頭により、モノリシックなシステムをマイクロサービス化し、各マイクロサービスをWeb APIで連携させるようなリプレイスが近年増えている。こういった流れもWeb APIの重要性の一因となっている。
Web APIで何を公開するべきか
何を公開するかの考え方の軸として、APIを公開することで自らの利益に貢献できるものは何か?を軸にすると良い。何らかのサービスを運営しているなら、そのサービスのコアとなっている価値ある部分を全て公開するべきである。例えば、ECサイトを運営している場合、商品の検索、購入、不動産情報サイトを運営している場合、物件検索、絞り込み、間取りの情報取得等がそれらにあたると思う。このようにそのサービスが価値を生み出している部分を公開するべきである。ただし、個人情報の類や業務上守秘義務があるような情報は当然ながら公開は控えるべきである。
Web APIを公開することのリスク
APIに対して一定時間内に多くのアクセスがあると、負荷がかかり過ぎてサーバがダウンしてしまう可能性がある。サーバがダウンしAPIが利用できなくなるということは
可用性 の観点から避けるべきである。こういったリスクに対して、多くのAPIがレートリミット(一定時間あたりにAPIを使用できる回数)を設けている。その制限を超えてAPIを利用する場合には、提携関係を結んで利用料を払うことで制限なく利用させたりしている。
Web APIを公開することで得られるもの
Web APIを公開することで、様々な付加価値を他の企業や個人が提供してくれるようになり、運営しているサービスの価値や情報の質が上がる可能性が十分にある。例えば、個人や企業で何らかのサービスを運営していると、新しい機能等のアイデアが色々と出てくるが、工数や予算の関係上、必ずしもそれらの機能を全部実装できるわけではない。しかしAPIを公開すれば、思いついてはいたが優先順位を下げていた機能や、全く思いつきもしなかった新しい発想の機能を、他の誰かがAPIを利用して作ってみてくれる可能性がある。
Web APIを美しく設計する重要性 設計の美しいWeb APIは使いやすい
APIを作り公開する場合、そのAPIを利用するのは自分ではないケースが多い。APIを設計するからには多くの人に利用してもらいたいので、そのためにもAPIを利用する側にはストレスなく使ってもらえるよう、使いやすさを意識する必要がある。
設計の美しいWeb APIは変更しやすい
Webサービスやシステムはどんどん進化していく。公開した当時と同じ状態のまま2年も3年も運用が続けられるケースは少ない。進化していけばインターフェースであるAPIも変化を余儀なくされる。ただ、APIは自分たちと関係ない第三者が使っている場合も多く、その場合いきなりAPIの仕様が変わってしまうと、そうした人たちの作ったシステムやサービスがいきなり動かなくなる、といったことも考えられる。こうした事態はAPIを提供する側としては避けなければならない。そのためにもAPIの変更をいかに利用者に影響なく変更できるかを意識する必要がある。
設計の美しいWeb APIは頑強である
Web APIはインターネットを通じて提供するため、誰でもアクセス可能になってしまう。そのため、セキュリティの問題が必ず発生する。APIといえど、ウェブサイトと同じHTTPを利用している以上、ほぼ同等のセキュリティの問題を意識する必要がある。
設計の美しいWeb APIは恥ずかしくない
Web APIは通常のウェブサイト等とは異なり、主に開発者が目にするものである。開発者は他の開発者を、開発したコードやインターフェース等の成果物で判断する。そのため、開発者目線で美しくない、センスの疑われるAPIを公開してしまうと、そのサービスの開発者の技術レベル、そのサービス、APIを提供している会社そのものが疑われる。そういった意味で恥ずかしくないAPIを意識する必要がある。
Web APIの種類
XML-RPC

SOAP

2000年代前半まで主流だったWeb API。SOAPのようなXMLベースで仕様が複雑なものは近年ではあまり使われなくなってきている(最近はLL(Lightweight Language)が主流となってきており、その潮流もある)

REST

最近ではWeb API = REST、なくらい現在主流なWeb API。
関連 
リソース指向アーキテクチャ(ROA)とは何なのか
Web API: The Good Parts
APIファーストで開発する7つのメリット
株式会社アルス・ウェアー 受託開発とシステムエンジニアリングサービス(SES)を中心とした少数精鋭エンジニアチームです
http://www.arsware.co.jp/
  • Web APIで何を公開するべきか
  • Web APIを公開することのリスク
  • Web APIを公開することで得られるもの
  • Web APIを美しく設計する重要性
  • Web APIの種類
  • Google Developers  提供:GoogleAndroid、iOS、Web環境での開発キットを提供。Google Play、Google+、Maps、YouTube、Books、Gmail、Cloud などのAPIも多数公開
    Google Cloud  提供:Googleコンピューティング、ストレージ・データベース、ネットワークといったインフラから機械学習による分析まで様々な機能を提供
    Microsoft Azure  提供:Microsoftコンピューティング、ストレージ・データベース、ネットワークといったインフラから機械学習による分析まで様々な機能を提供
    Bing for partners  提供:Microsoft地図、音声、翻訳、検索、Web管理、広告などのAPIを公開
    Amazon Developer  提供:Amazonアプリ&ゲーム、AWS、サービス&API、デバイスなどアマゾン関連の開発をするための機能・サービスを公開している
    Amazon Web Services  提供:Amazonコンピューティング、ストレージ・データベース、ネットワークといったインフラから機械学習による分析まで様々な機能を提供
    IBM Marketplace  提供:IBMコンピューティング、ストレージ・データベース、ネットワークといったインフラから機械学習による分析まで様々な機能を提供
    docomo Developer support  提供:NTT docomo画像認識や音声認識、文字認識、シナリオ対話、知識Q&A、トレンド記事抽出、地図、決済など様々なAPIを公開
    gooラボ  提供:NTTレゾナント形態素解析、キーワード・固有表現の抽出、ひらがな化、時刻情報正規化など様々なAPIを公開
    Yahoo! デベロッパーネットワーク  提供:Yahoo Japan検索、地図、オークション、ショッピング、知恵袋などYahoo! Japanが提供するサービスに関連するAPIを公開
    Rakuten Developers  提供:楽天楽天市場、ブックス、オークション、トラベル、ブックマーク、レシピ、GORAなどのサービスに関連するAPIを公開
    Recruit Web Service  提供:リクルートケイコとマナブ、R25、エイビーロード、ホットペッパー、カーセンサーなどリクルートが提供するサービスに関連するAPIを公開
    Hatena Developer Center  提供:はてなはてなが提供するブックマーク、ダイアリー、ココ、スター、フォトライフ、キーワード、ハイク、グラフ、人力検索などのサービスに関連するAPIを公開
    facebook for developers (英語) 提供:Facebookフェイスブック上に公開されているユーザーのコメントやいいね!、写真、動画、位置情報、友人との繋がりなどをパーミッションを得ることで利用できるGraph APIを公開
    Linkedin Developers (英語) 提供:Linkedinリンクトインで公開されているユーザーのプロフィールやコネクション、企業情報、仕事情報、メッセージ・コメント・Likeなどの情報が利用できるAPIやシェアボタン、プロフィールなどのプラグインを提供
    mixi Developer Center  提供:mixiミクシー上に公開されている日記やボイス、フォト、チェック、友人リストなどをパーミッションを得ることで利用できるmixi Graph APIを公開
    Ameba Developer Center  提供:サイバーエージェントソーシャルグラフ、ゲーム、ブログ、サークル、掲示板などのサービスやコミュニケーション機能も提供している
    Watson API (英語) 提供:IBMテキストデータの分析、画像データの認識、音声データの認識、データの洞察などワトソンの機能を提供するAPI
    Cloud Machine Learning  提供:Google音声の認識、動画・テキストの分析、高度な機械学習モデルを構築する機能を提供するAPI
    Cloud Vision API  提供:Google画像を素早く分類する、画像内の個々の物体や人の顔を検出する、不適切な画像を検出するなどの機能を提供するAPI
    Azure AI  提供:Microsoft画像・音声データの認識、言語の分析、機械学習の構築や運用などの機能を提供している
    Azure Cognitive Services  提供:Microsoft画像データの認識、音声データの認識、テキストデータの分析などの機能をAPIで提供している
    AWS 機械学習  提供:Amazon画像・音声データの認識、言語の分析、機械学習の構築や運用、データの分析などの機能を提供している
    Dialogflow (英語) 提供:Dialogflow顧客からの予約・オーダーの受付や問い合わせに自然言語プロセッサ(チャットボット)で対応をするAPI
    wit.ai API (英語) 提供:wit.ai音声を認識し音声データからプログラムに渡すべきデータ(意図・時間・場所・数・言語・温度・状態など)を抽出してくれるAPI
    Text Analysis API (英語) 提供:AYLIEN文字を認識しテキストデータから内容のカテゴリや感情を判断したり要約をしてくれるAPI
    Web Speech API (英語) 提供:W3C音声を認識しテキストに変換する、テキストを認識し音声に変換するAPI
    Twitter Developers (英語) 提供:Twitterツイッター上で公開されているツイートやユーザー、フォロー、お気に入り、リスト、位置などの情報が利用できるAPIを公開
    facebook Graph API (英語) 提供:FacebookFacebookに公開されている Users、Pages、Events、Groups、Applications、Photos、Videos、Notes、Checkins、などのデータを操作・参照する機能を提供
    Google+ API (英語) 提供:Googleグーグル+ で公開されている People、Activities、Comments、Momentsなどの情報を利用できる
    Linkedin APIs (英語) 提供:Linkedinリンクトインで公開されている Member Profile、Connections、People Search、Companies(Search、Follow and Suggestions、Products and Recommendations)、Jobs(Search、Bookmark and Suggestions)、Messaging、Network Updates(Shares、Comments and Likes)などの情報をREST・JavaScriptで利用できる
    Pinterest API (英語) 提供:PinterestUsersの情報の取得や、Boards、Pins、followの追加・編集・削除ができるAPI
    mixi Graph API  提供:miximixiに公開されている People、Groups、Voice、Check、Photo、Message、Diary、Check-in、更新情報などのデータを操作・参照する機能を提供
    Foursquare API (英語) 提供:Foursquareフォースクエアーでのチェックインやユーザー、お店、Tipsなどの情報が利用できるAPI
    Instagram API (英語) 提供:Instagramインスタグラムで公開されている写真、コメント、タグ、LIKES、ロケーションやユーザー、ユーザーのリレーションなどの情報が利用できるAPI
    flicker APP Garden (英語) 提供:Flickerフリッカーへの写真のアップロードや公開されている写真、コメント、タグ、ロケーションやユーザー、グループ、ギャラリーなどの情報が利用できるAPI
    YouTube Data API  提供:Googleユーチューブに公開されている動画の再生、検索、アップロード、再生リストの作成や動画に関連する情報の利用などができるAPI
    ツイキャス API  提供:モイツイキャスのユーザー、サムネイル、ムービー、コメント、サポーター、カテゴリなどの情報を取得できるAPI
    デ辞蔵Webサービス  提供:イースト英和、和英、独和、和独、仏和、和仏、露和、和露辞典やWikipedia日本語版などが実験的に利用できるサービス。有料版は同じインターフェイスで100以上のを辞書を備え商用利用ができる
    Apple Search API (英語) 提供:AppleiTunes Store や App Store、iBookstore、Mac App Store で取り扱っている apps や ebooks、movies、podcasts、music、music videos、audiobooks、TV shows などの様々なアイテムを検索できるAPI
    Delicious API (英語) 提供:Delicious Mediaデリシャスへのブックマークやタグの追加や削除、検索の機能や最新、人気、おススメのブックマークなどのデータが利用できるAPI
    Google+ Hangouts API (英語) 提供:Googleビデオ通話 Googleハングアウトに関連する機能を提供するAPI
    Google Maps API  提供:GoogleAndroid、iOS、Web環境での高機能のマップやルート、高度、場所、ジオコーディングなど情報を操作するためのAPIなどが公開されている
    Gmail API  提供:GoogleGmailでのメールの作成・送信、メールボックスの管理などの機能を提供するAPI
    Google Books API (英語) 提供:GoogleGoogle Booksに登録されている本に関する情報(メタデータを含む)を取得できるAPI。自分のbookshelvesも管理できる
    Google Calendar API  提供:Googleカレンダーや予定の情報の取得、作成・修正・削除などの機能を提供するAPI
    Google Charts (英語) 提供:Googleサイトに円グラフ、折れ線グラフ、棒グラフなど様々なチャートをデータ(ライブデータでも)を使い表示してくれるAPI
    Google Drive API (英語) 提供:GoogleGoogle Driveにあるファイルを読み込む、書き込む、同期するなどの機能を提供するAPI
    Picasa Web Albums Data API  提供:GooglePicasa Web アルバムで、アルバムの作成、写真のアップロード、表示、検索、コメント追加などができる機能を提供するAPI
    Amazon Product Advertising API  提供:AmazonAmazon で取り扱っている商品の情報や関連するコンテンツ・アイテムなどの情報を利用できるAPI
    Yahoo! Open Local Platform  提供:Yahoo JapanYahoo! Open Local Platform(YOLP)は、地図や地域情報を提供するAPI。JavaScriptマップの表示や、ジオコーディング、ルート、高度、場所、全国の店舗、イベント、クチコミなどの情報が利用できる
    Yahoo!ショッピングWeb API  提供:Yahoo JapanYahoo!ショッピングで取り扱っている商品の情報やその商品のレビュー、販促情報などが利用できるAPI
    Yahoo!オークションWeb API  提供:Yahoo JapanYahoo!オークションの商品リストや出品リスト、商品の詳細、評価、マイ・オークション関連といった各種情報を利用できる
    電力使用状況API  提供:Yahoo Japan北海道電力、東北電力、東京電力、中部電力、関西電力、九州電力管轄内の電力の最大供給量と使用量を取得できるAPI
    楽天商品検索API  提供:楽天楽天市場の商品(共同購入・オークション・フリマを除く)の情報を利用できるAPI。検索はキーワード、ショップ、ジャンル、価格、販売可能などの条件で検索できる
    楽天オークション商品検索API  提供:楽天楽天オークションの商品情報をキーワード、ジャンル、商品の状態などの条件で取得できるAPI
    楽天トラベル施設検索API  提供:楽天楽天トラベルから利用できる施設を施設番号、緯度経度、区分コードなどで検索し、施設の情報を利用できるAPI
    楽天GORAゴルフ場検索API  提供:楽天楽天GORAに公開されているゴルフ場をキーワード、エリア、緯度経度などで検索し、ゴルフ場の情報を利用できるAPI
    ケイコとマナブ Webサービス  提供:リクルートケイコとマナブ.net 資格と仕事.net で公開されているスクール、イベント、講座、資格などの情報を利用できる
    web R25 WEBサービス  提供:リクルートweb R25で公開されている記事のタイトル、本文、関連リンク、画像などの情報が取得できるAPI
    エイビーロード Webサービス  提供:リクルートエイビーロード(AB-ROAD)に掲載されている、海外旅行ツアー情報を国、都市、ホテル、航空会社で検索し、情報を利用できる
    じゃらんWebサービス  提供:リクルートじゃらんに登録されている温泉、宿、空室の情報が取得できるAPI
    ホットペッパー Webサービス  提供:リクルートホットペッパー.jpの提供する日本全国の飲食店情報を店名や予算、料理、クーポン、様々な条件などで検索し、その情報を利用できる
    カーセンサーnet Webサービス  提供:リクルートカーセンサーnetに掲載されている中古車情報や新車カタログ情報を様々な条件で検索・利用できるAPI
    リクナビ進学 Webサービス  提供:リクルートリクナビ進学に掲載されている学校情報を学問、仕事、資格から検索し取得できるAPI
    音声認識API  提供:NTT docomo端末などで入力・収集した音声のデータをテキストに変換するAPI
    はてなブックマーク Web API  提供:はてなはてなブックマークへの登録、削除の機能提供やタイトル、ブックマーク数、イベントなどのデータを利用できるAPI
    はてなダイアリーAPI  提供:はてなはてなダイアリーへの投稿、編集、削除の機能提供やダイアリーやコメント数、更新情報などの参照ができる
    はてなフォトライフAPI  提供:はてなはてなフォトライフへの写真の投稿、編集、削除の機能と写真の参照ができる
    はてなキーワードAPI  提供:はてなはてなキーワードに登録されているキーワードに関する説明文を取得できるAPI
    SimpleAPI 最寄り駅Webサービス  提供:ユーザーローカル緯度・経度を指定すると、その付近にある最寄り駅のデータや最寄り駅の地図を利用できる
    SimpleAPI Wikipedia API  提供:ユーザーローカルキーワードを指定すると、そのキーワードに関するwikipediaの記述を取得できる
    Google Translation API  提供:Google【有料】テキスト、翻訳後の言語、フォーマットなどを指定すると指定した言語に翻訳されたテキストを返してくれる
    Microsoft Translator API  提供:Microsoft【有料】テキスト、翻訳後の言語、コンテンツタイプなどを指定すると指定した言語に翻訳されたテキストを返してくれる
    Amazon Translate  提供:Amazon【有料】テキスト、翻訳後の言語、フォーマットなどを指定すると指定した言語に翻訳されたテキストを返してくれる
    Watson Language Translator  提供:IBM【有料】テキスト、翻訳後の言語、フォーマットなどを指定すると指定した言語に翻訳されたテキストを返してくれる
    Gengo API  提供:Gengo【有料】人力の翻訳の依頼、翻訳結果の受け取りができるAPI
    トレンド記事抽出API  提供:NTT docomo独自のトレンド解析エンジンにより抽出された注目度の高い記事の一覧が取得できるAPI
    日テレアプリ Web API  提供:日本テレビ日テレ系の番組を出演者で検索するAPIと日テレ系のニュースをフリーワードで検索するAPIを公開
    NHK番組表API  提供:NHKNHKが放送する番組のリストや詳細が取得できるAPIを提供。地域や日付、ジャンルなどで絞り込みができる
    Last.fm Web Services (英語) 提供:Last.fmLast.fmが保有するアーチスト、曲、アルバム、ライブ、チャート、タグの情報やユーザー、グループなどのデータを利用できるAPI
    チケットぴあ WEB API  提供:ぴあ【有料】公演情報、アーティスト情報、会場情報やコンテンツの検索、チケット販売などの機能を提供するAPI
    hon.jp Webサービス  提供:hon.jp出版社、本のカテゴリ、ISBN、対応ビューワー、対応決済方法などを指定すると該当する電子書籍の情報を返してくれる
    国立国会図書館サーチ API  提供:国立国会図書館国立国会図書館が所蔵する図書や国立国会図書館デジタルアーカイブポータル(PORTA)が収録している各種のデジタル情報の検索やメタデータを利用できるAPI
    図書館API  提供:カーリルISBNから指定した図書館での蔵書・貸出状況を取得できるAPI。地名か緯度経度から最寄りの図書館情報を取得できるAPI
    openBD  提供:カーリル書籍・雑誌のタイトル、著者、目次、内容、出版社などの書誌情報や書影の画像を取得できるAPI
    Vimeo API (英語) 提供:Vimeovideos、users、groups、channels、albumsの情報を取得、ビデオの投稿・削除の操作ができるAPI
    USTREAM Developers (英語) 提供:Ustreamユーストリームで公開されているストリームやビデオ、チャンネルのユーザー名、タイトル、開始時間、視聴者数、レイティングなどの情報が利用できるAPI
    ニコニコ動画API  提供:ドワンゴニコニコ動画に登録されている動画、ニコ割ゲーム、ニワニュース情報局のニュースインデックスなどの情報が取得できるAPI
    Mapion Android Maps API  提供:マピオンAndroid開発環境で利用できるマップAPI
    MapionMaps.framework  提供:マピオンiOS開発環境で利用できるマップAPI
    HeartRails Geo API  提供:HeartRails郵便番号による住所検索、緯度経度による住所検索ができるAPI。都道府県、市区町村、エリア、路線、最寄り駅の情報が利用でき、これらの情報を連結して条件を絞り込む機能も提供している
    HeartRails Express  提供:HeartRails都道府県、エリア、路線、駅の情報を利用できるAPI。これらの情報を連結して条件を絞り込む機能や、緯度・経度を指定して最寄り駅の情報を取得する機能を提供している
    駅データ.jp API  提供:CodePlus都道府県の路線一覧、路線の駅一覧、駅の詳細などの情報を取得できるAPI
    kosoku API (高速.jp ウェブサービス)  提供:GOGA高速道路の経路や料金を検索することができるAPI。出発IC、到着IC、車両種類を指定すると複数の経路、料金を返してくれる
    標高API  提供:国土地理院緯度・経度から標高を取得するAPI
    NAVITIME API  提供:NAVITIME JAPAN【有料】スポット、最適ルート・巡回ルート、移動所要時間、最寄り駅などの検索・情報を取得できるAPI
    いつもNAVI API  提供:ゼンリンデータコム【有料】住所・郵便番号検索、施設検索、ルート検索、路線情報検索、天気検索などの機能を提供するAPI
    駅すぱあとWebサービス  提供:ヴァル研究所【一部無料】経路探索、駅情報、路線情報、時刻表情報、鉄道運行情報など利用できるAPI
    ジオターゲティングAPI  提供:アルファブレンド【有料】ユーザーのIPアドレスから都道府県単位の位置情報を取得できるAPI
    郵便番号検索API  提供:zip.cgis.biz郵便番号を指定すると都道府県、市町村、住所、事業所名(いずれも該当がある場合)のデータを返してくれる
    全国郵便番号一覧 WEBサービスAPI  提供:Fabrice郵便番号を指定すると都道府県、市町村、住所、事業所名(いずれも該当がある場合)のデータを返してくれる
    ZIP SEARCH API SERVICE  提供:IW3 PROJECT郵便番号から住所を住所から郵便番号を都道府県・市区町村の単位で取得できるAPI
    お天気Webサービス  提供:livedoor全国140カ所以上の今日・明日・あさっての天気予報・予想気温と都道府県の天気概況情報を利用できるAPI
    Weather API (英語) 提供:OpenWeatherMap世界の1000万地区の天気予報の情報を取得できるAPI(1分当り60回/1日当り5万回以上の呼出は有料)
    天気予報API  提供:日本気象協会【有料】天気予報や紫外線・花粉情報に加え洗濯・傘・不快などの指数情報が利用できるAPI
    Contents pocket 天気API  提供:Craid【有料】全国142地点の天気、気温、時間別降水確率、風や波の状態などの情報を取得できるAPI
    Contents pocket 指数API  提供:Craid【有料】全国142地点の雨傘指数、日傘指数、洗濯指数、ドリンク指数、快眠指数、プール指数、凍結指数の情報を取得できるAPI
    ぐるなびWebサービス  提供:ぐるなびぐるなび掲載店舗の情報をはじめとして、それに関連する地域情報や業種情報が利用できるAPI
    BAR-NAVI Web API  提供:サントリー日本最大級のバー検索サイトBAR-NAVIに掲載されているバーに関する情報を利用できるAPI
    サイボウズLive データAPI  提供:サイボウズコラボレーションツール サイボウズLiveでのグループの情報、カレンダー、掲示板、ToDo、共有ファイルなどのデータが利用できるAPI
    ATND API  提供:リクルートキャリアATNDに登録されたイベントの情報やイベントに参加するユーザーのIDを取得できるAPI
    connpass API  提供:ビープラウドconnpassに登録されたイベントの情報を取得できるAPI
    お見合いパーティーAPI  提供:オミカレ全国各地で開催される婚活イベントやお見合いパーティーの情報を開催場所や日時順で取得できるAPI
    お仕事検索webサービス  提供:リクルートジョブズフロム・エー ナビ上に登録されているお仕事情報を取得できるAPI
    しごとナビ求人検索API  提供:LISしごとナビに登録されている求人情報を取得できるAPI
    indeed Web Services (英語) 提供:indeedindeedに登録されている求人情報を取得できるAPI
    apicos  提供:istyle@cosmeに登録されているユーザ、商品、口コミなどの情報を取得できるAPI
    バリューコマース・ウェブサービス  提供:バリューコマースバリューコマースが提携しているショップの商品情報やトラベル情報を利用できるAPI
    オールクーポンWebサービス(API)  提供:オールクーポンジャパンAll Coupon Japan に掲載されている共同購入クーポンに関するデータをジャンル、カテゴリ、位置情報などの条件で利用できるAPI
    GROUPON API  提供:グルーポンジャパンGROUPONに登録されている地域毎の最新クーポン情報を取得できるAPI
    くまポンAPI  提供:GMOくまポンくまポンに登録されているクーポン情報を取得できるAPI
    ポンパレWebサービス  提供:リクルートライフスタイルポンパレに登録されている割引チケットや割引チケットの販売状況の情報を取得できるAPI
    施設検索API  提供:JTBJTBが取り扱う宿泊施設の情報を取得できる
    FlightAware API  提供:FlightAware【有料】便名、機種、出発地・到着地、最終位置の時刻・緯度経度・速度・高度のフライト情報や、離陸済み・到着済みなど空港の情報が取得できるAPI
    プーペガール API  提供:サイバーエージェントプーペガールに登録されているアイテムの情報をブランド、カテゴリ、サイズで取得できるAPI
    フォト蔵API  提供:OFF Lineフォト蔵への写真のアップロードやアルバム、コメントの追加や公開されているフォト、タグ、アクセス数、コメント数やユーザー、グループなどの情報が利用できるAPI
    Panoramio API  提供:GooglePanoramioに登録された写真のデータを取得できるAPI
    Panoramio Widget API  提供:GooglePanoramioに登録された写真をウェブサイトで表示できるAPI
    fotochan API  提供:fotochan写真をアップロードするときれいに補正をしてくれるAPI
    Zaim API  提供:Zaim家計簿アプリZaimへお金の項目を登録したり、Zaimに登録されている項目一覧を取得できるAPI
    About.me API (英語) 提供:about.meabout.meのユーザ・ページの情報の取得やユーザ・ページを操作する機能を提供するAPI
    KizAPI(キザッピ)  提供:きざしカンパニーkizasi.jpが収集・索引化しているブログエントリーの関連語や文脈によるデータやランキング、チャンネル共起の情報が利用できる
    Evernote API  提供:Evernoteエバーノートのクライアントが利用しているノートやタグの作成や操作、検索などの機能を提供するAPI
    SlideShare API (英語) 提供:LinkedInスライドの投稿・編集・編集の操作、スライドやグループ、タグ情報の取得、スライドの検索ができるAPI
    Yammer REST API (英語) 提供:YammerグループマイクロブログYammerの Messages、Users、Groups、Topics、Likes、Threads、Invitations、Search などを操作する機能を提供するAPI
    youRoom API (英語) 提供:SonicGardenグループマイクロブログyouRoomの TimeLine、Entry、Attachment、Group、User、Picture などを操作する機能や管理機能を提供するAPI
    Cacoo API  提供:ヌーラボサイトマップ図などグループで使えるドローツールCaccoの 図、画像、チャット、フォルダー、ユーザー、コメントなどを操作する機能を提供
    Dropbox API (英語) 提供:DropboxDropboxへのファイルのアップロード、読み込み、書き込み、移動、削除などの機能を提供するAPI
    AWS クラウド  提供:Amazonコンピューティング、ストレージ、データベース、ネットワークなどの機能を提供するWebサービス
    ニフティクラウドAPI  提供:ニフティニフティクラウドの操作(サーバー・ディスク・イメージ・ロードバランサーなど)ができるAPI
    さくらのクラウドAPI  提供:さくらインターネットさくらのクラウドの操作(サーバやディスクの作成や削除など)ができるAPI
    SimpleAPI ウェブサイトサムネイル作成API  提供:ユーザーローカルURLを指定すると、そのサイトのサムネイル画像を生成するAPI
    HeartRails Capture  提供:HeartRailsURLやサイズを指定しサムネイル画像(jpegやpdf)を取得できるAPI
    Thumbalizr API (英語) 提供:ThumbalizrURLやサイズを指定しサムネイル画像を取得できるAPI
    bitly API (英語) 提供:BitlyURLを短縮する、短縮されたURLを戻す機能や、短縮URLに対するクリック数、リファラー、国情報などのデータが利用できる
    p.tl Web API  提供:pixivURLを指定すると短縮URLを返してくれるAPI Webサービスの利用においては、ユーザ登録やアプリケーションの登録を求められることが多い。アプリケーションの URL を尋ねられる場合には、開発するアプリケーションの公式Webページを用意することが望ましい。自分の個人的なサイトがない場合には、earth に置くことのできる自分のページの一部として用意することもできる。
    プログラミング REST(XML) の場合、リクエスト(問い合わせ)の方法が HTTP の GET であり、レスポンス(応答)の形式が XML である点で RSS と似ている。ただし、応答の XML のスキーマは Webサービスの提供者独自のものであるため、必要な情報を取り出すためのプログラムは Webサービスごとに作成する必要がある。
    サーバのレスポンスの形式が XML の場合には、
    DocumentViewer など、サーバの応答を DOM で解析するプログラムをベースにするとよい。REST では HTTP の GET を使うため、パラメータを URL に含めることができる (baseurl?key1=value1&key2=value2...)。このとき、全角文字などURLに使ってはいけない文字を使う場合には、
    URLEncoder.encode メソッド を使って URL エンコードをすること(文字コードは utf-8 が多いが、文字化けする場合は euc-jp, shift_jis を試してみるとよい)。
    さらに、検索の Webサービスの場合には検索結果が複数件並ぶため、item要素が複数並ぶ RSS と構造が似ている。前述の DocumentViewer を参考に、複数並ぶ要素を getElementsByTagName を用いてリストとして得るようにするのも1つの方法である。また、RSS の item要素を表示する
    FeedViewer を参考にしてもよい。
    JSON の場合
    Java で JSON (JavaScript Object Notation) を扱うライブラリが公開されているので、それを用いるとよい。
    動作確認用のツール/サイト Web サービスの例
    データを持っている企業が、検索のWebサービスを提供していることが多い。機械学習の広まりにより、データを送ると処理結果を返してくれる API が増えている。
    リンク集・ポータルサイト
    無料で使えるとは限らないので、利用条件を確認すること。
    機械学習・AI リクルートテクノロジーズ NTTドコモ 検索 (総合) Google Yahoo! JAPAN Yahoo! Inc. (US) Microsoft チームラボ ソーシャルメディア twitter LINE
    情報を集めるのには向かないが、BOTをつくることもできる。
    はてな mixi
    「mixi Graph API」が Webサービス。パートナー登録が必要。
    inserted by FC2 system