「APIで取得できます」「API連携が必要です」みたいな話、IT系の人から1日に何度も聞きます。
でも、
「APIって結局なに?」「アプリと何が違うの?」
をスッキリ説明できる人、技術者でも意外と少ない(ちゃんと説明するのは難しい)。
たとえ話で行きます。
API(エーピーアイ)は、「あるシステムが、外部から呼ばれた時に決まった動きをする"窓口"」のこと。
例えるなら レストランの「メニュー」と「ウェイター」。
お客(あなたのアプリ)は、メニュー(API仕様)を見て、ウェイター(API)に「ハンバーグください」と頼むと、キッチン(システム内部)がハンバーグを作って届けてくれる、というイメージ。
まず、APIは何の略?
APIは Application Programming Interface の略。
日本語に直訳すると「アプリケーション同士をつなぐための窓口」。
ややこしいので、**「システムとシステムをつなぐ約束ごと」**と覚えるのが実用的。
レストランで全部理解する
具体例にいきます。
あなたがレストランに行ったとします:
- メニュー(API仕様)を見る
- ウェイター(API)に注文を伝える:「ハンバーグください」
- ウェイターがキッチン(システム内部)に伝える
- キッチンが料理を作る
- ウェイターが料理を持ってくる
ポイントは、
- あなたはキッチンに直接行かない(キッチンの中身は見えない)
- メニューにある料理しか頼めない(API仕様に書かれてることだけ可能)
- 「ハンバーグください」と頼めば必ずハンバーグが来る(決まった動き)
これがAPIの本質。「中身は見せないけど、決まった頼み方をすれば決まった結果を返してくれる窓口」。
ここだけ覚える
API = 「システムの窓口」
外から決まった頼み方をすると、決まった結果が返ってくる。中身(キッチン)は隠されている。
具体例:天気予報API
実際のAPIの例を見ます。
「気象庁の天気予報API」というのがあって、URLにアクセスすると、天気の情報がJSON(データのフォーマット)で返ってきます:
https://www.jma.go.jp/bosai/forecast/data/forecast/130000.json
これにアクセスすると、東京の天気が返ってくる。「東京の天気くれ」とAPIに頼むと、データが返ってくる。
これを使って、
- スマホの天気アプリ
- 天気を表示する家電
- 旅行サイトの「明日の旅行先の天気」表示
など、たくさんのサービスが裏で動いています。
似たような身近なAPI
「あなたが知らないだけで、毎日APIに支えられて生きている」と言っても過言じゃありません:
| サービス | 裏で使われているAPI |
|---|---|
| Google Maps を埋め込んだサイト | Google Maps API |
| TwitterやInstagramの埋め込み | Twitter/Instagram API |
| Suica残高をアプリで見る | JR東のAPI |
| 株価表示アプリ | 証券会社や金融データのAPI |
| ChatGPTを組み込んだ自社サービス | OpenAI API |
APIで何が便利になる?
「自分で全部作らなくていい」のが最大のメリット。
たとえばあなたが旅行サイトを作る時、
- APIがない世界:天気予報を自分で観測しなきゃ → 不可能
- APIがある世界:気象庁のAPIに「明日の沖縄の天気くれ」と頼むだけ → 一瞬で天気表示できる
つまり、他社の機能や情報を「お借りして」自分のサービスに組み込めるのがAPI。
REST API、SOAP API、GraphQL...の違い
APIの世界にはいくつか種類があります。違いは「頼み方のルール」だけです。
いまの主流
- URLで頼みを表現する
- シンプルで分かりやすい
- 2010年代以降の事実上の標準
新しい流派
- 欲しいデータを細かく指定できる
- Facebookが作ったもの
- 大規模サービスで人気上昇中
他にも SOAP、gRPC など色々ありますが、普通の人は「REST API」と「GraphQL」がある、と知っておけば十分。
API利用には「鍵」が必要なことが多い
無料・無制限じゃありません。多くのAPIは、
- APIキー:あなたのアプリの身分証明書
- 利用回数制限:1時間に100回まで、など
- 有料プラン:商用利用は月額○円
があります。シンプリでもPexelsというAPIを使って記事サムネを取得していますが、APIキーを登録して使ってます。
APIキーは絶対に公開しない
APIキーはパスワードと同じ。GitHubに上げちゃダメ、ブログに貼っちゃダメ。漏れると他人にAPIを使われ放題で、課金が爆発したり、利用停止になります。
まとめ
- API = システム同士をつなぐ「窓口」、決まった頼み方をすると決まった結果が返ってくる
- レストランのメニュー+ウェイターのイメージ
- 天気予報、地図、SNS、決済、AI ─ 世の中の多くのサービスはAPIで連携している
- APIがあるおかげで「他社の機能を借りて」自分のサービスを作れる
- 種類はREST APIが主流、最近はGraphQLも増えている
- APIキーは絶対に公開しないこと
クラウドやChatGPTと並んで、IT用語の中でも特に重要な概念です。技術者でなくても、ニュースで「APIが…」と聞いたとき、ぼんやりとイメージできるだけで世界が変わります。