楽天市場APIとは
楽天市場APIは楽天Developersが提供するAPIで、楽天市場の商品情報・ランキング・レビュー・ジャンルカテゴリーなどのデータをプログラムから取得できます。アフィリエイトサイト・価格比較サービス・商品情報ポータルの構築に活用されています。楽天アフィリエイト連携により、APIを通じた商品紹介で報酬を得ることもできます。
利用開始の手順
- 楽天Developers(developers.rakuten.com)でアカウント作成
- アプリを登録してアプリID(applicationId)を取得
- 楽天アフィリエイトに登録してアフィリエイトID(affiliateId)を取得(オプション)
商品検索APIの実装
// 商品検索API
GET https://app.rakuten.co.jp/services/api/IchibaItem/Search/20220601
?applicationId=YOUR_APP_ID
&keyword=スマートウォッチ
&hits=10
&sort=-reviewCount // レビュー数降順
&availability=1 // 在庫あり
&format=json
&formatVersion=2
レスポンスの主要フィールド:
itemName:商品名itemPrice:商品価格itemUrl:楽天市場の商品ページURLaffiliateUrl:アフィリエイトURLimageFlag:画像の有無mediumImageUrls:商品画像URL一覧reviewAverage:レビュー平均スコアreviewCount:レビュー件数
ランキングAPIの活用
// 日次売上ランキングを取得
GET https://app.rakuten.co.jp/services/api/IchibaItem/Ranking/20220601
?applicationId=YOUR_APP_ID
&genreId=100371 // カテゴリーID
&page=1
&format=json
ジャンル検索APIでカテゴリー情報を取得
ジャンル(カテゴリー)の階層構造を取得するAPIも用意されています。トップカテゴリーから子カテゴリーまでの階層をたどることで、カテゴリーナビゲーションを実装できます。
Node.jsでの実装例
const searchRakutenItems = async (keyword, page = 1) => {
const params = new URLSearchParams({
applicationId: process.env.RAKUTEN_APP_ID,
affiliateId: process.env.RAKUTEN_AFFILIATE_ID,
keyword,
hits: '20',
page: page.toString(),
sort: '-reviewCount',
availability: '1',
format: 'json',
formatVersion: '2'
});
const res = await fetch(
`https://app.rakuten.co.jp/services/api/IchibaItem/Search/20220601?${params}`
);
const data = await res.json();
return {
items: data.Items,
pageCount: data.pageCount,
count: data.count
};
};
活用例
- 価格比較サイト:複数ECサイトの価格を比較表示
- アフィリエイトサイト:特定ジャンルの商品を自動収集・表示
- レコメンドエンジン:ユーザーの閲覧履歴に基づいた関連商品表示
- 在庫モニタリング:特定商品の在庫・価格変動をトラッキング
まとめ
楽天市場APIは日本最大のECサイトの商品データを活用できる強力なAPIです。商品検索・ランキング・レビューを組み合わせてコンテンツを充実させ、楽天アフィリエイトと連携した収益化も可能です。利用規約を守りながら商品データを活用してください。