Skip to content
Screaming Data
Documentation menu

Amazon Monitoring API

List monitored products

Your subscriptions with the latest observation of each product.

GET
https://api.screamingdata.dev/v1/amazon/monitoring/list
Authentication
API key (HTTP Basic)
Cost
Free
Body
No request body

Overview

Returns your active and paused subscriptions, each with the latest observation delivered to it (a product object, or null before the first delivery). Filter by tag and page with limit and offset.

Cost

Free.

Request

GET /v1/amazon/monitoring/list.

Query parameters

limit
integeroptional

Maximum number of subscriptions to return.

  • Default100
  • Range1 – 1000
  • Example100
offset
integeroptional

Number of subscriptions to skip, for paging.

  • Default0
  • Range≥ 0
  • Example0
tag
stringoptional

Return only subscriptions with this tag.

  • Max length255 characters
  • Exampleclient-42

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/monitoring/list?limit=100&offset=0&tag=client-42" \
  --user "$API_LOGIN:$API_KEY"

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": "0.0305 sec.",
  "cost": 0,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "09241320-4a8d-4e6f-b3c2-7f1e9d5a0c26",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.0142 sec.",
      "cost": 0,
      "result_count": 2,
      "path": [
        "v1",
        "amazon",
        "monitoring",
        "list"
      ],
      "data": {
        "api": "amazon",
        "function": "monitoring",
        "limit": 100,
        "offset": 0,
        "tag": "client-42"
      },
      "result": [
        {
          "id": 3051,
          "asin": "B0EXAMPLE1",
          "marketplace": "com",
          "frequency": "daily",
          "tag": "client-42",
          "external_user_id": "u_8f3a2c",
          "status": "active",
          "created_at": "2026-09-24T13:02:11Z",
          "latest_observation": {
            "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"
          }
        },
        {
          "id": 3060,
          "asin": "B0EXAMPLE3",
          "marketplace": "com",
          "frequency": "daily",
          "tag": "client-42",
          "external_user_id": "u_8f3a2c",
          "status": "active",
          "created_at": "2026-09-24T13:19:30Z",
          "latest_observation": null
        }
      ]
    }
  ]
}

Result fields

Each element of tasks[].result is a subscription object. A monitored product. monitoring/add returns it without latest_observation.

id
integer

Subscription id. Use it with monitoring/delete.

asin
string

Monitored ASIN.

marketplace
string

Marketplace code.

frequency
string

hourly, every_6h or daily.

tag
string· nullable

Your tag.

external_user_id
string· nullable

Your opaque end-user id.

status
string

active, or paused_balance while the balance cannot cover observations (resumes automatically once balance is added).

created_at
string (date-time)

When the subscription was created, ISO 8601 in UTC.

latest_observation
object· nullable

The latest observation delivered to this subscription (a product object, same shape as in task_get), or null before the first delivery. Returned by monitoring/list only.

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.
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.
40501Invalid field: `<name>`.400 / 200Request / taskA field has a wrong type, format or value; the message names the field, for example "Invalid field: `priority`."
50000Internal error.500RequestUnexpected server error. The request can be retried; contact support if it persists.