XAPPSXAPPS
← Blog
·2分で読めます

Amazon の API で「売れ筋ランキング」サイトを作ってみた

#個人開発#API#自動化#Supabase

「Amazon の API を使って、何か動くものを作ってみたい」。そんな軽い動機から始まったのが、Amazon売れ筋ランキングというまとめサイトです。いろいろなジャンルの売れ筋商品をランキング形式で取得・表示し、価格やランキングの推移も見られるようにしています。

どんなサイトか

ざっくり言うと、次のことをしています。

  • ジャンルごとの売れ筋商品を取得してランキング表示
  • 価格の履歴をグラフ化
  • ランキングの変動を日次で記録

「今このジャンルで何が売れているのか」を眺めているだけで、地味に楽しいサイトになりました。

仕組み

構成はシンプルです。

  • フロント: Next.js(App Router)+ TypeScript
  • データストア: Supabase(価格履歴)+ JSON ファイル(ランキング本体)
  • データ収集: GitHub Actions で毎日 JST 9:00 に実行

毎朝、GitHub Actions が Amazon の Creators API を叩いて最新データを取得し、Supabase に積み上げていきます。サーバーを常時動かさなくても、スケジュール実行だけで日々のデータが貯まっていくのが個人開発と相性が良いところです。

データを「貯める」設計の工夫

このサイトの肝は、表示そのものより履歴を貯めることでした。

価格やランキングは「その時点のスナップショット」をひたすら蓄積していく形にしています。こうしておくと、あとから「先週と比べてどう変わったか」を表示できるようになります。最初に少し手間をかけてでも、時系列でデータを持っておくと、後から表現の幅がぐっと広がります。

ちょっとした余談

コンテンツの性質上、検索エンジンにはあまりインデックスされません(笑)。それでも、自分が売れ筋やトレンドを眺めて楽しめるツールとして、十分に元は取れたなと思っています。「誰かのため」だけでなく「まず自分が使いたいもの」を作るのも、個人開発の醍醐味ですね。