Create a GEO analysis

Returns 201 with the new analysis. metadata.credits.cost quotes the first run.

Queries bill on every run, per provider, so later re-runs of the same settings cost the same.

A network-level retry can otherwise create and bill a second analysis with no way to detect it. Send an Idempotency-Key to make retries safe.

Body Params
competitors
array of objects
required
length between 1 and 10
competitors*
string

Display name. Resolved from the website when omitted.

uri
required
providers
array of strings
required
length ≥ 1

AI providers to query.

providers*
Allowed:
scopes
array of objects
required
length between 1 and 10

What the analysis may cover. At least one must be internal; the analysis website is derived from them.

scopes*
string
enum
required
Allowed:
uri
required
string
enum
required

How url is matched, as on the analysis settings.scopes. An external scope only accepts page.

Allowed:
topicClusters
array of objects
required
length between 1 and 10
topicClusters*
string
required
prompts
array of objects
required
length ≤ 10
prompts*
string

Resolved from the website when omitted.

string
required

IANA timezone.

string
enum
required

How often the analysis re-runs. one-off requires an entitlement.

Allowed:
string | null
enum

Country market provider web searches are localized to. Omit or null for provider defaults. Requires the aeo-geo-region entitlement.

Headers
string

Your id for this create request. A retry with the same key and the same body returns the original response without creating or billing anything new. The same key with a different body is rejected with a 409. Omit it and each call is treated as a distinct create, so a retry after a dropped response can create a second analysis.

Responses

402

Not enough credits for the first run.

403

Not permitted, or not entitled to the requested schedule or region.

409

The Idempotency-Key was already used with a different request body.

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json