10 Nachrichten API Filter-Muster, die Sie kennen sollten (2026)

Erick Horn

Erick Horn

·

26 minuten Lesen

10 Nachrichten API Filter-Muster, die Sie kennen sollten (2026)

10 Nachrichten API Filter-Muster, die jeder Entwickler kennen sollte (2026)

Nachrichten API-Filterung kombiniert Abfrageparameter – Titelsuche, Daten, Quellen, Entitäten, Sentiment, Kategorien –, um einen Nachrichtenfeed von Millionen von Artikeln auf die einzugrenzenden, die Ihre App benötigt. Ein moderner Nachrichten-API klassifiziert jeden Artikel nach Dimensionen, nach denen Sie direkt filtern können (Entität, Sentiment, Kategorie, Herkunftsland), sodass eine Anfrage eine ganze NLP-Pipeline ersetzt. Die meisten Anbieterdokumentationen listen Parameter auf, zeigen aber nie, wie eine echte kombinierte Abfrage aussieht, was zurückkommt oder wo die Fallstricke liegen.

Dieser Beitrag richtet sich an Entwickler, die eine Nachrichten-API integrieren und Copy-Paste-Beispiele wünschen, die funktionieren. Jedes der folgenden Muster verwendet den APITube-Endpunkt von /v1/news/everything, mit übergreifenden API-Übersetzungszeilen, wo die Syntax in NewsAPI.org oder NewsData.io abweicht. Jedes Muster enthält Curl, einen Python-Snippet, eine gekürzte JSON-Antwort und den Stolperstein, der Ihren ersten Tag verschwendet.

Offenlegung: Ich arbeite bei APITube. Die Muster lassen sich sauber auf andere wichtige Nachrichten-APIs übertragen – Übersetzungszeilen sind enthalten, wo die Syntax abweicht.

10 Muster im Überblick

  1. Suche nach Titel-Schlüsselwörtern und exakten Phrasen (title, "...", ~N)
  2. Ausschließen von Begriffen und Abgleichen nach Position (ignore.title, title_starts_with, title_ends_with)
  3. Datumsbereichsfilter (published_at.start, published_at.end)
  4. Sprach- + Quelllandfilter (language.code, source.country.code)
  5. Quell-Domain einschließen / ausschließen (source.domain, ignore.source.domain)
  6. Entitätsfilter (entity.id)
  7. Sentiment-Polaritätsfilter (sentiment.body.polarity)
  8. Kategorie + Branchenfilter (category.id, industry.id)
  9. Zusammengesetzte Abfrage (Entität + Stimmung + Datum + Sprache + Herkunftsland)
  10. Paginierung + Sortierung (per_page, page, sort.by, sort.order)

Alle Beispiele gehen von export APITUBE_KEY=... und der Basis-URL https://api.apitube.io aus. Authentifizieren Sie sich mit dem X-API-Key-Header (oder einem api_key-Query-Parameter).

1. Stichwort- & Exakt-Phrasen-Titelsuche

APITube durchsucht den Artikel title. Verwenden Sie einfache Wörter für lose Übereinstimmung oder setzen Sie einen Satz in Anführungszeichen für eine genaue, in-order Übereinstimmung. Die Schlüsselwortsuche erweitert Synonyme und morphologische Formen; zitierte Sätze nicht.

curl -sS 'https://api.apitube.io/v1/news/everything?title="apple vision pro"&per_page=10' \
  -H "X-API-Key: $APITUBE_KEY"
import requests, os
r = requests.get(
    "https://api.apitube.io/v1/news/everything",
    params={"title": '"apple vision pro"', "per_page": 10},
    headers={"X-API-Key": os.environ["APITUBE_KEY"]},
)
print(r.json()["results"][0]["title"])

JSON-Antwort (Auszug):

{
  "status": "ok",
  "results": [
    {"id": "a1b2", "title": "Apple Vision Pro sales beat estimates", "href": "https://...", "published_at": "2026-05-02T14:11:00Z", "source": {"domain": "reuters.com"}}
  ],
  "has_next_pages": true
}

Drei Abgleichmodi:

  • Schlüsselwort – title=bitcoin oder title=AI,innovation (komma-getrennte Begriffe, beliebige Reihenfolge, mit Synonym-/Morphologie-Erweiterung).
  • Phrase – title="breaking news" (exakte Phrase, keine Erweiterung).
  • Nähe – title="apple iphone"~5 (Wörter innerhalb von N Tokens voneinander, N = 0–10).

Haken: APITube gleicht gegen den Titel ab, nicht gegen den vollständigen Body — es gibt keinen body Suchparameter. Der Titel ist das stärkste Relevanzsignal, also ist dies beabsichtigt, aber ein Schlüsselwort, das nur im Artikel-Body vergraben ist, wird nicht übereinstimmen. Der vollständige body wird in jedem Ergebnis zurückgegeben, also filtern Sie dort nachträglich, wenn Sie eine Abgleichung auf Body-Ebene benötigen. Leerzeichen innerhalb einer zitierten Phrase erfordern immer noch eine URL-Kodierung (%20 oder +).

Über-API: NewsAPI.org nutzt ein einzelnes q Feld, das Titel + Text durchsucht. APITube filtert speziell auf title und zeigt die klassifizierten Dimensionen unten (Entität, Sentiment, Kategorie), sodass Sie selten eine Rohtext-Suche benötigen.

2. Ausschließende Begriffe und Abgleich nach Position

Titel-Suche ohne Boolesche Operatoren eingrenzen: Begriffe mit ignore.title ausschließen und Übereinstimmungen mit title_starts_with / title_ends_with / title_pattern verankern. APITube parst AND/OR/NOT nicht innerhalb eines Wertes – diese Wörter werden als normale Tokens behandelt – daher ist der Ausschluss ein eigener Parameter.

curl -sS 'https://api.apitube.io/v1/news/everything?title=tesla&ignore.title=rumor&title_starts_with=Breaking' \
  -H "X-API-Key: $APITUBE_KEY"
params = {"title": "tesla", "ignore.title": "rumor", "title_starts_with": "Breaking", "per_page": 20}
r = requests.get(API, params=params, headers=HEADERS)

JSON-Antwort (Auszug):

{"results": [{"title": "Breaking: Tesla Q1 earnings beat estimates", "sentiment": {"body": {"polarity": "positive"}}}], "has_next_pages": true}

Haken: Versuchen Sie nicht, title=(tesla OR rivian) AND earnings NOT rumor zu schreiben — es gibt keine boolesche Abfragesprache. OR, AND, NOT würden als wörtliche Wörter durchsucht. Verwenden Sie durch Kommas getrennte Begriffe für OR-ähnliche Breite (title=tesla,rivian), ignore.title für den Ausschluss und führen Sie separate Aufrufe durch, wenn Sie AND-Logik zwischen Begriffen benötigen.

Kross-API: NewsAPI.org unterstützt AND/OR/NOT innerhalb von q. NewsData.io verwendet kommagetrennte q_or und ein separates Ausschlussfeld. APITube behält Inklusion und Ausschluss als separate Parameter.

3. Datumsbereichsfilter

Artikel auf ein veröffentlichtes Fenster beschränken mit published_at.start und published_at.end. Beide akzeptieren ISO 8601 Zeitstempel.

curl -sS 'https://api.apitube.io/v1/news/everything?published_at.start=2026-04-01T00:00:00Z&published_at.end=2026-04-30T23:59:59Z&language.code=en' \
  -H "X-API-Key: $APITUBE_KEY"
params = {
    "published_at.start": "2026-04-01T00:00:00Z",
    "published_at.end": "2026-04-30T23:59:59Z",
    "language.code": "en",
}

JSON-Auszug:

{"results": [{"published_at": "2026-04-15T08:42:00Z", "title": "..."}], "has_next_pages": true}

Haken: reine Daten wie 2026-04-01 funktionieren, aber API behandelt sie als Mitternacht UTC. Wenn Sie eine bestimmte Zeitzone benötigen, fügen Sie sie explizit hinzu. APITube akzeptiert auch Solr-ähnliche relative Daten (NOW-7DAYS, NOW-1MONTH/DAY). Lokal formatierte Zeichenketten wie 04/01/2026 sind ungültig und geben stillschweigend null Ergebnisse zurück.

4. Sprach- + Quellland-Filter

Filtern nach Artikel-Sprache und Quellland unabhängig voneinander. Sprache verwendet ISO 639-1-Codes; Land verwendet ISO 3166-1 Alpha-2 (genau zwei Zeichen).

curl -sS 'https://api.apitube.io/v1/news/everything?language.code=de&source.country.code=de&title=KI' \
  -H "X-API-Key: $APITUBE_KEY"
params = {"language.code": "de", "source.country.code": "de", "title": "KI"}

Haken: Der Parameter ist source.country.code, nicht country.code — und er filtert nach dem Land des Herausgebers, nicht danach, worum es in der Geschichte geht. Ein deutsches Outlet, das über Brasilien schreibt, hat immer noch source.country.code=de. Um nach dem Speicherort der Geschichte zu filtern, verwenden Sie die Standortparameter (location.name) oder eine entity.id für das Land.

5. Quell-Domain einschließen / ausschließen

Auf bestimmte Ausgaben mit source.domain beschränken; Ausgaben mit ignore.source.domain ausschließen. Beide nehmen exakte Domainnamen (aufgelöst gegen das Quellverzeichnis von APITube) und akzeptieren bis zu drei durch Kommas getrennte Werte.

curl -sS 'https://api.apitube.io/v1/news/everything?source.domain=reuters.com&title=fed' \
  -H "X-API-Key: $APITUBE_KEY"

Um Ausgabestellen auszuschließen, verwenden Sie den dedizierten Ignorierparameter:

curl -sS 'https://api.apitube.io/v1/news/everything?title=crypto&ignore.source.domain=coindesk.com,cointelegraph.com' \
  -H "X-API-Key: $APITUBE_KEY"

JSON-Auszug:

{"results": [{"source": {"domain": "reuters.com", "location": {"country_code": "us"}}}]}

Haken: Domain-Abgleich ist exakt und es gibt keine Wildcards — reuters.com passt nicht zu uk.reuters.com, und *.reuters.com wird nicht unterstützt. Es gibt keine boolesche Negation innerhalb von source.domain; der Ausschluss lebt im separaten ignore.source.domain Parameter. Jede Seite ist auf drei Domains pro Anfrage begrenzt.

Kross-API: NewsAPI.org verwendet domains= und excludeDomains= (Kommalisten). APITube teilt Inklusion/Ausschluss in source.domain und ignore.source.domain auf.

6. Entitätsfilter

Filtern nach einer bestimmten Person, Organisation oder Marke mit entity.id. Entitäts-IDs sind stabile numerische Bezeichner; Entitätsnamen sind es nicht.

curl -sS 'https://api.apitube.io/v1/news/everything?entity.id=1278268&language.code=en' \
  -H "X-API-Key: $APITUBE_KEY"
params = {"entity.id": "1278268", "language.code": "en", "per_page": 25}

JSON-Auszug:

{"results": [{"title": "...", "entities": [{"id": 1278268, "name": "...", "type": "person", "links": {"wikidata": "https://www.wikidata.org/wiki/..."}}]}]}

Haken: entity.id ist die numerische Entitäts-ID von APITube (e.g. 1278268), nicht eine Wikidata Q-ID — die Übergabe von Q312 gibt einen Validierungsfehler zurück. Suchen Sie die ID im entities[]-Array eines beliebigen Ergebnisses oder über den /v1/news/entity-Endpunkt nach; jedes Ergebnis enthält auch eine links.wikidata URL, wenn Sie eine Querverweisführung benötigen. Sie können bis zu drei IDs durch Kommas getrennt übergeben (ODER-Logik). Das Filtern nach Entität löst „Apple“ das Unternehmen vom Obst auf, da der Erkennungsalgorithmus jede Erwähnung bereits klassifiziert hat — die größte Genauigkeitssteigerung gegenüber der Stichwortsuche.

Kross-API: NewsAPI.org hat keine Entitätsfilterung. NewsAPI.ai (Event Registry) und APITube unterstützen beide; APITube verwendet eigene numerische IDs und verlinkt auf Wikidata in der Antwort.

7. Sentiment-Polaritätsfilter

Filtern nach Artikeln mit einer bestimmten Sentiment-Polarität im Body, Titel oder insgesamt. Polarität wird pro Dokument bei der Aufnahme berechnet; gültige Werte sind positive, negative und neutral.

curl -sS 'https://api.apitube.io/v1/news/everything?entity.id=1278268&sentiment.body.polarity=negative&per_page=20' \
  -H "X-API-Key: $APITUBE_KEY"
params = {
    "entity.id": "1278268",
    "sentiment.body.polarity": "negative",
    "published_at.start": "2026-05-01",
}

JSON-Auszug:

{"results": [{"title": "...", "sentiment": {"body": {"polarity": "negative", "score": -0.62}}}]}

Haken: Sentiment ist pro Dokument, nicht pro Behauptung. Ein Artikel, der größtenteils positiv ist, aber einen kritischen Analysten zitiert, wird immer noch als positive gekennzeichnet. Es gibt drei unabhängige Achsen — sentiment.title.polarity, sentiment.body.polarity, sentiment.overall.polarity — plus Score-Bereiche (sentiment.body.score.min / .max). Für Sentiment auf Behauptungs-Ebene verarbeiten Sie die zurückgegebenen body mit einem LLM nach.

8. Kategorie + Branchenfilter

Nach thematischer Kategorie (category.id) und Branchenklassifizierung (industry.id) eingrenzen. Beides sind unabhängige Taxonomien, und beide nehmen ihre eigenen Bezeichner – keine Freitext-Slugs.

curl -sS 'https://api.apitube.io/v1/news/everything?category.id=medtop:15000000&industry.id=400&language.code=en' \
  -H "X-API-Key: $APITUBE_KEY"

JSON-Auszug:

{"results": [{"categories": [{"id": "medtop:15000000", "name": "Sport", "taxonomy": "iptc"}], "industries": [{"id": 400, "name": "..."}]}]}

Haken: category.id ist ein IPTC Medien-Themen-Code (e.g. medtop:15000000), und industry.id ist eine numerische ID (e.g. 400) — keiner akzeptiert ein einfaches Wort wie technology oder software, was eine „nicht gefunden“-Fehlermeldung zurückgibt. Rufen Sie die gültigen Codes aus der Referenz der Kategorienliste oder den /v1/news/category- und /v1/news/industry-Endpunkten ab. Kategorie und Branche sind orthogonale Achsen, keine Hierarchie, sodass das Stapeln eines engen Paares zu einer fast leeren Schnittmenge führen kann — verwenden Sie eine als primär, die andere als Verfeinerung.

9. Kombinierte Abfrage — Stapeln von 4+-Dimensionen in einem Aufruf

Das Muster, das die meisten Anbieterdokumentationen nie zeigen: Kombinieren Sie Entität + Sentiment + Datumsbereich + Sprache + Quellland in einer einzigen Anfrage.

curl -sS 'https://api.apitube.io/v1/news/everything?entity.id=1278268&sentiment.body.polarity=negative&published_at.start=2026-04-01T00:00:00Z&published_at.end=2026-05-01T00:00:00Z&language.code=en&source.country.code=us&per_page=50' \
  -H "X-API-Key: $APITUBE_KEY"
params = {
    "entity.id": "1278268",
    "sentiment.body.polarity": "negative",
    "published_at.start": "2026-04-01T00:00:00Z",
    "published_at.end": "2026-05-01T00:00:00Z",
    "language.code": "en",
    "source.country.code": "us",
    "per_page": 50,
}
r = requests.get(API, params=params, headers=HEADERS)

JSON-Auszug:

{
  "status": "ok",
  "results": [
    {
      "title": "...",
      "published_at": "2026-04-12T18:30:00Z",
      "source": {"domain": "wsj.com", "location": {"country_code": "us"}},
      "entities": [{"id": 1278268, "name": "...", "type": "organization"}],
      "sentiment": {"body": {"polarity": "negative", "score": -0.71}}
    }
  ],
  "has_next_pages": false
}

Dies ist die Abfrage, die Sie für Markenüberwachung, Benachrichtigungen über negative Berichterstattung in einem bestimmten Markt oder das Training eines Sentiment-Modells benötigen. Wenn Sie sie als fünf separate Aufrufe ausführen und clientseitig verschneiden, verbrauchen Sie 5x Ihres Kontingents für dieselbe Antwort.

Haken: Jeder zusätzliche Filter verengt den Ergebnissatz multiplikativ. Eine 5-dimensionale Abfrage kann in langsamen Nachrichtenwochen null Zeilen zurückgeben — überprüfen Sie has_next_pages und behandeln Sie leere results-Arrays ordnungsgemäß.

10. Paginierung + Sortierung

Verwenden Sie per_page mit page, um Ergebnisse zu durchlaufen; sortieren Sie mit sort.by und sort.order.per_page ist standardmäßig 100 und hat ein Limit von 250.

curl -sS 'https://api.apitube.io/v1/news/everything?title=ai&per_page=100&page=1&sort.by=published_at&sort.order=desc' \
  -H "X-API-Key: $APITUBE_KEY"
def paginate(params, max_pages=5):
    for page in range(1, max_pages + 1):
        r = requests.get(API, params={**params, "page": page, "per_page": 100}, headers=HEADERS)
        data = r.json()
        for item in data["results"]:
            yield item
        if not data.get("has_next_pages"):
            return

Haken 1: Die Sortierparameter sind sort.by und sort.order (Punktnotation) — nicht sort oder sort_by. sort.by akzeptiert published_at (Standard), created_at, id, read_time, source.rank.opr, die sentiment.*.score Felder und mehr; sort.order ist asc oder desc (Standard desc).

Haken 2: Hören Sie auf zu paginieren, wenn has_next_pagesfalse ist — die Antwort liefert Ihnen auch einen fertig aufgebauten next_page URL, sodass Sie diesem folgen können, anstatt page selbst zu erhöhen. Es gibt keine Top-Level total-Anzahl; verwenden Sie has_next_pages / next_page, um Ihre Schleife zu steuern.

Über-API: NewsAPI.org nutzt pageSize (max 100) und page. NewsData.io verwendet cursor-basierte Pagination über ein page Token, keine numerischen Seitennummern — gehen Sie nicht davon aus.

5 Anti-Patterns, die Ihre Zeit verschwenden

  1. Suche nach einem body-Suchparameter. Er existiert nicht – APITube filtert nach title. Durchsuchen Sie den Titel und filtern Sie dann die zurückgegebenen body nach der Abfrage, wenn Sie eine Übereinstimmung auf Body-Ebene benötigen.
  2. Boolesche Abfragen schreiben ((a OR b) AND c NOT d). Es gibt keinen booleschen Parser. Verwenden Sie durch Kommas getrennte Begriffe für ODER, ignore.title für Ausschluss, separate Aufrufe für UND.
  3. Übergabe von menschenlesbaren IDs (category.id=technology, entity.id=Q312, industry=software). Kategorien sind IPTC-Codes, Entitäten und Branchen sind numerische IDs. Schlagen Sie sie in der Antwort oder den Referenzendpunkten nach.
  4. Verwendung von country.code / sort_by / total. Die tatsächlichen Namen sind source.country.code, sort.by + sort.order, und die Paginierung wird von has_next_pages / next_page gesteuert – es gibt kein total-Feld.
  5. Naive Datumszeichenfolgen (2026/04/01, April 1). Nur ISO 8601 (oder Solr-Stil NOW-7DAYS) wird geparst; Locale-Formate geben lautlos null Ergebnisse zurück.

Häufig gestellte Fragen

Wie filtere ich Nachrichten-API-Ergebnisse?

Sie filtern Nachrichten-API-Ergebnisse, indem Sie Abfrageparameter an den Such-Endpunkt übergeben. Gängige Filter sind Titelsuche (title), Datumsbereich (published_at.start, published_at.end), Sprache (language.code), Quellland (source.country.code), Quell-Domain (source.domain), Entität (entity.id), Sentiment (sentiment.body.polarity) und Kategorie (category.id). Kombinieren Sie mehrere Parameter in einer einzigen Anfrage, um die Ergebnisse einzugrenzen – APITubes /v1/news/everything akzeptiert all diese in einem Aufruf, logisch mit UND verknüpft.

Welche Suchoperatoren unterstützt die Nachrichten-API?

Der title-Parameter von APITube unterstützt drei Modi: Stichwortsuche (kommagetrennte Begriffe mit Synonym- und Morphologieerweiterung), exakte Phrasen in Anführungszeichen (title="Federal Reserve") und Nähe-Suche (title="apple iphone"~5). Er unterstützt keine booleschen AND/OR/NOT-Operatoren oder Klammern innerhalb eines Werts – diese Wörter werden als normale Tokens behandelt. Verwenden Sie kommagetrennte Begriffe für OR-artige Breite und den separaten ignore.title-Parameter für den Ausschluss.

Wie sucht man nach Nachrichten im Datumsbereich?

Übergeben Sie published_at.start und published_at.end mit ISO 8601-Zeitstempeln, e.g. 2026-04-01T00:00:00Z. Reine Daten wie 2026-04-01 werden akzeptiert und als Mitternacht UTC behandelt. NewsAPI.org verwendet from und to; NewsData.io verwendet from_date und to_date. Vermeiden Sie lokal formatierte Daten (04/01/2026) — sie sind keine gültigen ISO 8601 und liefern stillschweigend null Ergebnisse.

Kann ich Nachrichten nach Stimmung oder Entität filtern?

Ja – APITube stellt sentiment.body.polarity, sentiment.title.polarity und sentiment.overall.polarity (positiv / negativ / neutral) sowie entity.id für Personen, Organisationen und Marken bereit. entity.id ist eine numerische Kennung (schlagen Sie sie aus dem entities[]-Array eines beliebigen Ergebnisses nach), keine Wikidata Q-ID. NewsAPI.org unterstützt keines von beiden; NewsAPI.ai (Event Registry) unterstützt beide. Die Filterung nach entity.id ist die größte Verbesserung der Genauigkeit gegenüber der Stichwortsuche, da sie Namen wie „Apple“ oder „Amazon“ von ihren nicht-unternehmerischen Bedeutungen unterscheidet.

Wie kombiniere ich mehrere Filter in einer einzigen Nachrichten-API-Anfrage?

Übergeben Sie alle Parameter in einer einzigen GET-Anfrage — der API verbindet sie mit logischem UND. APITube akzeptiert Dutzende gleichzeitiger Filter in einem Aufruf (Entität + Stimmung + Datum + Sprache + source.country.code, wie in Muster 9 gezeigt). Fünf separate gefilterte Aufrufe auszuführen und clientseitig zu verschneiden, verbraucht fünfmal so viel Kontingent für dasselbe Ergebnis. Erstellen Sie die zusammengesetzte Abfrage und verfeinern Sie sie dann weiter, nur wenn der Ergebnissatz zu groß ist.

Kostenlos APITube testen

Alle 10-Muster laufen gegen den APITube-Endpunkt von /v1/news/everything. Sentiment, Entitäten und Kategorienklassifizierung sind bei jedem Artikel enthalten, ohne separate Anreicherungsaufrufe. Siehe apitube.io/pricing für aktuelle Stufen und Anfragegrenzen.

Ressourcen

APITube - News API

Verwandte Artikel

Nachrichten API Schnelleinstieg: Ihre erste Anfrage in 5 Minuten
Developer Guides

Nachrichten API Schnelleinstieg: Ihre erste Anfrage in 5 Minuten

Rufen Sie in 5 Minuten einen echten Nachrichten-API-Endpunkt auf – curl, JavaScript und Python nebeneinander, mit einer kommentierten JSON-Antwort und Korrekturen für die 401/429-Fehler, auf die Sie tatsächlich stoßen werden.

Slack News Bot Integration Tutorial: 2026 Python Guide
Developer Guides

Slack News Bot Integration Tutorial: 2026 Python Guide

Build a Python Slack news bot. Format with Block Kit, schedule on cron / GitHub Actions / Lambda. Working code, ~80 lines.

Telegram News Bot in Python (2026): aiogram + APScheduler
Developer Guides

Telegram News Bot in Python (2026): aiogram + APScheduler

Erstellen Sie einen Telegramm-Nachrichtenbot in Python mit aiogram 3.27, APScheduler und APITube. Async, sentiment-gefiltert, automatische Kanalübertragung — vollständiger Code + Docker.

Erstellen Sie ein Django-Nachrichtenportal in 2026: Full-Stack-Tutorial
Developer Guides

Erstellen Sie ein Django-Nachrichtenportal in 2026: Full-Stack-Tutorial

Erstellen Sie ein Django-Nachrichtenportal: Celery-Beat-Ingestion, Redis-Cache, HTMX-Infinite-Scroll, Postgres-Volltextsuche. Echte Nachrichten-API, lauffähiger Django 5-Code.

Wir verwenden Cookies

Durch Klicken auf "Akzeptieren" stimmen Sie der Verwendung von Cookies auf Ihrem Gerät zu, damit die Website funktioniert und für Analysen.