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.

SDK

We automatically generate type-safe SDKs and support the following programming languages:

Go

Go

Javascript

Javascript

Python

Python

Usage

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');
    }
}
    

Goals

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.

Support

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.

About

You can get more information about me at my website. I am also the developer of Fusio, an open source API management platform, which is also used by this project.

You can also contact me in case you have ideas or questions regarding the project.