A few weeks ago I launched Social Media Toolkit — one API bundling 8 social media utilities. Based on feedback, I just shipped 3 new tools. Here's what they do and how they work.
If you missed the first post, the API does things like username availability, hashtag generation, engagement rate and best-time-to-post — all in one place, no scraping. Today I'm adding three tools that round out the content workflow: write it, score it, brand it.
1. Caption Generator — write the post
Give it a topic and a tone, get ready-to-post captions back — each with a hook, emojis, a call-to-action and matching hashtags.
GET /caption/generate?topic=fitness&tone=inspirational&count=2
{
"topic": "fitness",
"tone": "inspirational",
"captions": [
{
"text": "Every expert in Fitness was once a beginner. 🚀\n\nShow up for your fitness dreams, one step at a time. ❤️\n\nTag someone who needs this.",
"hashtags": ["#fitness", "#workout", "#gym", "#fitnessmotivation"]
}
]
}
Five tones are supported: casual, professional, funny, inspirational, promotional. The whole thing is template-based and deterministic — no LLM, no latency, no per-call cost.
2. Post Optimizer — score the post
This is my favorite. Paste a caption and a target platform, and it scores the post out of 100 with actionable feedback.
POST /post/analyze
{ "text": "I went to the gym today.", "platform": "instagram" }
{
"score": 28,
"rating": "poor",
"suggestions": [
"A bit short — aim for 70-150 characters.",
"Add 5-15 relevant hashtags to boost reach.",
"Add 1-3 emojis to make the post more eye-catching.",
"Add a call-to-action (e.g. \"Save this\", \"Comment below\").",
"Try asking a question to spark comments."
]
}
A strong post scores 90+. The rules (ideal length, hashtag range) adapt per platform — Instagram, X, TikTok, LinkedIn and Facebook each have different sweet spots.
How the scoring works under the hood — a set of weighted checks:
// length, hashtags, emojis, CTA, engagement-question — each weighted
const earned = checks.reduce(
(s, c) => s + c.weight * (c.status === 'pass' ? 1 : c.status === 'warn' ? 0.5 : 0), 0
);
const score = Math.round((earned / total) * 100);
3. Username Generator — brand the account
Completes the username flow: generate ideas, then check availability with the existing /username/check endpoint.
GET /username/generate?keywords=coffee,shop&style=pro
{
"suggestions": ["getcoffee", "coffeeco", "coffee_hq", "coffeestudio", "coffeelabs", "teamcoffee"],
"tip": "Check availability with GET /username/check?username=<name>"
}
Four styles: clean, fun, pro, short.
The takeaway
The API is now 16 endpoints — a full content workflow: generate → optimize → brand. Everything is algorithmic (no LLM cost), returns clean JSON, and runs on free-tier serverless infra (Vercel + Upstash).
Try it free (no credit card):
👉 Social Media Toolkit on RapidAPI
What tool should I add next? I'm taking requests in the comments 👇
Top comments (0)