「APIって聞くけど、結局なにをしているの?」——この記事では、DX-NoCodeBootCamp 3日目・A班の題材「天気アプリ」を例に、ネットからデータを取ってくるしくみをやさしく解説します。使うのは無料の天気API「Open-Meteo」。会員登録もAPIキーもいりません。あわせて、多くの人がつまずく「なぜ index という1枚のファイルだけで動くのか?」という疑問にも答えます。
この教材でやっていること(ひとことで)
「入力(都市を選ぶ)→ 取ってくる(天気データ)→ 表示(画面に出す)」。この3ステップを、たった1枚のHTMLファイルで動かします。使うのは Open-Meteo という無料の天気API。パスワード(APIキー)が不要なので、そのまま公開しても安全です。
1. APIって、そもそも何?
APIは 「データをURLで受け取れる窓口」 だと思ってください。いつもブラウザでURLを開くと「ページ(見た目)」が返ってきますよね。APIのURLを開くと、返ってくるのは見た目ではなく データそのもの です。
たとえば、この教材で使うURL:
https://api.open-meteo.com/v1/forecast?latitude=34.34&longitude=134.05¤t=temperature_2m,weather_code&timezone=Asia/Tokyo
これは「高松(緯度34.34・経度134.05)の、今の気温と天気コードを、日本時間で教えて」というお願いです。このURLを開くと、こんな 数字のデータ が返ってきます:
{ "current": { "temperature_2m": 28.5, "weather_code": 3 } }
temperature_2m: 28.5→ 気温28.5℃weather_code: 3→ 天気の「番号」(3はくもり、などのルールが決まっている)
ポイント:APIは「見た目」ではなく「材料(データ)」を渡してくれる。 その材料を使って、絵文字や日本語に変えて見やすく飾るのが、あなたのアプリ(index.html)の仕事です。
[Open-Meteoのサーバー] --(数字のデータ)--> [あなたのindex.html] --(絵文字・日本語に変換)--> [画面]
2. なぜ「APIキー不要」だと安全に公開できるの?
多くのAPIは、使うときに 「APIキー」という秘密の鍵 が必要です。この鍵をアプリの中に書いたまま公開すると、鍵が他人に盗まれて悪用される危険があります。
Open-Meteoは 鍵がいらない ので、そのままインターネットに公開しても「鍵が漏れる」心配がありません。だから最初の練習題材として安全なのです。
3. いちばんの疑問:「index で作ると1枚」「API だけ index と言っても同じファイルが出る」のはなぜ?
これはとても良い着眼点です。まずは全体像を図で見てみましょう。

ポイントは「あなたが作るファイルは index.html 1枚だけ」で、APIはその外にある別サーバー、という点です。ここを順番に解きほぐします。
① まず「index」とは何か
index.html は、Webサイトの 「玄関の扉」=最初に開かれる特別なファイル です。Webサーバー(GitHub Pagesなど)には、こういうルールがあります:
URLにファイル名を書かずにアクセスされたら、
index.htmlを出す
たとえば https://あなたの名前.github.io/ のように「フォルダまで」しか指定していなくても、サーバーは黙って index.html を探して表示します。これが「既定(デフォルト)のファイル」という決まりごとです。
だから——あなたが作ったファイルは index.html 1枚だけなので、どうアクセスしても、いつも 同じ index.html が表示されるのです。
②「API だけ index」と言っても同じファイルが出る理由
ここが核心です。多くの人が 「APIは別のファイル(別ページ)だ」 と勘違いします。でも実際はこうです:
APIは、あなたのプロジェクトの中のファイルではありません。APIは、Open-Meteoという“よその会社のサーバー”にあるURLです。
あなたのプロジェクトの中には index.html しかありません。その index.html の中に書かれたプログラム(JavaScript)が、必要になったときだけ よそのサーバー(API)へ電話をかけて、データだけもらってくる。この電話をかける命令を fetch(フェッチ=取ってくる)と言います。
あなたのフォルダの中身:
└── index.html ← これ1枚だけ!(APIという名前のファイルは無い)
index.htmlがやること:
①画面を表示する
②ボタンが押されたら、Open-MeteoのAPI(URL)に電話する
③返ってきた数字を、絵文字と日本語にして画面に出す
つまり——「index」=あなたの唯一のファイル(玄関の扉)、「API」=そのファイルの中から呼び出す、外部の“データ窓口”。両方とも入口が index.html 1枚に集約されているから、「index」と言っても「APIのindex」と言っても、出てくるのは同じ index.html なのです。APIは“中で呼ばれる相手”であって、“表示されるファイル”ではない、というのがカラクリです。
4. まとめ
| 言葉 | 正体 | どこにある? |
|---|---|---|
| index.html | あなたが作る唯一のファイル(玄関) | 自分のフォルダ / GitHub |
| API(Open-Meteo) | データをくれる外部の窓口URL | よその会社のサーバー |
| fetch | APIに電話して取ってくる命令 | index.htmlの中 |
- Webは「ファイル名なしでアクセス→
index.htmlを出す」決まりがある → だから毎回同じ画面 - APIは“ファイル”ではなく“外部のURL” → あなたのフォルダには増えない
- だから 「1枚のindex.html」=アプリ本体+API呼び出し が全部入っている
これが分かると、「入力 → 取ってくる → 表示」の流れが、1枚のファイルの中でどう動いているかがスッキリ見えてきます。まずは完成形をさわり、次に自分の手でAIへ指示(プロンプト)を出して、同じものを組み立ててみましょう。


