Add a full-featured blog to any project in minutes

Cli Blog gives you a secure, fast, efficient blog through the API, CLI, SDK, dashboard, or your own AI agent.

Everything your blog needs, already included

These are product features, not plugins. Editors, developers, and agents use the same workspace to create durable content for your product.

Create

Drafts, publishing, schedules, revisions, redirects, Markdown, authors, categories, tags, and media

Deliver

Dashboard, REST API, Node SDK, CLI, agent skill, field groups, related content, RSS, sitemaps, and robots.txt

Grow

SEO, social previews, localization, team roles, scoped keys, global media delivery, and image optimization

DraftLaunch notes for the new API

Full blog publishing

Give your product the editorial pieces a real blog needs without building them from scratch.

  • Drafts, publishing, and scheduling
  • Revisions and slug redirects
  • Authors, categories, and tags
  • Markdown source and ordered media
  • SEO and social-sharing fields
  • Localized posts, categories, and tags
  • Related posts with recent fallbacks
cli-blog.com › blog › api-launchAPI-first blogging for product teams

A secure way to add publishing without plugin stacks.

SEO built in

Keep search and sharing fields next to the content, ready for editors, developers, and agents.

  • Meta title and description
  • Canonical URLs
  • Social images and schema
/robots.txt
/sitemap.xml
/feed.xml

Sitemaps, feeds, and robots.txt

Give search engines, feed readers, and crawlers the files they expect without maintaining them by hand.

  • robots.txt
  • sitemap.xml
  • feed.xml
en-USPublish without rebuilding
es-MXPublica sin reconstruir
pt-BRPublique sem reconstruir

Localization

Create content in different languages while keeping the blog organized.

  • Connected translations
  • Localized slugs
  • Localized categories and tags
public: posts.readserver: posts.writeagent: drafts.create

Scoped access

Use public keys for published content and private, permission-limited keys for trusted publishing work.

  • Public read keys
  • Private publishing keys
  • Permission-limited keys for agents
OWAlexOwner
ADSamAdmin
NoahDeveloper
MayaEditor
PBIrisPublisher
MBLeoMember

Team-friendly by default

Assign owners, admins, developers, editors, publishers, and members so each person can do the work their role requires.

  • 50 members on Starter
  • 100 members on Pro
  • 1,000 members on Business

Manage content your way, then render it in your product

Create through the dashboard, CLI, skill, or API. Add it to your app through the Node SDK or direct API calls.

Dashboard

  • Manage posts, SEO, authors, categories, and tags
  • Review drafts from people or agents
  • Publish when the piece is ready
CBPMS
PostsNew post
A better publishing workflow DraftAPI launch notes Published
Start your free 7-day trial

CLI

  • Create drafts from a shell
  • Run checks in CI
  • Use JSON output for scripts
cli-blog — zsh
$ cli-blog posts create --title "API launch notes" --json
{ "id": "post_demo_42", "status": "draft" }
View CLI docs

Agent skill

  • Install the skill in your agent
  • Ask for drafts and refreshes
  • Keep review in the dashboard
You

Draft a launch post, add Product, and wait for review.

Agent

Draft created as post_demo_42. I left it unpublished for review.

See agent workflows

API

  • Create and update content
  • Fetch related posts for article pages
  • Fetch only the fields your frontend needs
GEThttps://api.cli-blog.com/v1/posts/api-launch-notes
{
  "object": "post",
  "id": "post_demo_42",
  "slug": "api-launch-notes",
  "title": "API launch notes",
  "status": "published"
}
View API docs

Node SDK

  • Publish from secure server code
  • Fetch posts for your frontend
  • Use a typed first-party client
const posts = awaitblog.posts.list({status: "published"});
EngineeringAPI launch notes

Rendered with your React components.

View SDK docs

Product frontend

  • Render inside your product
  • Keep readers moving to another post
  • Use public keys for published reads
EngineeringLaunch notes from our team

A simple blog rendered in your own design.

Read quickstart

Fast content delivery and image optimization are part of the product

Upload media once, deliver it globally, and shape images from the URL so your frontend stays fast without a separate optimization service.

Live transformation preview1200 × 675
Golden Gate Bridge spanning San Francisco Bay
WEBP · Q82

The preview approximates crop and quality changes. Your delivery URL requests the encoded result.

Shape the image for each placement

Keep one source asset. Choose the dimensions, crop, format, and quality when you render it.

Delivery URLhttps://cdn.cli-blog.example/o/demo/golden-gate.jpg?width=1200&aspect_ratio=16:9&format=webp&quality=82