---
title: "Add Tracked Keywords Ep"
method: POST
path: "/sites/{site_id}/tracked-keywords"
tags: ["sites"]
---

# Add Tracked Keywords Ep

`POST /sites/{site_id}/tracked-keywords`

## Request

- Base URL: `https://api.xeorank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.xeorank.com/sites/{site_id}/tracked-keywords`
- Auth: API key in header `X-Agent-Key`

Bulk-add tracked keywords. Accepts plain strings and/or rich objects
({keyword, intent, funnel_stage, cluster_name, notes, source}) — the agent
supplies the intelligence, Xyle stores it.

## Path parameters

- `site_id` string, required

## Query parameters

- `email` string, nullable

## Headers

- `x-xyle-source` string, nullable

## Request body

- AddKeywordsRequest
  - `keywords` union[], required
    - union
      - string
      - KeywordUpsertItem: Rich keyword entry — the agent supplies the intelligence, Xyle stores it.
        - `keyword` string, required
        - `intent` string, nullable
        - `funnel_stage` string, nullable
        - `cluster_name` string, nullable
        - `notes` string, nullable
        - `source` string, nullable
        - `ranking_url` string, nullable

## Response `200`

Successful Response

- AddKeywordsResponse
  - `added` integer, required
  - `duplicates` integer, required
  - `keywords` TrackedKeywordOut[]
    - `id` string, uuid, required
    - `keyword` string, required
    - `search_volume` integer, nullable
    - `keyword_difficulty` integer, nullable
    - `current_position` integer, nullable
    - `ranking_url` string, nullable
    - `ranking_location_code` integer, nullable
    - `ranking_location_name` string
    - `ranking_location_type` string
    - `ranking_search_engine` string
    - `ranking_language_code` string
    - `ranking_device` string
    - `cpc` number, nullable
    - `competition` number, nullable
    - `last_checked_at` string, date-time, nullable
    - `created_at` string, date-time, required
    - `intent` string, nullable
    - `funnel_stage` string, nullable
    - `cluster_name` string, nullable
    - `source` string, nullable
    - `notes` string, nullable
    - `classified_at` string, date-time, nullable
    - `position_context` string, nullable
    - `checked_days_ago` integer, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/xeorank/apis/seo-intelligence-engine.md) · [All operations](https://skmtc.dev/xeorank/apis/seo-intelligence-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/xeorank/apis/seo-intelligence-engine/revisions/449a3fd73454?raw)
