HasData
Scraper API

Amazon Products Scraper API

with prices, ratings, and offers

Pull Amazon product data from a search or a single ASIN as clean JSON. One request returns titles, prices, ratings, review counts, and Prime and best-seller badges across any Amazon domain, with the infrastructure handled for you.

SUCCESS
99.8%

of requests succeed

P50
2.2s

median response

P95
3.0s

95% finish faster

PRICE
$0.42

per 1k product lookups at volume

Stop maintaining scrapers

Amazon's layout varies by ASIN. Your parser shouldn't care.

  • Sponsored products blended into results
  • Prices, deals, and coupons in many shapes
  • Prime and best-seller badges scattered around
  • Proxy rotation and retries at scale
  • Re-parse listings after each redesign
One integration commit replaces a backlog you’ll never finish.
scraper | git log
✗ hotfix: markup changed, nulls in price
✗ fix: sponsored product parsed as organic
✗ fix: coupon price broke currentPrice
✗ chore: rotate proxies for amazon runs again
✗ fix: rating misparse when reviews were zero
✗ hotfix: rate-limit loop on search pages
✗ fix: ASIN missing on new card layout
✗ chore: refresh residential IPs by domain
✗ fix: pagination stopped past page one
✗ fix: retry storm on rate limits
✗ hotfix: markup changed, nulls in price
✗ fix: sponsored product parsed as organic
✗ fix: coupon price broke currentPrice
✗ chore: rotate proxies for amazon runs again
✗ fix: rating misparse when reviews were zero
✗ hotfix: rate-limit loop on search pages
✗ fix: ASIN missing on new card layout
✗ chore: refresh residential IPs by domain
✗ fix: pagination stopped past page one
✗ fix: retry storm on rate limits
✗ hotfix: markup changed, nulls in price
✗ fix: sponsored product parsed as organic
✗ fix: coupon price broke currentPrice
✗ chore: rotate proxies for amazon runs again
✗ fix: rating misparse when reviews were zero
✗ hotfix: rate-limit loop on search pages
✗ fix: ASIN missing on new card layout
✗ chore: refresh residential IPs by domain
✗ fix: pagination stopped past page one
✗ fix: retry storm on rate limits
✗ hotfix: markup changed, nulls in price
✗ fix: sponsored product parsed as organic
✗ fix: coupon price broke currentPrice
✗ chore: rotate proxies for amazon runs again
✗ fix: rating misparse when reviews were zero
✗ hotfix: rate-limit loop on search pages
✗ fix: ASIN missing on new card layout
✗ chore: refresh residential IPs by domain
✗ fix: pagination stopped past page one
✗ fix: retry storm on rate limits
✓ feat: integrate HasData API
Code Examples

One GET Request. That's the whole integration.

Start with just a query. Add more parameters when your use case needs them.

request example
curl -G 'https://api.hasdata.com/scrape/amazon/search' \
	--data-urlencode 'q=Laptop' \
	--header 'x-api-key: <YOUR_API_KEY>' \
	--header 'Content-Type: application/json'
q * Search Query
The search term for which to get the search results.
domain Domain
Amazon domain to use. Default is www.amazon.com.
language Language
Optional Amazon language code. Supported values depend on the selected domain.
page Page Number
Page number for pagination (e.g., 1 for the first page, 2 for the second page, etc.).
deliveryZip Delivery ZIP Code
Postal code of the delivery location.
shippingLocation Shipping Location
The two-letter country code to define the country of the delivery address.
sortBy Sort By
Parameter used for sorting results
TRY ALL 7 PARAMETERS FREE
AI Integration

Add Amazon Products Scraper API with your AI agent

Paste a ready-to-use integration prompt into your coding agent. It includes API references, setup requirements, and testing instructions.

amazon-integration.md
# Integrate HasData Amazon Products Scraper API

## Task

Add the requested Amazon product, search or seller workflow to this project using HasData Amazon Products Scraper API.
Inspect project instructions, the server-side runtime, existing HTTP client, and tests first.
Follow the project's conventions and preserve unrelated code. No new SDK is required.
Implement only the requested workflow. If it is unclear, ask which endpoint, inputs and output fields the application needs.
Keep the integration as REST API calls; do not replace it with an MCP connection or a custom scraper.

## References

Read the relevant endpoint documentation before implementing:

- amazon/search: https://docs.hasdata.com/apis/amazon/search.md
- amazon/product: https://docs.hasdata.com/apis/amazon/product.md
- amazon/seller: https://docs.hasdata.com/apis/amazon/seller.md
- amazon/seller-products: https://docs.hasdata.com/apis/amazon/seller-products.md
- Error handling: https://docs.hasdata.com/api-codes.md
- Documentation index: https://docs.hasdata.com/llms.txt
- Full documentation (fallback): https://docs.hasdata.com/llms-full.txt

Start with the endpoint references. Use `llms.txt` to find additional pages.
Use `llms-full.txt` only when needed; extract relevant sections instead of loading everything into context.
If a `.md` reference is unavailable, try its HTML URL without `.md`.
If it is still unavailable, ask for the missing documentation rather than guessing.

## Optional agent skill

If the official `hasdata` skill is already available, use its relevant guidance.
Otherwise, if this agent supports skills, ask before installing it in this project:

```sh
npx skills add hasdata/agent-skills --skill hasdata
```

Run from the project directory and select the coding agent in use.
The `hasdata-cli` skill is not required. If installation is declined or unsupported, continue with the docs.
Flag conflicts between skill guidance and current API docs rather than guessing.

## Implementation

- Use `GET https://api.hasdata.com/scrape/amazon/search` with required `q` for keyword results. Use `GET https://api.hasdata.com/scrape/amazon/product` with required `asin` for one product.
- Use `GET https://api.hasdata.com/scrape/amazon/seller` with required `sellerId` for seller details. Use `GET https://api.hasdata.com/scrape/amazon/seller-products` with required `sellerId` for seller listings.
- Preserve the selected `domain`, supported `language`, and applicable delivery settings (`deliveryZip`, `shippingLocation`) when comparing observations. Encode query parameters with the standard HTTP client.
- Search and seller listings return `productResults`; product details return `product`; seller details return `seller`. These are different response roots, not interchangeable schemas.
- Search can contain sponsored entries inside `productResults` as well as a separate `ads` array. Inspect `isSponsored`; do not assume all productResults are organic or equate positions with sales rank.
- Preserve ASINs and seller IDs as strings. Handle optional prices, ratings, variants and attributes without fabricating values. Treat marketplace currency symbols and delivery context explicitly before comparing prices.
- Search and seller-products support `page`. Implement bounded pagination only for the requested workflow; one response is not an entire catalog. Stop on documented completion or the agreed page and credit budget.
- `otherSellers` on product lookup adds a documented 5 credits to the 5-credit base request. Documentation examples enable it while descriptive text says the default is false. Send `otherSellers=false` explicitly unless the user requests and approves the extra offers. Do not assume offers are returned when absent.
- Product `reviewsInfo.aspects` contains Amazon-provided summaries and sentiment labels, not all individual customer reviews. Seller feedback windows are separate from product review counts.
- If the workflow needs price history, alerts or cross-seller comparisons, store observations and calculate changes in the application. Do not claim the API supplies sales estimates, historical snapshots or scheduling.
- Handle timeouts and documented errors before reading data. Keep requests server-side. If no suitable runtime exists, discuss options before changing the architecture.

## Credentials

- Implement the integration and mocked tests without requiring a live API key.
- Read `HASDATA_API_KEY` from the project's existing environment or secret store and send it as `x-api-key`.
- If the key is missing before live verification, ask the user to configure it from https://app.hasdata.com/api-keys.
- Never ask the user to paste the key into chat. Check only that it is configured, without printing its value.
- Never put the key in browser code, logs, or version control. Add only a placeholder to the project's example configuration.
- If using a local `.env` file, make sure it is gitignored.
- Send the key only to `https://api.hasdata.com`. Never forward it to documentation, storefronts, media links or redirects to another origin.

## Verification

- Add mocked tests for input validation and encoding, success, missing optional fields, pagination boundaries, unavailable targets, timeouts and errors. Cover the field types and any requested snapshot comparisons. Include a usage example and run local checks.
- With a configured key and explicit user approval, including approval already given for this task, make one live verification request with agreed inputs. A successful base request consumes 5 credits; confirm current costs in the docs before running it.
- Verify only one requested endpoint and page. Keep otherSellers=false for the base-cost product check.
- Validate the HTTP status, documented API status and response structure. An empty result set can be valid.
- Do not automatically repeat paid requests to obtain a nonempty response or follow pagination during this check.
- Report changed files, setup commands, and test results. State separately whether live verification passed, failed, or was skipped.
- Ask before deploying.

Use Cases

Build with Amazon Products Scraper API

Build price trackers, seller research tools and product catalogs with search placements, offers, variants and customer feedback.

Track prices and availability by ASIN

Build Amazon price tracking and availability alerts from product snapshots, keeping marketplace and delivery settings consistent.

  • amazon.com
  • B0DHJ7SBDR
  • One saved snapshot
Inputs for a price tracker Saved response excerpt
Inputs for a price tracker — Saved response excerpt
ASINPriceAvailableCondition
B0DHJ7SBDR$969.99trueRefurbished - Excellent
API data
product.asinproduct.price.currentPriceproduct.isAvailableproduct.condition
Your app
Save each observation with its ASIN, marketplace, delivery settings and time; calculate changes and trigger alerts in your application.
Explore response fields

This is one observed offer, not a price history. Availability does not provide warehouse inventory quantities.

Connect product variants in your catalog

Enrich product catalogs with Amazon ASINs and color or style variants for matching and comparison workflows.

  • B0DHJ7SBDR
Variants linked from the product Saved response excerpt
Variants linked from the product — Saved response excerpt
VariantASIN
White TitaniumB0DHJ9P62J
Black TitaniumB0DHHWC1W7
Desert TitaniumB0DLJNVBFS
API data
product.asinproduct.variants[].asinproduct.variants[].title
Your app
Link the returned variant ASINs to the source product; request individual details only for variants your application needs.

Separate sponsored and organic product visibility

Track Amazon search placements for target keywords while distinguishing sponsored listings from organic results.

  • Laptop
  • amazon.com
  • Page 1
Placements in one search response Saved response excerpt
Placements in one search response — Saved response excerpt
PositionASINSponsored
1B0HH7JV16Jtrue
2B0HFNC155Ttrue
3B0H5BTZFC1false
API data
productResults[].positionproductResults[].asinproductResults[].isSponsored
Your app
Store query-level snapshots and classify each placement using isSponsored before comparing visibility over time.
Explore response fields

Sponsored entries can appear inside productResults. Positions are observed placements, not sales rankings or advertising performance metrics.

Review seller profiles and feedback

Build marketplace seller records from business details and customer feedback across different rating windows.

  • Expercom - Apple Premier Partner
Seller feedback windows Saved response excerpt
Seller feedback windows — Saved response excerpt
WindowAverage ratingVotes
Lifetime4.52703
12 months3.9171
API data
seller.sellerIdseller.businessNameseller.lifetimeRatingseller.twelveMonthRating
Your app
Join profile details to the seller ID and compare feedback windows in your supplier or marketplace research dashboard.
Explore response fields

These are seller feedback ratings, not product reviews or a supplier reliability score calculated by HasData.

Compare marketplace seller assortments

Collect seller product listings, prices and ratings to research assortment overlap and competing offers.

  • Seller: ATQQBVXK188KS
  • Page 1
Listings returned for one seller Saved response excerpt
Listings returned for one seller — Saved response excerpt
ASINPriceProduct rating
B0C8PWSW7T$299.004.5
B0GJTFXNRX$49.004.5
B0FQFB8FMG$279.004.4
API data
productResults[]productResults[].asinproductResults[].price.currentPriceproductResults[].reviews.rating
Your app
Collect the requested seller pages, deduplicate ASINs and compare them against your own catalog or other seller snapshots.
Explore response fields

A response covers one requested page. Catalog matching and coverage checks belong to your application; listing counts do not measure sales.

Find product attributes customers discuss

Use Amazon review aspect summaries to identify recurring feedback about product quality, value and performance.

  • B0DHJ7SBDR
Customer review aspects Saved response excerpt
Customer review aspects — Saved response excerpt
AspectMentionsSentiment
Quality576positive
Value for money276positive
Battery life246positive
API data
product.reviewsInfo.aspects[].aspectproduct.reviewsInfo.aspects[].countproduct.reviewsInfo.aspects[].status
Your app
Group the returned aspects across the products you track and prioritize topics for merchandising or product research.
Explore response fields

Aspect names, mention counts and sentiment labels come from Amazon. They are not a full review-text dataset or independent sentiment analysis.

Response

Search or ASIN, one predictable schema

Inspect search results, product variants, seller profiles, customer rating breakdowns, and product media in these JSON excerpts.

productResults.json
[
  {
    "position": 1,
    "asin": "B09DT48V16",
    "title": "TAGRY Bluetooth Headphones True Wireless Earbuds, 60H Playback",
    "isSponsored": false,
    "price": {
      "symbol": "$",
      "currentPrice": 25.98,
      "beforePrice": 35.99
    },
    "reviews": {
      "totalReviews": 87700,
      "rating": 4.4
    },
    "badges": {
      "amazonPrime": true,
      "amazonChoice": true,
      "bestSeller": false
    },
    "image": "https://m.media-amazon.com/images/I/61uEvVoizoL.jpg",
    "url": "https://www.amazon.com/dp/B09DT48V16"
  }
]
Fields in productResults
position number

Rank within the search results

asin string

Amazon's product identifier

title string

Product name as listed

isSponsored boolean

Whether this is a paid placement

price.currentPrice / beforePrice number

Current price and the struck-through original

reviews.totalReviews / rating number

Review count and average star rating

badges object

amazonPrime, amazonChoice, bestSeller flags

image / url string

Product image and canonical /dp/ URL

What We Offer

An all-in-one scraping service

Every feature you need to collect data from thousands to millions of requests.

Loved by developers

Teams that deleted their scraper

Now it's the part of the pipeline they don't think about

4.8 ★★★★★
across 100+ reviews on 5 platforms
Trustpilot Trustpilot ★★★★★

HasData delivers exactly what we need: speed and comprehensive search features. It's the fastest API we've used in this space. Plus, their customer support is fantastic.

Denver Sinclair
Denver Sinclair
Capterra Capterra ★★★★★

We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.

JN
Jacob N.
Trustpilot Trustpilot ★★★★★

Great web scraping API which is incredibly easy to use. It requires minimal effort to get up and running, and the documentation is very clear and helpful.

Arnold Foster
Arnold Foster
Trustpilot Trustpilot ★★★★★

I needed to scrape some information they didn't already support, and they wrote the code for me right away, which was super nice of them.

Hussein Ali
Hussein Ali
Clutch Clutch ★★★★★

We were particularly impressed with how easily we could integrate HasData into our existing workflow.

TB
Taras Bazyshyn
CEO at BAZTDL Sp. z o.o
Pricing

Plans that get cheaper at scale

Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.

Free
$0 /mo
Free forever
200 product lookups / month
1,000 credits / month
1 concurrent request
Structured JSON, no parsers to maintain
Only successful requests billed
Team seats
Community support
Start free
Startup
$49 /mo
$1.23 / 1k product lookups
40K product lookups / month
200K credits / month
5 concurrent requests
Structured JSON, no parsers to maintain
Only successful requests billed
Team seats
Email support
Get started
Basic
Recommended
$99 /mo
$0.50 / 1k product lookups
200K product lookups / month
1M credits / month
15 concurrent requests
Structured JSON, no parsers to maintain
Only successful requests billed
Team seats
Priority email support
Get started
Growth
$208 /mo
$0.35 / 1k product lookups
3M credits / month
50 concurrent requests
Structured JSON, no parsers to maintain
Only successful requests billed
Team seats
Dedicated account manager
Get started
Monthly product lookup volume
Free 200K 1M 4M
Best fit
Basic
product lookups / mo
200K
Concurrency
15
$ / 1k product lookups
$0.50
$99 /mo
Get Started
Enterprise
Custom price based on required volume

Past 20M credits a month, or terms the self-serve plans do not cover. We shape the contract around your workload.

Credits rollover
Unused credits carry into the next billing period.
Concurrency 2000+
Parallel request limits set to your peak load.
#1 request priority
Highest speed, always first in the queue.
Personal manager
A direct line to the founding team.
SSO
SAML single sign-on for the whole team.
Security review
Security questionnaire, DPA, and controls overview.
Talk to sales Quote within one business day
FAQ

Questions, answered

1 Grab your API key 2 Send a GET request 3 Get structured JSON

Your first product lookup
is minutes away

200 product lookups free · no credit card