🎯 カスタマイズ可能で検出回避型のクラウドブラウザ。自社開発のChromiumを搭載し、ウェブクローラーAIエージェント向けに設計されています。👉今すぐ試す
ブログに戻ります

Amazon ASIN検索:Scraper APIを使用してASINを製品レコードに変換する

Isabella Garcia
Isabella Garcia

Web Data Collection Specialist

29-Jun-2026

TL;DR:

  • ASINはAmazonの製品に対する主要なキーであり、Amazon Scraper APIはそれを完全な製品レコードに変換します。 ASINを含む製品URLを渡すと、scraper.amazonアクターはタイトル、ブランド、価格、在庫状況、評価、販売者、およびカテゴリーを構造化JSONとして返します。
  • ルックアップは1つの認証済みエンドポイントを介して実行されます: POST https://api.scrapeless.com/api/v1/scraper/requestx-api-tokenヘッダー、actorとしてscraper.amazon、およびurlproducttypeを持つinputオブジェクトを含めます。
  • レスポンスは生データと解析データを1つのペイロードで分けます。 各呼び出しは、html(レンダリングされたページ)、metadata(リクエストのエコー)、およびresult(解析された製品オブジェクト)の3つのトップレベルキーを返すため、クリーンなフィールドを読み取るか、HTMLにフォールバックできます。
  • 国ピニングは一級のリクエストフィールドです。 countryUSを持つproxyオブジェクトは、ルックアップを米国住宅側の出口を通じてルーティングし、価格、在庫状況、およびBuy Boxを米国のショッパーが見るものと一致させます。
  • 同じアクターは製品ルックアップ以上の機能をカバーします。 typekeywordsに切り替えると、アクターは検索結果リーダー(ページ、キーワード、リスティングの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つの同期呼び出しです。

Copy
POST https://api.scrapeless.com/api/v1/scraper/request

リクエストボディには3つのトップレベルフィールドが含まれます:

フィールド タイプ 必須 説明
actor 文字列 はい スクレイピングサービスの識別子 — Amazonの場合はscraper.amazonです。
input オブジェクト はい タスクパラメータ。ASINルックアップ用:url/dp/<ASIN>製品URL)およびtypeproduct)。
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 Copy
# 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" }
  }'

レスポンスは、htmlmetadataresultのキーを持つ1つのJSONオブジェクトとして届きます。metadataオブジェクトはリクエストを反映します — あなたが求めたtypeと、保存されたレンダリングページを指すrawUrl:

json Copy
{
  "rawUrl": "https://api.scrapeless.com/storage/scrapeless.scraper.amazon/<hash>.html",
  "type": "product"
}

レスポンススキーマ

解析された構造化製品データresultの下にあります。以下は、ASIN B07ZPKBL9Vに対して返された形で、フィールド名はアクターがそれを出力した通りで、値はライブ検索からキャプチャされたものです。

json Copy
{
  // スキーマは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": ["...", "...", "..."]
  }
}

製品オブジェクトは上記のフィールド以上の情報を持ちます — 完全なresultbuybox_sellernumber_of_sellersproduct_dimensionsitem_weightdate_first_availablemodel_numbervariationsproduct_detailsprices_breakdown、および入れ子になったimages配列などを公開します。特定のリスティングに適用されないフィールドは、欠落するのではなく空として戻るため、欠如ではなく存在に対してコードを書く必要があります。

いくつかのフィールドは再度確認する価値があります:

  • asininput_asinparent_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 Copy
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)

Copy
リーダーはすべての情報を`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サイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。

最も人気のある記事

カタログ