FAQ & support
Technical questions about using the API. For business questions (subscriptions, entitlements), contact your YouGov representative.
Getting started
Why are my percentages higher than I expected?
Check the scoring population.
aware and opinion shrink the base, which raises the percentage compared with
total.
Why is my most recent data point provisional?
If a result's last_period_is_complete is false, the final bucket is still in
progress (e.g. the current month). Treat that point as provisional until the
period completes.
Which metric should I use?
See the metrics glossary, and use the question-texts endpoint to confirm the exact survey wording in your market.
Analyses
Why are there separate "analyses" and "rankings" endpoints?
The underlying data is structured so that regular analyses and rankings are quite different, so they have historically used separate endpoints. The UI merges them under "Analyses" to streamline the experience, but the API keeps them apart. See Rankings overview.
Why can't I export an analysis by UUID?
Exporting needs more than the analysis itself — for example, whether the export should follow the moving average or replace it with single-day scores. So there is no export-by-UUID: fetch the analysis definition by UUID, then build a request to the export endpoint from that definition.
Filters
Can I mix different filter types in one query?
Yes. filters is a list where each item can be any of the filter types in the
schema — mix them freely.
How do filters combine?
The list is combined with AND (a respondent must match every filter); values within a single filter are combined with OR (match any one value). See Filters.
How do I build a FilterExpression?
Filter expressions use a Python-like syntax and are fiddly to write — avoid
them where you can; they exist for UI parity and legacy reasons. It is the same
syntax BrandIndex generates for composite filters. To experiment, use the
Filter Builder in the UI and tick "Show Expression" on a response to see
the expression it produces. An invalid expression returns HTTP 400.
Taxonomies
Can a custom sector be made of sectors instead of brands?
No — custom sectors are composed of brands only. Create them in the UI with the Custom Sector Builder. See Custom sectors & industries.
Data permissions & access
Can I create or edit saved analyses via the API?
The public API is read-and-execute for saved resources. Create and edit definitions in the BrandIndex application, then execute them by UUID.
Can I use a Market Scanner subscription in the API?
Yes, with the same limitations as the UI:
-
No Profiles filters may be used with a Market Scanner brand or sector.
-
Restricted date ranges — only these offset periods are allowed:
Range Period definition Last full month { "type": "month", "offset": 1, "amount": 1 }Last full 3 months { "type": "month", "offset": 3, "amount": 3 }Last full 13 months { "type": "month", "offset": 13, "amount": 13 } -
Data is only available through the last day of the previous month.
Troubleshooting
When a request fails, gather the following before escalating — the API developers use them to investigate:
- The URL of the request.
- The HTTP method and, for
POST, the request body. - The HTTP response status code (a first indication of the problem).
- The HTTP response body (contains a fuller explanation).
If you cannot resolve it, contact your YouGov Client Services representative with that information.
Rate limits
I'm getting 429 responses.
You have hit the rolling-window limit (10.0 MiB of data or 200 requests per 60 seconds). The error message says which. Space calls ~1 minute apart, or slice large calls into smaller ones. See Limits & quotas.
My request is rejected as "too much data" (400).
Your days × metrics × brands cost exceeded the per-request ceiling. Reduce the
period, metrics, or brands — remember index counts as six metrics and
"all brands" entities expand to many brands.