ForHosting KIT · Text & AI

Generate hashtags

A post tagged only with #love and #instagood joins millions of others under the same two words and is never found again. This endpoint reads the actual content of a post and suggests tags a real, interested audience is likely to search or follow.

● StablePer request + per post$0.003
Use it from WebAPIEmailApp soonTelegram soon

Run this on our servers with your account. Free tools run in your browser; this one bills your KIT balance per the price above.

The problem with the obvious tags

The tags with the largest follower counts are, almost by definition, the most crowded — a huge tag buries a post within minutes, while a tag nobody uses reaches nobody at all, and the useful middle ground between those two extremes isn't obvious from a follower count alone. Picking tags by hand usually means reaching for whatever feels familiar rather than what an interested viewer is actually searching, which is a different question entirely. text.hashtags reads the post's actual content to answer that second question.

How a set of tags gets suggested

POST /text/hashtags with your post text or topic, get a task_id back right away, and the suggested tags arrive by signed webhook or a signed link valid for 24 hours once the async task completes. The suggestions mix broader tags for reach with narrower, topic-specific ones for relevance, rather than returning one flavor of tag and leaving the balancing to you.

Why hashtags work the way they do

The hashtag started as a way to group a scattered conversation around one searchable term, and it still functions closest to that original purpose when it's specific enough to describe what a post is actually about rather than a generic mood or aesthetic. A tag that names the actual subject connects a post to people already searching for that subject, while a purely popular tag mostly connects a post to other posts using the same popular tag — a much less useful audience.

Fitting it into a posting workflow

Most teams call this endpoint right alongside a post-drafting step, generating tags for the same content in one pass rather than treating hashtag research as a separate manual task done after the copy is already written. Individual creators use it the same way to keep a consistent, relevant tag set without maintaining a personal spreadsheet of favorites that slowly goes stale as a niche or audience shifts over time. Priced per request plus per post, cost stays proportional to how much you actually publish, and a failed task is never charged.

Tag generation alongside post drafting

A team generates hashtags in the same workflow step as the post copy itself, so publishing never waits on separate tag research.

Niche accounts reaching the right audience over a huge one

A small creator uses specific, relevant tags instead of oversaturated ones to reach viewers actually interested in the topic.

Refreshing a stale, repetitive tag set

A brand account replaces the same five tags reused on every post with ones matched to each post's actual content.

Bulk tagging for a content calendar

A marketing team generates tags for a week's scheduled posts in one batch alongside the copy for each.

How do I generate hashtags for a post with the API?

POST your post text or topic to /text/hashtags, keep the returned task_id, and collect the suggested tags by webhook or a signed link valid for 24 hours.

Is the hashtag generator API free?

No, there's no free tier or trial; it costs $0.003 per request plus $0.0135 per post, and a failed task is never charged.

Does it just return the most popular hashtags?

No, it mixes broader, high-reach tags with narrower, topic-specific ones matched to the actual content, rather than defaulting to whatever is most searched overall.

How many hashtags does it return per request?

A set sized for typical platform norms; check the endpoint reference for the current count and any platform-specific limits.

Does it support multiple languages?

It can generate tags based on post text in various languages; check the endpoint reference for current language coverage.

Can I generate tags for many posts at once?

Yes, each post is submitted as its own async request, so tagging a batch of posts is a batch of requests.

Is this endpoint live yet?

Yes, it's live and accepting requests now.

Is my post content kept after tags are generated?

No, submitted text and generated tags are deleted after the retention window and are never used for training.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/text/hashtags

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, and soon from our app, email and Telegram.

curl -X POST https://api.kit.forhosting.com/text/hashtags \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"…"}'
{
  "input": "…"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "text.hashtags",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.003
Per post$0.0135

Published price — no tokens, no invented credits. A failed task is never charged.

max_tokens20000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.
422task_failedThe task failed after 3 retries. You are never charged for it.

Read the full KIT documentation →