カテゴリ: Flask 更新日: 2025/12/13

Flaskで外部APIと連携する方法!requestsライブラリの使い方を初心者向けに解説

Flaskで外部APIからデータを取得する方法!requestsライブラリ活用例
Flaskで外部APIからデータを取得する方法!requestsライブラリ活用例

先生と生徒の会話形式で理解しよう

生徒

「先生!Flaskでほかのサイトの情報を取り込むことってできますか?」

先生

「はい、できますよ。Pythonのrequestsというライブラリを使えば、外部のAPI(エーピーアイ)から情報を取得できます。」

生徒

「APIってなんですか?むずかしそうです…」

先生

「安心してください。APIは、インターネット上にある自動販売機のようなもので、URLを指定すると情報を取り出せる仕組みなんです。簡単な例で一緒に学んでいきましょう!」

1. FlaskとAPIってなに?超初心者向けに解説

1. FlaskとAPIってなに?超初心者向けに解説
1. FlaskとAPIってなに?超初心者向けに解説

Flask(フラスク)は、Python(パイソン)というプログラミング言語で、簡単にホームページやWebサービスを作るためのツールです。

API(エーピーアイ)は「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略で、外のシステムやデータとやりとりできる入り口です。

たとえば「今日の天気を調べたい!」と思ったときに、気象庁などが公開しているAPIを使えば、パソコンでクリックしなくても天気の情報を自動で取り込めるのです。

2. requestsライブラリとは?やさしく説明

2. requestsライブラリとは?やさしく説明
2. requestsライブラリとは?やさしく説明

requests(リクエスツ)ライブラリは、Pythonでインターネット上の情報を取ってくるときに使う便利な道具です。

たとえば「お店のホームページからメニューを見たい!」というときに、ブラウザで開かずにプログラムでそのページの情報を取ることができます。

このrequestsライブラリは、インターネットと会話をするための電話のような役割をしてくれます。

3. Flaskで外部APIのデータを取得するサンプル

3. Flaskで外部APIのデータを取得するサンプル
3. Flaskで外部APIのデータを取得するサンプル

ここでは、「ダミーのユーザー情報を提供してくれる無料API(https://jsonplaceholder.typicode.com/users)」を使って、Flaskでそのデータを取得する方法を紹介します。


from flask import Flask, jsonify
import requests

app = Flask(__name__)

@app.route("/get-users")
def get_users():
    response = requests.get("https://jsonplaceholder.typicode.com/users")
    users = response.json()  # 取得したデータをJSON形式で取り出す
    return jsonify(users)

if __name__ == "__main__":
    app.run(debug=True)

4. 実行結果の例

4. 実行結果の例
4. 実行結果の例

このプログラムを実行して「http://localhost:5000/get-users」にアクセスすると、以下のようなデータが表示されます。


[
  {
    "id": 1,
    "name": "Leanne Graham",
    "username": "Bret",
    "email": "Sincere@april.biz"
  },
  ...
]

このように、APIを使ってたくさんのユーザー情報を一気に受け取ることができます。

5. JSON(ジェイソン)ってなに?初心者向けに解説

5. JSON(ジェイソン)ってなに?初心者向けに解説
5. JSON(ジェイソン)ってなに?初心者向けに解説

JSON(ジェイソン)は、インターネット上でよく使われる「データの形(フォーマット)」です。見た目はカッコ({})やカギカッコ("")を使っていて、メモ帳に書かれた辞書のようなものです。

たとえば:


{"name": "Taro", "age": 20}

これは「名前はTaro、年齢は20歳」という意味になります。

Flaskでは、このJSONをとても簡単に扱うことができます。

6. APIとURLの関係をわかりやすく説明

6. APIとURLの関係をわかりやすく説明
6. APIとURLの関係をわかりやすく説明

URL(ユーアールエル)は、インターネット上の住所のようなものです。APIはこの住所に行くことでデータを受け取れます。

「郵便局に行って住所を伝えたら荷物が届く」イメージです。requestsライブラリは、その荷物を取りに行く配達員の役割をします。

7. エラーが起きたときの対応方法

7. エラーが起きたときの対応方法
7. エラーが起きたときの対応方法

インターネットの接続がうまくいかない、URLが間違っているなどでエラーが出ることがあります。

そのときは、requests.get()で返されたstatus_codeを確認してみましょう。


response = requests.get("https://jsonplaceholder.typicode.com/users")
if response.status_code == 200:
    users = response.json()
else:
    users = {"error": "データを取得できませんでした"}

8. よく使うHTTPメソッドを紹介

8. よく使うHTTPメソッドを紹介
8. よく使うHTTPメソッドを紹介

APIとやりとりするときには、「GET」「POST」「PUT」「DELETE」といったHTTPメソッドを使います。今回はGET(ゲット)という方法を使っています。

  • GET:データをもらう(今回の例)
  • POST:データを送る
  • PUT:データを更新する
  • DELETE:データを削除する

初心者はまずGETから覚えるのがおすすめです。

9. APIの使い道をイメージしよう

9. APIの使い道をイメージしよう
9. APIの使い道をイメージしよう

APIを使うと、たとえばこんなことができます:

  • 天気予報の情報を表示
  • 郵便番号から住所を表示
  • ニュースの最新記事を取得
  • 音楽や動画のランキングを取得

つまり、自分でたくさんのデータを作らなくても、すでにある情報を取り込むことで便利なWebサービスを作ることができます。

まとめ

まとめ
まとめ

Flaskで外部APIと連携する方法を学んできましたが、あらためて振り返ってみると、単にコードを書くという作業ではなく、外の世界とつながる仕組みを理解することそのものがとても大切だと感じられます。とくに初心者にとっては、APIという言葉そのものが専門的でむずかしそうに聞こえますが、実際に手を動かしてみると、URLを指定して情報を受け取り、それを加工して表示するという流れは思ったよりシンプルだと気づけたはずです。今回の記事では、requestsライブラリを使ったデータ取得の基本、APIとURLの関係、JSON形式の扱い方などを並べて説明しながら、具体的な実行例を通して理解を深めました。 とくに、FlaskとAPIの連携は、現実のWebサービスで頻繁に求められる必須の技術です。天気予報の表示、地図検索、SNSデータの取得、ユーザー情報の外部システムとの同期など、外部APIを利用する場面は数えきれないほどあり、今回の学習内容はその第一歩になります。requestsライブラリを使えば、複雑な処理を意識せずにデータを取得でき、API側のサーバーが返してくれた情報をそのままFlaskアプリに組み込めるため、初心者でもスムーズに扱えます。これによって、自分のアプリが外部とつながり、ただの静的なページではなく、動きのある情報提供サービスへと成長していく実感が得られたのではないでしょうか。 また、今回紹介したサンプルコードでは、jsonplaceholderというサンプルAPIを利用しましたが、実際には国内外の企業やサービスが数多くのAPIを公開しています。たとえば天気、ニュース、音楽、地図、写真、翻訳など、さまざまな分野でAPIが使われています。これらのAPIを上手に組み合わせることで、より実用的なサービスへと発展させることができます。初心者の段階からAPIに触れておくことで、自然と「自分のサービスにどのデータを取り込むと便利だろう」と考えられるようになり、応用の幅も広がっていきます。 さらに重要なのは、API通信では必ず「成功か失敗か」を判断する必要があるという点です。status_codeの確認、エラーへの備え、通信ができなかった場合の表示などは、実践では必須の考え方です。もしインターネットの接続が不安定だったり、API側がメンテナンス中だった場合、適切なメッセージを返せるかどうかでサービスの印象は大きく変わります。そのため、エラー処理の基本を身につけることは、将来的に大きな力になります。 ここまでの内容を総合すると、Flaskとrequestsを組み合わせる方法を身につけることで、初心者でも外部サービスと連携した高度なWebアプリを作れるようになります。APIを使いこなすスキルは、一度理解するとあらゆる分野に活用できる汎用的な技術です。これから取り組むアプリ開発の中でも、外のデータを利用した機能を追加したいと思ったとき、今回の学びが大きな支えとなるでしょう。最後に、今回使ったコードをもとにした応用サンプルをもう一つ紹介し、理解を深めておきます。

追加のサンプルコード(天気APIを取得する例)


from flask import Flask, jsonify
import requests

app = Flask(__name__)

@app.route("/weather")
def weather():
    url = "https://api.open-meteo.com/v1/forecast?latitude=35.0&longitude=135.0&hourly=temperature_2m"
    response = requests.get(url)

    if response.status_code == 200:
        data = response.json()
        return jsonify(data)
    else:
        return jsonify({"error": "天気データを取得できませんでした"})

if __name__ == "__main__":
    app.run(debug=True)

このように、URLを変更するだけで取得できるデータはまったく違うものになります。外部APIの仕組みに慣れてきたら、自分が必要とするデータを探し、公式ドキュメントを読んで取り込み方を理解するという流れに挑戦してみましょう。慣れてくると、APIドキュメントの読み方にも自然と慣れ、どの項目が必要なのか、どのURLを使えばよいのか判断できるようになります。これは開発者にとって非常に重要な力であり、継続して学ぶことでさらに視野が広がっていきます。

先生と生徒の振り返り会話

生徒

「先生、APIってむずかしそうだと思っていましたけど、実際に使ってみるとURLを指定するだけで必要な情報を取り出せる仕組みなんですね。」

先生

「そうだね。最初は難解に感じるけれど、基本の流れさえ理解すれば応用もしやすくて、とても便利な技術なんだよ。」

生徒

「requestsライブラリも使いやすいですし、Flaskと組み合わせたら本当にいろんなサービスが作れそうです。」

先生

「その通り。たとえばニュースを取り込んだり、地図情報を表示したり、天気のデータを取得したりと発展性が大きいのがAPIの魅力なんだ。」

生徒

「今回の学びで、自分のアプリが外とつながる感じがして、すごくワクワクしました!」

先生

「その感覚がとても大事だよ。これからいろいろなAPIを触って、もっと便利なアプリを作っていこうね。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Flaskとは何ですか?初心者にも使えますか?

FlaskはPythonでWebアプリケーションを簡単に作れる軽量なフレームワークです。初心者でも扱いやすく、API連携やHTML表示など基本的な機能を学ぶには最適なツールです。
カテゴリの一覧へ
新着記事
New1
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
New2
Flask
Flask-WTFでファイルアップロードフォームを完全ガイド!初心者でもわかる画像やPDFのアップロード方法
New3
Flask
FlaskでCSRF対策を実装する方法!安全なフォーム送信を学ぼう
New4
Python
Pythonの文字列型(str)を完全解説!連結・分割・検索の方法を紹介
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.5
Java&Spring記事人気No5
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.6
Java&Spring記事人気No6
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説
No.7
Java&Spring記事人気No7
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.8
Java&Spring記事人気No8
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本