JavaScriptのfetch入門【APIからデータを取得する方法】

JavaScript fetch APIの使い方を初心者向けに解説。データ取得・JSON変換・async/awaitとの組み合わせ・エラーハンドリングをコード例で紹介。中高生向け。無料。

2026年4月16日

JavaScript fetch とは?

ウェブアプリでは、サーバーからデータを取得する場面がよくあります。天気情報・ニュース・ユーザーデータなど、外部の API(エーピーアイ) からデータを取得するときに使うのが fetch(フェッチ) です。

APIとは Application Programming Interface の略で、「プログラムからデータを取得・送信するための窓口」です。

fetchの基本的な使い方

fetch('https://api.example.com/data')
  .then(function(response) {
    return response.json(); // JSONに変換
  })
  .then(function(data) {
    console.log(data); // データを使う
  })
  .catch(function(error) {
    console.log('エラー:' + error);
  });

💡 文字列操作入門で基礎を確認できます。

async/awaitで書く(推奨)

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');

    if (!response.ok) {
      throw new Error('HTTPエラー:' + response.status);
    }

    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.log('エラー:' + error);
  }
}

getData();

🔗 あわせてPromise入門もチェックしてみましょう。

実践例:JSONPlaceholderでデータを取得

JSONPlaceholderjsonplaceholder.typicode.com)は、テスト用の無料APIです。実際に試してみましょう。

async function getPost() {
  const response = await fetch('https://jsonplaceholder.typicode.com/posts/1');
  const post = await response.json();
  console.log(post.title); // 投稿のタイトルが表示される
}

getPost();

📖 詳しくはエラー辞典で解説しています。

fetchの実践的な使い方

fetchを使った実践的な例を紹介します。

使い方1:天気情報を取得して表示する

無料の天気APIからデータを取得して、ページに表示する例です。fetchでAPIのURLにリクエストを送り、返ってきたJSONデータから気温や天気を取り出して画面に表示します。

使い方2:ランダムな名言を表示する

名言APIからランダムな名言を取得して表示する例です。ボタンを押すたびに新しい名言が表示されるページが作れます。

使い方3:画像を検索して表示する

画像検索APIを使って、キーワードに合った画像を取得して表示する例です。入力欄にキーワードを入れると、関連する画像が並ぶギャラリーが作れます。

async/awaitで読みやすく書く

fetchはPromise(プロミス)を返します。Promiseとは「あとで結果が届く約束」のようなものです。.then()で結果を受け取る書き方もありますが、async/await(アシンク/アウェイト)を使うとより読みやすく書けます。

async/awaitの書き方は次の通りです。関数の前にasyncをつけて、fetchの前にawaitをつけます。awaitは「結果が届くまで待つ」という意味です。上から順番に読めるので、処理の流れがわかりやすくなります。

エラーハンドリング

外部のサーバーからデータを取得するとき、必ず成功するとは限りません。サーバーが落ちていたり、ネットワークが切れていたりすることがあります。

エラーに対応するには、try...catch文を使います。tryの中にfetchの処理を書き、エラーが起きたらcatchの中の処理が実行されます。「データを取得できませんでした」のようなメッセージを表示すれば、ユーザーが混乱しません。

また、fetchはネットワークエラー以外ではエラーを投げません。サーバーが404や500を返しても、fetchは成功扱いになります。レスポンスのokプロパティを確認して、falseならエラーとして処理しましょう。

fetchでよくあるミス

ミス1:JSONの変換を忘れる

fetchのレスポンスはそのままではJavaScriptのオブジェクトとして使えません。response.json()で変換する必要があります。この変換もPromiseを返すので、awaitが必要です。

ミス2:CORSエラーが出る

別のドメインのAPIにアクセスすると、ブラウザがセキュリティのためにブロックすることがあります。これをCORS(コース)エラーと呼びます。APIがCORSを許可していない場合は、そのAPIをブラウザから直接呼び出すことはできません。

ミス3:非同期処理を理解していない

fetchは非同期処理です。fetchの次の行が実行されるとき、まだデータは届いていません。awaitを使わずにデータを使おうとすると、undefinedになります。

ミス4:APIキーをコードに直接書く

有料APIのキーをJavaScriptに直接書くと、誰でも見られてしまいます。公開するコードにAPIキーを含めないように注意しましょう。無料で公開されているAPIから始めるのが安全です。

最初は無料のAPIで練習しましょう。JSONPlaceholderやPokeAPIなど、登録不要で使えるAPIがたくさんあります。データを取得して画面に表示する練習を繰り返せば、自然と使いこなせるようになります。

まとめ

  • fetch:URLからデータを取得する関数
  • response.json() でJSONデータに変換する
  • async/await と組み合わせると読みやすく書ける
  • response.ok でHTTPエラーを確認する
  • try/catch でエラーハンドリングを行う

fetchを使いこなすと、外部APIからデータを取得するアプリが作れます。JavaScriptの基礎はJavaScript入門で復習できます。取得したデータの表示はDOM操作入門を参照してください。

あわせて読みたい記事

🎯 次のステップ

fetchでデータ取得ができたら、DOMを使って画面に表示してみよう!

JavaScript DOM操作入門へ →
目次

コースで実際に手を動かして学ぼう

レッスンではコードを書きながら基礎が身につきます

HTMLコースを始める →

この記事に出てくる用語

📣 この記事が役に立ったら

Xでシェア

💬 引用する場合はこちらをご利用ください:

JavaScript fetch APIの使い方を初心者向けに解説。データ取得・JSON変換・async/awaitとの組み合わせ・エラーハンドリングをコード例で紹介。中高生向け。無料。

出典: https://start-web-programming.com/blog/javascript-fetch/