The DeutschlandAPI project provides a modern REST API to access public information of germany. We aggregate different public APIs and data sources and provide them in a unified API.
We automatically generate type-safe SDKs and support the following programming languages:
package com.acme.app;
import dev.deutschlandapi.sdk.Client;
public class MyApp {
public static void main(String[] args) throws ClientException {
Client client = Client.buildAnonymous();
// returns all warnings from the modular warning system (MoWaS) i.e. fire, public security, weather, radioactive or nuclear warnings
WarningCollection warnings = client.warning().getAll();
// returns all cities of germany i.e. Berlin, Dortmund, etc.
CityCollection cities = client.city().getAll();
City city = client.city().get(470);
// returns all districts of germany i.e. Herzogtum Lauenburg, Mettmann, etc.
DistrictCollection districts = client.district().getAll();
District district = client.district().get('05111');
// returns all states of germany i.e. Nordrhein-Westfalen, Hamburg, etc.
StateCollection states = client.state().getAll();
State state = client.state().get('05');
// returns all current members of the Bundestag
BundestagMemberCollection members = client.bundestag().member().getAll();
BundestagMember member = client.bundestag().member().get('[id]');
// returns all current members of the Bundesrat
BundesratMemberCollection members = client.bundesrat().member().getAll();
// returns all available autobahns i.e. A1, A2, etc.
AutobahnCollection autobahns = client.autobahn().getAll();
// returns all warnings for a specific autobahn
AutobahnWarningCollection warnings = client.autobahn().warning().getAll('A1');
// returns all available parking lorries for a specific autobahn
AutobahnParkingLorryCollection parkingLorries = client.autobahn().parkingLorry().getAll('A1');
// returns all closures for a specific autobahn
AutobahnClosureCollection closures = client.autobahn().closure().getAll('A1');
// returns all available charing stations for a specific autobahn
AutobahnChargingStationsCollection closures = client.autobahn().chargingStation().getAll('A1');
}
}
Currently public APIs are scattered and return inconsistent formats and data structures, which complicates usage and integration of those APIs.
We try to combine all public APIs and data sources to a single consistent API. Our goal is to provide all important information about germany through a single API.
This is a private and idealistic project to support the digitalization of germany. If you want to support this project, you can support me financially with the following options.