Skip to content
Screaming Data
Documentation menu

Amazon Product API

Get product data live

Product data in the same request — for interactive features and one-off lookups.

POST
https://api.screamingdata.dev/v1/amazon/product/live
Authentication
API key (HTTP Basic)
Cost
  • $0.0040 per request

List price · volume rates on request

Body
Array of 1 task

Overview

Returns a product object in the same HTTP request. If an observation of the product younger than max_age_minutes exists, it is returned immediately; otherwise a new observation is made synchronously within a 60-second budget.

If the budget runs out, the task returns 50301 and is not charged — retry later or switch to task_post.

The body is an array with exactly one task. For batches, task_post is cheaper and supports priorities and webhooks.

Cost

Charged per request, including answers served from a recent observation. Timeouts (50301) and products that do not exist (40402) are not charged. List price: $0.0040 per request — volume rates on request; every response reports the exact cost. See pricing · Get a quote
Use live for interactive features. For scheduled or bulk work use task_post or monitoring.

Request

POST /v1/amazon/product/live with Content-Type: application/json.

Body fields

The request body is a JSON array with exactly one task object:

asin
stringrequired

ASIN of the product. Case-insensitive; must be 10 letters or digits after uppercasing.

  • Pattern^[A-Z0-9]{10}$
  • ExampleB0EXAMPLE1
marketplace
stringrequired

Marketplace code. The aliases us and usa (for com) and gb (for uk) are also accepted. See Marketplaces.

  • Allowedcomukdefresitnlcaaujpmxin
  • Examplecom
max_age_minutes
integeroptional

Accept a stored observation up to this many minutes old. 0 always makes a new observation.

  • Default60
  • Range0 – 43200
  • Example60

Request example

The examples read your credentials from the API_LOGIN and API_KEY environment variables.

curl --request POST \
  --url "https://api.screamingdata.dev/v1/amazon/product/live" \
  --user "$API_LOGIN:$API_KEY" \
  --header "Content-Type: application/json" \
  --data '[
  {
    "asin": "B0EXAMPLE1",
    "marketplace": "com",
    "max_age_minutes": 60
  }
]'

Response

HTTP 200. The body is the standard response envelope; check status_code at the top level and in every task.

Response example
{
  "version": "1.0.0",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "3.8342 sec.",
  "cost": 0.004,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "09241241-1d5e-4c8a-a3f0-9e2b7c6d5a14",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "3.8120 sec.",
      "cost": 0.004,
      "result_count": 1,
      "path": [
        "v1",
        "amazon",
        "product",
        "live"
      ],
      "data": {
        "api": "amazon",
        "function": "product",
        "asin": "B0EXAMPLE1",
        "marketplace": "com",
        "max_age_minutes": 60
      },
      "result": [
        {
          "asin": "B0EXAMPLE1",
          "marketplace": "com",
          "url": "https://www.amazon.com/dp/B0EXAMPLE1",
          "observed_at": "2026-09-24T12:41:07Z",
          "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",
            "scope": "main",
            "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"
          }
        }
      ]
    }
  ]
}
Example: Lookup did not complete in time (not charged) (HTTP 200)
Lookup did not complete in time (not charged)
{
  "version": "1.0.0",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "60.0230 sec.",
  "cost": 0,
  "tasks_count": 1,
  "tasks_error": 1,
  "tasks": [
    {
      "id": "09241241-1d5e-4c8a-a3f0-9e2b7c6d5a14",
      "status_code": 50301,
      "status_message": "Data temporarily unavailable. Try again later.",
      "time": "60.0012 sec.",
      "cost": 0,
      "result_count": 0,
      "path": [
        "v1",
        "amazon",
        "product",
        "live"
      ],
      "data": {
        "api": "amazon",
        "function": "product",
        "asin": "B0EXAMPLE1",
        "marketplace": "com",
        "max_age_minutes": 0
      },
      "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

ok

Acme 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:41 UTC

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. A field that is not available is null (empty for byline, variants and details) — values are never guessed.

asin
string

ASIN that was observed (uppercased).

marketplace
string

Marketplace code.

url
string

Product URL on the marketplace.

observed_at
string (date-time)

When the observation was made, ISO 8601 in UTC.

status
string

ok — the observation was made; no_bsr — the product has no Best Sellers Rank; not_found — the product does not exist on this marketplace.

title
string· nullable

Product title.

byline
array of strings

Names listed for the product — usually its brand. Empty when none are available.

variant
string· nullable

Label of the selected variant — 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 product has no variants.

variants
array of objects

Sibling variants of the product, each with name and asin — the selected one included. Empty when none are listed.

variants[].name
string

Label of the variant.

variants[].asin
string

ASIN of that variant.

price
object· nullable

Current price, or null when none is listed.

price.amount
number

Price in the marketplace currency.

price.currency
string

ISO 4217 currency code, for example USD.

bsr
object· nullable

Best Sellers Rank, or null when status is no_bsr or not_found.

bsr.rank
integer

The first rank the marketplace shows: the rank in the main category when bsr.scope is main.

bsr.category
string

Category of bsr.rank as the marketplace shows it, for example Electronics or Home & Kitchen.

bsr.scope
string· nullable

What bsr.rank is: main — the rank in the main category; subcategory — the marketplace shows no main-category rank for this product, so bsr.rank is its rank in a subcategory (and the first item of bsr.subcategories); store — a rank in a special store list rather than the main category; null — not known (an observation made before 2026-10-15).

bsr.subcategories
array of objects

Ranks in subcategories, each with rank and category.

rating
number· nullable

Average customer rating from 1.0 to 5.0.

ratings_count
integer· nullable

Number of customer ratings.

image_url
string· nullable

URL of the main product image.

details
object

Every label → value pair of the product's details (specifications) 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 none are available.

details.<key>
string

One value as published, for example 8.8 ounces for item_weight.

Status codes

Codes this endpoint can return, at the request or task level. See Status codes for handling advice.

CodeMessageHTTPLevelWhen
20000Ok.200Request / taskThe request, or the individual task, was processed successfully.
40000Bad Request.400 / 200Request / taskThe body is not valid JSON or does not have the expected shape (for example, not an array of task objects, or more than one task for live). Also returned with HTTP 413 for bodies larger than 1 MiB and with HTTP 405 for a wrong HTTP method. As a task-level code (HTTP 200) it means the task cannot be carried out as asked, for example because the account already has the maximum number of API keys or monitored products.
40100Authentication failed.401RequestThe Authorization header is missing or malformed, or the login and API key do not match.
40101API key revoked.401RequestThe API key was revoked. Use another active key or create a new one.
40102Account disabled.401RequestThe account is disabled. Contact support.
40202Rate limit exceeded.429RequestToo 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.
40200Payment Required. Insufficient balance.402 / 200Request / taskThe balance does not cover the cost. When no task of a request can be paid for, the whole request fails with HTTP 402; otherwise only the tasks that cannot be paid for fail. Contact us to add balance, then retry.
40402Product not found on Amazon.200TaskThe product does not exist on that marketplace. The task is not charged.
40501Invalid field: `<name>`.400 / 200Request / taskA field has a wrong type, format or value; the message names the field, for example "Invalid field: `priority`."
40502Unknown marketplace.200TaskThe marketplace is not one of the 12 supported codes or their aliases.
40503Invalid ASIN.200TaskThe ASIN does not match ^[A-Z0-9]{10}$ after uppercasing.
50000Internal error.500RequestUnexpected server error. The request can be retried; contact support if it persists.
50301Data temporarily unavailable. Try again later.200TaskThe data source did not return a result (unavailable or too slow). The task is not charged: its cost is refunded automatically. Try again later.