Skip to content
Screaming Data
Documentation menu

Amazon Rank Tracking API

List tracked keywords

Your tracked keywords with the latest position of each.

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

Overview

Returns your active and paused tracked keywords, oldest first, each with its latest position (a position record, or null before the first check). Page with limit and offset.

Cost

Free.

Request

GET /v1/amazon/rank_tracking/list.

Query parameters

limit
integeroptional

Maximum number of tracked keywords to return.

  • Default100
  • Range1 – 1000
  • Example100
offset
integeroptional

Number of tracked keywords to skip, for paging.

  • Default0
  • Range≥ 0
  • Example0

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/rank_tracking/list?limit=100&offset=0" \
  --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.0032 sec.",
  "cost": 0,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "10031502-4e8a-4c2d-b7f1-0a9c3e5d2b61",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.0032 sec.",
      "cost": 0,
      "result_count": 2,
      "path": [
        "v1",
        "amazon",
        "rank_tracking",
        "list"
      ],
      "data": {
        "api": "amazon",
        "function": "rank_tracking",
        "limit": 100,
        "offset": 0
      },
      "result": [
        {
          "id": 5120,
          "asin": "B0EXAMPLE1",
          "marketplace": "com",
          "keyword": "wireless earbuds",
          "status": "active",
          "created_at": "2026-10-03T08:14:20Z",
          "last_checked_at": "2026-10-03T05:02:41Z",
          "next_check_at": "2026-10-04T05:00:00Z",
          "latest": {
            "asin": "B0EXAMPLE1",
            "marketplace": "com",
            "keyword": "wireless earbuds",
            "observed_at": "2026-10-03T05:02:41Z",
            "organic_rank": 7,
            "organic_page": 1,
            "checked_depth": 100,
            "total_results": 27435,
            "matched_asin": "B0EXAMPLE1",
            "matched_format": null
          }
        },
        {
          "id": 5121,
          "asin": "B0EXAMPLE1",
          "marketplace": "com",
          "keyword": "noise cancelling headphones",
          "status": "active",
          "created_at": "2026-10-03T08:14:20Z",
          "last_checked_at": "2026-10-03T05:02:44Z",
          "next_check_at": "2026-10-04T05:00:00Z",
          "latest": {
            "asin": "B0EXAMPLE1",
            "marketplace": "com",
            "keyword": "noise cancelling headphones",
            "observed_at": "2026-10-03T05:02:44Z",
            "organic_rank": null,
            "organic_page": null,
            "checked_depth": 100,
            "total_results": 18204,
            "matched_asin": null,
            "matched_format": null
          }
        }
      ]
    }
  ]
}

Result fields

Each element of tasks[].result is a tracked keyword. One ASIN tracked for one keyword on one marketplace. rank_tracking/add returns it without latest.

id
integer

Tracking id. Use it with rank_tracking/delete.

asin
string

Tracked ASIN.

marketplace
string

Marketplace code.

keyword
string

The keyword as you sent it (trimmed).

status
string

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

created_at
string (date-time)

When tracking started, ISO 8601 in UTC.

last_checked_at
string (date-time)· nullable

The latest check delivered, ISO 8601 in UTC; null before the first one.

next_check_at
string (date-time)· nullable

When the keyword is due to be checked next, ISO 8601 in UTC; null while paused.

latest
object· nullable

The latest position record, or null before the first check. Returned by rank_tracking/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`."
40600Feature not available on your plan.403RequestThe requested feature is not enabled for this account.
50000Internal error.500RequestUnexpected server error. The request can be retried; contact support if it persists.