> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/instagram/v2-instagram-hashtags-hashtag>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/instagram/v2-instagram-hashtags-hashtag.mdx>

---

# Instagram Hashtag API

Look up a hashtag's id, how many public posts use it, and whether Instagram marks it as trending, in the shared Social Fetch v2 envelope.

`GET /v2/instagram/hashtags/{hashtag}` takes the hashtag in the path, with or without a leading `#`, in any letter case, or an instagram.com `/explore/tags/<name>/` link. A name that can't be a hashtag (spaces, punctuation, over 100 characters) is a `400` before anything is looked up. On a completed lookup, read `data.lookupStatus` (`found` or `not_found`), then `data.hashtag`: the same hashtag object every v2 hashtag endpoint uses, with `id`, `name`, `mediaCount` (the number of public posts using the tag), `isTrending` and `url`, always present and `null` when Instagram doesn't say.

Use it to size a hashtag before you page its posts, compare tags by volume, or check a campaign tag. A hashtag nobody has used comes back as `not_found`. To list the posts under a tag use `GET /v2/instagram/hashtags/{hashtag}/media`; to find hashtags from a keyword use `GET /v2/instagram/hashtags/search`. Bill from `meta.creditsCharged`. `meta.version` is `v2`.

## Request

- **Endpoint:** `GET /v2/instagram/hashtags/{hashtag}`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by hashtag
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v2/instagram/hashtags/hashtag/get)
- **Platform page:** [/platforms/instagram](https://www.socialfetch.dev/platforms/instagram)

## FAQ

### How do I get an Instagram hashtag's post count via API?

Call `GET /v2/instagram/hashtags/{hashtag}` with your Social Fetch API key (`x-api-key`) and the hashtag in the path. Read `data.lookupStatus`, then `data.hashtag.mediaCount`. See the API docs for parameters and examples.

### How much does the Instagram Hashtag API cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.

### Do I include the # in the path?

Either works. A leading `#` is dropped and the name is lower-cased, because Instagram hashtags are case-insensitive. `data.hashtag.name` is the canonical form. A literal `#` in a URL path has to be encoded as `%23`, so most callers leave it out, and a hashtag literally named `search` is written `%23search`. You can also pass an instagram.com `/explore/tags/<name>/` link.

### What does not_found mean for a hashtag?

No public post uses the hashtag, so there is nothing to show. A hashtag Instagram has posts for always comes back `found` with a `mediaCount` above zero, including tags whose posts Instagram doesn't list publicly. A `not_found` answer is still billed.

### How is this different from hashtag media and hashtag search?

This route returns the tag itself: id, count, trending flag. `GET /v2/instagram/hashtags/{hashtag}/media` lists the posts and Reels under the tag on the `top`, `recent` or `reels` view. `GET /v2/instagram/hashtags/search` finds hashtags from a keyword.

### Do I need Instagram OAuth to look up a hashtag?

No. You authenticate to Social Fetch with an API key. The route reads public hashtag data; it does not act on behalf of a logged-in Instagram user.
