bund.dev

Germany's officialΒ only government API Portal - est. 2021

Hey, I'm Lilith, I hack fancy apps and build boring infrastructure.

I am leading bund.dev.

A federal API portal which currently provides documentations and API bindings for over 50 APIs provided by the German government.

An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software.

I am providing a public service.

And I support Germany in complying with european law.

In 2019…

The PSI-Directive defines the concept of β€œHigh Value Dataset”, which includes information from different thematic topics and is expected to play an important role for the society and economy that have to be published completely freely and through the Application Programming InterfacesΒ (APIs) in every member state. The availability of APIs stimulates the reuse, dissemination of dynamic data and increases business opportunities. Access to real-time and dynamic data is strongly promoted by the PSI directive, and once the directive will be fully transposed, member states have to publish dynamic open government data through APIs.

The thematic categories of high-value datasets, as referred to in Article 13(1) of the Directive, are:

2021

[S-0]

Data Type 2016 2021
geospatial πŸ’©πŸ‘©β€πŸ’» Β πŸ’©πŸ’©πŸ‘©β€πŸ’»πŸ‘¨β€βš–οΈ
earth observation and environmentΒ  πŸ’© πŸ’©
meteorological πŸ’©πŸ‘©β€πŸ’» πŸ’©πŸ‘©β€πŸ’»
statistics 🟠 🟠
companies and company ownership πŸ’©πŸ‘©β€πŸ’» πŸ’©πŸ‘©β€πŸ’»
mobility πŸ’©πŸ‘©β€πŸ’» πŸ’©πŸ‘©β€πŸ’»πŸ‘©β€πŸ’»

How did we get there?

Andi Scheuer, former Federal Minister for Transport and Digital Infrastructure

Doro BΓ€r, former State Minister for Digitization at the Federal Chancellery

API πŸŽ‰

App

Server

a few hours later…

Why dosen't the government do that?

Fancy Apps vs. boring infrastructure.

it's better to ask forgiveness than permission

bund.de

bund.dev

βœ… a few documented APIs

βœ… a twitter account

βœ… a github account to publish code and documentation

βœ… a goverment-style landing page with really bad stock photos

❌ symbols which imply that you are an official government institution.

one weekend later…

Over the last 2 years…

… we documented >50 APIS

… we grew to more than 100 contributors

… we started to build API monitoring solutionsΒ and api-bindings

… we weren't sued (yet)

resource "github_repository" "bundestag_api_bund_dev_gh" {
  name         = "bundestag-api"
  description  = "bundestag app api"
  visibility   = "public"
  has_issues   = true
  homepage_url = "https://bundestag.api.bund.dev"

  template {
    owner      = "bundesAPI"
    repository = "api-doc-template"
  }

  pages {
    source {
      branch = "main"
      path   = "/"
    }

    cname = "bundestag.api.bund.dev"
  }
}

module "bundestag_api_proxy" {
  source                = "./modules/api_proxy"
  bund_dev_cors_domains = ["https://bundestag.api.bund.dev"]
  bund_dev_domain       = "bundestag.api.proxy.bund.dev"
  name                  = "bundestag-api-proxy"
  target_domain         = "https://www.bundestag.de"
}

resource "aws_route53_record" "bundestag_api_bund_dev" {
  zone_id = data.aws_route53_zone.bund_dev.zone_id
  name    = "bundestag.api"
  type    = "CNAME"
  ttl     = "5"
  records = ["bundesapi.github.io"]
}
openapi: "3.0.0"
info:
  description: "Bundestag Informationen API "
  version: "1.0.0"
  title: "Bundestag: Live Informationen"

servers:
  - url: "https://www.bundestag.de/"

paths:
  /static/appdata/plenum/v2/speaker.xml:
    get:
      summary: "Aktuelle Sprecher*in"
      responses:
        '200':
            description: OK
            content:
              application/xml:
                schema:
                  type: string

federal agency for work

- rebuilt/renamed all their API endpoints

- protected some of their API endpoints with captchas

- they couldn't give us any (legal) reason why we shouldn't use their API

Data Type 2016 2021 2021 EoY
geospatial πŸ’©πŸ‘©β€πŸ’» Β πŸ’©πŸ’©πŸ‘©β€πŸ’» Β πŸ’©πŸ’©πŸ‘©β€πŸ’»πŸ‘¨β€βš–οΈπŸ“•
earth observation and environmentΒ  πŸ’© πŸ’© πŸŸ πŸ“•
meteorological πŸ’©πŸ‘©β€πŸ’» πŸ’©πŸ‘©β€πŸ’» πŸ’©πŸ‘©β€πŸ’»πŸ“•
statistics 🟠 🟠 πŸŸ β€‹πŸ“•
companies and company ownership Β πŸ’©πŸ‘©β€πŸ’» πŸ’©πŸ‘©β€πŸ’» πŸ’©πŸ‘©β€πŸ’»πŸ“•
mobility πŸ’©πŸ‘©β€πŸ’» πŸ’©πŸ‘©β€πŸ’»πŸ‘©β€πŸ’» β€‹πŸ’©πŸ‘©β€πŸ’»πŸ‘©β€πŸ’»πŸ“•

We implemented the PSI directive.

Not in the way it was intended… but…

We showed what's possible.

Doing what's necessary.

We need laws that actually obliges the government to provide open data.

We need to enable the public sector to be able to provide great APIs.

APIs are only the first step. We want open software. Linked open data, …

Thank you!

@LilithWittann

mail@lilithwittmann.de

Open Data in Germany on a federal level

– a bit of history

We want all data created by the government to be open and available to everyone. Without restrictions.

> 15 years ago

[S-5]

What we wanted…

We want the data to be structured and datasets linked with each other. We want linked open data.

> 10 years ago

[S-5]

What we wanted…

What we wanted…

Linked Open Data

[S-3][S-2]

covid numbers by city

geographic shapes

Berlin;250

Hamburg;400

…

122

;122

<

What we got… (8 years ago)

[S-4]

πŸ›‘

🐌

What we got…

CSV

[S-6][S-7]

public domain.

Data licence Germany – attribution – version 2.0

Β 

What we got…

What we wanted…

Licensing

We want allsome data created by the government to be open and available to everyone. Without restrictions.

What we got…

We want thesome data to be structured and datasets linked with each other. We want linked open data.

What we got…

And the civic tech community…

2 years later…

23.7.2021 (2 years and one month later)

A Datennutzungsgesetz appears.

Act governing the use of public sector data

And the civic tech community…

but only for 30seconds.

Data falling within the scope of this Act shall, as far as possible, be produced in accordance with the principle of β€˜open by design and by default’.

– Section 1 (1)

This Act does not create an obligation to provide data or a right to access data

– Section 1 (2)

Copy of bund.dev Implementing the PSI Directive in πŸ‡©πŸ‡ͺ – the civic tech way πŸ˜‰

By lilith

Copy of bund.dev Implementing the PSI Directive in πŸ‡©πŸ‡ͺ – the civic tech way πŸ˜‰

  • 129