Keyword resource
device is desktop or mobile. frequency is paused, manual, daily,
weekly, monthly, or custom_cron.
location_key accepts an optional @language qualifier such as
ES/Andalusia/Malaga@en. An unqualified key uses the country’s default
language. Supplying the default explicitly is an alias of the unqualified key,
so ES and ES@es resolve to the same canonical market. Use the codes listed
under Markets and languages.
Every keyword resource reports language_code and language_label alongside
the canonical location_key.
List project keywords
Response:
Match project keyword texts
matched_text contains that normalized value, so use it to join each response
row to the normalized request. text remains the stored keyword text and can
differ in case and whitespace.
At most 100 market rows are returned for each matched_text. The response
always includes meta.truncated_texts; a normalized text listed there has more
matching markets and its returned rows are partial.
Add keywords
keywords array. String entries in keywords are converted to
{ "keyword": "..." }.
Within
schedule, jitter_minutes must be a whole number from 0 to 120.
Omitting it uses 60; 0 disables jitter. Use cron_expression with
frequency: "custom_cron". Daily and weekly schedules use a stable,
keyword-specific interval phase, so timezone does not move their phase.
timezone anchors monthly and custom cron schedules to wall-clock time.
Response status is 201 when at least one keyword is created. Duplicate keyword,
location, and device combinations are skipped. If location resolution degrades,
the response includes per-result warning values and a top-level warnings array
with unique warning messages.
Get keyword
404.
Update keyword
Within
schedule, jitter_minutes accepts the inclusive range 0 to 120.
Custom schedules use cron_expression. Daily and weekly schedules use a stable,
keyword-specific interval phase independent of timezone; monthly and custom
cron schedules use timezone as their wall-clock anchor.
Identity fields are accepted when they match the stored term, market, and device.
A differing identity value returns 409. To track a different term, market, or
device, add it as its own keyword and archive the old keyword.
Returns the updated keyword resource.
Delete keyword
Bulk mutate keywords
Example: