What's working under a hashtag, and who's behind it.
Pass a hashtag and a platform and get its top posts with their numbers, plus a summary an agent can act on: average and median likes, average views, the hashtags people use alongside it, and the creators getting the most likes. Good for trend research, content ideas and finding creators in a niche.
What you get back
- Up to 10 top posts with likes, comments, views, shares, caption, date and author
- Average and median likes, average comments and views
- Related hashtags: the tags used most often alongside this one
- Top creators by total likes in the results
- Newest and oldest post dates, so you can see how fresh the tag is
Call it from your code or agent
Same input and the same JSON answer everywhere. You're only charged when the call succeeds.
This tool is paid only: your key spends prepaid credit, or pay per call in USDC with the x402 tab. Get a free key at exepal.com/key.
curl -X POST https://api.exepal.com/v1/social/hashtag \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_KEY" \
-d '{"platform":"tiktok","hashtag":"nepal"}'This tool is paid only: your key spends prepaid credit, or pay per call in USDC with the x402 tab. Get a free key at exepal.com/key.
const res = await fetch("https://api.exepal.com/v1/social/hashtag", {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: "Bearer YOUR_KEY" },
body: JSON.stringify({
"platform": "tiktok",
"hashtag": "nepal"
}),
});
const data = await res.json();This tool is paid only: your key spends prepaid credit, or pay per call in USDC with the x402 tab. Get a free key at exepal.com/key.
import requests
r = requests.post(
"https://api.exepal.com/v1/social/hashtag",
headers={"Authorization": "Bearer YOUR_KEY"},
json={
"platform": "tiktok",
"hashtag": "nepal"
},
timeout=120,
)
print(r.json())Add Exepal once and your assistant can call social_hashtag by itself. More clients on the integrate page.
# Claude Code
claude mcp add --transport http exepal "https://api.exepal.com/mcp?key=YOUR_KEY"
# Cursor, Windsurf, Claude Desktop and most clients (mcp.json)
{
"mcpServers": {
"exepal": { "url": "https://api.exepal.com/mcp?key=YOUR_KEY" }
}
}No key at all: an agent with a wallet pays per call in USDC on Base. npm i @x402/fetch @x402/evm viem. How x402 works.
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";
const pay = wrapFetchWithPaymentFromConfig(fetch, {
schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(process.env.WALLET_KEY)) }],
});
const res = await pay("https://api.exepal.com/v1/social/hashtag", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"platform": "tiktok",
"hashtag": "nepal"
}),
});Questions
- Why 10 posts?
- It keeps the price at four cents. Top posts are the ones that tell you what works; for raw bulk data, a scraper with a monthly plan is the better fit.
- How fresh are the results?
- Each hashtag is cached for up to 12 hours by default; pass maxAgeHours (1 to 168) to choose.