Amazon ASIN検索:Scraper APIを使用してASINを製品レコードに変換する
Web Data Collection Specialist
TL;DR:
- ASINはAmazonの製品に対する主要なキーであり、Amazon Scraper APIはそれを完全な製品レコードに変換します。 ASINを含む製品URLを渡すと、
scraper.amazonアクターはタイトル、ブランド、価格、在庫状況、評価、販売者、およびカテゴリーを構造化JSONとして返します。 - ルックアップは1つの認証済みエンドポイントを介して実行されます:
POST https://api.scrapeless.com/api/v1/scraper/requestにx-api-tokenヘッダー、actorとしてscraper.amazon、およびurlとproductのtypeを持つinputオブジェクトを含めます。 - レスポンスは生データと解析データを1つのペイロードで分けます。 各呼び出しは、
html(レンダリングされたページ)、metadata(リクエストのエコー)、およびresult(解析された製品オブジェクト)の3つのトップレベルキーを返すため、クリーンなフィールドを読み取るか、HTMLにフォールバックできます。 - 国ピニングは一級のリクエストフィールドです。
countryにUSを持つproxyオブジェクトは、ルックアップを米国住宅側の出口を通じてルーティングし、価格、在庫状況、およびBuy Boxを米国のショッパーが見るものと一致させます。 - 同じアクターは製品ルックアップ以上の機能をカバーします。
typeをkeywordsに切り替えると、アクターは検索結果リーダー(ページ、キーワード、リスティングのresult配列)に変わり、ASINの強化と発見が1つの統合を共有します。 - 無料で開始できます。 新しいScrapelessアカウントには無料のScraper APIクレジットが含まれています — app.scrapeless.comでサインアップしてください。
はじめに:ASINを構造化された製品レコードに変換する
Amazonの全ての製品には10文字のASINが付与されており、リスティングのタイトル、価格、販売者が変化する中で、唯一安定した識別子です。価格チーム、カタログビルダー、およびAIエージェントは全てこれを基にデータを構築します。難しいのは、ASINからクリーンで最新の製品フィールドに戻ることです。
手動で製品ページをスクレイピングすることは、JavaScriptが多用されたページをレンダリングし、データセンターからのトラフィックに対してAmazonが提供するアクセスの課題を克服し、レイアウトや地域によって変わるマークアップに対してセレクターを書くということを意味します。セレクターは壊れ、価格は間違った国にローカライズされ、解析したBuy Boxの販売者は欲しい地域とは異なるものが返されます。
このガイドは、Scrapeless Amazon Scraper API — より広範なスクレイピングAPIラインの管理されたscraper.amazonアクターの上でのASINルックアップを通過します。製品URLを送信すると、アクターはページをサーバー側でレンダリングし、解析し、構造化された製品オブジェクトを返します。このウォークスルーではエンドポイントとそのパラメータ、認証済みリクエスト、実際のレスポンススキーマ、解析されたフィールドを消費するPythonリーダーをカバーします。
Amazon ASINルックアップAPIの機能
Amazon Scraper APIは、ASINを含む製品URLを受け取り、そのリスティングの解析された製品レコードを返します。標準の製品パス — https://www.amazon.com/dp/<ASIN> — を渡すと、scraper.amazonアクターがサーバー上でレンダリング、反検出、およびフィールド抽出を処理し、JSONを返します。
- ASINを製品フィールドに解決します。 単一の
type: productコールにより、タイトル、ブランド、価格、在庫状況、評価、レビュー数、販売者、およびURLのASINのカテゴリーのパスが返されます。 - 解析されたオブジェクトと生のページの両方を読み取ります。
resultオブジェクトは構造化されたフィールドを保持し、htmlキーはパーサーが抽出しなかったレンダリングされたページのバイトを保持します。 - ストアフロント地域を固定します。
proxy.countryの値は、その国の住宅側の出口を通じてルックアップをルーティングし、価格と在庫状況がその地域に合致します。 - 発見のために統合を再利用します。 同じアクターは
type: keywordsを持つ検索URLを受け入れ、ページネーションされた検索結果を返すため、カタログの発見と各ASINの強化が1つのエンドポイントを通じて実行されます。 - ブラウザの手間を省きます。 ローカルのヘッドレスブラウザ、プロキシプール、セレクター管理は不要です — 解析されたスキーマからフィールドを直接読み取ってください。
エンドポイントとパラメータ
Amazon ASINルックアップはScraper APIリクエストエンドポイントへの1つの同期呼び出しです。
POST https://api.scrapeless.com/api/v1/scraper/request
リクエストボディには3つのトップレベルフィールドが含まれます:
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
actor |
文字列 | はい | スクレイピングサービスの識別子 — Amazonの場合はscraper.amazonです。 |
input |
オブジェクト | はい | タスクパラメータ。ASINルックアップ用:url(/dp/<ASIN>製品URL)およびtype(product)。 |
proxy |
オブジェクト | いいえ | 出口設定。country(例:US)がストアフロント地域を固定します。 |
input内では、ASINルックアップは2つのフィールドを使用します:
inputフィールド |
例 | 説明 |
|---|---|---|
url |
https://www.amazon.com/dp/B07ZPKBL9V |
標準の製品URL。ASINは/dp/パスセグメントにあります。 |
type |
product |
製品詳細パーサーを選択します。keywordsに設定すると、検索結果のURLを読むようになります。 |
認証はx-api-tokenという1つのヘッダーで行われ、あなたのScrapeless APIキーを持ちます。製品の検索はインラインで返されます — JSON本体は同じHTTPレスポンスで戻ってくるため、scraper.amazonには結果ポーリングステップが必要ありません。
無料プランでAPIキーを取得するには: app.scrapeless.com
認証されたASIN検索
このリクエストは、単一のASINを検索し、USストアフロントに固定します。x-api-tokenヘッダーはあなたのキーを持ちます; コマンドではなく環境変数に保持してください。
bash
# 1つのASIN (B07ZPKBL9V)を検索し、USストアフロントに固定します。
curl -s -X POST "https://api.scrapeless.com/api/v1/scraper/request" \
-H "Content-Type: application/json" \
-H "x-api-token: ${SCRAPELESS_API_KEY}" \
-d '{
"actor": "scraper.amazon",
"input": {
"url": "https://www.amazon.com/dp/B07ZPKBL9V",
"type": "product"
},
"proxy": { "country": "US" }
}'
レスポンスは、html、metadata、resultのキーを持つ1つのJSONオブジェクトとして届きます。metadataオブジェクトはリクエストを反映します — あなたが求めたtypeと、保存されたレンダリングページを指すrawUrl:
json
{
"rawUrl": "https://api.scrapeless.com/storage/scrapeless.scraper.amazon/<hash>.html",
"type": "product"
}
レスポンススキーマ
解析された構造化製品データはresultの下にあります。以下は、ASIN B07ZPKBL9Vに対して返された形で、フィールド名はアクターがそれを出力した通りで、値はライブ検索からキャプチャされたものです。
json
{
// スキーマはscraper.amazon製品パーサーが出力するものと正確に一致します。
// 値はASIN B07ZPKBL9Vの実際のキャプチャです; features配列は説明的サンプルです。
"result": {
"asin": "B07ZPKBL9V",
"input_asin": "B07ZPKBL9V",
"parent_asin": "B0GR1S2JM2",
"title": "Apple iPhone 11, 64GB, PRODUCT RED - Unlocked (Renewed)",
"brand": "Apple",
"manufacturer": "Apple Computer",
"final_price": "$174.00",
"initial_price": "$174.64",
"discount": "-11%",
"availability": "在庫残り4個 - 早めに注文してください。",
"is_available": true,
"reviews_count": 60289,
"seller_name": "WirelessSource",
"categories": ["携帯電話とアクセサリー", "携帯電話"],
"domain": "https://www.amazon.com",
"url": "https://www.amazon.com/dp/B07ZPKBL9V",
"images_count": 1,
"features": ["...", "...", "..."]
}
}
製品オブジェクトは上記のフィールド以上の情報を持ちます — 完全なresultもbuybox_seller、number_of_sellers、product_dimensions、item_weight、date_first_available、model_number、variations、product_details、prices_breakdown、および入れ子になったimages配列などを公開します。特定のリスティングに適用されないフィールドは、欠落するのではなく空として戻るため、欠如ではなく存在に対してコードを書く必要があります。
いくつかのフィールドは再度確認する価値があります:
asin、input_asin、parent_asin。input_asinは送信したASINです;asinはページが解決したリスティングです;parent_asinはリスティングが属するバリエーショングループです。子バリエーションの場合、すべて3つが異なる可能性があります。- 価格は通貨のグリフを持つ文字列です。
final_priceは"$174.00"であり、数値ではありません — 算術が必要な場合は自分で数値を解析し、構成価格についてはprices_breakdownを参照してください。 is_availableは分岐に使用する真偽値です。availabilityは人間向けの文字列("在庫残り4個");is_availableは機械フラグです。reviews_countは整数です。 リスティングの評価の数を検索時にカウントし、呼び出し間で移動します。
構造化出力の処理
コードでは、検索は1つのPOSTであり、resultの読み取りがあります。このPythonリーダーは、ほとんどのカタログが必要とするフィールドを引き出し、フラットレコードを出力します。
python
import os
import requests
API_URL = "https://api.scrapeless.com/api/v1/scraper/request"
def lookup_asin(asin: str, country: str = "US") -> dict:
"""1つのAmazon ASINをその解析された製品レコードに解決します。"""
payload = {
"actor": "scraper.amazon",
"input": {
"url": f"https://www.amazon.com/dp/{asin}",
"type": "product",
},
"proxy": {"country": country},
}
headers = {
"Content-Type": "application/json",
"x-api-token": os.environ["SCRAPELESS_API_KEY"],
}
response = requests.post(API_URL, json=payload, headers=headers, timeout=120)
response.raise_for_status()
return response.json()["result"]
if __name__ == "__main__":
product = lookup_asin("B07ZPKBL9V")
record = {
"asin": product.get("asin"),
"title": product.get("title"),
"ブランド": product.get("brand"),
"価格": product.get("final_price"),
"在庫あり": product.get("is_available"),
"評価数": product.get("reviews_count"),
"販売者": product.get("seller_name"),
"カテゴリー": " > ".join(product.get("categories") or []),
}
print(record)
リーダーはすべての情報を`result`に基づいてキーに入力し、欠落しているフィールドを`.get()`を利用して`None`として扱います。これにより、アクターが不適用なフィールドを空で返す方法と一致します。ASINのリストを強化するには、それらをループして並行性を控えめに保つ—数人のワーカーで十分であり、各店舗の出入りをクリーンに保ちます。
ASINごとの強化ではなくカタログ発見のためには、`type`を`keywords`に変更し、検索URL(`https://www.amazon.com/s?k=<query>`)を渡します。同じ呼び出しが`result`オブジェクトを返し、その中に`keyword`、`current_page`、`total_page`、およびASINルックアップに戻すことができるリストの`result`配列があります。同じパターンは、競争価格設定やカタログパイプラインの残りにスケールします—[ベストAmazonスクレイパーガイド](https://www.scrapeless.com/ja/blog/best-amazon-scrapers-2026)のランキングダウンリストと組み合わせて、管理されたアクターが代替手段に対してどのように適合するかを確認し、スケール量を増やす前に[Scraping APIの価格](https://www.scrapeless.com/ja/pricing?utm_source=website&utm_medium=blog&utm_campaign=scraperapi&utm_term=amazon-asin-lookup-api)を確認してください。
---
## 結論: ASINキーによる製品フィードの構築
AmazonのASINルックアップは4つの決定に単純化されます: `/dp/<ASIN>` URLを送信し、`type`を`product`に設定し、`proxy.country`を希望の店舗に固定し、`result`から解析されたフィールドを読み取ります。管理された[Amazon Scraper API](https://www.scrapeless.com/ja/product/scraping-api?utm_source=website&utm_medium=blog&utm_campaign=scraperapi&utm_term=amazon-asin-lookup-api)は、レンダリング、検出防止、解析を処理するため、次のデザイン変更で壊れないセレクターセットではなく、解析スキーマに対してコーディングします。
ここから、同じ`scraper.amazon`アクターが幅広いパイプラインにフィードします: `type: keywords`がASINを発見し、`type: product`が各ASINを強化し、国固定の出口が地域ごとに価格と在庫を正直に保ちます。完全なリクエストとレスポンスのリファレンスは、[Scrapelessのドキュメント](https://docs.scrapeless.com?utm_source=website&utm_medium=blog&utm_campaign=scraperapi&utm_term=amazon-asin-lookup-api)にあります。文字列の価格を文字列として扱い、`is_available`に分岐し、空のフィールドはエラーではなくnullableとして読み取ります。
---
## AI駆動のデータパイプラインを構築する準備はできましたか?
コミュニティに参加して無料プランを取得し、Amazon製品データパイプラインを構築している開発者とつながりましょう:[Discord](https://discord.gg/VU2vtbq7Q2) · [Telegram](https://t.me/scrapeless)。
[app.scrapeless.com](https://app.scrapeless.com/passport/login/?utm_source=website&utm_medium=blog&utm_campaign=scraperapi&utm_term=amazon-asin-lookup-api)に登録して無料のScraper APIクレジットを取得し、上記のルックアップをASIN、店舗、そしてカタログが必要とする地域に適応させてください。
---
## FAQ
**Q: ASINとは何ですか?どこで見つけられますか?**
ASINは、製品用のAmazonの10桁の標準識別番号です。 `/dp/`の後に製品URLに表示されます(例えば、`amazon.com/dp/B07ZPKBL9V`の`B07ZPKBL9V`)およびリストの「製品情報」セクションに表示されます。Amazon Scraper APIは、あなたが渡す`url`から直接ASINを読み取ります。
**Q: ASINを送信するのか、それともフルURLを送信するのか?**
ASINを`/dp/`セグメントに含むフル製品URLを送信し、`input.type`を`product`に設定します。アクターはパスからASINを解析し、それを`input_asin`(あなたが送信したもの)と`asin`(ページが解決したもの)の両方として返します。
**Q: ASINでAmazon製品データをスクレイピングすることは合法ですか?**
公開されている製品リストデータは一般的にアクセス可能ですが、合法性はあなたの管轄、収集するデータ、及びAmazonの利用規約によります。適用される規約を確認し、特定の使用例について法的助言を求めてください。Scrapelessは、公開されているデータのみにアクセスします。
**Q: プロキシ国を固定する必要がありますか?**
一貫した価格と在庫のために、はい。Amazonは地域によって価格、バイボックス、在庫をローカライズするので、`proxy.country`を希望の店舗に設定してください(例えば、`amazon.com`の場合は`US`)。これがないと、出口地域が変化し、あなたが読み取る価格に歪みが生じる可能性があります。
**Q: なぜレスポンスにいくつかのフィールドが空なのですか?**
製品パーサーは、そのスキーマのすべてのフィールドを返し、リストに適用されないフィールドは空のままにして、削除しません。新しい電話には`ingredients`が含まれないことがあります。書籍には`item_weight`が含まれないことがあります。空のフィールドはnullableとして扱い、コード内でそれらの存在に依存します。
**Q: 一度に多くのASINをルックアップできますか?**
エンドポイントは1リクエストにつき1つのASINを解決するため、ASINリストを反復し、アイテムごとに呼び出してください。並行性を控えめに保ち、数人のワーカーで、カタログを強化しつつ各店舗の出口をクリーンに保ちます。
**Q: 最初にASINを見つけるにはどうすればよいですか?**
同じアクターを使用し、`input.type`を`keywords`に設定し、検索URL(`amazon.com/s?k=<query>`)を使用します。これにより、ASINを持つリスティングのページ分けされた`result`配列が返されます。その後、この配列を`type: product`のルックアップに渡して、完全なレコードを取得します。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



