# Host Your Blog Anywhere

> The Content API serves the posts Revnu writes and publishes as JSON, so your own site renders them on your own domain and framework.

Canonical: https://revnu.com/docs/content-api

Revnu writes, fact-checks and publishes posts through your normal approval flow. The Content API lets you serve them on your own site, with your own design, on your own framework. You fetch JSON; nothing about your stack changes.

This is a separate surface from the [personal-token API](/docs/introduction): a different token, a different base URL, and read-only by construction.

## The contract

```
Base URL:  https://revnu.com/api/content/v1
Auth:      Authorization: Bearer rvc_...   (server-side env var only)

GET /posts                 all published posts, newest first
GET /posts/{slug}          one post, render-ready
```

| Code | Meaning |
|---|---|
| 200 | ok |
| 401 | missing or malformed `Authorization` header |
| 404 | unknown or revoked token, or unknown slug; indistinguishable on purpose |
| 429 | slow down; `Retry-After` is set. A full site build fits comfortably. |

## Getting a token

Dashboard → **Visibility → Settings → Content API**. Turning on headless mode mints an `rvc_` read token; the same card rotates it, and the old one stops working immediately. The token can only read posts that are already public on your blog, so a leak is bounded, but rotate it anyway.

## The one hard rule

**Render server-side or at build time.** Next.js (SSG, ISR or SSR), Astro, Nuxt and SvelteKit are all perfect. Fetching in the browser from a single-page app does not work for SEO: search and answer engines will not reliably see content that only exists after client-side JavaScript runs.

## Search Console

Connect Google Search Console in the dashboard once your pages live on your domain. That is how Revnu sees, and reports to you, clicks, impressions and the queries you are winning. Without it the posts still ship, but your reports cannot include search performance.

## Frequently asked questions

### Is this the same token as the personal API token?

No. Personal tokens start with `rvp_` and act as you across the review queue, agent and results. Content tokens start with `rvc_`, are minted from the blog settings, and can only read published posts.

### Can I keep the Revnu-hosted blog as well?

Headless mode is a switch. With it on, your own site is the canonical home for the posts and the JSON-LD and canonical URLs point at your domain. Turn it off and the hosted blog takes over again.
