Opinly SDK
A headless content SDK — fetch your Opinly blog over a REST API and render it in any framework.
Opinly generates SEO-optimized blog content for your business. The Opinly SDK lets you publish that content inside your own application — no separate CMS, no markdown files, no iframe. You fetch your posts over a versioned REST API and render them with your own UI.
The SDK is headless and framework-agnostic. It ships data + content-rendering primitives only — you own the page layout. The same content renders in Next.js, Nuxt, SvelteKit, or any React/Vue/Svelte app.
The package family
You only install the packages your framework needs. Everything builds on two foundations — a data client and an agnostic core — with thin framework adapters on top.
| Package | Role |
|---|---|
@opinly/backend | Data client. Fetches your content over the /v1 REST API. Zero framework deps. |
@opinly/shared | Agnostic core. Content rendering (HTML + element walker), SEO/JSON-LD builders, sitemap/RSS helpers, URL + image helpers. Zero framework deps. |
@opinly/react | Render content as React elements (<OpinlyContent>). |
@opinly/vue | Render content as Vue components (<OpinlyContent>). |
@opinly/svelte | Render content in Svelte (<OpinlyContent>). |
@opinly/next | Next.js glue: image rewrites, generateMetadata, JSON-LD <script>. |
@opinly/nuxt | Nuxt SEO helper: opinlyHead() → useHead(). |
@opinly/sveltekit | SvelteKit SEO component: <OpinlySeo> → <svelte:head>. |
How it fits together
@opinly/backend ──fetch──▶ your route ──render──▶ @opinly/react / vue / svelte
│
└──SEO──▶ @opinly/next / nuxt / sveltekit- Fetch the content for a route with
@opinly/backend(opinly.posts(),opinly.post(slug), …). - Render the post body with your framework's renderer (
<OpinlyContent>). - Add SEO (metadata + JSON-LD) with your framework's meta-adapter.
Pick your framework
Next.js
App Router: fetching, rendering, metadata, JSON-LD, sitemap & RSS.
Nuxt
Server fetch with useAsyncData, Vue rendering, SEO via useHead.
SvelteKit
Server load functions, Svelte rendering, SEO into <svelte:head>.
React
Any React app — Vite, Remix, Astro islands. No Next.js required.
Vue
Any Vue 3 app. No Nuxt required.
REST API
The raw /v1 HTTP contract — call it from any language.
New here?
Start with Sign up & get your API key, then the Quickstart to fetch and render a post in five minutes.
Using an AI builder (Lovable, v0, Bolt, Cursor)? Every page here is available as plain Markdown for your LLM — use the Copy for LLM button on any page, or feed it
/llms-full.txt(the whole docs site as one file).