Deine Inhalte. Jedes Frontend. Jede Sprache.
REST-API, JavaScript SDK, PHP SDK, Web Components — drei Wege, Publino-Inhalte in jede Plattform zu integrieren.
// 1. SDK installieren
npm install @publino/sdk
// 2. Client initialisieren (Secret Key nur serverseitig)
import { PublinoClient } from "@publino/sdk";
const client = new PublinoClient({
siteId: "mein-blog",
apiKey: process.env.PUBLINO_API_KEY,
});
// 3. Artikel abrufen → ArticleSummary[]
const articles = await client.articles.list({ locale: "de" }); Zwei Schlüsseltypen. Sicher & flexibel.
Publino unterscheidet zwischen server- und browserseitigem Zugriff. Beide verwenden Bearer Authentication — aber mit unterschiedlichen Berechtigungen.
Serverseitig. Voller Lesezugriff. Niemals im Browser oder Client-Code verwenden.
Nur serverseitig · Node, PHP, BackendBrowserseitig. Nur veröffentlichte Inhalte. Mit Origin-Allowlist gesichert.
Browser-safe · embed.js · Next.js Client// HTTP Request mit Bearer Auth
GET /v1/sites/{siteId}/articles
Authorization: Bearer pub_del_xxxxxxxxxxxx
// Rate Limiting & Caching Headers
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 994
ETag: "abc123def"
// 304 Not Modified bei unverändertem Inhalt
If-None-Match: "abc123def" → 304 Saubere Endpunkte. Stabile IDs.
Alle Inhalte sind über stabile Public-IDs abrufbar. Slugs ändern sich nie rückwirkend — URLs bleiben dauerhaft gültig. Basis-URL: https://api.publino.de/v1
readingMinutes.lastmod & hreflang) — öffentlich, ohne Key. Zum Einreichen bei Google über die eigene Domain ausliefern (Proxy).Für jeden Stack das passende Tool
Vollständig typisiert, ohne Abhängigkeiten von Drittanbietern.
// app/blog/page.tsx
import { PublinoClient } from "@publino/sdk";
const client = new PublinoClient({
siteId: "mein-blog",
apiKey: process.env.PUBLINO_API_KEY!,
});
export default async function Page() {
const articles = await client.articles.list({ locale: "de" });
return <ArticleList items={articles} />;
} Für Next.js, Nuxt, Remix, Astro oder pures Node.js. Vollständig typisiert, tree-shakeable, zero dependencies.
<?php
require_once 'vendor/autoload.php';
use Publino\Sdk\PublinoClient;
$client = new PublinoClient(
baseUrl: 'https://api.publino.de',
siteId: 'mein-blog',
apiKey: getenv('PUBLINO_API_KEY'),
);
$articles = $client->articles('de'); // ArticleSummary[]
Zero runtime dependencies, PHP 8.2+. Für WordPress, TYPO3, Laravel oder Custom-PHP. Eigener Transport über das Transport-Interface einsetzbar.
Kein Backend. Ein Tag. Fertig.
Das embed.js Web Component lädt Publino-Inhalte direkt im Browser — gesichert über den Publishable Key und Origin-Allowlist. Ideal für statische Sites, Shopify, Webflow oder jeden HTML-Kontext.
- Nur veröffentlichte Artikel sichtbar (Publishable Key)
- Zugriff auf gelistete Origins beschränkbar
- Kein Build-Tool, kein Node.js, kein Backend nötig
- Styling via CSS Custom Properties oder Slot-basiertem Template
<!-- 1. Script einbinden -->
<script src="https://cdn.publino.de/embed.js" async></script>
<!-- 2. Artikel-Liste einbetten -->
<publino-article-list
site="mein-blog"
locale="de"
pk="pub_pk_…"
api="https://api.publino.de"
link-pattern="/blog/{slug}-{id}">
</publino-article-list>
<!-- 3. Einzelartikel -->
<publino-article
site="mein-blog"
article-id="ab12cd34"
locale="de"
pk="pub_pk_…"
api="https://api.publino.de">
</publino-article> POST https://ihr-system.de/webhook
Content-Type: application/json
{
"event": "article.published",
"timestamp": 1737021600,
"siteId": "mein-blog",
"articleId": "art_dX72kLm",
"locale": "de",
"slug": "ki-in-der-redaktion",
"title": "KI in der Redaktion"
}
// Erwartete Antwort: 200 OK
HTTP/1.1 200 OK Ihr System reagiert in Echtzeit
Konfigurieren Sie beliebig viele Endpunkte — Publino sendet einen HTTP-POST, sobald sich der Content-Status ändert. Kein Polling, keine Verzögerung.
Artikel direkt aus deiner KI verfassen
Über den Model-Context-Protocol-Server kann deine KI (Claude, Cursor, Windsurf, VS Code …) Artikel in einem Workspace lesen, schreiben, übersetzen und veröffentlichen — kein API-Key im Code, die KI ist das Modell selbst. Den MCP-Token erstellst du im Dashboard unter API & MCP.
{
"mcpServers": {
"publino": {
"command": "cmd",
"args": ["/c", "npx", "-y", "mcp-remote", "https://app.publino.de/mcp",
"--header", "Authorization:${PUBLINO_AUTH}"],
"env": { "PUBLINO_AUTH": "Bearer pub_mcp_…" }
}
}
} {
"mcpServers": {
"publino": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://app.publino.de/mcp",
"--header", "Authorization:${PUBLINO_AUTH}"],
"env": { "PUBLINO_AUTH": "Bearer pub_mcp_…" }
}
}
} cmd /c npx
und der Header via Env-Variable (Authorization:${PUBLINO_AUTH}) sind nötig,
weil sonst die Leerzeichen im Node-Pfad bzw. im Bearer-Wert die Startzeile zerlegen.
Gleiche JSON-Struktur für alle Tools — nur der Speicherort der Datei unterscheidet sich (Cursor .cursor/mcp.json,
Windsurf mcp_config.json). Benötigt Node.js.
Vollständige Spec. Try it live.
Die komplette Publino API ist als OpenAPI 3.1 Spec verfügbar. Öffnen Sie die interaktive Doku und testen Sie Endpunkte direkt im Browser — mit Ihrem eigenen API-Key.
- OpenAPI 3.1 — maschinenlesbar, tools-kompatibel
- Try-it-out direkt im Browser mit Bearer Auth
- Code-Snippets in curl, JS, Python, PHP auto-generiert
- Download als JSON für Postman, Insomnia, Bruno