openapi: "3.0.0" info: description: "Bundesnetzagentur Strommarktdaten" version: "0.0.1" title: "Bundesnetzagentur Strommarktdaten" servers: - url: "https://www.smard.de/app/chart_data" paths: /{filter}/{region}/index_{resolution}.json: get: parameters: - $ref: '#/components/parameters/filterParameter' - $ref: '#/components/parameters/regionParameter' - $ref: '#/components/parameters/resolutionParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Indices' example: timestamps: [1627855200000,1628460000000,1629064800000] description: "Verfügbare Timestamps für Filter, Region und Auflösung" summary: "Indizes" /{filter}/{region}/{filterCopy}_{region}_{resolution}_{timestamp}.json: get: parameters: - $ref: '#/components/parameters/filterParameter' - $ref: '#/components/parameters/regionParameter' - $ref: '#/components/parameters/resolutionParameter' - in: path name: timestamp schema: type: integer required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TimeSeries' example: meta_data: {"version": 1, "created": 1627858357549} series: [[1627250400000, 7866.0],[1627254000000, 7881.0]] description: "Zeitreihendaten nach Filter, Region und Auflösung ab Timestamp" summary: "Zeitreihendaten" components: schemas: Indices: type: object properties: timestamps: type: array items: type: integer TimeSeries: type: object properties: meta_data: type: object properties: version: type: integer created: type: integer series: type: array items: type: array items: type: number parameters: resolutionParameter: in: path name: resolution schema: type: string enum: [hour, quarterhour, day, week, month, year] default: hour required: true description: > Auflösung der Daten: * `hour` - Stündlich * `quater_hour` - Viertelstündlich * `day` - Täglich * `week` - Wöchentlich * `month` - Monatlich * `year` - Jährlich filterParameter: in: path name: filter schema: type: integer enum: [1223, 1224, 1225, 1226, 1227, 1228, 4066, 4067, 4068, 4069, 4070, 4071, 410, 4359, 4387] required: true description: > Mögliche Filter: * `1223` - Stromerzeugung: Braunkohle * `1224` - Stromerzeugung: Kernenergie * `1225` - Stromerzeugung: Wind Offshore * `1226` - Stromerzeugung: Wasserkraft * `1227` - Stromerzeugung: Sonstige Konventionelle * `1228` - Stromerzeugung: Sonstige Erneuerbare * `4066` - Stromerzeugung: Biomasse * `4067` - Stromerzeugung: Wind Onshore * `4068` - Stromerzeugung: Photovoltaik * `4069` - Stromerzeugung: Steinkohle * `4070` - Stromerzeugung: Pumpspeicher * `4071` - Stromerzeugung: Erdgas * `410` - Stromverbrauch: Gesamt (Netzlast) * `4359` - Stromverbrauch: Residuallast * `4387` - Stromverbrauch: Pumpspeicher filterCopyParameter: in: path name: filterCopy schema: type: integer enum: [1223, 1224, 1225, 1226, 1227, 1228, 4066, 4067, 4068, 4069, 4070, 4071, 410, 4359, 4387] required: true description: > Muss dem Wert von "filter". (Kaputtes API-Design) regionParameter: in: path name: region schema: type: string enum: [DE, AT, LU, DE-LU, DE-AT-LU, 50Hertz, Amprion, TenneT, TransnetBW, APG, Creos] default: DE required: true description: > Land / Regelzone / Marktgebiet: * `DE` - Land: Deutschland * `AT` - Land: Österreich * `LU` - Land: Luxemburg * `DE-LU` - Marktgebiet: DE/LU (ab 01.10.2018) * `DE-AT-LU` - Marktgebiet: DE/AT/LU (bis 30.09.2018) * `50Hertz` - Regelzone (DE): 50Hertz * `Amprion`- Regelzone (DE): Amprion * `TenneT` - Regelzone (DE): TenneT * `TransnetBW` - Regelzone (DE): TransnetBW * `APG` - Regelzone (AT): APG * `Creos` - Regelzone (LU): Creos