BYTETOOLS

Tagesschau API

Free German news API with no key: the ARD Tagesschau homepage as structured JSON, with headlines, teaser images in every crop and regional tagging. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Tagesschau API?

Tagesschau, Germany's main public-service news programme, publishes its homepage as structured JSON at an open endpoint with no API key. Each item carries the headline, publication timestamp, teaser image in a full set of crops, topic and region tags, and a link to the full article.

A public broadcaster serving its newsroom output as clean JSON, free and unauthenticated, is rarer than it should be. There is no key, no quota form and no commercial tier — the same feed that drives the Tagesschau apps is simply open, which makes it one of the better sources for anyone building German-language news tooling.

The `teaserImage.imageVariants` object is the detail that saves the most work. Rather than one image URL you get a full matrix of crops and sizes — 1x1, 16x9 and portrait ratios at several widths each — so a responsive layout can pick the right asset with no server-side image processing at all. The other thing to plan for is language: every field value, including the `type` and `ressort` strings you might want to switch on, is German. There is no English edition behind this endpoint.

Quick facts

Base URL
https://www.tagesschau.de/api2u
Authentication
No API key and no registration. The endpoint is catalogued in the German government's open API directory.
Rate limit
No published limit. The homepage updates continuously; polling every few minutes is ample.
Pricing
Free. Content remains copyright ARD — check their terms before republishing text or images.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Tagesschau API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch the current Tagesschau homepage

GET https://www.tagesschau.de/api2u/homepage

curl
curl 'https://www.tagesschau.de/api2u/homepage'
JavaScript (fetch)
const res = await fetch("https://www.tagesschau.de/api2u/homepage");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://www.tagesschau.de/api2u/homepage", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "news": [
    {
      "sophoraId": "geheimes-waffendepot-100",
      "externalId": "a02ca92e-4883-4620-a8da-9a6db02d22ff",
      "title": "Geheimes Waffendepot bei Berlin entdeckt",
      "date": "2026-08-21T10:00:22.026+02:00",
      "teaserImage": {
        "copyright": "dpa",
        "alttext": "Eine Fahne weht vor dem Bundesamt für Verfassungsschutz in Köln.",
        "imageVariants": {
          "1x1-144": "https://images.tagesschau.de/image/ffe2caf5-6448-49d0-bc5a-791ccf27d6e3/AAABoB9WA28/AAABnSStQvU/1x1-144.jpg",
          "1x1-256": "https://images.tagesschau.de/image/ffe2caf5-6448-49d0-bc5a-791ccf27d6e3/AAABoB9WA28/AAABnSStSJ8/1x1-256.jpg",
          "1x1-432": "https://images.tagesschau.de/image/ffe2caf5-6448-49d0-bc5a-791ccf27d6e3/AAABoB9WA28/AAABnSStTkw/1x1-432.jpg",
          "1x1-640": "https://images.tagesschau.de/image/ffe2caf5-6448-49d0-bc5a-791ccf27d6e3/AAABoB9WA28/AAABnSStU_E/1x1-640.jpg",
          "1x1-840": "https://images.tagesschau.de/image/ffe2caf5-6448-49d0-bc5a-791ccf27d6e3/AAABoB9WA28/AAABnSStWZo/1x1-840.jpg",
          "16x9-256": "https://images.tagesschau.de/image/ffe2caf5-6448-49d0-bc5a-791ccf27d6e3/AAABoB9WA28/AAABnSSvh0M/16x9-256.jpg",
          "16x9-384": "https://images.tagesschau.de/image/ffe2caf5-6448-49d0-bc5a-791ccf27d6e3/AAABoB9WA28/AAABnSSvjXw/16x9-384.jpg",
          "16x9-512": "https://images.tagesschau.de/image/ffe2caf5-6448-49d0-bc5a-791ccf27d6e3/AAABoB9WA28/AAABnSSvlIQ/16x9-512.jpg",
          "16x9-640": "https://images.tagesschau.de/image/ffe2caf5-6448-49d0-bc5a-791ccf27d6e3/AAABoB9WA28/AAABnSSvmjA/16x9-640.jpg",

Parameters

ParameterTypeRequiredDescription
(none)n/aOptionalThe homepage endpoint takes no required parameters.
regionsqueryOptionalComma-separated numeric region ids to filter regional coverage, on the sibling `/news` endpoint. 1,2
ressortqueryOptionalSection filter on `/news`, such as `wirtschaft` or `sport`. Values are German. wirtschaft

Response fields

newsarray
Current national stories, newest first.
news[].title / topline / firstSentencestring
Headline, the kicker line above it, and the opening sentence — enough for a card without fetching the article.
news[].datestring
ISO 8601 timestamp with a German timezone offset, not UTC. Normalise before sorting across sources.
news[].teaserImage.imageVariantsobject
Every crop and width of the teaser image, keyed like `16x9-1280`. Pick the ratio and size your layout needs.
news[].details / detailsweb / shareURLstring
API URL for the full article, the web URL, and the canonical share link.
news[].ressortstring
Section the story belongs to, in German — `inland`, `ausland`, `wirtschaft` and so on.
news[].tags / geotagsarray
Topic keywords and geographic tags attached by the newsroom.
news[].breakingNewsboolean
True for stories flagged as breaking.
news[].typestring
Item type — `story`, `video` or `webview` — which determines which other fields are populated.
regionalarray
Regional stories in the same shape as `news`.

What you can build with the Tagesschau API

  • Build a German news dashboard or ticker
  • Feed a German-language NLP or summarisation pipeline with fresh text
  • Track which topics a public broadcaster leads with over time
  • Drive a responsive news card grid using the pre-cut image variants

Common errors and how to fix them

301 redirect

A trailing slash was added to the path.

Fix: Request `/api2u/homepage` without a trailing slash to skip the redirect hop.

Missing fields on some items

`type` varies — video and webview items do not carry the same fields as stories.

Fix: Branch on `type` before reading `content`, `video` or `firstSentence`.

Timestamps sort incorrectly

Dates carry a German offset such as +02:00, not UTC.

Fix: Parse to a real datetime and normalise to UTC before comparing against other sources.

Empty regional array

Regional content is filtered by region id on the `/news` endpoint.

Fix: The homepage carries a general selection. Use `/news?regions=` for a specific Bundesland.

Tagesschau API — frequently asked questions

Is the Tagesschau API free?

Yes, free with no key and no registration, and it is catalogued in the German government's open API directory. The articles and images remain ARD copyright, so republishing is a separate question from access.

Is there an English version?

No. Every field value — headlines, section names, item types — is German. Tagesschau publishes some English content on its website, but not through this endpoint.

How do I pick the right image size?

`teaserImage.imageVariants` gives you every crop and width already rendered, keyed by ratio and pixel width. Choose the key matching your layout instead of resizing anything yourself.

How often does the data change?

Continuously through the day, at the pace of a rolling newsroom. Polling every few minutes keeps you current; anything tighter is wasted.

Tools that pair with this API

Tagesschau is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.