Results

List results

The latest run's answer for each prompt on each engine: won or lost, where the brand ranked, how the answer treated it, and how many sources it cited.
GEThttps://api.vidrys.com/v1/projects/{project_id}/results
Plan
Grow and above
Key
read
Rate cost
1 unit

Covers the newest run, up to its 200 most recent answers. Pass prompt_id to narrow it to one question.

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

prompt_idstring

Only this prompt's answers.

pageintegerdefault 1

Page number, from 1.

page_sizeintegerdefault 50

Rows per page, 1–100.

Response · 200

application/json

probesobject[]

Results from the latest run.

+Show child attributes
idstring

Result id. Pass it to Get a reasoning card.

prompt_idstring

The tracked prompt that was asked.

prompt_refinteger

The prompt's short number, as the dashboard shows it (#12). 0 when not available.

prompt_textstring

The prompt that was asked.

platformstring

Engine id.

Values:chatgptperplexitygeminicopilotai_overviewsclaude

wonboolean

True when the answer recommended the brand with a quality of at least 0.5.

brand_positionintegernullable

Where the brand is first named among itself and the tracked competitors, from 1. Null when the answer doesn't name it.

sentimentstringnullable

Tone toward the brand. Null when it isn't mentioned.

Values:positiveneutralnegative

endorsementstringnullable

How the answer treats the brand, from named as the one to choose to advised against. Null when the brand isn't mentioned.

Values:strongrecommendedneutralreference_onlydiscouraged

qualitynumber

The answer's quality for the brand, 0–1: endorsement weighted by position. 0.5 or more is a win.

top_competitorstringnullable

The first tracked competitor the answer names.

citation_countinteger

Distinct URLs the answer cites.

competitor_countinteger

Tracked competitors the answer names.

reasoning_card_idstringnullable

The “Why?” card explaining the result. Null when there isn't one.

pageobject

Where these rows sit in the full list.

+Show child attributes
pageinteger

This page's number, from 1.

page_sizeinteger

Rows per page.

totalinteger

Rows across every page.

Errors

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 Grow, Scale and Custom.
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.