SEO

Get organic traffic

Daily clicks and impressions from Search Console over the range, and the latest finalised week's top queries and top pages by clicks.

GEThttps://api.vidrys.com/v1/projects/{project_id}/seo/traffic
Plan
Track and above
Key
read
Rate cost
1 unit

Authorization

Sent as a header on every request.

Authorizationstringrequired

A Vidrys API key, sent as Bearer vidrys_sk_…. A read key is enough. See Authentication.

Path parameters

project_idstringrequired

The project's id, from List projects.

Query parameters

rangeenum<string>default 30d

How far back to measure, counted from the newest run.

Values:7d30d90d

Response · 200

application/json

connectedboolean

Whether Search Console is connected.

awaiting_databoolean

Connected, but nothing synced for the range yet.

trendobject[]

One point per day in the range, oldest first.

+Show child attributes
datestring

Day, as YYYY-MM-DD.

clicksinteger

Clicks from Google search that day, from Search Console.

impressionsinteger

Times the site appeared in results that day.

avg_positionnumbernullable

Average position across the day's impressions. Null when Search Console reported none.

top_queriesobject[]

The latest finalised week's top queries by clicks, up to 25.

+Show child attributes
termstring

The query, or the page URL.

clicksinteger

Clicks over the window.

impressionsinteger

Impressions over the window.

ctrnumber

Click-through rate, 0–100.

positionnumbernullable

Average position over the window.

top_pagesobject[]

The same week's top pages by clicks, up to 25.

+Show child attributes
termstring

The query, or the page URL.

clicksinteger

Clicks over the window.

impressionsinteger

Impressions over the window.

ctrnumber

Click-through rate, 0–100.

positionnumbernullable

Average position over the window.

Errors

403 plan_feature_unavailableThe feature is on a higher plan. Bulk exports and webhooks are Custom-only.
404 not_foundThe project or item doesn't exist in this workspace. A project from another workspace also returns 404, never 403.
422 invalid_requestA parameter or body field is missing or has the wrong type or value. The message names the field. Also returned when a write would pass the plan's prompt limit.
401 unauthorizedNo key was sent, or the key is unknown, revoked or expired, or the member who created it has left the workspace or been deactivated.
402 plan_requiredThe workspace's plan doesn't include API access. It's included on every plan from Track up — Solo is the one without it.
403 workspace_not_approvedThe workspace is still waiting for approval, or wasn't approved.
429 rate_limitedToo many requests this minute. Wait for the number of seconds in the `Retry-After` header, then retry.

Every code, and what to retry, is in Errors.