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

---

# Instagram Profile API

One profile lookup for a handle, a profile URL or a numeric user id: bio, counts, links, contact details, and on request the latest grid posts and where the account is based.

`GET /v2/instagram/profiles/{profile}` takes a handle (with or without `@`), a profile URL or a numeric user id. Post and Reel links are a 400. Read `data.lookupStatus` (`found`, `private` or `not_found`), then `data.profile`. Every field is always present and is `null` when Instagram doesn't say. `meta.version` is `v2`.

Add `include` for extras, comma-separated: `recentMedia` adds the latest posts and Reels on the profile grid as `data.recentMedia`, and `about` adds the country the account is based in, the month it joined and its former-username count as `data.about`. The profile costs 1 credit and each include 1 more. An include that can't be served (the grid of a private account, or account details that aren't available) is `null` and isn't charged, so bill from `meta.creditsCharged`.

## Request

- **Endpoint:** `GET /v2/instagram/profiles/{profile}`
- **Credits:** 1 credit
+1 credit for recentMedia
+1 credit for about
Max 3 credits
You're only charged for what's returned
- **Input:** by handle or user id
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v2/instagram/profiles/profile/get)
- **Platform page:** [/platforms/instagram](https://www.socialfetch.dev/platforms/instagram)

## FAQ

### How do I get an Instagram profile with the v2 API?

Call `GET /v2/instagram/profiles/{profile}` with your Social Fetch API key (`x-api-key`) and a handle, profile URL or numeric user id in the path. Read `data.lookupStatus` and `data.profile`.

### How much does it cost?

1 credit for the profile, plus 1 for each include you ask for (`recentMedia`, `about`), so 3 at most. An include that can't be served is not charged. `meta.creditsCharged` is the amount billed.

### What does a private account return?

`lookupStatus: private` with the profile Instagram shows publicly (name, bio, counts). `recentMedia` is `null` and not charged, because the grid is not public. `about` is still served, because Instagram shows that panel for private accounts too.

### What is in recentMedia?

The first page of the profile grid as the v2 media object that every v2 list uses: id, shortcode, URL, kind (`post` or `reel`), media type, caption, time, owner, like, comment, play, share and save counts, image and video URLs, carousel items, audio, co-authors, tagged users and location. Media URLs are Instagram's and expire after a while.

### Do I need Instagram Graph API access?

No. Social Fetch returns publicly visible profile data with an API key. Meta's Instagram Graph API is for accounts you manage or that grant your app access.
