Amazon Product API
Get a task result
The result of a product task posted with task_post.
https://api.screamingdata.dev/v1/amazon/product/task_get/{id}- Authentication
- API key (HTTP Basic)
- Cost
- Free
- Body
- No request body
Overview
Returns the product object produced by a task. The first call after the task finished marks it as collected, so it leaves tasks_ready; the result stays available for 30 days.
If the task has not finished yet, the task-level status is 40401 — retry later or use webhooks. If the product does not exist on the marketplace, the task-level status is 40402; if the page could not be read, it is 50301. Failed tasks are not charged.
Cost
Request
GET /v1/amazon/product/task_get/{id}.
Path parameters
idTask id returned by task_post or tasks_ready.
- Example
09241235-4e1c-4b6a-9d8f-2c7a51f0e3b1
Request example
The examples read your credentials from the API_LOGIN and API_KEY environment variables.
curl --request GET \
--url "https://api.screamingdata.dev/ v1/ amazon/ product/ task_get/ 09241235-4e1c-4b6a-9d8f-2c7a51f0e3b1" \
--user "$API_LOGIN:$API_KEY"import os
import requests
response = requests.get(
"https://api.screamingdata.dev/ v1/ amazon/ product/ task_get/ 09241235-4e1c-4b6a-9d8f-2c7a51f0e3b1",
auth=(os.environ["API_LOGIN"], os.environ["API_KEY"]),
timeout=30,
)
data = response.json()
print(data["status_code"], data["status_message"], "cost:", data["cost"])
for task in data["tasks"]:
print(task["id"], task["status_code"], task["status_message"])const auth = Buffer.from(`${process.env.API_LOGIN}:${process.env.API_KEY}`).toString("base64");
const response = await fetch("https://api.screamingdata.dev/ v1/ amazon/ product/ task_get/ 09241235-4e1c-4b6a-9d8f-2c7a51f0e3b1", {
headers: {
Authorization: `Basic ${auth}`,
},
});
const data = await response.json();
console.log(data.status_code, data.status_message, "cost:", data.cost);
for (const task of data.tasks) {
console.log(task.id, task.status_code, task.status_message);
}Response
HTTP 200. The body is the standard response envelope; check status_code at the top level and in every task.
{
"version": "1.0.0",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0217 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "09241235-4e1c-4b6a-9d8f-2c7a51f0e3b1",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0029 sec.",
"cost": 0,
"result_count": 1,
"path": [
"v1",
"amazon",
"product",
"task_get",
"09241235-4e1c-4b6a-9d8f-2c7a51f0e3b1"
],
"data": {
"api": "amazon",
"function": "product",
"asin": "B0EXAMPLE1",
"marketplace": "com",
"priority": 1,
"tag": "catalog-sync",
"postback_url": "https://example.com/ webhooks/ postback"
},
"result": [
{
"asin": "B0EXAMPLE1",
"marketplace": "com",
"url": "https://www.amazon.com/ dp/ B0EXAMPLE1",
"observed_at": "2026-09-24T12:35:41Z",
"status": "ok",
"title": "Acme Wireless Noise Cancelling Headphones, Black",
"byline": [
"Acme"
],
"variant": "Black",
"variants": [
{
"name": "Black",
"asin": "B0EXAMPLE1"
},
{
"name": "White",
"asin": "B0EXAMPLE2"
},
{
"name": "Navy Blue",
"asin": "B0EXAMPLE3"
}
],
"price": {
"amount": 59.99,
"currency": "USD"
},
"bsr": {
"rank": 1432,
"category": "Electronics",
"subcategories": [
{
"rank": 12,
"category": "Over-Ear Headphones"
},
{
"rank": 31,
"category": "Noise-Cancelling Headphones"
}
]
},
"rating": 4.5,
"ratings_count": 2318,
"image_url": "https://m.media-amazon.com/ images/ I/ example._AC_SL1500_.jpg",
"details": {
"brand": "Acme",
"color": "Black",
"connectivity_technology": "Wireless",
"date_first_available": "March 4, 2025",
"item_model_number": "AC-WH400",
"item_weight": "8.8 ounces",
"manufacturer": "Acme",
"product_dimensions": "7.3 x 6.5 x 3.1 inches"
},
"parser_version": "2026.09.2"
}
]
}
]
}Example: Task not ready yet (HTTP 200)
{
"version": "1.0.0",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0104 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 1,
"tasks": [
{
"id": "09241235-7a02-4f3e-8c11-5b9d0e6a4c27",
"status_code": 40401,
"status_message": "Task not ready yet.",
"time": "0.0011 sec.",
"cost": 0,
"result_count": 0,
"path": [
"v1",
"amazon",
"product",
"task_get",
"09241235-7a02-4f3e-8c11-5b9d0e6a4c27"
],
"data": {
"api": "amazon",
"function": "product",
"asin": "B0EXAMPLE2",
"marketplace": "uk",
"priority": 2,
"tag": "launch-watch",
"pingback_url": "https://example.com/ webhooks/ pingback?id=$id&tag=$tag"
},
"result": null
}
]
}Result, rendered
The product object of the example above as an application would show it: identity, byline and variants, price, rank and rating, and every label → value pair of details.
B0EXAMPLE1·amazon.com
okAcme Wireless Noise Cancelling Headphones, Black
Acme
- BlackB0EXAMPLE1
- WhiteB0EXAMPLE2
- Navy BlueB0EXAMPLE3
- Price
$59.99
USD
- Best Sellers Rank
#1,432
in Electronics
- Rating
4.5out of 5
2,318 ratings
- #12 in Over-Ear Headphones
- #31 in Noise-Cancelling Headphones
details8 pairs
- brand
- Acme
- color
- Black
- connectivity_
technology - Wireless
- date_
first_ available - March 4, 2025
- item_
model_ number - AC-WH400
- item_
weight - 8.8 ounces
- manufacturer
- Acme
- product_
dimensions - 7.3 x 6.5 x 3.1 inches
observed 24 Sept 2026, 12:35 UTC · parser 2026.09.2
Result fields
Each element of tasks[].result is a product object. Returned by task_get and live (result[0]), by history (every item) and inside monitoring subscriptions. Text is returned as the marketplace shows it, in its language. Any field that cannot be read reliably is null (empty for byline, variants and details) — values are never guessed.
asinASIN that was observed (uppercased).
marketplaceMarketplace code.
urlProduct page URL on the marketplace.
observed_atWhen the product page was read, ISO 8601 in UTC.
statusok — the page was read; no_bsr — the page has no Best Sellers Rank; not_found — the product does not exist on this marketplace.
titleProduct title as shown on the page.
bylineNames shown under the title, in page order — usually the brand of the product, from its "Visit the … Store" or "Brand: …" line. Empty when the page shows none or they could not be read.
variantLabel of the selected variant as the page shows it — a colour, size, style or configuration. When several options are selected (colour and size), their labels are joined with , , for example Black, Large. null when the page offers no variants.
variantsSibling variants listed on the page, each with name and asin — the selected one included. Empty when the page lists none.
variants[].nameLabel of the variant as the page shows it.
variants[].asinASIN of that variant.
priceCurrent price, or null when the page shows none.
price.amountPrice in the marketplace currency.
price.currencyISO 4217 currency code, for example USD.
bsrBest Sellers Rank, or null when status is no_bsr or not_found.
bsr.rankRank in the main category.
bsr.categoryMain category as the marketplace shows it, for example Electronics or Home & Kitchen.
bsr.subcategoriesRanks in subcategories, each with rank and category.
ratingAverage customer rating from 1.0 to 5.0.
ratings_countNumber of customer ratings.
image_urlURL of the main product image.
detailsEvery label → value pair of the page's product details — the details list and the product-information, technical-details, overview and product-facts tables — except the Best Sellers Rank and the customer rating, which are bsr, rating and ratings_count. Keys are the labels lower-cased, with every run of spaces and punctuation turned into _; they stay in the marketplace's language (item_weight on com, artikelgewicht on de, メーカー on jp) and are sorted. Values are the text as shown, trimmed, without invisible characters. At most 60 entries; a value longer than 500 characters is cut. {} when nothing could be read.
details.<key>One value as the page shows it, for example 8.8 ounces for item_weight.
parser_versionVersion of the parser that produced this object.
Status codes
Codes this endpoint can return, at the request or task level. See Status codes for handling advice.
| Code | Message | HTTP | Level | When |
|---|---|---|---|---|
| 20000 | Ok. | 200 | Request / task | The request, or the individual task, was processed successfully. |
| 40100 | Authentication failed. | 401 | Request | The Authorization header is missing or malformed, or the login and API key do not match. |
| 40101 | API key revoked. | 401 | Request | The API key was revoked. Use another active key or create a new one. |
| 40102 | Account disabled. | 401 | Request | The account is disabled. Contact support. |
| 40202 | Rate limit exceeded. | 429 | Request | Too many requests or tasks per minute for this account, or too many access requests from one IP address. The Retry-After header says how many seconds to wait. |
| 40400 | Not Found. | 404 / 200 | Request / task | Unknown endpoint, or an unknown task, key or subscription id. |
| 40401 | Task not ready yet. | 200 | Task | task_get was called before the task completed. Retry later or use webhooks. |
| 40402 | Product not found on Amazon. | 200 | Task | The product page does not exist on that marketplace. The task is not charged. |
| 50000 | Internal error. | 500 | Request | Unexpected server error. The request can be retried; contact support if it persists. |
| 50301 | Source temporarily unavailable. Try again later. | 200 | Task | The data source could not be read (blocked, unavailable or too slow). The task is not charged: its cost is refunded automatically. Try again later. |