Keywords API
Access keyword research data, rankings, and search volume information.
List Keywords
Retrieve tracked keywords for a site.
GET /api/v1/keywords
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id | string | Required | Site to get keywords for |
page | integer | 1 | Page number |
page_size | integer | 50 | Results per page |
Example Response
{
"items": [
{
"id": "kw-uuid",
"keyword": "ai marketing platform",
"search_volume": 2400,
"difficulty": 45,
"current_position": 12,
"previous_position": 18,
"url": "/features",
"intent": "commercial",
"updated_at": "2026-02-25T06:00:00Z"
}
],
"total": 150,
"page": 1,
"page_size": 50
}Keyword Stats
Get aggregated keyword statistics for a site.
GET /api/v1/keywords/stats
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id | string | Required | Site ID |
Example Response
{
"total_keywords": 150,
"keywords_in_top_3": 12,
"keywords_in_top_10": 45,
"keywords_in_top_100": 130,
"average_position": 24.5,
"total_search_volume": 45000,
"position_changes": {
"improved": 35,
"declined": 12,
"unchanged": 103
}
}Keyword Fields
| Field | Type | Description |
|---|---|---|
keyword | string | The search term |
search_volume | integer | Monthly search volume |
difficulty | integer | Ranking difficulty (0-100) |
current_position | integer | Current search position (null if not ranking) |
previous_position | integer | Previous search position |
url | string | The URL ranking for this keyword |
intent | string | Search intent (informational, navigational, commercial, transactional) |