amazon-scrapper

Scrape Amazon product, category and search pages as JSON. Input a product link (details), a category link or category name (paginated products), or any text (search + related products).

Package Information

Released: 2 mo ago
Downloads: 0 weeklyΒ /Β 0 monthly
Latest Version: 0.1.0

Documentation

n8n-nodes-amazon-scrapper

An n8n community node that scrapes Amazon pages and returns clean JSON:

  • πŸ”— Product link β†’ full product details (title, price, rating, images, features, category, …)
  • πŸ—‚οΈ Category link β†’ that category's products, paginated
  • ⌨️ Any text β†’ Amazon search results as products
  • 🏷️ Category name (e.g. "Electronics", "Books") β†’ finds the category and returns its products, paginated
  • 🎯 Product name β†’ related / matching products

Quick Start

npm install
npm run build        # compiles to dist/
npm run dev          # (if you use @n8n/node-cli) run n8n with hot reload
npm test             # offline parser smoke test

Using the node in n8n

  1. Build the package (npm run build).
  2. Copy dist/ into your n8n custom directory (see the n8n docs) or install the package.
  3. Add the Amazon Scraper node to a workflow.

Operations

Operation Input Output
Scrape Product an Amazon product URL or a bare ASIN one JSON object with product details
Scrape Category a category / browse / search page URL results array (or one item per product)
Search any text results array
Category by Name a category name results array, paginated
Product by Name a product name related products as results array

Parameters

  • Marketplace β€” which Amazon store (amazon.com, amazon.co.uk, amazon.de, …). Default Auto detects it from the URL host; text-only inputs fall back to amazon.com.
  • Options
    • Max Pages β€” how many result pages to scrape (each β‰ˆ 16–24 products)
    • Max Results β€” stop after N products
    • Output Mode β€” single (one JSON with a results array) or multiple (one product per output item)
    • Enrich Missing Product Data β€” Amazon hides prices/ratings from plain bot requests; when enabled the node searches the ASIN once and fills them in
    • Request Timeout, Delay Between Pages, Retries

Example output (Product)

{
  "operation": "product",
  "marketplace": "com",
  "currency": "USD",
  "url": "https://www.amazon.com/dp/B0DN45YMP6",
  "product": {
    "asin": "B0DN45YMP6",
    "title": "JBL Vibe Beam 2 - Noise Cancelling Earbuds - Black",
    "price": 36.75,
    "priceText": "$36.75",
    "listPrice": null,
    "rating": 4.1,
    "ratingCount": 2900,
    "availability": "In Stock",
    "features": ["...", "..."],
    "images": ["https://m.media-amazon.com/images/I/...SL1500_.jpg"],
    "category": ["Electronics", "Headphones", "Earbud Headphones"],
    "attributes": { "Brand": "JBL", "Color": "Black" }
  }
}

Example output (Search / Category)

{
  "operation": "search",
  "marketplace": "com",
  "currency": "USD",
  "query": "wireless headphones",
  "category": null,
  "pageCount": 1,
  "count": 16,
  "results": [
    {
      "asin": "B0DN45YMP6",
      "title": "JBL Vibe Beam 2 - ...",
      "url": "https://www.amazon.com/dp/B0DN45YMP6",
      "price": 36.75,
      "rating": 4.1,
      "ratingCount": 2900,
      "image": "https://m.media-amazon.com/images/I/...",
      "sponsored": false,
      "prime": true,
      "page": 1
    }
  ]
}

About anti-bot protection (important)

Amazon serves reduced pages (no prices / ratings) or a captcha / "robot check" wall to plain
server requests. This node:

  1. sends realistic browser headers and retries with different user agents,
  2. detects the captcha/login wall and fails with a clear message instead of returning garbage,
  3. enriches missing prices/ratings by searching the product's own ASIN,
  4. optionally routes every request through a scraping-service API.

Optional scraping-service credential

Create an Amazon Scraper API credential and choose one of:

Once configured, the node sends all requests through the service (proxies + rendering), which
bypasses the captcha and returns complete pages (including prices on the product page).

Rate limiting

Add a small Delay Between Pages (default 300 ms) and keep Max Pages low. Aggressive scraping
from a single IP quickly triggers Amazon's captcha.

Notes

  • No external runtime dependencies β€” uses the Node.js native fetch.
  • Parsers are written against Amazon's current markup with fallbacks; Amazon changes selectors
    regularly, so run node scripts/live-check.mjs "<query>" after updates to confirm extraction.
  • Terms of use: respect Amazon's ToS and robots policy, and check your own legal/compliance
    requirements before scraping at scale.

Discussion