Skip to content

Research Seo Keywords

POST
/seo/keywords/research

SPENDS CREDITS. Keyword ideas around a seed, from the paid data provider.

mode picks the provider report: ideas, related, suggestions, or auto to let the app choose. Rows come back in that report’s own shape.

Runs the app’s per-organisation provider rate limit (429 past it) and its fail-closed credit check (402 when the balance is exhausted) before anything is fetched. A provider outage is a 502 that says so.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Mirrors ResearchKeywordsRequest.

limit is capped at 150 - the same ceiling the app, the agent tool and the UI share - so a larger ask is a 422 here rather than a silent truncation. Send seed_keyword OR seed_domain (a whole site), never both. The market defaults to the organisation’s keyword market; domain is its own site, used for your_rank. The same research within 24 hours is free and says cached_at.

object
device
Any of:
string
Allowed values: desktop mobile
domain
Any of:
string
<= 255 characters
language_code
Any of:
string
<= 10 characters
limit
integer
default: 150 >= 1 <= 150
location_code
Any of:
integer
mode
string
default: auto
Allowed values: auto ideas related suggestions
seed_domain
Any of:
string
>= 3 characters <= 255 characters
seed_keyword
Any of:
string
>= 1 characters <= 500 characters

Responses

200

Successful Response

object
data
required

Mirrors ResearchKeywordsResponse.

keywords rows are the provider’s row shape for the chosen mode, passed through rather than flattened, because the four modes return different columns and flattening would drop the ones a caller asked for.

object
cached_at
Any of:
string
keywords
Array<object>
default:
object
key
additional properties
any
locale
Any of:

Mirrors ResearchLocaleDTO.

object
device
required
string
Allowed values: desktop mobile
language_code
required
string
location_code
required
integer
seed
Any of:

Mirrors KeywordRow.

object
ai_overview_present
boolean
companies_researching
Any of:
integer
competition
number
cpc
Any of:
number
cpc_high
Any of:
number
cpc_low
Any of:
number
est_clicks
Any of:
integer
intent
Any of:
string
intents
Array<string>
default:
keyword
required
string
keyword_difficulty
Any of:
integer
parent_topic
Any of:
string
parent_topic_volume
Any of:
integer
results_count
Any of:
integer
search_volume
integer
search_volume_avg
Any of:
integer
serp_features
Array<string>
default:
trend
Array<integer>
default:
trend_12m
Array<integer>
default:
volume_spike
boolean
your_rank
Any of:
integer
zero_click_share
Any of:
number
zero_click_source
Any of:
string
Allowed values: clickstream estimate
seed_domain
Any of:
string
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
notes
Any of:
Array<string>
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer
total_available
Any of:
integer
total_is_lower_bound
Any of:
boolean

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string