The Writizzy public API lets you use your blog as a headless CMS. Write and publish in Writizzy, then pull your content into any frontend — Next.js, Astro, a mobile app, or anything that can make an HTTP request.
The v1 API exposes your blog's public content in read-only mode:
| Resource | Description |
|---|---|
| Blog | Metadata — name, description, language, logo, navigation |
| Posts | Paginated list, or a single post by slug |
| Tags | All tags with metadata and post counts |
| Author | Public profile of the blog's author |
All content is returned as raw Markdown so you can render it with your own tooling.
The public API is available on Starter plans and above. It is not available on the free plan.
Your API key is scoped to a single blog. To generate one:
Your key looks like this:
wz_yourblog_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Keep it secret. Anyone with this key can read all published content on your blog, including premium posts.
To invalidate a key and issue a new one, click Revoke & regenerate in the same settings panel. The old key stops working immediately.
Pass the key as a Bearer token in the Authorization header on every request:
GET /v1/blogs/yourblog/posts
Authorization: Bearer wz_yourblog_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
There is no OAuth flow, no token expiry, and no refresh step — just the key.
Fetch the list of published posts on your blog:
curl https://writizzy.com/v1/blogs/yourblog/posts \
-H "Authorization: Bearer wz_yourblog_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
A successful response looks like:
{
"posts": [...],
"page": 0,
"limit": 20,
"total": 42,
"totalPages": 3
}
All errors follow a consistent format:
{
"error": "NOT_FOUND",
"message": "Post not found",
"status": 404
}
| Status | Meaning |
|---|---|
401 | Missing or invalid API key |
403 | Key is revoked or does not match this blog |
404 | Resource does not exist |
429 | Daily rate limit exceeded |
500 | Server error |
The API is designed for static site builds — you can fetch your entire blog in one pass.
| Limit | Value |
|---|---|
| Requests per day | 10,000 per key |
| Max posts per page | 1,000 (for builds) |
When the limit is exceeded you receive a 429 response with a Retry-After header.