APIの動作確認やちょっとしたテストをするとき、最も手軽に使えるコマンドといえば curl(カール) です。
ほとんどのLinux・macOSには標準で入っており、Windowsでも簡単に使えるため、エンジニアにとって欠かせない存在と言えます。
しかし、実際には「GETは使えるけどPOSTでつまずく…」「ヘッダつきのリクエスト方法がわかりにくい…」など、基礎の部分でつまずくケースが意外と多いです。
この記事では、APIをcurlで確認するときに知っておきたい基本パターンを、初心者にも分かりやすく整理してまとめています。
難しすぎる説明は避け、現場でよく使う形を中心に紹介するので、今日からそのまま活用いただけると思います。
curlとは?API確認に便利な理由

curlは「URLで指定したリソースと通信するためのコマンドラインツール」です。
HTTP以外にもFTPやSMTPなど多くのプロトコルに対応していますが、
APIの世界では主に HTTPリクエストを投げるためのツール として使われています。
なぜAPI確認に便利なのか?
- ブラウザでは実行しづらい細かなパラメータ付きリクエストが簡単
- GUIツールを開かなくてもターミナルだけでサッと動作確認可能
- ほぼすべての環境で使える
- スクリプトに組み込むこともできる
特に、APIの開発中やデバッグ時には、curlほど手軽で役立つツールはありません。
基本パターン①:GETリクエスト
最も使う頻度が高いのがGETです。
基本形はとてもシンプルで、URLを指定するだけ。
curl <https://api.example.com/users>APIが返すレスポンスをそのままターミナルに表示してくれます。
クエリパラメータ付きのGET
クエリが必要な場合はURLに含めるだけです。
curl "<https://api.example.com/users?limit=10&page=2>"URL全体を " " で囲むのは、? などの記号が誤解釈されるのを防ぐためです。
レスポンスを見やすくする
APIのJSONを整形したいときは「パイプでjq」を使うと便利です。
curl <https://api.example.com/users> | jq環境によってはjqが入っていないこともありますが、余裕があれば入れておくと作業が格段にスムーズになります。
基本パターン②:POSTリクエスト(JSON)
API確認で特に頻度が高いのがPOSTです。
JSONデータを送る場合は、-H でヘッダ、-d でデータを指定します。
curl -X POST \\
-H "Content-Type: application/json" \\
-d '{"name":"Taro","age":25}' \\
<https://api.example.com/users>よくあるつまずきポイント
- JSON内の
"を忘れるとエラーになる Content-Type: application/jsonを付け忘れるとサーバー側で正しく解釈されないdの後にスペースが必要
特にJSONのクォーテーションは、慣れるまで少し注意が必要です。
基本パターン③:POST(フォームデータ)
Webフォームと同じ形式で送る場合は -F を使います。
curl -X POST \\
-F "username=user01" \\
-F "password=pass123" \\
<https://api.example.com/login>ファイルアップロードなどでもよく使われる書き方です。
基本パターン④:PUT・PATCH・DELETE
HTTPメソッドは自由に指定できます。
PUT
curl -X PUT \\
-H "Content-Type: application/json" \\
-d '{"name":"Hanako"}' \\
<https://api.example.com/users/1>PATCH(部分更新)
curl -X PATCH \\
-H "Content-Type: application/json" \\
-d '{"age":30}' \\
<https://api.example.com/users/1>DELETE
curl -X DELETE <https://api.example.com/users/1>APIを実装しているサービスによっては、DELETEやPATCHが使えない場合もあるため、ドキュメントを確認しておきましょう。
基本パターン⑤:ヘッダ付きリクエスト(認証など)
API確認で欠かせないのがヘッダの指定です。
最もよく使うのは、APIトークンの指定ではないでしょうか。
Authorizationヘッダ
curl -H "Authorization: Bearer xxxxxxxx" \\
<https://api.example.com/profile>APIキー型ならこういうパターンもあります。
curl -H "X-API-KEY: abcdefg12345" \\
<https://api.example.com/items>複数のヘッダが必要なら -H を複数並べればOKです。
curl -H "Authorization: Bearer xxxxx" \\
-H "X-App-Version: 1.0" \\
<https://api.example.com/data>基本パターン⑥:レスポンスのステータスコードを確認
APIの挙動チェックで、ステータスコードが欲しいだけの場面もありますよね。
そんな時は -I(HEADリクエスト)を使います。
curl -I <https://api.example.com/health>結果には HTTP/1.1 200 OK のようなステータスが返ってきます。
もっと簡単にステータスだけを確認したい場合は -w オプションが便利です。
curl -o /dev/null -s -w "%{http_code}\\n" <https://api.example.com/users>基本パターン⑦:タイムアウト・詳細ログなど
APIが重い・繋がらないときの調査でもcurlは役立ちます。
タイムアウト
curl --max-time 5 <https://api.example.com/users>指定した秒数で切り上げてくれるため、検証中の時間ロスを防げます。
詳細ログ(デバッグモード)
curl -v <https://api.example.com/users>ヘッダの内容やSSLのやり取りなど、細かな通信情報が確認できます。
curlを使いこなすとAPI理解が圧倒的に深まる
curlは決して難しいツールではありませんが、
基本パターンをひととおり知っておくだけで、APIの確認作業が驚くほどスムーズになります。
特に、
- GETの基本
- POST(JSON / フォーム)
- 認証ヘッダ
- 各種メソッド(PUT・DELETEなど)
は、現場で頻繁に使う組み合わせです。
エンジニアとしての作業効率を上げるだけでなく、APIの仕組みそのものの理解にもつながるので、
日常的に触って慣れておくのがおすすめです。
一問一答(簡単まとめ)

- curlは何に使うツール?
-
URLを使ってサーバーと通信できるコマンドで、API確認に最適。
- JSONを送るときのコツは?
-
Content-Type: application/jsonを付けることと、クォーテーションのミスに注意。 - ステータスコードだけ見たいときは?
-
-Iか-w "%{http_code}"を使う。 - 認証が必要なAPIはどうする?
-
AuthorizationやX-API-KEYなどヘッダを指定して送る。
まとめ
curlはAPIの挙動や動作確認に欠かせない便利ツールです。
複雑そうに見えても、基本的なパターンさえ押さえれば誰でも扱えるようになります。
普段の開発や検証作業で「ちょっと確認したいな」という場面でもすぐ使えるため、
いつでも使えるように覚えておきましょう!

