← PC・IT用語集へ戻る

API

Application Programming Interface
development web beginner
ソフトウェアやサービス同士が、決められたルールに従って機能やデータをやり取りするための窓口のこと。
API (Application Programming Interface)

概要(サマリー)

APIとは、ソフトウェアやサービス同士が、決められたルールに従って機能やデータをやり取りするための窓口のことである。

たとえば、自分の作ったアプリに「天気情報を表示したい」「地図を表示したい」「AIの文章生成を組み込みたい」と思ったとき、相手サービスの中身を直接触るのではなく、そのサービスが用意しているAPIを通してやり取りする。レストランでたとえるなら、客の注文を厨房に伝え、料理を運んでくれる受付やウェイターのような役割だと考えると分かりやすい。

APIにはいろいろな種類があるが、初心者がAIコーディングやWeb開発でよく出会うのは、インターネット越しに使うWeb APIである。

詳細解説

APIとは何か

APIは Application Programming Interface の略である。直訳すると「アプリケーションをプログラムから利用するための接点」のような意味になる。

APIがあると、開発者は相手のサービスやソフトウェアの内部構造をすべて知らなくても、決められた方法で機能を利用できる。

たとえば、天気サービスが次のようなAPIを用意しているとする。

GET https://api.example.com/weather?city=tokyo

この入口に決められた形でリクエストを送ると、天気データが返ってくる。使う側は、天気サービスのデータベース構造や内部処理を知る必要はない。APIのルールに従ってお願いすれば、必要な結果を受け取れる。

APIは「公式な入口」である

APIは、他のサービスの中身へ勝手に入り込む仕組みではない。サービス提供側が「この機能は、この形式で使ってよい」と用意した公式な入口である。

サービス提供側は、APIとして次のような情報を決める。

  • どのURLへリクエストを送るか
  • どんなデータを送るか
  • どんな形式で返すか
  • 認証が必要か
  • どの操作が許可されているか
  • どれくらいの回数まで使えるか

このようにルールを決めることで、外部のアプリは安全で整理された形で連携できる。APIは、サービス同士をつなぐための「自由な裏口」ではなく、「管理された正規の窓口」である。

APIでできること

APIを使うと、他のサービスの機能やデータを自分のアプリやサイトから利用できる。

たとえば、次のようなことができる。

  • 地図サービスの地図や住所検索を使う
  • AIサービスに文章生成や要約を依頼する
  • 翻訳サービスで文章を翻訳する
  • 決済サービスで支払い処理をする
  • 天気情報や株価情報を取得する
  • SNSの投稿やプロフィール情報を取得する
  • 自社システム同士で顧客データを連携する

つまりAPIは、外部の機能を部品のように借りて使うための仕組みでもある。すべてを自分でゼロから作らなくても、既存サービスの強力な機能を組み込めるのが大きなメリットである。

WebページとWeb APIの違い

初心者が混同しやすいのが、普通のWebページとWeb APIの違いである。

Webページは、人間がブラウザで見たり操作したりするためのものである。見た目、文章、ボタン、画像、レイアウトなどがある。

一方、Web APIは、主にプログラム同士がデータをやり取りするためのものである。見た目よりも、データの受け渡しが中心になる。

たとえば、ブラウザで開くときれいな画面が出るのがWebページで、プログラムからアクセスするとJSONなどのデータを返すのがWeb API、というイメージである。

{
  "city": "Tokyo",
  "temperature": 24,
  "condition": "cloudy"
}

このようなデータを受け取ったアプリは、それを画面に表示したり、別の処理に使ったりできる。

APIはリクエストとレスポンスで動く

Web APIでは、多くの場合、アプリがAPIへお願いを送り、APIが結果を返す。

この「お願い」をリクエスト、「返事」をレスポンスと呼ぶ。

アプリ → API: 東京の天気を教えてください
API → アプリ: 東京は曇り、気温は24度です

実際のWeb APIでは、このやり取りはHTTPリクエストHTTPレスポンスとして行われることが多い。

たとえば、JavaScriptでは次のようにAPIへリクエストを送れる。

fetch("https://api.example.com/weather?city=tokyo")
  .then((response) => response.json())
  .then((data) => {
    console.log(data);
  });

この例では、fetchを使ってAPIにアクセスし、返ってきたJSONデータをJavaScriptで扱っている。

EndpointとはAPIの具体的な接続先である

APIを使うときには、Endpointという言葉もよく出てくる。Endpointとは、APIへリクエストを送る具体的な接続先のことである。

たとえば、次のようなものがEndpointである。

GET https://api.example.com/users
GET https://api.example.com/users/123
POST https://api.example.com/orders

APIはサービス全体の窓口や仕組みを指す広い言葉で、Endpointはその中の具体的な入口である。

初心者向けには、APIが「役所の窓口全体」、Endpointが「住民票を取る窓口」「申請書を出す窓口」のような個別窓口だと考えると分かりやすい。

APIキーとの関係

多くのAPIでは、誰でも無制限に使えるわけではない。そこでよく使われるのがAPIキーである。

APIキーは、「この利用者やプロジェクトには利用が許可されている」と相手サービスに示すための秘密の文字列である。

整理すると、次のようになる。

用語 役割
API 機能やデータを使うための窓口
APIキー その窓口を利用するための認証情報
Endpoint APIの具体的な接続先

APIキーはAPIそのものではない。APIを使うために必要になることがある認証情報である。この違いを分けて理解しておくと、エラー対応やドキュメント読解がしやすくなる。

REST APIとの関係

APIの中でも、Web開発で特によく聞くのがREST APIである。

Web開発で一般的なREST APIでは、HTTPの仕組みを使って、URLで対象を示し、HTTPメソッドで操作を示すことが多い。

たとえば、ユーザー情報を扱うREST APIなら次のように表現されることがある。

GET    /users       ユーザー一覧を取得
GET    /users/123   ユーザーID 123 の情報を取得
POST   /users       新しいユーザーを作成
PATCH  /users/123   ユーザーID 123 を更新
DELETE /users/123   ユーザーID 123 を削除

APIは広い言葉で、REST APIはその中の一種である。つまり「API = REST API」ではない。GraphQL、WebSocket API、OSやライブラリのAPIなど、APIにはさまざまな形がある。

APIを使うときに見るポイント

APIを使うときは、なんとなくURLへアクセスするだけではうまくいかない。相手サービスのドキュメントを読み、必要なルールを確認する必要がある。

特に見るべきポイントは次のとおりである。

  • Base URL
  • Endpoint
  • HTTPメソッド
  • 必要なパラメータ
  • 認証方法
  • リクエストの形式
  • レスポンスの形式
  • ステータスコード
  • 利用制限や料金

たとえば、同じ「ユーザー情報を取得する」APIでも、サービスによってURL、認証方法、返ってくるJSONの形は異なる。API連携では、公式ドキュメントを読む力が重要になる。

APIのメリットと注意点

APIを使う大きなメリットは、他人が作った高度な機能を、自分でゼロから作らずに利用できることである。

たとえば、AIエンジン、地図システム、決済機能、メール配信基盤などを自作するのは大変である。しかしAPIを使えば、必要な機能を外部サービスから借りて、自分のアプリに組み込める。

一方で、APIには注意点もある。

  • 相手サービスの仕様変更や障害の影響を受ける
  • 利用回数や料金の制限があることが多い
  • APIキーなどの認証情報を安全に管理する必要がある
  • ネットワーク通信の失敗や遅延を考える必要がある
  • エラー時の処理をきちんと用意する必要がある
  • ブラウザから呼ぶ場合はCORSの制限に注意する必要がある

APIは便利な部品だが、外部に依存する部分でもある。そのため、成功する前提だけでなく、失敗したときの動きも考えておくことが大切である。

AIコーディングとの関係

AIコーディングでは、APIを使う場面が非常に多い。AIに「天気APIを使って画面を作って」「OpenAI APIを呼び出して要約機能を作って」「バックエンドにREST APIを作って」と依頼することがある。

AIは、APIを呼び出すコード、レスポンスを画面に表示する処理、エラー処理、API仕様のたたき台などを生成できる。

ただし、AIに任せると次のような問題が起こることもある。

  • 実在しないEndpointを想像で書く
  • APIキーをフロントエンドに直接置く
  • エラー処理を省略する
  • レート制限や料金を考慮しない
  • 公式ドキュメントと違うパラメータ名を使う

AIに依頼するときは、使いたいAPIの公式ドキュメント、Endpoint、認証方法、入力と出力の例を一緒に渡すと精度が上がる。

このAPIドキュメントに従って、JavaScriptのfetchでデータを取得するコードを書いてください。
APIキーは環境変数から読み込み、フロントエンドには直接置かない構成にしてください。
失敗時のエラー処理とステータスコード別の分岐も入れてください。

APIはAI時代の開発で外部サービスを組み込むための重要な接点である。ただし、AIの出力が正しいかどうかは、必ず公式ドキュメントと実際のレスポンスで確認する必要がある。

よくある勘違い

APIとAPIキーは同じもの?

同じではない。APIは機能やデータを使うための窓口で、APIキーはその窓口を使うための認証情報である。APIキーを持っていても、APIの使い方やEndpointを知らなければ正しく利用できない。

APIはWebサービスだけのもの?

Webサービスだけではない。OS、ブラウザ、ライブラリ、フレームワークにもAPIはある。ただし、初心者がWeb開発やAI連携でよく触れるのはWeb APIである。

APIを使えば何でも自由にデータを取れる?

自由に取れるわけではない。APIには利用できる機能、取得できるデータ、認証、料金、利用制限がある。サービスの利用規約やドキュメントに従う必要がある。

APIが返すデータは必ずJSON?

必ずではない。現代のWeb APIではJSONがよく使われるが、XML、テキスト、画像、バイナリデータなどを返すAPIもある。利用するAPIのレスポンス形式を確認することが大切である。

まとめ

  • APIは、ソフトウェアやサービス同士が機能やデータをやり取りするためのルール付きの窓口である。
  • Web APIでは、リクエストを送り、レスポンスとしてJSONなどのデータを受け取ることが多い。
  • API、APIキー、Endpoint、REST APIは関係しているが、それぞれ役割が違う。
  • APIを使うと外部サービスの機能を組み込めるが、認証情報、料金、利用制限、エラー処理に注意が必要である。
  • AIにAPI連携を依頼するときは、公式ドキュメントと具体的な仕様を渡し、出力を必ず検証する。

情報ソース

より詳しくAIに聞いてみよう

  • APIとは何かを、中学生でもわかるように説明してください。
  • APIとWebページの違いを、初心者向けに具体例つきで説明してください。
  • API、APIキー、Endpoint、REST APIの違いを整理してください。
  • APIのリクエストとレスポンスとは何か、具体例つきで教えてください。
  • 生成AIを自分のアプリに組み込むとき、APIがどう使われるのか説明してください。