API・開発の基礎用語

APIとは仕組み・種類・使うときの注意点

APIとは、ソフトウェア同士がやり取りするための窓口と約束事のことです。仕組みを身近な例で説明し、Web APIの種類、導入時の確認点、よくあるつまずきまで整理します。

公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて

APIとは

API(Application Programming Interface)とは、あるソフトウェアが外部のソフトウェアやハードウェアとやり取りするために用意している、機能や規則の集まりです。MDN Web Docs の用語集では、人間が画面を操作するユーザーインターフェースとは対照的に、プログラム同士が通信するための約束事を定めるものと説明されています。

たとえば、天気予報サービスが「地域名を渡すと、気温と天気を返す」という窓口を公開していれば、別のアプリはその窓口を呼び出すだけで天気を表示できます。天気予報の計算方法を知る必要はありません。窓口の使い方(API仕様)だけを知っていれば足りる、という点がAPIの価値です。

SaaSの文脈では、Slack、GitHub、Notion などの多くのサービスがAPIを公開しており、ほかのサービスと連携したり、定型作業を自動化したりする土台になっています。

基本(仕組み・種類)

Web上で使われるAPIの多くは、HTTPという通信規約の上で動きます。呼び出す側(クライアント)がリクエストを送り、提供する側(サーバー)がレスポンスを返す、というやり取りです。

要素 役割 例
エンドポイント 呼び出す窓口のURL https://api.example.com/v1/users
メソッド 何をしたいか GET(取得)、POST(作成)、DELETE(削除)
パラメータ 条件の指定 地域名、ページ番号
認証情報 誰が呼んでいるか APIキー、アクセストークン
レスポンス 返ってくる結果 JSON形式のデータ、ステータスコード

APIは利用範囲によって、おおまかに次のように分けられます。

種類 公開範囲 主な使い道
公開API 誰でも登録して使える 地図、天気、決済、メッセージ送信
パートナーAPI 契約した相手だけ 取引先との在庫連携
社内API 自社内だけ システム間のデータ連携

なお、MDNでは、ブラウザが備える機能(位置情報を取得する機能など)もAPIと呼んでいます。この記事では主にSaaSで使う Web API を扱います。

APIの具体例

業務でよくある使い方を、手作業との違いで整理します。

場面 APIなし APIあり
問い合わせの通知 担当者がフォームの内容をチャットに貼る フォーム送信をきっかけに、チャットへ自動投稿
売上の集計 各サービスから手でCSVを出して集める 夜間に自動でデータを取得して表に反映
会員の登録 管理画面に1件ずつ入力 名簿から一括で登録

たとえば毎日10分かかる転記作業を自動化できれば、月に20営業日として200分、年間では2,400分(40時間)の削減になります。ただし、仕組みを作る時間と、仕様変更に対応する保守の時間も要るので、削減分がそのまま利益になるわけではありません。

APIの実践ステップ

  1. 目的を決める。何を自動化・連携したいのかを、1文で書き出します。
  2. 公式のAPIドキュメントを読む。できること、できないこと、呼び出し回数の上限(レート制限)を確認します。
  3. 認証方法を確認する。APIキー方式か、OAuth(利用者の許可を得る方式)かで、準備が変わります。
  4. テスト用の環境で1件だけ試す。いきなり本番データで大量に実行しません。
  5. エラー時の動きを決める。通信失敗や上限超過のとき、再試行するのか、通知して止めるのかを決めます。
  6. 保守の担当者を決める。APIは仕様が変わることがあるため、変更告知の確認先を決めておきます。

ノーコードの連携ツールを使えば、プログラムを書かずに試せる場合もあります。ただし、中身で行われているのは同じAPI呼び出しなので、上限や認証の考え方は共通です。

APIの注意点

  • 認証情報の管理。APIキーは、パスワードと同じ扱いが必要です。ソースコードや共有ドキュメントに貼らないでください。漏れた場合に備えて、再発行の手順も確認しておきます。
  • レート制限。短時間に呼び出しすぎると、一時的に拒否されることがあります。上限は各サービスの公式ドキュメントで確認します。
  • 仕様変更と提供終了。APIのバージョンアップや廃止は起こります。業務の根幹に使うなら、告知の購読と代替手段の検討が欠かせません。
  • 権限の最小化。連携に必要な範囲だけの権限を付与し、全権限を渡すことは避けます。
  • 個人情報。外部サービスへ個人情報を送る場合は、社内規程と、相手サービスの利用規約・データの扱いを確認します。

APIでよくあるミス

  • ドキュメントの例をそのまま本番で実行し、意図せずデータを書き換えてしまう。
  • テスト用と本番用のキーを取り違える。
  • エラーの処理を書かず、失敗しても誰も気づかない。
  • 無料枠の上限を調べず、月の途中で止まる。
  • 「APIがある」ことと「やりたいことができる」ことを同一視する。APIには、画面で出来ても APIでは出来ない操作があります。

APIのチェックリスト

  • やりたいことが、公式APIの機能で実現できると確認したか。
  • 認証方法と、必要な権限の範囲を把握しているか。
  • レート制限と料金への影響を確認したか。
  • テスト環境で試し、失敗時の動きを決めたか。
  • キーの保管場所と、漏えい時の手順を決めたか。
  • 仕様変更の告知を受け取る担当が決まっているか。

APIのFAQ(よくある質問)

Q. APIとSDKは何が違いますか。
A. APIは窓口と約束事そのもので、SDKはそれを特定の言語から使いやすくするための部品の集まりです。SDKを使わず、HTTPで直接APIを呼び出すこともできます。

Q. APIの利用は無料ですか。
A. サービスによって異なります。無料枠を設けているもの、利用量に応じて課金されるもの、契約者のみに提供するものがあります。公式の料金ページで確認してください。

Q. プログラミングができなくても使えますか。
A. 連携ツールなどを使えば、コードなしで利用できる場合があります。ただし、仕様や制限の理解は必要です。

筆者の見解(API)

APIは、使えるかどうかより、保守し続けられるかで選ぶべきだと考えます。連携を作るのは意外と簡単ですが、仕様変更や上限超過に気づいて直す人がいないと、半年後に静かに止まります。私見では、小さく始め、止まったときに通知が来る形にしておくのが、いちばん費用対効果が高いやり方です。

APIの関連項目

出典(一次情報)

本記事は一般的な情報の提供を目的としています。SaaS・ツールの機能・料金・無料枠・仕様は頻繁に更新されるため、最新の内容は各社の公式ページでご確認ください。契約・法務・セキュリティに関する判断は、専門家や社内の担当部門にご相談ください。「筆者の見解」は一つの考え方です。