# 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.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.
of requests succeed
median response
95% finish faster
per 1k product lookups at volume
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 GET Request. That's the whole integration.
Start with just a query. Add more parameters when your use case needs them.
Amazon Search Scraper API
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 Querydomain Domainlanguage Languagepage Page NumberdeliveryZip Delivery ZIP CodeshippingLocation Shipping LocationsortBy Sort ByAmazon Product Scraper API
curl -G 'https://api.hasdata.com/scrape/amazon/product' \
--data-urlencode 'asin=B0DHJ7SBDR' \
--data-urlencode 'otherSellers=true' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json'asin * ASINdomain Domainlanguage LanguagedeliveryZip Delivery ZIP CodeshippingLocation Shipping LocationotherSellers Other SellersAmazon Seller Scraper API
curl -G 'https://api.hasdata.com/scrape/amazon/seller' \
--data-urlencode 'sellerId=ATQQBVXK188KS' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json'sellerId * Seller IDdomain Domainlanguage LanguageAmazon Seller Products Scraper API
curl -G 'https://api.hasdata.com/scrape/amazon/seller-products' \
--data-urlencode 'sellerId=ATQQBVXK188KS' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json'sellerId * Seller IDdomain Domainlanguage Languagepage Page NumberAdd 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.
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
| ASIN | Price | Available | Condition |
|---|---|---|---|
| B0DHJ7SBDR | $969.99 | true | Refurbished - 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.
Connect product variants in your catalog
Enrich product catalogs with Amazon ASINs and color or style variants for matching and comparison workflows.
- B0DHJ7SBDR
| Variant | ASIN |
|---|---|
| White Titanium | B0DHJ9P62J |
| Black Titanium | B0DHHWC1W7 |
| Desert Titanium | B0DLJNVBFS |
- 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
| Position | ASIN | Sponsored |
|---|---|---|
| 1 | B0HH7JV16J | true |
| 2 | B0HFNC155T | true |
| 3 | B0H5BTZFC1 | false |
- API data
productResults[].positionproductResults[].asinproductResults[].isSponsored- Your app
- Store query-level snapshots and classify each placement using isSponsored before comparing visibility over time.
Review seller profiles and feedback
Build marketplace seller records from business details and customer feedback across different rating windows.
- Expercom - Apple Premier Partner
| Window | Average rating | Votes |
|---|---|---|
| Lifetime | 4.5 | 2703 |
| 12 months | 3.9 | 171 |
- 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.
Compare marketplace seller assortments
Collect seller product listings, prices and ratings to research assortment overlap and competing offers.
- Seller: ATQQBVXK188KS
- Page 1
| ASIN | Price | Product rating |
|---|---|---|
| B0C8PWSW7T | $299.00 | 4.5 |
| B0GJTFXNRX | $49.00 | 4.5 |
| B0FQFB8FMG | $279.00 | 4.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.
Find product attributes customers discuss
Use Amazon review aspect summaries to identify recurring feedback about product quality, value and performance.
- B0DHJ7SBDR
| Aspect | Mentions | Sentiment |
|---|---|---|
| Quality | 576 | positive |
| Value for money | 276 | positive |
| Battery life | 246 | positive |
- 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.
Search or ASIN, one predictable schema
Inspect search results, product variants, seller profiles, customer rating breakdowns, and product media in these JSON excerpts.
productResults
[
{
"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"
}
]position numberRank within the search results
asin stringAmazon's product identifier
title stringProduct name as listed
isSponsored booleanWhether this is a paid placement
price.currentPrice / beforePrice numberCurrent price and the struck-through original
reviews.totalReviews / rating numberReview count and average star rating
badges objectamazonPrime, amazonChoice, bestSeller flags
image / url stringProduct image and canonical /dp/ URL
ads
Sponsored placements may also appear in productResults. Inspect isSponsored in both arrays when separating paid and organic listings.
[
{
"position": 1,
"asin": "B0H73T3PD7",
"title": "Wireless Earbuds, Bluetooth 5.4 Bass Stereo Headphones",
"isSponsored": true,
"price": {
"symbol": "$",
"currentPrice": 19.99,
"beforePrice": 199.99
},
"reviews": {
"totalReviews": 657,
"rating": 4.3
},
"image": "https://m.media-amazon.com/images/I/61QGlXzWdKL.jpg",
"url": "https://www.amazon.com/dp/B0H73T3PD7"
}
]asin / title stringSponsored product identifier and name
isSponsored booleanAlways true inside the ads array
price objectCurrent and original price of the ad
reviews objectReview count and rating
url stringCanonical /dp/ URL for the product
pagination
{
"totalResults": 20000,
"currentPage": 1,
"nextPageUrl": "https://www.amazon.com/s?k=wireless+earbuds&page=2",
"otherPageUrls": [
"https://www.amazon.com/s?k=wireless+earbuds&page=2",
"https://www.amazon.com/s?k=wireless+earbuds&page=3"
]
}totalResults numberProducts Amazon reports for the query
currentPage numberPage this response covers
nextPageUrl stringURL to request the next page
otherPageUrls string[]Direct URLs for the remaining pages
product
The product endpoint: full detail for one ASIN, with specs, bullets, and variants.
{
"asin": "B0H73T3PD7",
"title": "Wireless Earbuds, Bluetooth 5.4 Bass Stereo Headphones",
"brand": "XIAOWTEK",
"isAvailable": true,
"price": { "symbol": "$", "currentPrice": 19.99, "beforePrice": 199.99, "discount": "-90%" },
"features": { "color": "Deep Black", "earPlacement": "In Ear", "formFactor": "In Ear" },
"featureBullets": [
"Bluetooth 5.4 and one-step auto-pairing",
"36H playtime with the charging case"
],
"variants": [
{ "asin": "B0H6NY3RPQ", "title": "Pink", "url": "https://www.amazon.com/dp/B0H6NY3RPQ" }
],
"deliveryIsoDate": "2026-08-02T00:00:00.000Z",
"deliveryPriceMessage": "FREE"
}asin / title / brand stringIdentity of the product
isAvailable booleanWhether it's currently in stock
price.currentPrice / beforePrice / discount number / stringCurrent price, the original, and the discount
features objectSpec map: color, form factor, and more
featureBullets string[]The listing's bullet points
variants[] object[]Other colors and styles, each with its ASIN
deliveryIsoDate / deliveryPriceMessage stringDelivery date and cost
seller
The seller endpoint: storefront profile and rating history for one seller ID.
{
"sellerId": "ATQQBVXK188KS",
"name": "Expercom - Apple Premier Partner",
"businessName": "Expercom of Utah, Inc",
"businessAddress": "PO BOX 3643, LOGAN, UT, 84323, US",
"url": "https://www.amazon.com/sp?seller=ATQQBVXK188KS",
"lifetimeRating": {
"totalVotes": 2696,
"averageRating": 4.5,
"star5": { "votes": 2198, "percent": 82 },
"star1": { "votes": 270, "percent": 10 }
},
"twelveMonthRating": { "totalVotes": 177, "averageRating": 4 }
}sellerId / name stringSeller ID and storefront name
businessName / businessAddress stringRegistered business and address
url / storefrontUrl stringSeller profile and storefront links
lifetimeRating objectAll-time rating: average, votes, and star breakdown
oneMonthRatings / threeMonthRatings / twelveMonthRating objectRating history over each window
sellerProducts
The seller-products endpoint: a seller's full catalog, in the same productResults shape as search.
{
"productResults": [
{
"position": 1,
"asin": "B09DT48V16",
"title": "TAGRY Bluetooth Headphones True Wireless Earbuds",
"price": { "symbol": "$", "currentPrice": 25.98 },
"reviews": { "totalReviews": 87700, "rating": 4.4 },
"url": "https://www.amazon.com/dp/B09DT48V16"
}
],
"pagination": { "currentPage": 1, "nextPageUrl": "https://www.amazon.com/s?...&page=2" }
}productResults[] object[]The seller's listings, same shape as the search tab
pagination objectPage through the seller's catalog
reviewsInfo
{
"totalReviews": 4022,
"rating": 4.2,
"starRates": {
"fiveStars": "70%",
"fourStars": "10%",
"oneStars": "13%"
},
"aspects": [
{
"aspect": "Quality",
"count": 576,
"status": "positive"
},
{
"aspect": "Value for money",
"count": 276,
"status": "positive"
}
]
}totalReviews numberNumber of product reviews
rating numberOverall product rating
starRates objectReview percentages by star rating
aspects[].aspect stringProduct attribute discussed by customers
aspects[].count numberMentions associated with the attribute
aspects[].status stringSentiment reported for the attribute
media
{
"asin": "B0DHJ7SBDR",
"totalImages": 5,
"images": [
"https://m.media-amazon.com/images/I/51wv+uPzIDL._AC_SL1000_.jpg",
"https://m.media-amazon.com/images/I/51hMn4pVMfL._AC_SL1000_.jpg"
],
"totalVideos": 4,
"videos": [
"https://m.media-amazon.com/images/S/al-na-9d5791cf-3faf/a944a0a3-a13c-4329-a477-2f37d25360f5.mp4/productVideoOptimized.mp4"
]
}asin stringProduct identifier for matching media
totalImages numberNumber of product images
images string[]Product image URLs
totalVideos numberNumber of product videos
videos string[]Product video URLs
An all-in-one scraping service
Every feature you need to collect data from thousands to millions of requests.
Discover similar
scrapers and APIs
to expand your projects.
Shopify Scraper API
Product Discovery • $0.42 / 1k Request
Google Shopping Results API
Product Data • $0.83 / 1k Request
Fits right into your stack.
Works with the tools you already use.
View Documentation ->Teams that deleted their scraper
Now it's the part of the pipeline they don't think about
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.
We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.
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.
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.
We were particularly impressed with how easily we could integrate HasData into our existing workflow.
Plans that get cheaper at scale
Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.
Free
Startup
Basic
RecommendedGrowth
Monthly product lookup volume
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. Past 20M credits a month, or need terms the self-serve plans do not cover? We shape the contract, concurrency, and support around your workload.
HasData accesses publicly available data only. Amazon's terms may restrict automated access; you are responsible for compliance. Where data includes personal information, ensure a lawful basis under GDPR/CCPA.
Questions, answered
Both. Search returns a page of listings in productResults; a product lookup returns one detailed product object. ASINs let you connect search results to individual product details.
Use the isSponsored flag on search entries to distinguish paid placements. Sponsored entries can appear in productResults as well as the separate ads array, so do not treat productResults as automatically organic.
Any Amazon domain. Point the request at the marketplace you need and localization, currency, and language are handled for you.
Per successful request. One request is one product lookup, whether it's a search page or a single ASIN. A failed request costs nothing.
Yes. The free plan renews 1,000 credits every month, covering up to 200 base product lookups. No credit card required. Collecting additional seller offers with otherSellers consumes additional credits and reduces that allowance.
Base requests start from 5 credits. With monthly billing, the unit price drops with volume, from $1.48 down to $0.42 per 1,000 base requests. Collecting additional seller offers costs extra. Need more than the top plan covers? We'll set a custom rate.
No. Requests run on HasData's infrastructure, so there's nothing to provision or maintain. You're responsible for using the results in line with each target site's terms and applicable law.
Your first product lookup
is minutes away
200 product lookups free · no credit card