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
import { PublinoClient } from '@publino/sdk'
const client = new PublinoClient({
apiKey: 'pub_live_…', siteId: 'mein-blog'
})
// 3. Artikel abrufen
const { articles } = await client.articles.list({
locale: 'de', status: 'published'
})
✓ { articles: [ … ] } 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_live_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.Für jeden Stack das passende Tool
Vollständig typisiert, ohne Abhängigkeiten von Drittanbietern.
import { PublinoClient } from '@publino/sdk'
const client = new PublinoClient({
apiKey: process.env.PUBLINO_API_KEY,
siteId: 'mein-blog'
})
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.
require_once 'vendor/autoload.php';
use Publino\PublinoClient;
$client = new PublinoClient([
'apiKey' => getenv('PUBLINO_API_KEY'),
'siteId' => 'mein-blog'
]);
$articles = $client
->articles()->list(['locale' => 'de']); Zero dependencies. Für WordPress, TYPO3, Laravel oder Custom-PHP. PSR-18-kompatibel — bringt keinen HTTP-Client mit, nutzt Ihren.
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"></script>
<!-- 2. Artikel-Liste einbetten -->
<publino-article-list
site-id="mein-blog"
locale="de"
limit=5>
</publino-article-list>
<!-- 3. Einzelartikel -->
<publino-article
site-id="mein-blog"
slug="ki-in-der-redaktion"
locale="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.
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