Keywords API

Manage SEO keywords, track volume and difficulty, and link to content.

3 min read

Keywords API

Manage SEO keywords, track search volume and difficulty, and link keywords to content entities.

List Keywords

GET /api/v1/keywords?search={term}&cluster={clusterId}&limit=50&offset=0

Query Parameters

searchstring
Filter keywords by a search term (partial match).
clusterstring
Filter keywords by topical cluster ID.
limitnumber
Maximum number of results to return.
offsetnumber
Pagination offset for skipping results.

Response

dataobject[]
Array of keyword objects.
data[].idstring
Unique identifier for the keyword.
data[].keywordstring
The keyword phrase.
data[].volumenumber
Monthly search volume estimate.
data[].difficultynumber
Keyword difficulty score (0-100).
data[].clusterIdstring
ID of the topical cluster this keyword belongs to, or `null`.
data[].entityIdstring
ID of the content entity targeting this keyword, or `null`.
totalnumber
Total count of keywords matching the query (before pagination).
hasMoreboolean
Whether more results exist beyond the current page.

Create Keyword

POST /api/v1/keywords

Request Body

keywordstringrequired
The keyword phrase.
volumenumber
Monthly search volume estimate.
difficultynumber
Keyword difficulty score (0-100).
clusterIdstring
ID of the topical cluster to assign this keyword to.
entityIdstring
ID of the content entity targeting this keyword.

Bulk Import Keywords

POST /api/v1/keywords/bulk

Import multiple keywords in a single request. Duplicate keywords (by exact phrase match) are skipped.

Request Body

keywordsobject[]required
Array of keyword objects. Each must include at least a `keyword` field. Optional fields: `volume`, `difficulty`, `clusterId`, `entityId`.

Response

creatednumber
Number of keywords successfully created.
duplicatesnumber
Number of keywords skipped because they already exist.
errorsnumber
Number of keywords that failed validation.

Update Keyword

PATCH /api/v1/keywords/:id

Request Body

volumenumber
Updated monthly search volume.
difficultynumber
Updated keyword difficulty score (0-100).
clusterIdstring
ID of the topical cluster to assign this keyword to. Pass `null` to unassign.
entityIdstring
ID of the content entity targeting this keyword. Pass `null` to unlink.

Delete Keyword

DELETE /api/v1/keywords/:id
Warning
This permanently deletes the keyword. This action cannot be undone.
Was this helpful?

Command Palette

Search for a command to run...