DEV Community

Cover image for I added 3 new tools to my Social Media API: caption generator, post optimizer & username generator
Manal166
Manal166

Posted on

I added 3 new tools to my Social Media API: caption generator, post optimizer & username generator

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
Enter fullscreen mode Exit fullscreen mode
{
  "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"]
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

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" }
Enter fullscreen mode Exit fullscreen mode
{
  "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."
  ]
}
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode
{
  "suggestions": ["getcoffee", "coffeeco", "coffee_hq", "coffeestudio", "coffeelabs", "teamcoffee"],
  "tip": "Check availability with GET /username/check?username=<name>"
}
Enter fullscreen mode Exit fullscreen mode

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)