Skip to content

Instantly share code, notes, and snippets.

@Brawl345
Last active September 3, 2024 06:40
Show Gist options
  • Save Brawl345/d7807f30b2fdcf03333136f1214d6114 to your computer and use it in GitHub Desktop.
Save Brawl345/d7807f30b2fdcf03333136f1214d6114 to your computer and use it in GitHub Desktop.
Tagesschau v2 API Dokumentation (inoffiziell)

Tagesschau v2 API

API-URL: https://www.tagesschau.de/api2

TODO

  • Responses fehlen
  • Nicht alle Parameter dokumentiert (?)
  • Weitere Endpunkte? (/channels)

1. Homepage

Endpunkt: /homepage

1.1 Parameter

N/A (keine bekannt)

Endpunkt liefert von der Tagesschau kuratierte News, die auch auf der Startseite der App zu sehen sind (inkl. Eilmeldungen)

2. News

Endpunkt: /news/

Antwort: RegionalNews

2.1 Parameter

Parameter Wert Bedeutung
N/A Alle Resorts und Länder
regions 1 bis 16 (kombinierbar, durch Komma abgetrennt) Bundesland (s. unten)
ressort inland, ausland, wirtschaft, sport, video Themengebiet

2.1.1 regions

Wert Bundesland Lieferant
1 Baden-Württemberg SWR
2 Bayern BR24
3 Berlin RBB24
4 Brandenburg RBB24
5 Bremen buten un binnen
6 Hamburg NDR
7 Hessen Hessenschau
8 Mecklenburg-Vorpommern NDR
9 Niedersachsen NDR
10 Nordrhein-Westfalen WDR
11 Rheinland-Pfalz SWR
12 Saarland SR
13 Sachsen MDR
14 Sachsen-Anhalt MDR
15 Schleswig-Holstein NDR
16 Thüringen MDR

3. Suche

Endpunkt: /search/

3.1 Parameter

Parameter Wert Bedeutung
searchText str Suchbegriff
resultPage int: totalItemCount / pageSize Seite der Suchergebnisse
pageSize int: 1 bis 30 (empfohlen: 10) Anzahl der Suchergebnisse pro Seite

Ab einer pageSize von 30 wird die Suche instabil und liefert weniger Ergebnisse zurück.

Tagesschau v2 API Elemente

Haupt-Elementnamen (wie "RegionalNews") sind frei erfunden.

TODO

  • Alles

RegionalNews

Beschreibt regionale News

story

Feld Typ Beschreibung
sophoraId String ID des Beitrags; wird auch für URL verwendet (Sophora = CMS)
externalId String
title String Titel des Beitrags
teaserImage Image Teaser-Bild
date String Veröffentlichungszeitpunkt (Datum, Zeit, Zeitzone +00:00 oder +01:00)
tracking Array mit Tracking Array mit Tracking-Daten
tags Array mit Tags Array mit Tags
updateCheckUrl String URL zu JSON mit true/false, ob sich seit dem letzten state etwas geändert hat (TODO)
regionId Integer Regions-ID (siehe 2.1.1)
details String URL zu Beitrags-JSON
detailsweb String URL zum Beitrag im Web (intern)
shareURL String URL zum Beitrag im Web (ohne /ardimport)
geotags Array mit Geotags Array mit Geotags
ressort String Beitrags-Ressort (siehe 2.1)
brandingImage BrandingImage Optional: Anstalt-Branding (bspw. NDR)
type String story

VideoWeb

Bild - eigentlich als Standbild für Videos gedacht.

Feld Typ Beschreibung
imageurl String URL zum Bild

Tag

Feld Typ Beschreibung
tag String Tag

Geotag

Gibt den Ort der News an.

Feld Typ Beschreibung
tag String Ort der News

BrandingImage

Branding-Bild der öffentlichen Anstalt.

Feld Typ Beschreibung
title String Titel des Bildes ("Logo" + Anstalt)
copyright String (c) Text
alttext String Alternativer Text (entspricht title)
type String image
videowebm VideoWeb Link zum Bild
videowebs VideoWeb Link zum Bild (entspricht videowebm)
@atticus-sullivan
Copy link

Und hat jetz bissl gedauert bis ichs mir richtig angeschaut hab, die struktur der breakingNews im headerapp endpoint scheint sich in dem Zuge auch geändert zu haben. Hab dazu das hier als Beispiel "aufgezeichnet":

{
  "breakingNews": [
    {
      "headline": "Bürgermeisterwahl in Berlin: Wegner im 1. Wahlgang gescheitert",
      "text": "Der CDU-Politiker Kai Wegner ist bei der Wahl zum neuen Regierenden Bürgermeister von Berlin im ersten Wahlgang gescheitert. Der 50-Jährige verpasste bei der Abstimmung im Abgeordnetenhaus die erforderliche absolute Mehrheit.",
      "url": "/eilmeldung/eilmeldung-7196.html",
      "date": "Stand: 27.04.2023 12:53 Uhr",
      "id": "54ec4992-8048-4308-b5e4-4541e79dfc2f",
      "linkText": "Eilmeldung"
    }
  ]
}

Konkret ist das Datumsformat ein anderes geworden und die breakingNews sind jetzt eine Liste (soweit zumindest von den Infos die ich verwende, sonst sieht die url glaub noch bissl anders aus)

Altes aufgezeichnetes Formatsbeispiel zum Vergleich
{
  "breakingNews": {
    "headline": "Finnland ist offiziell NATO-Mitglied",
    "text": "Finnland ist offiziell der NATO beigetreten. Der finnische Außenminister Haavisto überreichte die Beitrittsurkunde seines Landes an US-Außenminister Blinken und schloss damit den Aufnahmeprozess ab.\r\n",
    "url": "https://www.tagesschau.de/ausland/europa/finnland-nato-mitglied-101.html",
    "date": "04.04.2023 - 15:13 Uhr",
    "id": "c9668947-9a8a-43c6-8fcd-228c36a068f6",
    "linkText": "Eilmeldung"
  }

@NerdyPiglin123
Copy link

Ich will einen newsticker auf dem Pi pico machen. Hat irgendwer eine Ahnung ob man dafür das Tagesschau API nutzen kann?

@IngwiePhoenix
Copy link

@NerdyPiglin123 Könntest in nem Intervall dir die News aus einigen Kategorien suchen und diese in eine chronologische Liste einpflegen, nach zeit sortieren und dann alles aus einer bestimmten reichweite durchlaufen lassen ($nachrichten[ $nachrichten[-1].zeit - $intervall] ) ... würd ich ma vermuten.

@NerdyPiglin123
Copy link

Ah okay danke

@NerdyPiglin123
Copy link

Weiß jemand wie man in Python die schriftgröße ändert?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment