Amazon Search Scraper API
Run any Amazon keyword search and get the ranked results page back as structured JSON. Organic and sponsored positions, ASIN, price, and rating per result, across 20 marketplaces, billed only when a search returns data.
curl "https://api.amazonscraperapi.com/api/v1/amazon/search?api_key=YOUR_KEY&query=mechanical+keyboard&domain=com" {
"page": 1,
"products": [
{
"asin": "B08X4...",
"title": "Keychron K2 Wireless Mechanical Keyboard",
"price": 79.99,
"currency": "USD",
"rating": 4.6,
"reviews_count": 8021,
"is_sponsored": false,
"organic_position": 1,
"is_prime": true,
"sales_volume": "2K+ bought in past month"
},
{ "asin": "B09...", "is_sponsored": true, "sponsored_position": 1, ... }
]
} What is Amazon Search Scraper API
The Amazon Search Scraper API is one GET endpoint that runs a keyword search and returns the ranked results as structured JSON: /api/v1/amazon/search?api_key=&query=&domain=. It's the search endpoint of our Amazon scraper API. Each result includes its organic or sponsored position, ASIN, price, currency, rating, and review count. Start free with 1,000 requests on signup, then pay as you go $0.90 per 1,000 successful requests, or opt in for cheaper monthly plans at up to $0.50 per 1,000 results.
Amazon search results API: every result as ranked JSON
Each search returns an array of result objects in the order Amazon displays them. Every result carries the fields you need to track rank, price, and demand:
To pull the full listing for any result, pass its ASIN to the Amazon Product Scraper API.
Amazon SERP data: organic and sponsored, ranked exactly as Amazon shows them
The Amazon Search Scraper API separates organic and sponsored placements so you can measure each independently. Organic listings get a 1-indexed organic_position, sponsored placements get a sponsored_position, and the is_sponsored flag marks which is which. That makes the endpoint a fit for:
- Keyword rank tracking - measure where a given ASIN sits organically for a term over time.
- Ad-coverage analysis - count sponsored slots and see who is buying a keyword.
- Competitor and market research - pull the full first page of results for any term and marketplace.
- ASIN harvesting - collect every ASIN ranking for a category to feed the product endpoint.
Every Amazon marketplace, parsed locale-aware
Set the marketplace with the domain parameter. The Amazon Search Scraper API covers all 20 marketplaces, and prices and ratings on every result are parsed in that marketplace's locale, so a German result priced "1.234,56 EUR" returns 1234.56 and a "4,5 sur 5" rating on amazon.fr returns 4.5.
How the Amazon search API works
Pass a query and a marketplace, add optional paging and sort controls, and read JSON back:
- query. The search term, exactly as a shopper would type it.
- domain. Which of the 20 marketplaces to search.
- start_page. Which results page to fetch, starting at 1.
- sort_by. best_match, price_asc, price_desc, avg_customer_review, or newest.
- Residential routing, JSON in ~2 to 3 seconds. Each search exits from a country-matched residential IP. Search pages return a touch faster than full product pages.
The complete parameter and response reference is in the search endpoint documentation, and the Python and Node.js SDKs wrap the same call.
Paginate and sort Amazon search results
Each Amazon search API call returns one results page. To collect deeper SERP results, increment start_page and send one request per page, each billed as one request. Page 3 of "desk lamp" is simply start_page=3. The old pages parameter still gets accepted. It does nothing.
curl "https://api.amazonscraperapi.com/api/v1/amazon/search?api_key=YOUR_KEY&query=desk+lamp&domain=com&start_page=2&sort_by=price_asc" | sort_by value | Order |
|---|---|
| best_match | Amazon's default relevance order (default) |
| price_asc | Price, low to high |
| price_desc | Price, high to low |
| avg_customer_review | Average customer review |
| newest | Newest arrivals |
For keyword rank tracking, keep sort_by=best_match so positions match what shoppers see. For hundreds of keywords, the batch endpoint takes up to 1,000 searches in one async request.
Pricing: pay per successful search
A search that returns a results page costs credits; a search that gets blocked or returns no usable page costs zero. You are billed per successful search request, so a page with 60 listings is a single charge.
- Free: 1,000 requests on signup, no credit card.
- Pay as you go: $0.90 per 1,000 successful requests.
- Monthly plans: opt in for cheaper monthly plans at up to $0.50 per 1,000 results.
Full detail on the pricing page.