More granular notifications, more features to help Review of QC Items.

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 follows the EBU QC data model and catalogue-API XML Schemas tagged 2026-04 in github.com/ebu/qc. Until its release is announced, it may still change.

What it serves. Only the published and withdrawn versions made under the 2026-04 data model. Legacy versions (pre-2026-04) stay in API v1 and v2, and 2026-04 versions never appear there. API v3 therefore fills up as Items are republished: an Item that has not been republished yet is not in v3. The Versions list of an Item also only shows its 2026-04 versions. An Item whose only 2026-04 version is withdrawn can still be retrieved.

Calls. The paths are the same as in v2:

  • /api/v3/items: all Items, with the latest published or withdrawn version of each
  • /api/v3/items/<EBUQCID>: one Item
  • /api/v3/items/<EBUQCID>/versions/<MAJOR>.<MINOR>: one version of an Item

Format. XML only, like v2: a request for JSON or CSV gets 406 Not Acceptable. The namespaces are tag:qc.ebu.ch,2026-04 and tag:catalogue.qc.ebu.ch,2026-04.

Differences from v2:

  • A CheckResultDefinition on the Item.
  • Four flags on each Input and Output, HasLocatorTemporal, HasLocatorSpatial, HasTrack and HasWrapperLocation, instead of the single HasLocator.
  • No Group element: an Input or Output with children is still an Input or Output, with the children nested inside.
  • No xsi:nil, and no empty elements: an optional element without a value (for example a Unit, ValueRange or Remarks) is left out. Placeholder values such as "N/A" or "-" count as no value.
  • An Input or Output without a Type has no DefaultValue, ValueRange, Unit, Representation or Aliases.
  • An Item ID contains only letters, digits and "-".

Unlike v1 and v2, API v3 does not accept a trailing slash: /api/v3/items/ returns 404. Calls count toward the same fair use limits as the other versions. The 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.

Last updated 17 October 2026, 09:53 (UTC) · applies to v4.137.0