AI・機械学習

速報!Hugging Face HubはAPIキー不要のJSON APIだった!トレンドAIモデルをPythonで取得する方法

「Hugging Faceってブラウザで眺めるだけのサイトでしょ?」

そう思っていた方、実はちょっともったいないことをしていたかもしれません 😲

Hugging Face Hubの裏側には、APIキーもログインも不要で叩けるJSON APIが存在しているんです。しかもトレンドモデルのランキングや詳細情報まで取得できちゃいます。今回はそのAPIをPythonで活用する方法をざっくり解説していきます!

🔑 APIキーなしで使えるエンドポイント

artificial intelligence ranking
artificial intelligence ranking / Photo by Pavel Danilyuk via Pexels

まず使えるエンドポイントを確認しておきましょう。

  • GET https://huggingface.co/api/models → モデル一覧
  • GET https://huggingface.co/api/datasets → データセット一覧
  • GET https://huggingface.co/api/spaces → Spaces一覧

これらは認証なし・登録なしで誰でもアクセスできます。イメージとしては「公開図書館の蔵書検索システムが外からAPIで叩ける」感じですね 📚

🐍 Pythonでトレンドモデルをランキング取得してみよう

実際にPythonでトレンド上位のモデルを取得するコードを書いてみましょう。ポイントをまとめるとこんな感じです。

  • sort=likes でいいね数順に並べられる
  • limit で取得件数を指定できる
  • カーソルページネーションで大量データも順に取得可能
import requests
import json

# Hugging Face Hub API(キー不要!)
BASE_URL = "https://huggingface.co/api/models"

def get_trending_models(limit=10):
    params = {
        "sort": "likes",       # いいね数で並び替え
        "direction": "-1",     # 降順(多い順)
        "limit": limit,        # 取得件数
    }

    response = requests.get(BASE_URL, params=params)
    response.raise_for_status()
    models = response.json()

    print(f"🏆 Hugging Face トレンドモデル TOP{limit}")
    print("-" * 40)

    for i, model in enumerate(models, 1):
        name = model.get("modelId", "不明")
        likes = model.get("likes", 0)
        downloads = model.get("downloads", 0)
        print(f"{i:2}. {name}")
        print(f"    ❤️ いいね: {likes:,}  📥 DL数: {downloads:,}")

get_trending_models(limit=10)

📊 週次レポートを自動生成するアイデア


このAPIの面白いところは、定期実行と組み合わせると「週次AIトレンドレポート」が自動で作れる点です。つまり、こんな活用が考えられます。

  • ✅ GitHub Actionsで毎週月曜に実行 → Slackへ通知
  • ✅ CSVに書き出してスプレッドシートで可視化
  • ✅ タスクタイプ(pipeline_tag)でフィルタして特定分野だけ追う

以下はタスクタイプを指定して絞り込む例です。

# 画像生成モデルだけに絞る例
params = {
    "sort": "downloads",
    "direction": "-1",
    "limit": 5,
    "filter": "text-to-image",  # パイプラインタグで絞り込み
}
response = requests.get(BASE_URL, params=params)
for model in response.json():
    print(model["modelId"], "|", model.get("downloads", 0))

ここが重要です。filter パラメータには text-generationtext-to-imageautomatic-speech-recognition などが使えます。AIのどの分野が今熱いのか、数字で追えるのが面白いですよね 🔥

まとめ

Hugging Face HubのJSON APIは、キー不要・登録不要で誰でも使えるにもかかわらず、あまり知られていない「隠れた便利ツール」でした。Pythonの requests さえあれば今日からすぐに試せます。

AI界隈のトレンドを「感覚」ではなく「データ」で追いかけたい方には特におすすめです。ぜひ週次レポート自動化にも挑戦してみてください 🚀

📚 関連商品・おすすめ書籍

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

もしも

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

初心者に定番のPython入門書

Amazonで見る

実践Claude Code入門―現場で活用するためのAIコーディングの思考法

もしも

実践Claude Code入門―現場で活用するためのAIコーディングの思考法

AIコーディングの現場活用法を学ぶ一冊

Amazonで見る

Python Web開発実践入門 ―― FastAPIによるWebAPI開発と非同期処理

もしも

Python Web開発実践入門 ―― FastAPIによるWebAPI開発と非同期処理

FastAPIでWebAPI開発を実践的に学ぶ

Amazonで見る

※本記事にはアフィリエイトリンクが含まれます。

ABOUT ME
やまちゃん
これまで学生と社会人を合わせて5000人以上にプログラミング学習を指導。 ゼロからイチをわかりやすく解説する専門家として活動しており、本業ではArduinoを用いたIoT開発とロボットプログラミングが専門。 Pythonを用いたアプリ開発、ウェブアプリケーションの開発で業務の効率化をサポートしています。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です