この記事でわかること:SellerSprite ASIN APIの取得項目・対応マーケットプレイス・認証方法・リクエストパラメータ・JSONレスポンスの読み方・欠損値とバリエーションの扱い・cURLとPythonの実装例・利用制限までをまとめて解説します。
ASINを指定してAmazon商品データをプログラムで取得したい開発者や運用担当者に向けて、SellerSprite ASIN APIの具体的な使い方を解説します。本APIでは、商品タイトル・ブランド・カテゴリ・BSR・価格・レビュー情報など、商品調査や市場分析に必要な主要フィールドを一括で取得できます。実際のリクエストとレスポンスを確認しながら、実装前に把握すべきポイントを整理します。
1. ASIN APIの用途
SellerSprite ASIN APIは、以下のようなシーンで活用できます。
- 商品調査の自動化:大量のASINをプログラムで処理し、商品情報をデータベースに蓄積する
- 競合モニタリングシステムの構築:定期的にAPIを呼び出して、競合商品の価格やBSR変動をトラッキングする
- 市場分析ダッシュボードの開発:カテゴリ別の商品データを集計し、トレンドを可視化する
- 商品ページの品質チェック:自社商品のタイトルや画像の状態を一括で確認する
APIとWebツールの使い分け:APIはプログラムによる自動処理に適しています。一方、SellerSpriteのWeb版「商品リサーチ」機能は、画面上での対話的な調査や分析に適しています。両者を目的に応じて使い分けることで、より効率的な運用が可能です。
2. 取得項目と対応マーケットプレイス
ASIN APIで取得できる主なフィールドは以下の通りです。
| フィールド名 | 説明 | データ型 |
|---|
| asin | Amazon商品識別番号(ASIN) | 文字列 |
| title | 商品タイトル | 文字列 |
| brand | ブランド名 | 文字列 |
| category | 商品カテゴリ(最上位〜最下位まで階層) | 文字列(階層構造) |
| bsr | ベストセラーランキング(カテゴリ内順位) | 整数 |
| price | 現在の販売価格(通貨付き) | 数値(通貨コード付き) |
| currency | 通貨コード(例:JPY、USD) | 文字列 |
| rating | 星評価(平均) | 数値(0.0〜5.0) |
| review_count | レビュー総数 | 整数 |
| images | 商品画像URL一覧(メイン画像含む) | 配列(URL) |
| is_prime | Amazonプライム対応有無 | 真偽値 |
| is_fulfilled_by_amazon | FBA商品かどうか | 真偽値 |
対応マーケットプレイス:日本(Amazon.co.jp)、アメリカ(Amazon.com)、イギリス(Amazon.co.uk)、ドイツ(Amazon.de)、フランス(Amazon.fr)、イタリア(Amazon.it)、スペイン(Amazon.es)、カナダ(Amazon.ca)、メキシコ(Amazon.com.mx)、オーストラリア(Amazon.com.au)
3. 認証とパラメータ
SellerSprite ASIN APIはシンプルなAPIキー認証を採用しています。
- SellerSpriteにアカウント登録(無料トライアル可)
- ダッシュボードの「API管理」からAPIキーを発行
- リクエストヘッダーに
X-API-Key: {あなたのAPIキー} を設定
主要なリクエストパラメータ
- asin(必須):対象商品の子ASIN。バリエーション商品の場合は必ず子ASINを指定してください。
- marketplace(オプション):マーケットプレイスコード(例:
JP、US、UK)。指定がない場合はデフォルトのマーケットプレイスが使用されます。 - fields(オプション):取得したいフィールドを指定(カンマ区切り)。指定がない場合は全フィールドが返却されます。
4. JSONレスポンスの読み方
以下は、ASIN APIの実際のレスポンス例です。
{ "code": 200, "data": { "asin": "B0XXXXXX", "title": "サンプル商品 高品質 ヨガマット エコ素材 滑り止め付き", "brand": "Sample Brand", "category": { "root": "スポーツ&アウトドア", "sub": "フィットネス", "leaf": "ヨガマット" }, "bsr": 2456, "price": 3980, "currency": "JPY", "rating": 4.5, "review_count": 128, "images": [ "https://m.media-amazon.com/images/I/71XXXXXX.jpg", "https://m.media-amazon.com/images/I/61XXXXXX.jpg" ], "is_prime": true, "is_fulfilled_by_amazon": true, "first_available": "2025-03-15" }, "request_id": "req_abc123def456" }
レスポンスコード:200は正常終了を意味します。400はパラメータエラー、401は認証エラー、404は該当ASINが見つからない、429はレート制限超過、500はサーバーエラーを示します。
5. 欠損値・バリエーション・親子ASIN
APIを実装する際に注意すべきポイントを整理します。
- 欠損値(null)の扱い:一部のフィールドは商品によってデータが存在しない場合があります。例えば、レビューがない商品は
review_count が 0 または null になることがあります。実装時は必ず null チェックを行ってください。 - バリエーション商品の指定:バリエーション(サイズ・カラー違い)がある商品は、必ず子ASINを指定してください。親ASINを指定した場合、データが返却されないか、不完全なデータが返却される可能性があります。
- 親子ASINの関係:レスポンスには
parent_asin フィールドが含まれる場合があり、子ASINから親ASINを逆引きできます。バリエーション構造の把握に活用してください。
実装時のチェックポイント
- ✅
data オブジェクトが null でないことを確認する - ✅ 数値フィールドは
null の場合にデフォルト値(例:0)を設定する - ✅ 配列フィールド(
images など)は空配列の場合にループ処理がエラーにならないよう対策する - ✅ エラーレスポンス(
code が200以外)の場合はエラーメッセージをログに出力する
6. 実装例と利用制限
以下に、cURLとPython(requestsライブラリ)を使った実装例を示します。
cURL 実装例
curl -X GET "https://api.sellersprite.com/v1/product/asin/B0XXXXXX?marketplace=JP" \ -H "X-API-Key: your_api_key_here" \ -H "Content-Type: application/json"
Python 実装例
import requests API_KEY = "your_api_key_here" ASIN = "B0XXXXXX" MARKETPLACE = "JP" url = f"https://api.sellersprite.com/v1/product/asin/{ASIN}" headers = { "X-API-Key": API_KEY, "Content-Type": "application/json" } params = { "marketplace": MARKETPLACE } try: response = requests.get(url, headers=headers, params=params, timeout=30) response.raise_for_status() data = response.json() if data.get("code") == 200: product = data.get("data") print(f"商品名: {product.get('title')}") print(f"価格: {product.get('price')} {product.get('currency')}") print(f"評価: {product.get('rating')} ({product.get('review_count')}件)") else: print(f"エラー: {data.get('message', '不明なエラー')}") except requests.exceptions.RequestException as e: print(f"リクエストエラー: {e}")
利用制限
- レート制限:プランにより異なります(スタータープラン:1秒あたり5リクエスト、プロフェッショナルプラン:1秒あたり20リクエストなど)。
- クレジット消費:ASIN APIの呼び出しにはクレジットが消費されます。詳細はダッシュボードの「API利用状況」で確認できます。
- データの鮮度:価格・BSRは数時間〜24時間以内に更新されます。検索ボリュームなどの集計データは月次更新です。
- 推奨再試行戦略:レート制限(429)や一時的なエラー(503)が発生した場合は、指数バックオフ(Exponential Backoff)を用いた再試行を推奨します。
商用利用時の注意:取得したデータは自社の分析・業務改善用途に限り利用可能です。データの再配布(そのままの形で第三者に販売すること)は禁止されています。詳細は利用規約をご確認ください。
よくある質問(FAQ)
ASIN APIで取得できる商品情報の更新頻度はどのくらいですか?
価格・BSR・在庫ステータスは数時間〜24時間以内に更新されます。レビュー・評価は新着レビュー発生時に随時反映されます。検索ボリュームやトレンドなどの集計データは月次更新です。
バリエーション商品の親ASINを指定するとどうなりますか?
親ASINには実際のリスティング(商品ページ)が存在しないため、データが返却されないか、不完全なデータが返却される可能性があります。必ず子ASINを指定してください。子ASINは商品詳細ページのURL(dp/以降)や商品情報欄で確認できます。
ASIN APIのレート制限を超えた場合はどうなりますか?
レート制限を超えると、HTTPステータスコード 429(Too Many Requests) が返却されます。この場合、指数バックオフ(Exponential Backoff)を用いた再試行を実装することを推奨します。最初は数秒待機し、段階的に待機時間を増やしていくことで、安定したデータ取得が可能です。
ASIN APIで取得したデータは商用利用できますか?
はい、商用利用可能です。ただし、データの再配布(そのままの形で第三者に販売すること)は禁止されています。自社の分析ツール・レポート作成・業務改善などの用途でご利用いただけます。詳細は利用規約をご確認ください。
APIのエラーハンドリングで特に注意すべき点はありますか?
401(認証エラー)と429(レート制限超過)には特に注意してください。401はAPIキーの有効期限切れや権限不足を示すため、APIキーの再発行が必要です。429は一時的な制限のため、自動再試行の実装が有効です。また、dataフィールドがnullの場合にエラーにならないよう、必ずnullチェックを実装してください。
著者:セラースプライト(SellerSprite) 編集部
Amazon外部サービスプロバイダー(Amazon SPN)として、Amazon市場向けのリサーチツールを提供している私たちは、日々変化するAmazon市場において、セラーの皆様が抱える「何が売れるのか?」「どうすれば利益を出せるのか?」という悩みを解決するための情報を発信しています。
私たちは単なるツールの提供者ではなく、伴走型パートナーとしてセラー様と一緒に成長しようと考えています。
EC事業者やこれから物販ビジネスを始める方に向けて、実用的な情報をお届けしています。