Skip to main content
POST
Keywords and SEO

Headers

idempotency-key
string
required

A caller-generated idempotency key (a UUID is recommended). One key binds to one run: a retry with the same key after a network timeout is a read, not a second execution.

Minimum string length: 1

Body

application/json
action
enum<string> | null

Default keyword_overview. keyword_overview takes keywords (several at once); keyword_ideas and serp take exactly one keyword in keywords; domain_overview, ranked_keywords, organic_competitors (domains ranking for the same keywords), backlinks_overview, backlinks, referring_domains and domain_rating take domain.

Available options:
keyword_overview,
keyword_ideas,
serp,
domain_overview,
ranked_keywords,
organic_competitors,
backlinks_overview,
backlinks,
referring_domains,
domain_rating
provider
enum<string> | null

Data provider: auto (default) or one of semrush, serpstat, dataforseo, ahrefs, serper. Name one only when the caller asks for that vendor.

Available options:
auto,
semrush,
serpstat,
dataforseo,
ahrefs,
serper
keywords
string[] | null
Required array length: 1 - 20 elements
Required string length: 1 - 200
domain
string | null

A website domain such as stripe.com. A full URL is accepted and reduced to its host.

Required string length: 3 - 253
country
string | null

Country as a two-letter ISO code or a country name, e.g. us, gb, de, Germany. Default us. An unsupported country is refused with the supported list.

Required string length: 2 - 60
limit
integer | null

Rows to return. Keep it small: the routed Endpoint's charge rule may read it. Each capability caps it further.

Required range: 1 <= x <= 100

Response

a terminal run: COMPLETED, FAILED or STOPPED

id
string
required
run_url
string
required
provider
string
required
Pattern: ^[a-z0-9][a-z0-9-]*$
endpoint
string
required
Pattern: ^\/.+$
endpoint_version
integer
required
status
enum<string>
required
Available options:
QUEUED,
RUNNING,
COMPLETED,
FAILED,
STOPPED
failure
object | null
required
input
object
required
output
any
required
provider_response
object | null
required
charge_usd
string | null
required

Exact USD decimal string (min 2, max 6 decimals, one canonical spelling). Sum with decimal arithmetic or scale by 10^6 — never floats.

Pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
charge_basis
object | null
required
stoppable
boolean
required
stop_requested_at
string<date-time> | null
required

ISO-8601 UTC timestamp

created_at
string<date-time>
required

ISO-8601 UTC timestamp

started_at
string<date-time> | null
required

ISO-8601 UTC timestamp

completed_at
string<date-time> | null
required

ISO-8601 UTC timestamp