Beste Nachrichten-API für JavaScript & Node.js 2026 (+TS + SSE)

Erick Horn

Erick Horn

·

23 minuten Lesen

Beste Nachrichten-API für JavaScript & Node.js 2026 (+TS + SSE)

Beste Nachrichten-API für JavaScript / Node.js-Projekte in 2026 (mit TypeScript, Fetch und SSE)

Die meisten Artikel "beste Nachrichten-API für Node.js" auf der ersten Seite von Google wurden geschrieben, bevor Node 18 mit nativem fetch ausgeliefert wurde. Viele beginnen immer noch mit npm install node-fetch und einem require-Aufruf. Dieser hier wird das nicht tun.

Offenlegung. Dieser Beitrag erscheint im APITube-Blog. APITube ist eine der unten aufgeführten APIs. Jede Code-Beispiel läuft wie geschrieben; jede Anbieter-Tatsache stammt aus den öffentlichen Dokumenten des Anbieters ab 2026-04-15.

Hinweis: Wenn Sie Node 18 oder neuer verwenden, benötigen Sie node-fetch nicht mehr. Die globalen fetch, Response, Headers und Request sind integriert. Alle nachfolgenden Beispiele verwenden die native Version. Alles, was Sie online finden und mit require('node-fetch') beginnt, wurde wahrscheinlich für Node 16 geschrieben, das seit 2023 nicht mehr LTS ist.

TL;DR — die beste Nachrichten-API für JavaScript / Node.js in 2026

Die beste Nachrichten-API für JavaScript und Node.js in 2026 ist diejenige, die sauberes REST mit Header-Authentifizierung spricht, eine typisierte JSON-Form zurückgibt, die Sie zod-parsen können, in Node 18+ und am Edge funktioniert und Ihnen keine veraltete npm SDK aufzwingt. Nach dieser Definition führen APITube, NewsData.io und Perigon; NewsAPI.org liegt aufgrund seiner ?apiKey= Query-Param-Authentifizierung und der reinen Produktions-Paywall zurück.

Schnelle Auswahlen:

RangAPInpm-PaketAuth-StilTS-freundlichEdge-Runtime-sicherStreaming
1APITubekeine (native fetch verwenden)X-API-Key HeaderJa (BYO-Typen)JaSSE
2NewsData.iokeine (native fetch verwenden)Header / AbfrageJa (BYO-Typen)JaNein
3Perigonkeine (native fetch verwenden)HeaderJa (BYO-Typen)JaNein
4NewsAPI.orgnewsapi (inoffiziell)?apiKey= AbfrageTeilweise (inoffizielle Typen)Nur PaketNein
5Event Registryevent-registry-node-jsHeaderTeilweise unterstütztNein (nur Node SDK)Nein
6GNewskeine (native fetch verwenden)AbfrageparameterJa (BYO-Typen)JaNein
7NewsFilterfinancial-news-apiHeaderTeilweise unterstütztTeilweise unterstütztJa (Finanz-Stream)

Der Rest dieses Beitrags ist eine Anbieter-für-Anbieter-Übersicht, ein einzelner wiederverwendbarer TypeScript-Client, der mit jedem von ihnen funktioniert, ein SSE-Streaming-Beispiel in Node und die Produktionshinweise (429-Handling, Schlüssel-in-URL-Leckage, Express-Proxy, Edge-Kompatibilität), die sonst niemand auf der SERP abdeckt.

Dieser Artikel ist für Sie, wenn

Sie sind ein JavaScript- oder TypeScript-Entwickler, der eine Nachrichten-API für ein echtes Projekt auswählt – ein Node-Backend, eine Next.js API-Route, eine Cloudflare Worker, ein Deno-Service oder eine Vercel Edge-Funktion. Sie möchten ausführbaren Code, keine Werbesprüche. Sie möchten wissen, welche SDKs in zwei Jahren noch funktionieren und welche nicht.

Inhaltsverzeichnis

1. APITube

Installation: keine – native fetch (Node 18+) verwenden.Authentifizierung: X-API-Key Header.Endpunkt: /v1/news/everything. Antwort enthält sentiment, entities, categories und summary pro Artikel. Unterstützt text/event-stream für SSE.

const res = await fetch(
  "https://api.apitube.io/v1/news/everything?title=openai&language.code=en&per_page=3",
  { headers: { "X-API-Key": process.env.APITUBE_KEY! } }
);
const data = await res.json();
for (const a of data.results) console.log(a.title, a.sentiment.overall.polarity);

Eigenarten: kein offizielles SDK – das ist der Sinn der Sache. Eine saubere REST-Oberfläche plus Header-Authentifizierung funktioniert identisch in Node 18+, Deno, Bun, Cloudflare Workers und Vercel Edge. Eigene Typen über zod oder handgeschriebene Schnittstellen.Wählen Sie, wenn: Sie einen Anbieter wünschen, der in jeder Laufzeitumgebung funktioniert, Sie Sentiment und Entitäten ohne einen zweiten NLP-Dienst wünschen und Sie es nicht mögen, an das npm-Paket eines anderen gebunden zu sein.

2. NewsData.io

Installation: keine – native fetch.Authentifizierung: apikey Abfrage oder Header.Quellen: 87,000+ über 206 Länder, 89 Sprachen.

const res = await fetch(
  `https://newsdata.io/api/1/latest?q=openai&language=en&apikey=${process.env.NEWSDATA_KEY}`
);
const data = await res.json();
for (const a of data.results) console.log(a.title, a.source_id);

Eigenarten: Query-Param-Authentifizierung ist praktisch, aber sie gibt Schlüssel in Server-Zugriffsprotokolle preis. Wechseln Sie zur Header-Authentifizierung für alles, was über einen Prototyp hinausgeht. Kein offizielles Node SDK.Wählen Sie, wenn: Sie die breitestmögliche Quellabdeckung benötigen und mit dem Schreiben von Typen vertraut sind.

3. Perigon

Installation: keine – native fetch.Authentifizierung: apiKey Header.Fokus: KI-gesteuert: gruppiert Artikel in Ereignisse, liefert benannte Entitäten, bietet Vektor-Embeddings.

const res = await fetch(
  "https://api.goperigon.com/v1/all?q=openai&language=en",
  { headers: { "x-api-key": process.env.PERIGON_KEY! } }
);
const data = await res.json();
for (const a of data.articles) console.log(a.title, a.entities?.length ?? 0);

Eigenarten: reichhaltigeres Antwortschema als die meisten, was ein Vorteil für LLM-Pipelines ist und ein geringer Wartungsaufwand, wenn Sie jedes Feld selbst typisieren.Wählen Sie, wenn: Sie eine Agenten- oder Retrieval-Pipeline erstellen und Cluster und Entitäten sofort nutzen möchten.

4. NewsAPI.org

Installation: npm install newsapi (inoffiziell) – oder native fetch verwenden.Authentifizierung: ?apiKey=-Abfrageparameter (der Hauptnachteil).Lizenz: Der Developer-Plan ist nur für Entwickler; Produktion beginnt bei $449/Monat. Sehen Sie sich unseren NewsAPI.org Migrationsleitfaden für die vollständige Geschichte an.

// using native fetch (no SDK needed)
const url = new URL("https://newsapi.org/v2/everything");
url.searchParams.set("q", "openai");
url.searchParams.set("apiKey", process.env.NEWSAPI_KEY!);
const res = await fetch(url);
const data = await res.json();

Eigenarten: das ?apiKey=-Muster platziert Ihr Geheimnis in jedes Server-Zugriffsprotokoll, jedes Upstream-Proxy-Protokoll und jede Fehlerverfolgung, die Anforderungs-URLs enthält. Es ist ein bekannter Vektor für Geheimnislecks. Das newsapi npm-Paket wird von einem Freiwilligen gepflegt und verfolgt neue Endpunkte nicht immer zeitnah.Wählen Sie, wenn: Sie auf localhost Prototypen erstellen und die größte Markenbekanntheit für eine Lebenslaufzeile benötigen. Für alles, was versendet wird, siehe die Alternativen oben.

5. Event Registry

Installation: npm install eventregistry (offizielles Node-Paket).Authentifizierung: Header.

import { EventRegistry, QueryArticlesIter } from "eventregistry";
const er = new EventRegistry({ apiKey: process.env.EVENTREGISTRY_KEY! });
const iter = new QueryArticlesIter(er, { keywords: "openai", lang: "eng" });
await iter.execQuery((a) => console.log(a.title));

Eigenarten: dies ist eines der wenigen offiziellen Node SDKs, was sich gut anfühlt, bis Sie versuchen, es in einem Cloudflare Worker oder einer Vercel Edge-Funktion auszuführen – das Paket basiert auf http/https-Modulen, die Edge-Laufzeiten nicht bereitstellen. Gut in einem herkömmlichen Node-Server, problematisch überall sonst.Wählen Sie, wenn: Sie die akademisch-wissenschaftliche Ausrichtung (Ereignisse, Konzepte, Sentiment) benötigen und auf reinem Node, nicht auf Edge, laufen.

6. GNews

Installation: keine – native fetch.Authentifizierung: apikey Abfrageparameter.

const res = await fetch(
  `https://gnews.io/api/v4/search?q=openai&lang=en&apikey=${process.env.GNEWS_KEY}`
);
const data = await res.json();
for (const a of data.articles) console.log(a.title);

Besonderheiten: dasselbe Schlüssel-in-URL-Problem wie NewsAPI.org. Abdeckung ist schmaler (~60k Quellen).Wählen Sie, wenn: Sie ein striktes Budget haben ($40/Monat bezahlter Tier) und Ihr Keyword-Set englischlastig ist.

7. NewsFilter

Installation: npm install financial-news-api.Authentifizierung: Header.Fokus: Finanznachrichten; WebSocket Streaming-Unterstützung.

import { NewsApiClient } from "financial-news-api";
const client = new NewsApiClient(process.env.NEWSFILTER_KEY!);
client.on("data", (article) => console.log(article.title));
client.connect({ query: { tickers: "AAPL" } });

Eigenarten: nur Finanz-Vertikal; nicht für allgemeine Nachrichten geeignet. Streaming funktioniert gut für diesen Anwendungsfall.Wählen Sie, wenn: Sie ein Handels- oder Compliance-Produkt entwickeln und sich nur für Finanznachrichten interessieren.

Ein wiederverwendbarer TypeScript News-Client

Die meisten Artikel "beste Nachrichten-API" stoppen bei einzelnen Snippets. Hier ist ein einzelner TypeScript-Client, der jede der oben genannten REST-APIs hinter einer einzigen Schnittstelle kapselt. Er behandelt Wiederholungsversuche, 429-Ratenbegrenzung mit exponentiellem Backoff und eine typisierte Antwort über Generics.

type FetchOpts = { retries?: number; backoffMs?: number };

export async function safeFetchJson<T>(
  url: string,
  init: RequestInit = {},
  opts: FetchOpts = {}
): Promise<T> {
  const { retries = 3, backoffMs = 500 } = opts;
  for (let attempt = 0; attempt <= retries; attempt++) {
    const res = await fetch(url, init);
    if (res.status === 429 || res.status >= 500) {
      if (attempt === retries) throw new Error(`HTTP ${res.status} after ${retries} retries`);
      const retryAfter = Number(res.headers.get("retry-after")) * 1000 || backoffMs * 2 ** attempt;
      await new Promise((r) => setTimeout(r, retryAfter));
      continue;
    }
    if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
    return (await res.json()) as T;
  }
  throw new Error("unreachable");
}

export interface NewsArticle { title: string; url: string; publishedAt: string; source?: string; }
export interface NewsClient { search(query: string, lang?: string): Promise<NewsArticle[]>; }

export function apitubeClient(key: string): NewsClient {
  return {
    async search(query, lang = "en") {
      const u = new URL("https://api.apitube.io/v1/news/everything");
      u.searchParams.set("title", query);
      u.searchParams.set("language.code", lang);
      u.searchParams.set("per_page", "20");
      const data = await safeFetchJson<{ results: any[] }>(u.toString(), {
        headers: { "X-API-Key": key },
      });
      return data.results.map((a) => ({
        title: a.title, url: a.href, publishedAt: a.published_at, source: a.source?.domain,
      }));
    },
  };
}

// Same pattern for NewsData.io, Perigon, GNews — different query shape + field mapping only.

Rufen Sie es unabhängig vom Anbieter auf die gleiche Weise auf:

const client = apitubeClient(process.env.APITUBE_KEY!);
const articles = await client.search("openai", "en");

Tauschen Sie apitubeClient gegen newsdataClient oder perigonClient gleicher Form aus und der Rest Ihrer App ändert sich nicht. Das ist die Schicht, die jedes Tutorial auf der ersten Seite von Google haben sollte, aber nicht hat.

Nachrichten-Streaming mit SSE in Node.js

Die meisten Anbieter liefern nur REST. Einige – darunter APITube – bieten text/event-stream für die Echtzeitlieferung an. Der Verbrauch von SSE in Node 18+ dauert etwa fünfzehn Zeilen:

const res = await fetch("https://api.apitube.io/v1/news/stream?language.code=en", {
  headers: { "X-API-Key": process.env.APITUBE_KEY!, "Accept": "text/event-stream" },
});
if (!res.body) throw new Error("no body");

const reader = res.body.pipeThrough(new TextDecoderStream()).getReader();
let buf = "";
while (true) {
  const { value, done } = await reader.read();
  if (done) break;
  buf += value;
  const lines = buf.split("\n\n");
  buf = lines.pop() ?? "";
  for (const chunk of lines) {
    const dataLine = chunk.split("\n").find((l) => l.startsWith("data: "));
    if (dataLine) {
      const article = JSON.parse(dataLine.slice(6));
      console.log(new Date().toISOString(), article.title);
    }
  }
}

Das ist alles. Kein eventsource-Paket, kein node-fetch Shim, keine Polyfills. Fügen Sie einen Keep-Alive-Ping und eine Wiederverbindungs-Schleife für die Produktion hinzu, und Sie haben einen Live-Nachrichten-Feed.

Bereitstellung in der Produktion, ohne dass Benachrichtigungen ausgelöst werden

Die Tutorials zu Dev.to enden beim Hello-World. Hier sind die vier Dinge, die Teams in der zweiten Woche fangen.

1. Setzen Sie API-Schlüssel niemals in Abfragezeichenfolgen. URLs landen in Zugriffslogs, Upstream-Proxy-Logs, APM-Tools und Error-Tracking-Payloads. Ein Schlüssel in einer Abfragezeichenfolge ist ein Schlüssel an drei Dutzend Stellen, die Sie vergessen haben. Wenn ein Anbieter nur Query-String-Authentifizierung anbietet (NewsAPI.org, GNews), leiten Sie den Aufruf über Ihr eigenes Backend weiter und entfernen Sie den Schlüssel aus protokollierten URLs.

2. Behandeln Sie 429 ordnungsgemäß. Der obige safeFetchJson-Wrapper respektiert Retry-After und exponentielles Backoff. Wenn Ihr Anbieter Retry-After nicht sendet, standardmäßig auf 2^attempt * 500ms. Protokollieren Sie die Wiederholungsanzahl als Metrik — wenn Sie retries häufig treffen, sind Sie aus dem Tier herausgewachsen.

3. Verwenden Sie einen Express-Proxy für Browser-Clients. Rufen Sie eine Nachrichten-API niemals direkt aus dem Browser-JavaScript auf. Eine kleine Express-Route hält den Schlüssel serverseitig:

import express from "express";
import { apitubeClient } from "./news";
const app = express();
const client = apitubeClient(process.env.APITUBE_KEY!);
app.get("/api/news", async (req, res) => {
  const articles = await client.search(String(req.query.q ?? "news"));
  res.json(articles);
});
app.listen(3000);

4. Kompatibilität mit der Edge-Runtime prüfen. Cloudflare Workers, Vercel Edge und Deno Deploy liefern Web-Standard fetch, aber keine http, https oder Buffer. Jeder npm SDK, der diese importiert, funktioniert nicht mehr. Saubere REST-Anbieter (APITube, NewsData, Perigon, GNews) laufen überall identisch; Node-only SDKs (Event Registry's) nicht. Testen Sie frühzeitig in der Runtime, auf der Sie tatsächlich bereitstellen werden.

Was ändert sich für JS-Entwickler in 2026-2027

Drei Änderungen machen die Wahl der Nachrichten-API für JavaScript-Shops folgenschwerer:

  1. Node ist das Standard-LLM-Agenten-Backend. Agenten, die mit Vercel AI SDK, Mastra, LangGraph.js und deren Pendants erstellt wurden, sind zunehmend Node-basiert und ziehen Nachrichten als Retrieval-Tool heran. Anbieter, die sentiment und entities pro Artikel liefern, lassen den Agenten einen NLP-Schritt überspringen. Anbieter, die Sie nicht zwingen, einen zweiten Dienst zu Ihrem Stack hinzuzufügen.

  2. Edge-Laufzeiten beschneiden Node-spezifische SDKs. Da immer mehr Teams für Latenz zu Cloudflare Workers und Vercel Edge deployen, werden Node-only npm-Pakete zu einer Belastung. Im Gegensatz zu einem anbieterspezifischen SDK funktioniert ein sauberes REST plus Header-Auth API unverändert in jeder Laufzeit, was bedeutet, dass der Anbieter mit der dünnsten SDK-Oberfläche oft gewinnt.

  3. node-fetch verlässt die Bühne. Viele beliebte Nachrichten-SDKs heften immer noch alte node-fetch-Versionen als transitive Abhängigkeiten an. Da Node 22 und 24 die Modulauflösung und das ESM-Verhalten verschärfen, werden diese Pins zu Upgrade-Blockern. Ein einzeiliger nativer fetch-Aufruf ist heute eine zukunftssichere Wahl; ein 2023-Jahrgang SDK ist eine zukünftige Migration.

Häufig gestellte Fragen

Welche Nachrichten-API funktioniert am besten mit Node.js?

Die beste Nachrichten-API API, die am besten mit Node.js in 2026 funktioniert, ist APITube, NewsData.io oder Perigon, da jede mit Header-Authentifizierung sauber REST spricht und unverändert mit den integrierten fetch von Node 18+ sowie Edge-Runtimes wie Cloudflare Workers und Vercel Edge funktioniert. NewsAPI.org funktioniert auch, aber seine Query-Param-Authentifizierung gibt Schlüssel in Protokolle preis.

Gibt es ein Nachrichten-API-npm-Paket?

Ja, es gibt Nachrichten-API npm-Pakete – newsapi (inoffizieller NewsAPI.org-Client), eventregistry (offizieller Event Registry SDK) und financial-news-api (NewsFilter). Für die meisten 2026-Produktionsprojekte überspringen Sie die SDKs und rufen Sie REST direkt mit Node 18s nativem fetch auf, da es eine bessere Kompatibilität mit der Edge-Laufzeit bietet und veraltete node-fetch-Pins vermeidet.

Wie verwende ich News API in Express?

Um eine Nachrichten-API in Express zu verwenden, erstellen Sie eine Route, die den Anbieter serverseitig aufruft, niemals vom Browser aus, um den API-Schlüssel sicher zu halten. Eine typische Route führt app.get("/api/news", async (req, res) => { const data = await fetch(...); res.json(await data.json()); }) durch. Dieses Proxy-Muster hält Anmeldeinformationen serverseitig und ermöglicht Ihnen das Caching oder die Ratenbegrenzung.

Hat News API TypeScript-Typen?

Die meisten Nachrichten-APIs in 2026 liefern keine offiziellen TypeScript-Typen; Sie definieren sie selbst mit einer Antwortschnittstelle oder parsen die Antwort mit zod. Ein typisierter Fetch-Wrapper (siehe wiederverwendbarer Client oben) plus eine anbieterspezifische Mapper-Funktion ist das sauberste Muster. Inoffizielle @types/newsapi existieren auf DefinitelyTyped, hinken aber dem realen Schema hinterher.

Wie streame ich Nachrichten in Node.js?

Um Nachrichten in Node.js zu streamen, verwenden Sie eine Nachrichten-API, die text/event-stream bereitstellt (APITube ist eine der wenigen). Rufen Sie fetch() mit Accept: text/event-stream auf, leiten Sie den Antwortkörper durch einen TextDecoderStream, teilen Sie die Chunks bei \n\n und parsen Sie jede data:-Zeile als JSON. Node 18+ erledigt dies ohne npm-Abhängigkeit – insgesamt etwa fünfzehn Codezeilen.

Urteil

Die beste Nachrichten-API für JavaScript und Node.js in 2026 ist diejenige, die Ihre Laufzeit als webstandardisierte Umgebung behandelt, nicht nur als Node-Umgebung. APITube, NewsData.io und Perigon qualifizieren sich alle; die Query-String-Authentifizierung und die Produktions-Paywall von NewsAPI.org halten sie aus der Top-Tier heraus; die offizielle Event Registry von SDK ist eine Falle, wenn Sie jemals am Edge bereitstellen. Erstellen Sie einen kleinen typisierten Wrapper, halten Sie Schlüssel serverseitig, verwenden Sie die native fetch, und Sie werden gegen die nächsten vier LTS-Upgrades zukunftssicher sein.

APITube liefert einen sauberen REST API, der mit Node 18+ nativem Fetch, Edge-Runtimes und SSE-Streaming funktioniert. 100 Anfragen pro Tag in der kostenlosen Stufe, kommerzielle Nutzung erlaubt, Sentiment und Entitäten bei jedem Artikel. apitube.io

Weiterführende Lektüre: Beste Nachrichten-API in 2026: Vollständiger Vergleichsleitfaden · NewsAPI.org vs APITube: Migration an einem Nachmittag · MDN: Fetch API

Ressourcen

  • APITube — apitube.io — kostenlos testen, Sentiment und Entitäten in jedem Artikel enthalten
  • Dokumentation — docs.apitube.io — Endpunkte, Parameter, Antwortstruktur, Integrationen
  • Preise – apitube.io/pricing – alle Stufen
  • APITube Blog — apitube.io/blog — weitere Leitfäden und Vergleiche

Verwandte Anleitungen:

APITube - News API

Verwandte Artikel

Beste Nachrichten-API für React 2026 (RSC, SWR, TanStack Query)
Insights

Beste Nachrichten-API für React 2026 (RSC, SWR, TanStack Query)

Beste Nachrichten-API für React in 2026 — 6-Auswahl, Next.js 15 RSC-Rezept, useInfiniteQuery-Pagination, SSE-Live-Feed und wie man seinen API-Schlüssel nicht preisgibt.

News API Pagination: Cursor, Offset & the 10k Cap
Developer Guides

News API Pagination: Cursor, Offset & the 10k Cap

Stop losing articles between pages. A consumer-side guide to news API pagination: date-window slicing, 429 retries, async streaming, and dedup.

Real-time news alerts with WebSockets (Socket.IO 2026)
Developer Guides

Real-time news alerts with WebSockets (Socket.IO 2026)

Build real-time news alerts with WebSockets in Node.js using Socket.IO 4.8 and APITube SSE. Room filters, reconnect, Redis adapter, full code.

How to Build a News Aggregator App in 30 Minutes (2026)
Developer Guides

How to Build a News Aggregator App in 30 Minutes (2026)

Learn how to build a news aggregator app in 30 minutes with vanilla JavaScript. Search, filters, rate-limit handling — full working code included.

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.