---
title: "Track many saved keywords"
method: POST
path: "/v3/rank-tracking/keywords/bulk-track"
tags: ["Rank Tracking"]
---

# Track many saved keywords

`POST /v3/rank-tracking/keywords/bulk-track`

## Request

- Base URL: `https://api.snowseo.com`
- URL: `https://api.snowseo.com/v3/rank-tracking/keywords/bulk-track`
- 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/bulk-track/post.ts> (a function with typed inputs; its response is checked against the schema)

Resumes rank tracking for every selected untracked keyword and consumes the plan's keyword-tracking allowance; returns 402 at the limit. Confirm the selection with keywords_bulk_preview first. Processes up to 50 rows per call: repeat with afterId set to the returned nextCursor until it is null.

## Request body

- object
  - `teamId` string
  - `selection` union, required
    - object
      - `mode` 'ids', required
      - `ids` string[], required
    - object
      - `mode` 'all', required
      - `filters` object, required
        - `search` string
        - `country` string
      - `excludedIds` string[], required
  - `afterId` string: The nextCursor from the previous call; omit on the first call.

## Response `200`

Default Response

- object
  - `success` boolean
  - `succeeded` number
  - `failed` number
  - `nextCursor` string, nullable
  - `eligibility` object
    - `selected` number, required
    - `eligible` number, required
    - `skipped` number, required
    - `byReason` object, required
  - `results` object[]
    - `id` string
    - `success` boolean
    - `error` string

## Other responses

- `500`: Default Response

## Changes

- **2026-11-03** `31b321592ad7`: 4 info
  - added the optional property `code` to the response with the `500` status
  - added the optional property `message` to the response with the `500` status
  - added the optional property `reference` to the response with the `500` status
  - added the optional property `success` to the response with the `500` status
- **2026-11-01** `6d1dc4928d97`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/snowseo/apis/snowseo-api/changes/v3/rank-tracking/keywords/bulk-track/post.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)
