---
title: "Tracked keywords table"
method: GET
path: "/v3/rank-tracking/keywords/table"
tags: ["Rank Tracking"]
---

# Tracked keywords table

`GET /v3/rank-tracking/keywords/table`

## Request

- Base URL: `https://api.snowseo.com`
- URL: `https://api.snowseo.com/v3/rank-tracking/keywords/table`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/snowseo/apis/snowseo-api/docs/v3/rank-tracking/keywords/table/get.ts> (a function with typed inputs; its response is checked against the schema)

The dashboard's tracked-keywords table: one page of keyword locations grouped by keyword, with position history, the average position and change over the window, and stored SERP result history. Filter with search or country, sort with sortBy, and read `summary` for tracked/untracked/clustered/running counts. Returns 25 keyword groups per page unless pageSize is set. The window defaults to the last 30 days and is compared with the period before it.

## Query parameters

- `teamId` string
- `startDate` string
- `endDate` string
- `days` integer
- `includeInactive` boolean
- `search` string
- `country` string
- `sortBy` 'kw' | 'country' | 'pos' | 'rankedPages' | 'delta'
- `sortDir` 'asc' | 'desc'
- `page` integer
- `pageSize` string

## Response `200`

Default Response

- object
  - `page` integer
  - `pageSize` integer
  - `total` integer
  - `totalPages` integer
  - `summary` object
  - `items` object[], required
    - `id` string
    - `keywordId` string
    - `keyword` string
    - `countryId` string, nullable
    - `languageId` string, nullable
    - `locationCriteriaId` number, nullable
    - `locationCanonicalName` string, nullable
    - `position` number
    - `active` boolean
    - `status` 'completed' | 'processing' | 'failed' | 'pending'
    - `refreshedAt` string, nullable
    - `createdAt` string
    - `updatedAt` string
    - `isTracked` boolean
    - `trackingId` string
    - `monthlyVolume` number, nullable
    - `difficulty` string, nullable
    - `competitionScore` number, nullable
    - `cpc` number, nullable
    - `intent` string, nullable
    - `positionHistory` object[]
      - `date` string
      - `position` number
    - `positionTrend` 'improved' | 'declined' | 'same' | 'new', nullable
    - `nextRunAt` string, nullable
    - `serpFeatures` object
    - `resultHistory` object[]

## Other responses

- `400`: Default Response
- `500`: Default Response

## Changes

- **2026-11-03** `31b321592ad7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/snowseo/apis/snowseo-api/changes/v3/rank-tracking/keywords/table/get.md)

---

[API](https://skmtc.dev/snowseo/apis/snowseo-api.md) - [All operations](https://skmtc.dev/snowseo/apis/snowseo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/snowseo/apis/snowseo-api/revisions/f64935aae2ec?raw)
