ARD APIard.de ↗
Access Tagesschau headlines, full articles, breaking news, regional filters, and ARD Mediathek content via 6 structured API endpoints.
What is the ARD API?
The ARD / Tagesschau API provides 6 endpoints covering news retrieval, article search, and media content from Germany's public broadcaster. Use get_article_detail to fetch full article content by Sophora ID, or get_latest_news to pull a paginated news feed filtered by section (ressort) or German state (region_id). All responses return structured JSON with consistent fields like sophoraId, teaserImage, tags, and firstSentence.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/6ed67865-b2e6-415e-8aa7-361eb0f81334/get_homepage_news' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace ard-de-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: ARD/Tagesschau News API — search, filter, drill-down, mediathek."""
from parse_apis.ARD_Tagesschau_News_API import Tagesschau, Ressort, ArticleNotFound
client = Tagesschau()
# Search for articles by keyword, capped at 5 total items.
for article in client.articles.search(query="Wirtschaft", limit=5):
print(article.title, article.date)
# Filter latest news by section using the Ressort enum.
for article in client.articles.latest(ressort=Ressort.AUSLAND, limit=3):
print(article.title, article.topline)
# Drill into the first search result to get the full article content.
summary = client.articles.search(query="Politik", limit=1).first()
if summary:
full_article = summary.details()
print(full_article.title, full_article.ressort)
for block in full_article.content[:2]:
print(block.type, block.value[:80])
# Typed error handling: catch ArticleNotFound for a missing article.
try:
detail = client.articles.get(sophora_id="nonexistent-article-99999")
print(detail.title)
except ArticleNotFound as exc:
print(f"Article not found: {exc.sophora_id}")
# Browse ARD Mediathek featured widgets.
for widget in client.widgets.list(limit=3):
print(widget.title, widget.type)
print("exercised: articles.search / articles.latest / summary.details / articles.get / widgets.list")
Fetches the top/featured news stories and regional news from the Tagesschau homepage. Returns trimmed items with essential metadata including title, date, teaser image, tags, and links. Items are editorially curated and change throughout the day.
No input parameters required.
{
"type": "object",
"fields": {
"news": "array of featured news items",
"type": "string indicating page type",
"regional": "array of regional news items",
"newStoriesCountLink": "string URL to check for new story count"
},
"sample": {
"data": {
"news": [
{
"date": "2026-06-23T23:03:30.593+02:00",
"tags": [
{
"tag": "Eilmeldung"
}
],
"type": "story",
"title": "Zugverkehr wegen Funkstörung bundesweit eingestellt",
"details": "https://www.tagesschau.de/api2u/eilmeldung/eilmeldung-9370.json",
"geotags": [],
"topline": "Top-Thema",
"regionId": 0,
"shareURL": "https://www.tagesschau.de/eilmeldung/eilmeldung-9370.html",
"regionIds": [],
"sophoraId": "eilmeldung-9370",
"detailsweb": "https://www.tagesschau.de/eilmeldung/eilmeldung-9370.html",
"externalId": "b8be7d7e-d680-4470-ae15-b48778d7daea",
"teaserImage": {
"alttext": "Globus auf blauem Hintergrund",
"imageUrl": "https://images.tagesschau.de/image/6f3d133a-64ff-4250-a9b9-fc10d19e64f1/AAABnOCqw30/AAABnSSvmjA/16x9-640.jpg",
"copyright": "ARD-aktuell"
},
"breakingNews": true,
"firstSentence": "Wegen massiven Problemen mit dem Zugfunk hat die Deutsche Bahn den Zugverkehr bundesweit eingestellt."
},
{
"date": "2026-06-23T16:33:54.531+02:00",
"tags": [
{
"tag": "Rente"
}
],
"type": "story",
"title": "Wie sich das Rentenpaket auf alle Generationen auswirkt",
"details": "https://www.tagesschau.de/api2u/inland/innenpolitik/was-die-rentenreform-bedeutet-100.json",
"geotags": [],
"ressort": "inland",
"topline": "Reformpläne der Bundesregierung",
"regionId": 0,
"shareURL": "https://www.tagesschau.de/inland/innenpolitik/was-die-rentenreform-bedeutet-100.html",
"regionIds": [],
"sophoraId": "was-die-rentenreform-bedeutet-100",
"detailsweb": "https://www.tagesschau.de/inland/innenpolitik/was-die-rentenreform-bedeutet-100.html",
"teaserImage": {
"alttext": "Menschen sitzen in Hamburg auf einer Mauer.",
"imageUrl": "https://images.tagesschau.de/image/f8aab6d6-5318-46ee-adf9-e38c0af19aaa/AAABnvSUAD4/AAABnSSvmjA/16x9-640.jpg",
"copyright": "Markus Scholz/dpa"
},
"breakingNews": false,
"firstSentence": "Die Bundesregierung will die Vorschläge der Rentenkommission komplett umsetzen."
}
],
"type": "news",
"regional": [
{
"date": "2026-06-23T22:22:26.000+02:00",
"tags": [
{
"tag": "SWR"
}
],
"type": "story",
"title": "Tanklaster kippt auf A8 um",
"topline": "Baden-Württemberg",
"regionId": 1,
"regionIds": [
1
],
"sophoraId": "swr-tanklaster-100",
"teaserImage": {
"alttext": "Unfall Tanklaster",
"imageUrl": "https://images.tagesschau.de/image/5227eb9a-781e-44f6-af30-2fa1fc3b100f/AAABnvY5y40/AAABnSSvmjA/16x9-640.jpg",
"copyright": "EinsatzReport24"
},
"breakingNews": false
}
],
"newStoriesCountLink": "https://www.tagesschau.de/api2u/newStoriesCount?state=..."
},
"status": "success"
}
}About the ARD API
News Feed and Homepage
get_homepage_news returns the featured stories and regional news currently displayed on the Tagesschau homepage. Each item includes a sophoraId, title, date, teaserImage, topline, firstSentence, tags, and ressort. A newStoriesCountLink URL is also returned so you can poll for updates without re-fetching the full payload. get_latest_news extends this with optional filtering: pass a ressort value (inland, ausland, wirtschaft, or sport) to narrow by section, or pass a numeric region_id to filter by German federal state. Results include a nextPage URL for pagination.
Article Search and Full Content
search_news accepts a required query string and optional page (0-based) and page_size integers. The response echoes back searchText, resultPage, and pageSize alongside totalItemCount and a searchResults array. Each result carries sophoraId, title, date, teaserImage, tags, content, and type. To retrieve a complete article, pass a sophora_id to get_article_detail, which returns the full content array of typed blocks (e.g. type: "text" with HTML value), plus ressort, topline, and firstSentence.
Breaking News and Mediathek
get_breaking_news filters the live news feed for items flagged as breaking. The response is a breaking_news array that may be empty when no breaking stories are active — callers should handle both states. get_mediathek_home fetches the ARD Mediathek homepage and returns a widgets array, each widget containing a title, type, a teasers array of TV shows, documentaries, or livestreams, and pagination metadata for that widget's content.
The ARD API is a managed, monitored endpoint for ard.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ard.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official ard.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a German-language news dashboard filtering Tagesschau content by
ressort(e.g. 'wirtschaft' for business news). - Monitor
get_breaking_newson a polling schedule to trigger alerts when breaking stories are active. - Aggregate regional news by passing German state
region_idvalues toget_latest_news. - Index Tagesschau articles for full-text search by combining
search_newspagination withget_article_detailcontent blocks. - Display curated ARD Mediathek content widgets (shows, documentaries, livestreams) in a third-party media app.
- Track how a topic (e.g. 'Ukraine') is covered over time using
search_newswithtotalItemCountand date fields. - Build a Sophora ID resolver that maps article URLs to structured metadata and full HTML content blocks.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ARD have an official public developer API?+
What does `get_latest_news` return when no filters are applied, and what filters are supported?+
get_latest_news without filters returns both a news array and a regional array alongside a nextPage URL for pagination. When you supply a ressort value — one of inland, ausland, wirtschaft, or sport — or a numeric region_id, the response is narrowed to matching items. Applying filters typically removes the regional array from the response.Can I retrieve audio content or podcast feeds through this API?+
get_mediathek_home, but does not expose ARD Radio or podcast feed data. You can fork this API on Parse and revise it to add an endpoint targeting ARD Audiothek or radio content.How does `get_article_detail` handle the `sophora_id` input?+
china-treffen-trump-xi-100) or a full details API URL. The response content is delivered as an array of typed blocks: each block has a type field (e.g. "text") and a value field containing HTML. Not all article types return every field — some may omit video or image blocks if the original article does not include them.Does the API expose comment counts, author names, or share metrics for articles?+
title, date, tags, topline, firstSentence, ressort, and teaserImage. Author attribution and social engagement metrics are not part of any response. You can fork this API on Parse and revise it to add those fields if the source exposes them on individual article pages.