- Free plan
- No credit card
- Setup in minutes
Add a blog to your website.Get found everywhere.
Write posts in a simple dashboard. They show up on your website in your design, as real pages Google, ChatGPT and other AI search can read and cite. No WordPress, no hosting. AI writing included.
- Your design stays yours
- Ready for search and AI
- Writers get their own login
best running shoes guide
yoursite.com › blog
How to choose the right running shoes
Fit, cushioning and the one test to do in the shop before you buy…
Cited in AI answers
ChatGPTPerplexityGemini
https://yoursite.com/blog
Stride&Co
The Stride blog
Guides · Today
How to choose the right running shoes
Training · Sep 24
5 stretches to do after every run
News · Sep 12
What we learned opening our second store
CMSKite dashboard · new post
How to choose the right running shoes
Draft · 4 min readLive on yoursite.com/blog
Publish PublishedWorks withWordPressWixShopifyWebflowSquarespaceLovableany HTML sitePaste 2 lines and your blog is live.
What you get
Everything to start a blog. On every plan.
Write with AI
Type a topic, get an SEO-ready draft in English, हिंदी or Hinglish. You edit and publish.
How AI writing worksAdd to any website in 2 lines
WordPress, Wix, Shopify, Webflow, Squarespace, Lovable or any HTML page.
See the two linesFree blog link from day one
Your blog is live at cmskite.com/b/your-name while you set up your own site. Posts still count for your website’s SEO once connected.
About the free linkSomeone connects it once. It need not be you.
Your developer
Two requests to our API and your posts render in your site's own design. The guide takes them about ten minutes.
Send them the docsYour AI
Ask your AI builder or coding assistant to add a blog to your site, and it wires the pages up.
How the MCP worksWe help you
Book a free 10-minute setup call. We connect it with you or your developer, and you leave with your first post live.
Book a free setup callThree nouns.
Nothing else to learn.
A workspace has projects. A project has content and keys. That is the whole hierarchy — nothing else to model.
The organisation
Workspace
Company scope. Holds the plan, team roles, members and projects. One plan covers every project in it. A person can belong to several.
The publication
Project
One website or app. Holds posts, three-level categories, tags, byline authors, media and its own settings.
The credential
API Key
A read-only key tied to one project. It names its own project — no project id travels in the URL — and respects allowed origins.
Integrate however you build. The API does not care.
Typed TypeScript, raw HTTP, or plain English via MCP. Same envelope, same key, same two requests.
For JavaScript and TypeScript.
A typed client for Node, Next.js and React, plus a tiny browser tracker.
- Typed client — one error type, full autocomplete
- Cursor pagination handled for you
- Browser tracker that can never break the page
import { createCMSKite } from 'cmskite'
const cms = createCMSKite({ apiKey: process.env.CMSKITE_API_KEY })
const { items } = await cms.posts.list({ limit: 20 })
const post = await cms.posts.findBySlug(slug)
// in the browser, on the page that renders one post:
import { createTracker } from 'cmskite/browser'
createTracker({ apiKey: PUBLIC_KEY }).trackView(post.id)Half an integration works perfectly. And counts nobody.
An integration has two halves, and only the first one is obvious. Build only the first and you get a site that works perfectly and counts nobody — no error anywhere, nothing in the console, every post reading zero views forever.
A build fetching 200 posts is not 200 readers, and a cached page read ten thousand times is one fetch. So a view is only ever reported by the page a person opened.
The dashboard detects this. When a project fetches content but reports no readers, it tells you in plain words — and names the one thing to fix.
GET/v1/blog/posts
obvious halfYour server fetches the content. Easy, and it works immediately.
POST/v1/blog/events
forgotten halfThe reader’s browser reports the view. A separate snippet, on the page that renders a single post.
- 0
- views counted
- 0
- errors anywhere
- 0
- clues why
Two HTTP requests. Your front end.
A read-only key, a JSON response, typed with the npm package if you like. Render posts however the site already renders pages.
Works with Lovable, Cursor and Claude through the CMSKite MCP.
Read the docsGEThttps://api.cmskite.com/v1/blog/posts?limit=20
{
"success": true,
"data": [
{
"id": "post_01a0d047e7fa7000a476474ba31adc6e",
"slug": "why-we-stopped-writing-blog-backends",
"title": "Why we stopped writing blog backends",
"excerpt": "Three rewrites later, we deleted ours.",
"status": "published",
"author": { "name": "Elena Rostova", "slug": "elena-rostova" },
"tags": [{ "name": "engineering", "slug": "engineering" }],
"readingMinutes": 4,
"publishedAt": "2026-07-15T10:00:00.000Z"
}
],
"pagination": { "hasNext": false, "nextCursor": null, "limit": 20 },
"requestId": "01a0d039-b10c-7000-903a-24cc9ea1f4de"
}POST/v1/blog/events?key=… ← the reader’s browser, to count
Three plans. Or build your own.
Start free forever. Starter and Team cover most blogs; Custom lets you set every dial. Every limit here is the one the API enforces.
Free
$0forever
- 3 posts written with AI a month
- 1 website
- 35 posts
- 2 team members
- 1 workspace
- 10K API requests a month
- 100 MB media storage
- No card, does not expire
Starter
$9/ month
- 30 posts written with AI a month
- 1 website
- Unlimited posts
- 3 team members
- 1 workspace
- 100K API requests a month
- 1 GB media storage
- 300 MB managed database
On every plan Embed code for any website Free blog link Free 10-minute setup call
No card to start. Pick a plan and pay securely by card; it starts as soon as the payment is confirmed.
Custom
More projects, seats, requests or storage than Team, or your own database and bucket.
Never-revoked read guarantee. If you downgrade or miss a payment, read access to your posts is never revoked. Access degrades to the free plan — your blog is never held hostage.
About AI posts
- What counts as an AI post?
- Each draft you get from Write with AI counts as one AI post, whether you publish it or not. Writing it again is another draft. A draft that fails does not count, and "Give me topic ideas" is free.
- Do unused AI posts roll over?
- No. AI posts are counted per account for each calendar month (UTC) and reset on the 1st. Ones you did not use do not carry over.