Performance and Observations API
Read YouTube performance, import Search Console, GA4 and CSV observations, and run paid AI citation checks from the FoxCue API.
Performance and observations are how FoxCue reads results after a video is published. Both areas are in the live OpenAPI schema. Connecting a YouTube channel or a Google property still starts in the browser. The API can list what is already connected, queue a sync, and read stored rows.
YouTube performance (performance:read and performance:write)
| Method | Path | What it does |
|---|---|---|
GET | /performance/capabilities | What this server can read, and which setup is missing |
GET | /performance/connections | OAuth or public API-key channels visible to you |
POST | /performance/connections/{id}/sync | Queue an inventory sync. Analytics sync runs for OAuth connections. Body idempotency_key is required |
GET | /performance/sync-runs/{id} | Poll progress and a safe error code |
GET | /performance/publications | Published videos as items, limit, offset, has_more |
GET | /performance/publications/{id} | One video and its links to your topics, scripts and outputs |
PUT | /performance/publications/{id}/links | Replace those links. Send expected_revision |
GET | /performance/reports | A cached report. A missing row is not a zero. The window is at most 367 days |
POST | /performance/reports/query | Queue one Analytics report. Poll the sync run |
In the app, open YouTube performance. Performance shows All channels, and a Websites tab for site results.
Observations
observations routes use performance:read or performance:write as x-required-scope. Several also ask for another scope in the summary (strategy, for example).
What you can do:
- Read stored Google Search Console queries for a page or a YouTube URL (
POST /observations/page-search). - Stage a private CSV up to 10 MiB, preview it, and publish a typed import.
- Save qualification rules and record outcome stages.
- Read or refresh a YouTube report for one linked video through the performance queue.
- Preview and import keyword-estimate CSVs, or request historical metrics when Google Ads customer auth is configured on the server.
- Preview and import AI visibility samples. Those samples are private. They are not a ranking.
Google connections are added in the browser. GET /observations/connections says setup requires the browser owner.
Citation checks
Paid checks live under strategy, not under a screen of their own:
POST /strategy/growth/checksruns bounded paid AI citation checks on targets you have approved. Reuse the idempotency key.POST /strategy/growth/schedulesschedules those checks with an explicit cadence and a finite spend budget.PATCH /strategy/growth/schedules/{id}pauses or resumes one schedule.GET /strategy/growth/historyreads captured answers and citation history.
In the app, Citation Tracking Settings says tracking is managed by FoxCue. When it is not configured, the dialog says answer checks are not available right now. Discovery and approvals still work. A check that is not configured does not mean the video was not cited.
Search Console position is not an AI Overview citation.