Catalog / Retail, marketplaces & classifieds
RETAIL, MARKETPLACES & CLASSIFIEDS
Amazon Products - Search Results & Product Details
Search Amazon by keyword on amazon.com, .co.uk or .de, or paste amazon.com product links and ASINs.
About this data
Search Amazon by keyword on amazon.com, .co.uk or .de, or paste amazon.com product links and ASINs. Each product is one row: price, list price, rating, reviews, image; product pages add seller, brand, availability, images, category and best sellers rank.
From the actor’s Apify Store listing. The per-call endpoint may return a bounded subset; its own description is below.
Buy per call over x402
One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.
Amazon.com Search Results
POST /v1/amazon/products/search
Up to three product cards from one Amazon.com search page: ASIN, title, product link, aggregate rating/review count, images and sponsored flag where published.
Search cards only, without product-page details or individual reviews.
Price and currency may be absent for the gateway's location; this catalog endpoint does not promise priced offers.
Input
Send a JSON body to POST https://api.ssh.autos/v1/amazon/products/search.
| Field | Type | Required | Notes |
|---|---|---|---|
query | string | required | 1–150 characters |
maxResults | integer | optional | 1–3; default 3 |
Returned fields
The answer is JSON: records, a list of up to 3, and summary, the run status and counts. Each record has these 22 fields; a field the source does not publish comes back null.
22 fields per record
| Field | Type | Notes |
|---|---|---|
asin | string | Amazon product id (ASIN). |
url | string | Product page link (https://www.<site>/dp/<ASIN>). |
marketplace | string | Amazon site, e.g. amazon.com. |
source | string | search: from a keyword search; product: from a product link or ASIN. one of search, product |
searchInput | string | The keyword or product link that produced the row. |
position | integer | Position in the search results (1 = first tile), null for product links. |
searchPage | integer | Results page the tile was on. |
detailLevel | string | search: values from the results tile; full: values from the product page. one of search, full |
price | number | Current price. |
currency | string | ISO currency of price and listPrice. |
listPrice | number | Crossed-out list / typical price when shown. |
rating | number | Average star rating (1-5). |
reviewsCount | integer | Number of ratings. |
availability | string | Availability text from the product page, e.g. In Stock. |
seller | string | Seller of the featured offer (product page). |
brand | string | Brand (product page). |
images | array | Image links: the tile image on search rows, up to 30 large images on product-page rows. |
breadcrumbs | array | Category path from the product page. |
bestSellersRank | array of objects | Best sellers ranks [{rank, category}] from the product page. |
isSponsored | boolean | True for a sponsored result tile. |
ratingBreakdown | object | Percent of reviews per star (5star..1star), when the star breakdown is requested. |
scrapedAt | string | UTC time the row was collected (ISO 8601). |
Example call
npx agentcash@latest fetch https://api.ssh.autos/v1/amazon/products/search -m POST -b '{"query": "air fryer", "maxResults": 2}'
The example values come from the API spec or the actor’s own sample input. Running it is a paid call.
What is and isn’t charged
You pay the call price for
- An answer, including a definitive “not found” or an empty result.
- Confirmed no matches returns records: [] (charged: it is an answer).
Free
- Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
- Invalid input and source failures are not charged.
Prefer a subscription? Run it on Apify
This data source is a public actor on the Apify Store: Amazon Products Scraper - Search Results & Product Details. Run it with your Apify account and plan for larger, scheduled or exported runs; it may offer more input options than the per-call endpoint.
How x402 payment works
- Your client sends the request. The API answers
402 Payment Requiredwith the price and where to pay. - The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
- The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.
The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.
Machine-readable: openapi.json · llms.txt