Programming Lab

APIとは?
初心者向けにやさしく解説

APIは、アプリやWebサービスどうしが情報をやり取りするための 「窓口」のようなものです。 難しそうに見えますが、考え方は意外とシンプルです。

目次

APIとは?

APIは Application Programming Interface の略です。 ざっくり言うと、 あるサービスの機能やデータを、別のプログラムから使うための窓口 です。MDNでは、APIは複雑な機能をより簡単に使えるようにする仕組みとして説明されています。:contentReference[oaicite:1]{index=1}

たとえば、天気アプリが自分で世界中の天候を観測しているわけではなく、 天気情報を持っているサービスのAPIからデータを受け取っている、 という形がよくあります。

なぜAPIを使うの?

1. 既存サービスを使える

地図、天気、決済、ログイン、AIなど、 すでにある機能を自分でゼロから作らなくて済みます。

2. データ連携がしやすい

自社サイト、アプリ、管理画面などで 同じデータを共有しやすくなります。

3. 役割を分けられる

フロント側は表示、API側はデータ処理、 のように整理しやすくなります。

4. 自動化しやすい

手作業で入力していた処理を、 プログラムどうしのやり取りで自動化できます。

身近なたとえで考えるAPI

APIは、よくお店の注文窓口にたとえられます。

あなた
注文する人
API
注文を受ける窓口
サービス本体
料理を作る厨房

あなたは厨房の中の仕組みを全部知らなくても、 メニューに沿って注文すれば料理を受け取れます。 APIも同じで、 決められた方法でお願いすると、必要な結果を返してくれる のです。

APIの流れ

  1. アプリやWebページがAPIにリクエストを送る
  2. APIがその内容を受け取る
  3. サーバー側で必要な処理をする
  4. 結果をJSONなどで返す
  5. 受け取った側が画面に表示する

Webの世界では、JavaScriptの fetch() でリクエストを送り、 結果を受け取る使い方がとても一般的です。 また、MDNでは Request を「リソースのリクエストを表すもの」と説明しています。:contentReference[oaicite:2]{index=2}

APIの返り値でよく見るJSON

APIは結果を JSON 形式で返すことが多いです。 JSONは、データをやり取りしやすいシンプルな書き方です。

{
  "status": "success",
  "message": "データを取得しました",
  "items": [
    { "id": 1, "name": "りんご" },
    { "id": 2, "name": "みかん" }
  ]
}

JavaScriptでAPIを使う例

ブラウザでは、fetch() を使ってAPIにアクセスすることが多いです。

async function loadPosts() {
  const resultArea = document.getElementById('result');

  try {
    resultArea.textContent = '読み込み中...';

    const response = await fetch('sample-api.php');
    const data = await response.json();

    if (!data.items || !Array.isArray(data.items)) {
      resultArea.textContent = 'データ形式が正しくありません。';
      return;
    }

    resultArea.innerHTML = data.items
      .map(item => `<li>${item.name}</li>`)
      .join('');
  } catch (error) {
    console.error(error);
    resultArea.textContent = 'APIの取得に失敗しました。';
  }
}
  • ここに取得結果が表示されます

PHPでAPIを作る・使う例

PHPでは、自分でJSONを返すAPIを作ることもできますし、 cURLを使って外部APIにアクセスすることもできます。 PHP公式マニュアルでも cURL 関数群が案内されています。:contentReference[oaicite:3]{index=3}

1. JSONを返す簡単なAPI

<?php
header('Content-Type: application/json; charset=UTF-8');

$data = [
    'status' => 'success',
    'items' => [
        ['id' => 1, 'name' => 'HTML'],
        ['id' => 2, 'name' => 'CSS'],
        ['id' => 3, 'name' => 'JavaScript'],
        ['id' => 4, 'name' => 'PHP'],
    ],
];

echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

2. PHPで外部APIへアクセスする例

<?php
$url = 'https://example.com/api/items';

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if ($response === false) {
    echo '通信エラー: ' . curl_error($ch);
    curl_close($ch);
    exit;
}

curl_close($ch);

$data = json_decode($response, true);

echo '<pre>';
print_r($data);
echo '</pre>';

初心者が押さえたいポイント

URL

どこに送るか。APIの住所のようなものです。

メソッド

GET、POST など。取得か送信かを表します。

レスポンス

返ってくる結果。多くはJSON形式です。

エラー処理

失敗したときの表示や再試行を考えることも大切です。

認証

APIキーやトークンが必要なAPIも多いです。

まとめ

APIは難しい専門用語に見えますが、 本質は「別のサービスにお願いして、結果を返してもらうための窓口」です。

HTMLで画面を作り、CSSで見た目を整え、 JavaScriptでAPIを呼び出し、 PHPでAPIを作ったり受けたりする。 こうしてつながると、Webの仕組みがかなり見えてきます。

このテーマのきっかけになった動画

APIをもっと感覚的に理解したい人には、 この動画がかなり入りやすいです。 動画ではAPIを「窓口」として説明していて、 専門用語に引っ張られずに全体像をつかみやすくなっています。:contentReference[oaicite:4]{index=4}

機械オンチに「API」を説明する動画

きっかけ記事

APIという言葉は、最初に聞くとすごく固く感じます。 でもこの動画を見てから考えると、 「サービスにお願いするための決まった入口なんだな」と整理しやすくなります。

プログラミング初心者がAPIを学ぶときは、 いきなり細かい仕様から入るより、 まず「誰が」「どこへ」「何をお願いして」「何が返ってくるのか」 という流れで理解すると、かなり飲み込みやすくなります。

この記事も、その動画をきっかけに、 APIをできるだけやさしくつかめるように整理した内容です。