APIはプログラム同士がデータをやりとりするための仕組みのこと。Application Programming Interfaceの略である。
APIを用意しているプログラムにデータを渡すと、そのプログラムがデータを処理して返す。このためAPIは、あるプログラムの機能を別のプログラムが利用するための「窓口」といえる(PICT1)。やりとりするデータの仕様はAPIごとに決められている。
例えば図書館の受付窓口は、本の貸し出しという機能を提供するAPIといえる。利用者が仕様にのっとった申請書を提出すると、その内容に合致した本を渡してくれる。
なお、ここではAPIを分かりやすく「仕組み」と説明したが、それ以外の意味で使われることも多い。別のプログラムが利用するために用意している機能そのものや、プログラム同士がデータをやりとりするために必要な仕様を指すこともある。
プログラム開発の手間を省く
APIの最も大きなメリットは、新しいプログラムを開発する際の手間を省けることだ。APIを使って別のプログラムの機能を使うようにすれば、その機能を作り込む必要がなくなる。
例えばユーザー認証が必要なWebアプリケーションを開発するとしよう。すべてを自前でやろうとすると、正規のユーザーかどうか確認してログインの可否を決める機能を実装しなければならない。さらに、ユーザーを管理するためのデータベースも必要だ。ユーザーの個人情報を流出させないためのセキュリティー対策も不可欠となる。
だが、別のプログラムが用意するユーザー認証機能をAPI経由で利用すれば、自前で開発する必要がなくなる。例えば米グーグルや米フェイスブックはユーザー認証のAPIを公開している。ユーザー認証をグーグルやフェイスブックに肩代わりしてもらえば、その機能を実装したり、運用したりする必要はなくなる。