> **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-topics-topic>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/instagram/v2-instagram-topics-topic.mdx>

---

# Instagram Popular topics API

Look up a topic the way Instagram's Popular page shows it — title, description, post count and related searches — and page through the posts it curates, as shared v2 media objects.

`GET /v2/instagram/topics/{topic}` takes a topic as a word or phrase (`music`, `harry%20potter`) or the link of its Popular page (`https://www.instagram.com/popular/harry-potter/`), and an optional `cursor`. Read `data.lookupStatus` first: `found`, or `not_found` when Instagram has no Popular page for the topic (a rare or unknown word; try a broader one), which comes back with an empty `data.media` and a null `data.topic`.

On the first page `data.topic` holds `title`, a generated `description` with the `sourceUrls` it draws on, `mediaCount` and `relatedTerms`, each `null` when Instagram doesn't give it. `data.media` holds the curated posts, mostly Reels, in Instagram's ranking for the topic (not chronological), each as the shared v2 media object with `playCount` and the owner as a profile summary; the topic view has no `createdAt` or counts other than plays, so those are `null`. When `data.page.hasMore` is true, pass `data.page.nextCursor` as `cursor` on the next call with the same topic: a cursor issued for another topic is a `400`. Later pages carry posts and a cursor only, so `data.topic` is `null` there. Each page is billed once, so read `meta.creditsCharged`.

This feed is intermittently unavailable on Instagram's side. When it is, the call answers `503 temporarily_unavailable` with a `Retry-After` header and charges nothing, so retry the same request after a few seconds. For a hashtag use `GET /v2/instagram/hashtags/{hashtag}`; for keyword Reel search use `GET /v2/instagram/reels/search`.

## Request

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

## FAQ

### How do I get an Instagram Popular topic via API?

Call `GET /v2/instagram/topics/{topic}` with your Social Fetch API key (`x-api-key`) and the topic in the path, URL-encoded if it has spaces. Read `data.lookupStatus`, `data.topic` and `data.media`, and keep following `data.page.nextCursor` while `data.page.hasMore` is true.

### How much does the Instagram topics endpoint 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. Each paginated page is a separate billed request.

### What can I pass as the topic?

A word or phrase such as `music` or `harry potter` (write the space as %20 in a URL), or the link of the topic's Instagram Popular page, such as `https://www.instagram.com/popular/music/`. A link to anything else on Instagram is a `400` that says what to send instead.

### Why is `topic` null, or `lookupStatus` `not_found`?

`topic` is filled on the first page only; later pages carry posts and a cursor. `not_found` means Instagram has no Popular page for that topic, so `media` is empty and nothing more is available. It is billed as a lookup. Try a broader word.

### Why did I get a 503?

Instagram's Popular pages are intermittently unavailable. A `503 temporarily_unavailable` charges nothing and carries a `Retry-After` header, so retry the same request after a few seconds.

### Do I need Instagram Graph API access for topics?

No. You authenticate to Social Fetch with an API key. The route reads Instagram's public Popular topic pages. Meta's Instagram Graph API is for accounts you manage or that grant your app access, and has no equivalent.
