Instagram Hashtag Search
anyapi.instagram.hashtag.postsSearch posts under an Instagram hashtag through a web search index rather than Instagram's own hashtag feed. That is what lets it filter by date and media type and return reels whose like counts have settled, and it is also why results skew older (median around three months) and stop at roughly 110 per hashtag. If that web search index is unavailable, a first-page request that sets no date and no media type is served from Instagram's own live top feed instead. For Instagram's own live ranking of a tag use instagram.hashtag_top_posts, and for the chronological feed use instagram.hashtag_recent_posts.
- Price
- $0.002/successAt provider cost
- Success rate
- 99.9%Last 30 days · 3,821 calls
- Latency p50
- 11 sp95 14 s
- Last verified
- Sep 19, 2026Verified working
POSThttps://toolswitch.dev/v1/tools/anyapi.instagram.hashtag.postsPreview- Uses platform quota
- Synchronous response
- Reads public data
Parameters
This tool has no parameters. See provider docs ↗ Provider docs
Code samples
Replace $TOOLSWITCH_KEY with the key you created in the console.
curl -X POST 'https://toolswitch.dev/v1/tools/anyapi.instagram.hashtag.posts' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '{"hashtag":"skincare","mediaType":"reel","datePosted":"last-month"}'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/anyapi.instagram.hashtag.posts",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("{\"hashtag\":\"skincare\",\"mediaType\":\"reel\",\"datePosted\":\"last-month\"}"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/anyapi.instagram.hashtag.posts", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("{\"hashtag\":\"skincare\",\"mediaType\":\"reel\",\"datePosted\":\"last-month\"}")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());This gateway API is in preview; its URL and authentication may change. The example parameters are sample data. Calls are billed at $0.002/success, including the service fee.