スマートフォンのアプリで商品情報を見たり、地図アプリで現在地の天気を確認したりできるのは、裏側で別のシステムからデータを受け取っているからです。
このようなシステム同士のやり取りで、よく使われる考え方がREST API(レスト・エーピーアイ)です。
REST APIは難しそうに見えますが、レストランにたとえると理解しやすくなります。お客さんが決められた方法で注文し、厨房が料理を返すように、利用する側が決められた方法で要求を送り、サーバーが結果を返します。
この記事では、REST APIの仕組み、よく使うHTTPメソッド、Webhookとの違いを図で分かり易く解説していきます!
REST APIとは?
まずは「API」と「REST」を分けて考えてみましょう。
用語の意味
- API:ソフトウェア同士が機能やデータを利用するための窓口
- Web API:Webの通信技術を使って利用するAPI
- REST:Webの特性を活かしてシステムを設計するためのアーキテクチャスタイル
- REST API:RESTの考え方に沿って設計されたWeb API
レストランなら、注文を受け付ける店員がAPIという「窓口」、メニュー番号や注文方法がシステム同士の「約束」に当たります。
RESTは通信規格そのものではありません。RESTを提唱したRoy Fielding氏は、クライアントとサーバーを分けること、各リクエストを独立させること、統一されたインターフェースを使うことなどをRESTの制約として説明しています。

RESTは「どのように設計するか」という考え方、HTTPは「どのように通信するか」というルールです。REST APIでは、HTTPを使ってリクエストとレスポンスをやり取りし、URLで対象を示します。データ形式にはJSONがよく使われます。
実際のREST APIでは、URLで対象となるリソースを示し、HTTPメソッドで操作の目的を伝える設計がよく使われます。リソースとは、ユーザー、商品、記事など、APIで扱う情報のことです。
REST APIが動く仕組み
REST APIの基本は、リクエストとレスポンスの組み合わせです。

REST APIが動く4つのステップ
- 利用側がURLを指定する
どの商品やユーザーを操作したいのか、対象となるリソースをURLで示します。 - HTTPリクエストを送る
GETやPOSTなどのHTTPメソッドを使い、サーバーへ要求を送ります。 - サーバーが処理する
要求を確認し、データの取得、登録、更新、削除などを行います。 - HTTPレスポンスを返す
処理結果を示すステータスコードと、必要に応じてデータを返します。
たとえば、IDが123の商品情報を取得する場合は、次のようなリクエストを送ります。
GET https://api.example.com/products/123
products/123が対象となる商品を示し、GETが「情報を取得したい」という目的を示します。URLの基本を確認したい方は「FQDN・URL・ドメイン名の違い」も参考にしてください。
REST APIでよく使うHTTPメソッド
HTTPメソッドは、サーバーに何をしてほしいのかを伝える言葉です。REST APIでは、次の4つがよく使われます。

| メソッド | 主な役割 | 商品APIの例 |
|---|---|---|
| GET | 情報を取得する | 商品を見る |
| POST | データを送り、処理や新規登録を依頼する | 商品を登録する |
| PUT | 指定した対象を置き換える | 商品情報全体を更新する |
| DELETE | 指定した対象を削除する | 商品を削除する |
「GET=読む、POST=作る、PUT=更新、DELETE=削除」と覚えると全体像をつかみやすいでしょう。ただし、HTTPの正式な意味と各APIの具体的な動作は完全に同じではありません。利用するAPIの仕様書を確認することが大切です。
一部分だけを更新する用途では、PATCHというメソッドが使われることもあります。
リクエストとレスポンスの中身
HTTPリクエストには、URLやメソッドのほかに、追加情報を伝えるヘッダーと、送信するデータを入れるボディがあります。
リクエストに含まれる主な情報
- URL:操作するリソースの場所
- HTTPメソッド:取得、登録、更新、削除などの目的
- ヘッダー:認証情報やデータ形式などの付加情報
- ボディ:登録・更新したいデータ。GETでは通常使いません
サーバーからのレスポンスには、処理結果を表すHTTPステータスコードが含まれます。
| コード | 意味 |
|---|---|
| 200 OK | リクエストが成功した |
| 201 Created | 新しいリソースの作成に成功した |
| 400 Bad Request | リクエストの内容に問題がある |
| 401 Unauthorized | 有効な認証情報が必要 |
| 404 Not Found | 指定したリソースが見つからない |
| 500 Internal Server Error | サーバー内部で問題が発生した |
レスポンスのデータには、JSONという形式がよく使われます。JSONはRESTの必須条件ではありませんが、構造が分かりやすく、多くのプログラミング言語で扱いやすい形式です。
{
"id": 123,
"name": "ノートパソコン",
"price": 98000
}
REST APIとWebhookの違い
REST APIと一緒に使われる仕組みに、Webhookがあります。どちらもシステム間連携に使われますが、やり取りを始める側が異なります。

| 比較項目 | REST API | Webhook |
|---|---|---|
| 連絡を始める側 | 情報を利用したい側 | イベントが発生した側 |
| タイミング | 必要な時にリクエストする | イベント発生時に通知する |
| 例 | 商品一覧を取得する | 決済完了をショップへ知らせる |
REST APIは「今の情報を教えてください」と問い合わせる仕組みに向いています。Webhookは「変化が起きたら知らせてください」という使い方に向いています。
実際には、Webhookで変化を知り、その後REST APIで詳しい情報を取得するという組み合わせもよく使われます。
REST APIのメリット
REST APIの主なメリット
- システムを分けて開発しやすい
画面側とサーバー側を分離し、それぞれを変更しやすくなります。 - さまざまな利用側から使える
Webサイト、スマートフォンアプリ、別システムなどが同じAPIを利用できます。 - HTTPの仕組みを活用できる
標準化されたメソッド、ステータスコード、キャッシュなどを利用できます。 - 役割を理解しやすい
URLとHTTPメソッドを組み合わせることで、何を操作するのかを表現しやすくなります。
REST APIを利用する時の注意点
認証情報を安全に扱う
APIキーやアクセストークンは、サービスを利用するための鍵です。ソースコードへ直接書いて公開したり、第三者へ渡したりしないようにします。通信内容を保護するため、原則としてHTTPSを利用します。
利用回数の上限を確認する
APIによっては、一定時間内に呼び出せる回数が決められています。この制限をレートリミットと呼びます。短時間に大量のリクエストを送らないように設計します。
エラーが起きる前提で作る
ネットワークの一時的な障害、認証切れ、入力ミスなどでAPIは失敗することがあります。ステータスコードを確認し、再試行や利用者への案内を適切に行うことが大切です。
まとめ
REST APIのまとめ
- REST APIは、RESTの考え方に沿って設計されたWeb API
- URLでリソースを示し、HTTPメソッドで操作の目的を伝える設計がよく使われる
- GET、POST、PUT、DELETEにはそれぞれ異なる役割がある
- レスポンスではステータスコードとJSONなどのデータが返される
- REST APIは利用側から問い合わせ、Webhookはイベント発生側から通知する
- 認証情報、HTTPS、レートリミット、エラー処理への配慮が必要
REST APIの基本を理解すると、Webサービスやスマートフォンアプリが、裏側でどのように情報をやり取りしているのか見えやすくなります。
まずは「誰が、どのURLへ、どのHTTPメソッドで要求し、どのステータスコードが返ったか」という順番で見ることから始めてみましょう。
以上です!