Skip to content

Keywords

GET /projects/{project}/keywords

All keywords for a project, with a summary of which reports have content for each keyword. Useful for auditing content coverage before syncing.

Path parameters

ParameterTypeDescription
projectintegerProject ID

Request

sh
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  https://admin.trakk.ai/api/v1/projects/42/keywords

Response

json
{
  "data": [
    {
      "id": 901,
      "keyword": "seo agency stockholm",
      "url": "https://digipartner.se/seo-stockholm",
      "create_date": "2024-01-15",
      "latest_position": 7,
      "status_200": true,
      "content_count": 5,
      "content_action_ids": [1, 4, 8, 11, 14]
    }
  ],
  "cache_refreshed_at": "2026-03-30T12:00:00.000000Z"
}

Fields

FieldTypeNullableDescription
idintegerNoKeyword ID
keywordstringNoThe keyword phrase
urlstringYesTarget page URL
create_datedateNoWhen the keyword was added
latest_positionintegerYesMost recent SERP rank position
status_200booleanYesWhether the target URL last returned HTTP 200
content_countintegerNoNumber of reports that have content for this keyword
content_action_idsarray of integersNoSorted list of report numbers that have content for this keyword

Usage example

js
// Find keywords with no content yet
const keywords = await api.get('/projects/42/keywords');
const noContent = keywords.data.filter(k => k.content_count === 0);
console.log(`${noContent.length} keywords have no content yet`);

// Check if a specific report (number 14) has content for a keyword
const hasReport14 = keyword.content_action_ids.includes(14);