API
A public API is available for querying all published QC Test definitions, including links to the famous 'Card' images.
The official documentation for this API is available from: github.com/ebu/qc (public).
Documentation
The API definition is only one part of the available documentation. The github.com/ebu/qc repo also contains:
- The QC Data Model
- XML Schemas for both the API and the Data Model specifications
- Older versions of the above specifications.
API versions
v2
Since v4.68.0 API v2 functionality is available on qc.ebu.io (this uses the '2026-01' tagged XSD).
Automatically generated Swagger documentation for the qc.ebu.io/api/v2 implementation is at: qc.ebu.io/swagger-ui/
qc.ebu.io also provides a built-in API v2 validator.
v3
API v3 is being prepared at /api/v3/. It serves only the published and withdrawn Items made under the EBU QC data model 2026-04 (XML only), so it fills up as Items are republished. Until its release is announced, it may still change. Like v3-beta, it does not accept a trailing slash. Its output is checked by its own validator.
v3-beta
An experimental API v3 is available at /api/v3-beta/. It is a preview: it is not part of the official API, it is not documented here, and it may change or disappear without notice. Do not build on it. Unlike v1 and v2, it does not accept a trailing slash. Its output is checked by a separate validator.
V1
API version 1 is also still supported on qc.ebu.io.
Note that a trailing slash in API calls has been supported, but is not spec-conform. Since v4.107.2 for both APIs (v1 and v2) qc.ebu.io still reply to calls with a trailing slash, but respond with a HTTP 301 to make the caller aware of the correct API call format.
Example API v2 calls
https://qc.ebu.io/api/v2/items returns all published (and any withdrawn) Test Items, including detailed information for the latest published/deprecated one!
https://qc.ebu.io/api/v2/items/0001F returns a specific Test Item
https://qc.ebu.io/api/v2/items/0001F/versions/2.0 returns a specific version of a Test Item
Response formats
API v2 returns XML only, as defined by the catalogue-API XML Schema in github.com/ebu/qc.
API v2 does not return JSON or CSV. A request for either (for example Accept: application/json or Accept: text/csv) is answered with 406 Not Acceptable. If you need JSON or CSV, use the non-official API v1 flag described below (?output-format=json or ?output-format=csv). The Export (CSV) button on the Items list uses that same API v1 flag.
API v2 has no path parameter: it lists QC Items, not Test Materials. Use the Test materials pages to browse folders such as plugfest material.
Fair use (rate limiting)
The API calls are limited in time & amount.
Requests also can be cached, so you may get a 429 if you already got the latest information. See the API documentation for more details.
Additional (non-standardised) functionality
See this swagger documentation: https://qc.ebu.io/management-api/swagger-ui/ for additional API functionality that is NOT part of the official API v2 implementation.
These extra functions are provided on qc.ebu.io on a best-effort basis. They are especially meant to help with the management (types, units, etc.) of the QC Items.
API v1 extension
Since 01 June 2023, a non-official flag has been available for API v1. This flag allows the export of all Items in CSV or JSON:
https://qc.ebu.io/api/v1/items?output-format=csv https://qc.ebu.io/api/v1/items?output-format=json
If you specify an unrecognized output-format, XML will be used as the default.
If you use an unrecognized query format (e.g. misspelled 'outputformat'), you will get an empty result.
Feedback
To report any issues with or make suggestions for the data model or API use the issues tracker at: github.com/ebu/qc/issues
For any problems with or suggestions for this qc.ebu.io implementation, contact the EBU Technology & Innovation department at tech@ebu.ch.