[B b65.ch](/)

![](https://www.b65.ch/images/efa-cli-transit-navigation-hero.jpg)

On this page

14.09.2024

# Introducing EFA-CLI: A Command-Line Tool for Public Transit Navigation

* * *

I wanted to check bus and train departures without opening a browser or an app. EFA-CLI is an open-source command-line tool I built for that: it talks to EFA (Elektronische Fahrplanauskunft), the public transit data system used across Germany, Austria, and other European countries, and gives you routes and departures straight in your terminal.

It covers transit schedules, stop locations, and route information, all without a browser or a third-party app.

## What it can do

Route planning: enter your departure and destination points and get route options, travel times, and transfers back.

Location queries: search for stops and get real-time data about nearby stations, useful in an unfamiliar area or a large transit network.

Customization: specify a transit authority, a mode of transport, or filter results to match how you actually travel.

## Why I use it

I like doing day-to-day things from the command line, and EFA-CLI means I don't need a separate app just to check a departure time.

The [EFA-CLI](https://github.com/simonjenny/efa-cli) repository on GitHub has installation instructions and documentation.

## Installation

`wget https://github.com/simonjenny/efa-cli/blob/master/builds/efa?raw=true -O efa chmod a+x efa && sudo mv efa /usr/local/bin`

## Use with Docker

`docker run -it simonjenny/efa OPTIONS ARGUMENTS`

See it in action: [integrating efa-cli with the Argos Gnome extension](https://www.b65.ch/efa-cli-integration-with-argos-gnome-extension.html), or check out the graphical alternative, [EVA-PWA](https://www.b65.ch/eva-pwa-a-realtime-public-transit-pwa-for-basel.html). Update: efa-cli v3.0 is a full rewrite in [Go, with an added MCP server](https://www.b65.ch/efa-cli-v3-mcp-server.html), exposing departures, routes and stop info as tools for clients like Claude.

© 2026 Simon Jenny [Blog (Englisch)](/blog/index.html) [Kontakt](/contact.html)

- [**{{title}}**  
  {{excerpt}}](%7B%7Burl%7D%7D)