Eurostat SDMX 2.1 Data queries API

The SDMX 2.1 Data queries API from Eurostat — 1 operation(s) for sdmx 2.1 data queries.

OpenAPI Specification

eurostat-sdmx-2-1-data-queries-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '1.0'
  title: Eurostat SDMX RESTful Async SDMX 2.1 Data queries API
  description: 'Listing of supported SDMX requests based on

    * [official sdmx-rest 2.1 specifications](https://github.com/sdmx-twg/sdmx-rest/tree/v1.5.0/v2_1/ws/rest/docs)

    * [official sdmx-rest 3.0 specifications](https://github.com/sdmx-twg/sdmx-rest/tree/v2.0.0/doc)


    For additional information, please consult the [online-help](https://ec.europa.eu/eurostat/web/user-guides/data-browser).

    '
  contact:
    name: Contact Eurostat user support
    url: https://ec.europa.eu/eurostat/help/support
servers:
- description: Eurostat
  url: https://ec.europa.eu/eurostat/api/dissemination
- description: Eurostat - Comext datasets
  url: https://ec.europa.eu/eurostat/api/comext/dissemination
tags:
- name: SDMX 2.1 Data queries
paths:
  /sdmx/2.1/data/{flow}/{key}:
    get:
      summary: Get data
      tags:
      - SDMX 2.1 Data queries
      parameters:
      - $ref: '#/components/parameters/flow'
      - $ref: '#/components/parameters/key'
      - $ref: '#/components/parameters/startPeriod'
      - $ref: '#/components/parameters/endPeriod'
      - $ref: '#/components/parameters/firstNObservations'
      - $ref: '#/components/parameters/lastNObservations'
      - $ref: '#/components/parameters/dimensionAtObservation'
      - $ref: '#/components/parameters/detail'
      - $ref: '#/components/parameters/accept-encoding'
      - $ref: '#/components/parameters/accept-language'
      responses:
        '200':
          $ref: '#/components/responses/200'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '413':
          $ref: '#/components/responses/413'
        '414':
          $ref: '#/components/responses/414'
        '500':
          $ref: '#/components/responses/500'
        '501':
          $ref: '#/components/responses/501'
        '503':
          $ref: '#/components/responses/503'
components:
  responses:
    '503':
      description: Service unavailable
    '501':
      description: Not implemented
    '414':
      description: URI too long
    '403':
      description: Forbidden
    '200':
      description: OK
      content:
        application/vnd.sdmx.genericdata+xml;version=2.1:
          schema:
            type: string
        application/vnd.sdmx.structurespecificdata+xml;version=2.1:
          schema:
            type: string
        application/vnd.sdmx.generictimeseriesdata+xml;version=2.1:
          schema:
            type: string
        application/vnd.sdmx.structurespecifictimeseriesdata+xml;version=2.1:
          schema:
            type: string
        application/vnd.sdmx.data+csv;version=1.0.0:
          schema:
            type: string
    '500':
      description: Internal server error
    '400':
      description: Bad syntax
    '404':
      description: Not found
    '401':
      description: Unauthorized
    '304':
      description: No changes
    '413':
      description: Request entity too large
    '406':
      description: Not acceptable
  parameters:
    accept-language:
      in: header
      name: Accept-Language
      description: 'Specifies the client''s preferred language.

        '
      schema:
        type: string
    dimensionAtObservation:
      in: query
      name: dimensionAtObservation
      description: 'Indicates **how the data should be packaged**.


        The options are:


        * `TIME_PERIOD`: A timeseries view

        * The ID of any other dimension: A cross-sectional view of the data

        * `AllDimensions`: A flat view of the data.

        '
      required: false
      schema:
        type: string
        pattern: ^[A-Za-z][A-Za-z\d_-]*$
        default: TIME_PERIOD
    flow:
      in: path
      name: flow
      description: 'The **statistical domain** (aka dataflow) of the data to be returned.


        Examples:


        * `EXR`: The ID of the domain

        * `ECB,EXR`: The EXR domain, maintained by the ECB

        * `ECB,EXR,1.0`: Version 1.0 of the EXR domain, maintained by the ECB

        '
      required: true
      schema:
        type: string
        pattern: ^([a-zA-Z][a-zA-Z\d_-]*(\.[a-zA-Z][a-zA-Z\d_-]*)*,)?[a-zA-Z\d_@$-]+(,(latest|(\d+(\.\d+)*)))?$
    firstNObservations:
      in: query
      name: firstNObservations
      description: 'The maximum number of observations to be returned starting from the oldest one

        '
      required: false
      schema:
        type: integer
        minimum: 1
    key:
      in: path
      name: key
      description: "The (possibly partial) **key identifying the data to be returned**.\n\nThe keyword `all` can be used to indicate that all data belonging to the specified dataflow and provided by the specified provider must be returned.\n\nThe examples below are based on the following key: Frequency, Country, Component of inflation, Unit of measure.\n * `M.DE.000000.ANR`: Full key, matching exactly one series, i.e. the monthly (`M`) rates of change (`ANR`) of overall inflation (`000000`) in Germany (`DE`).\n * `A+M.DE.000000.ANR`: Retrieves both annual and monthly data (`A+M`), matching exactly two series\n * `A+M..000000.ANR`: The second dimension is wildcarded, and it wil therefore match the annual and monthly rates of change of overall inflation in any country.\n"
      required: true
      schema:
        type: string
        pattern: ^([\.A-Za-z\d_@$-]+(\+[A-Za-z\d_@$-]+)*)*$
    lastNObservations:
      in: query
      name: lastNObservations
      description: 'The maximum number of observations to be returned starting from the most recent one

        '
      required: false
      schema:
        type: integer
        minimum: 1
    endPeriod:
      in: query
      name: endPeriod
      description: 'The end of the period for which results should be supplied (inclusive).


        Can be expressed using 8601 dates or SDMX reporting periods.


        Examples:

        * `2000`: Year (ISO 8601)

        * `2000-01`: Month (ISO 8601)

        * `2000-01-01`: Date (ISO 8601)

        * `2000-S1`: Semester (SDMX)

        * `2000-D001`: Day (SDMX)

        '
      required: false
      schema:
        type: string
        pattern: ^\d{4}-?((\d{2}(-\d{2})?)|A1|S[1|2]|Q[1-4]|T[1-3]|M(0[1-9]|1[0-2])|W(0[1-9]|[1-4][0-9]|5[0-3])|D(0[0-9][1-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6]))?$
    accept-encoding:
      in: header
      name: Accept-Encoding
      description: 'Specifies whether the response should be compressed and how.


        `identity` (the default) indicates that no compression will be performed.

        '
      schema:
        type: string
        enum:
        - gzip
        default: identity
    startPeriod:
      in: query
      name: startPeriod
      description: 'The start of the period for which results should be supplied (inclusive).


        Can be expressed using 8601 dates or SDMX reporting periods.


        Examples:

        * `2000`: Year (ISO 8601)

        * `2000-01`: Month (ISO 8601)

        * `2000-01-01`: Date (ISO 8601)

        * `2000-Q1`: Quarter (SDMX)

        * `2000-W01`: Week (SDMX)

        '
      required: false
      schema:
        type: string
        pattern: ^\d{4}-?((\d{2}(-\d{2})?)|A1|S[1|2]|Q[1-4]|T[1-3]|M(0[1-9]|1[0-2])|W(0[1-9]|[1-4][0-9]|5[0-3])|D(0[0-9][1-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6]))?$
    detail:
      in: query
      name: detail
      description: 'The **amount of information** to be returned.


        Possible options are:


        * `full`: All data and documentation

        * `dataonly`: Everything except attributes

        * `serieskeysonly`: The series keys. This is useful to return the series that match a certain query, without returning the actual data (e.g. overview page)

        * `nodata`: The series, including attributes and annotations, without observations.

        '
      required: false
      schema:
        type: string
        enum:
        - full
        - dataonly
        - serieskeysonly
        - nodata
        default: full