Research
Authorizations
X-API-KEYstringRequired
Body
seed_keywordsstring[] · min: 1 · max: 10Required
Seed keywords to research
locationstringOptionalDefault:
United StateslanguagestringOptionalDefault:
eninclude_questionsbooleanOptionalDefault:
truelimitnumber · min: 1 · max: 500OptionalDefault:
50Responses
200
Keyword research results
application/json
totalnumberOptional
seed_keywordsstring[]Optional
locationstringOptional
post
/v1/research/keywords200
Keyword research results
Authorizations
X-API-KEYstringRequired
Body
keywordstring · max: 200Required
locationstringOptionalDefault:
United StateslanguagestringOptionalDefault:
enResponses
200
SERP analysis results
application/json
keywordstringOptional
locationstringOptional
search_intentstring · enumOptionalPossible values:
difficultystring · enumOptionalPossible values:
serp_featuresstring[]Optional
people_also_askstring[]Optional
unique_domainsnumberOptional
post
/v1/research/serp200
SERP analysis results
Authorizations
X-API-KEYstringRequired
Body
domainstringRequired
Competitor domain to analyze (e.g., "competitor.com")
locationstringOptionalDefault:
United Stateslimitnumber · min: 1 · max: 200OptionalDefault:
50Responses
200
Competitor keyword analysis
application/json
domainstringOptional
totalnumberOptional
total_volumenumberOptional
post
/v1/research/competitors200
Competitor keyword analysis
Authorizations
X-API-KEYstringRequired
Body
keywordsstring[] · min: 1 · max: 500Required
methodstring · enumOptionalDefault:
bothPossible values: Responses
200
Keyword clustering results
application/json
total_keywordsnumberOptional
methodstringOptional
post
/v1/research/cluster200
Keyword clustering results
Authorizations
X-API-KEYstringRequired
Body
keywords_csvstringOptional
Raw CSV content (Ahrefs/SEMrush format). Either this or keywords array is required.
Responses
201
Job created
application/json
400
Validation error
429
Rate limit exceeded
post
/v1/research/serp-cluster-bulkAuthorizations
X-API-KEYstringRequired
Path parameters
jobIdstring · uuidRequired
Responses
200
Job status
application/json
job_idstringOptional
statusstring · enumOptionalPossible values:
messagestring · nullableOptional
summaryobject · nullableOptional
Available when status is completed
errorstring · nullableOptional
404
Job not found
get
/v1/research/serp-cluster-bulk/{jobId}Authorizations
X-API-KEYstringRequired
Path parameters
jobIdstring · uuidRequired
Body
airtable_status_columnstringOptional
Column name in Airtable to write generation status updates
cuppa_article_id_fieldstringOptionalDefault:
Airtable column for article UUID; must match filter and write-back
Cuppa Article IDResponses
201
Generation job created
application/json
400
Cluster job not complete or invalid request
404
Cluster job not found
post
/v1/research/serp-cluster-bulk/{jobId}/generateLast updated
Was this helpful?