Skip to content

Instantly share code, notes, and snippets.

@Brawl345
Last active April 28, 2023 23:38
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)

VERALTET, BITTE HIER GUCKEN: https://github.com/bundesAPI/tagesschau-api

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.

VERALTET, BITTE HIER GUCKEN: https://github.com/bundesAPI/tagesschau-api

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)
@Brawl345
Copy link
Author

Brawl345 commented Mar 3, 2022

@foxgreek Was meinst du? Ich seh die neuesten News und mein EIlmeldungs-Bot sendet auch noch Eilmeldungen. Tagesschau.de lädt seit ner Stunde ca. aber etwas zäh und ich hatte gerade auch einen "Serivce Unavailable" Fehler. Du musst auch aufpassen, auf /api2 zu gehen, nicht nur /api

Offtopic: Erstaunlich wie der Gist noch aktiv kommentiert wird, hab den seit 2018 nie wirklich aktualisiert und auch nicht vor :/ Vielleicht findet sich jemand der eine Repo mit aktuellen Infos erstellt und alle dran mitmachen lässt?

@foxgreek
Copy link

foxgreek commented Mar 3, 2022

@Brawl345 da hast du schon recht. Der /homepage Endpunkt funktioniert auch noch. Aber der /news Endpunkt hat keine neuen Beiträge mehr seit dem 28.02.
Ich habe jetzt übergangsweise auf den /homepage Endpunkt umgestellt.

@atticus-sullivan
Copy link

Hi,
ich probier auch grad n bissl mit der tagesschau-api rum, aber da es mir auch mehr um Eilmeldungen geht, sind auf https://www.tagesschau.de/api2/ etwas arg viele Nachrichten dabei.

Ich sehe @Brawl345, du hast nen anderen Endpoint/andere API gefunden, die dir nur die Eilmeldungen ausspuckt (https://www.tagesschau.de/ipa/v1/web/headerapp/). Rein interessehalber, wie hast du den/die gefunden? (auf die normale API stößt man ja recht schnell, wenn man allgemein nach Tagesschau API im Internet sucht)
Und kleine weitere Frage (bin kein go Experte), soweit ich das sehe fragst du die API jede Minute einmal an oder? (war mir bisher unsicher bzgl der Zeit, die man warten sollte zwischen den Requests)

@Brawl345
Copy link
Author

Brawl345 commented Apr 12, 2022

@atticus-sullivan: Die API findest du wenn du auf tagesschau.de gehst und alle XHR-Requests in den Browser-Devtools filterst. Wird auch periodisch immer wieder abgefragt, dadurch ist es mir mal ins Auge gestochen. Jup, die API ruf ich jede Minute ab. So viele wie tagesschau.de sicher lesen und wenn da eh im Hintergrund dann immer ein Request gemacht wird sollte das für die kein Problem sein.

EDIT: Du findest hier in dem Issue: Brawl345/tagesschau-eilbot#3 zwei beispiel-JSONs mit und ohne Eilmeldung falls du was zum Testen brauchst.

@atticus-sullivan
Copy link

Ah verstehe 👍 Danke dir

@ml-eds
Copy link

ml-eds commented Apr 5, 2023

@Brawl345
Copy link
Author

Brawl345 commented Apr 5, 2023

Überholt von

http://tagesschau.api.bund.dev

github.com/bundesAPI/tagesschau-api

Cool, hab das Gist mal aktualisiert und den Link eingefügt 👍

@atticus-sullivan
Copy link

Bekomm seit heute auf https://www.tagesschau.de/ipa/v1/web/headerapp/ 404er. Der Endpoint scheint auf https://www.tagesschau.de/json/headerapp umgezogen zu sein

@Brawl345
Copy link
Author

Stimmt, scheint heute um ca. 9:35 Uhr umgestellt worden zu sein da ich ab da 404er bekam. Danke dir!

@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"
  }

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