Skip to main content

Blog to social media post generator API

Paste the URL of a blog post, pick the networks, tone and length, and get one caption per network, written by AI from the article and kept within each network's character limit.

  • Endpoint: POST https://postboost.co/app/api/tools/blog-to-social-media (operationId generateSocialPostsFromBlog)
  • Web tool: postboost.co/tools/blog-to-social-media
  • Token: required. Each post spends 1 AI credit of the workspace you name (or your active workspace), so a call costs one credit per platform that comes back; results are not cached. A scoped API key needs the ai ability and pays with its own workspace
  • MCP: tool generate-social-posts-from-blog on https://postboost.co/mcp/tools (listed only with a token)

Request​

FieldTypeDefaultDescription
urlstringPublic http(s) address of the blog post. Give url or text.
textstringThe blog post itself, instead of url.
platformsarray of stringNetworks to write for, at most 4 per call (one AI credit each).
tonestring: casual, professional, humorous, formal, friendly, conversational, informative, inspirational, playful, authoritative, empathetic, persuasive, sarcastic, trendy, neutral, excited, calm, bold, energetic, encouraging"casual"
lengthstring: short, medium, long"short"
hashtagsstring: no, few, some, many"no"How many hashtags to include.
ctastring: no, question, link, subscribe, follow, share, learn more, signup, buy, download"no"Call to action to end with.
workspacestringUUID of the workspace whose AI credits pay for the call. Default: your active workspace (a scoped API key: its own workspace).

Call it​

curl -X POST https://postboost.co/app/api/tools/blog-to-social-media \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com/blog/utm-links","platforms":["x","linkedin"],"tone":"professional","hashtags":"few"}'

This tool needs a token: send Authorization: Bearer YOUR_API_TOKEN as a default header (how, per SDK).

Response​

{
"posts": [
{
"platform": "x",
"text": "Messy campaign data starts with messy links. Five UTM rules that keep your reports clean: https://example.com/blog/utm-links #marketing #analytics",
"hashtags": [
"#marketing",
"#analytics"
],
"characters": 135,
"limit": 280
},
{
"platform": "linkedin",
"text": "Most reporting problems start before the first click.\n\nOur new guide covers five UTM rules: lowercase only, one source name per network, no spaces, a campaign naming scheme and a shared sheet.\n\nRead it here: https://example.com/blog/utm-links #marketing #analytics",
"hashtags": [
"#marketing",
"#analytics"
],
"characters": 264,
"limit": 3000
}
],
"source": {
"title": "Five UTM rules for clean campaign data",
"final_url": "https://example.com/blog/utm-links"
},
"warnings": [],
"credits_spent": 2
}

With MCP​

Connect https://postboost.co/mcp/tools (setup) and ask, for example: Turn a blog post (URL or text) into one social post per network with AI (needs a token, spends AI credits) with the PostBoost generate-social-posts-from-blog tool.

Errors​

StatusWhen
401No token, or an invalid one. The body has register_url to create a free account.
403workspace is not a workspace you belong to, or your account has no workspace, or a scoped API key lacks the ai ability or is bound to another workspace (code: insufficient_scope).
413The JSON body is larger than 128 KB.
422A field is invalid; the body lists the errors per field.
429The workspace has no AI credits left this billing cycle (code: ai_credits_exhausted, upgrade_url), or the per-minute limit is reached.
502The AI provider failed or timed out. No credit was spent.
503AI tools are switched off right now.