·約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 に積み上げていきます。サーバーを常時動かさなくても、スケジュール実行だけで日々のデータが貯まっていくのが個人開発と相性が良いところです。
データを「貯める」設計の工夫
このサイトの肝は、表示そのものより履歴を貯めることでした。
価格やランキングは「その時点のスナップショット」をひたすら蓄積していく形にしています。こうしておくと、あとから「先週と比べてどう変わったか」を表示できるようになります。最初に少し手間をかけてでも、時系列でデータを持っておくと、後から表現の幅がぐっと広がります。
ちょっとした余談
コンテンツの性質上、検索エンジンにはあまりインデックスされません(笑)。それでも、自分が売れ筋やトレンドを眺めて楽しめるツールとして、十分に元は取れたなと思っています。「誰かのため」だけでなく「まず自分が使いたいもの」を作るのも、個人開発の醍醐味ですね。