Instagram hub

Instagram Profile API

Look up a public Instagram account by handle and get structured profile JSON — bio, follower and post counts, avatar, verification — without GraphQL scrapers or creator OAuth.

GET /v1/instagram/profiles/{handle}

1 credit per successful request.

About this endpoint

Most enrichment jobs start with a username, not a media URL. Agencies, CRM tools, and creator databases need the profile card first: display name, bio, follower count, post count, avatar, whether the account is verified. Homegrown Instagram scrapers usually break on the same GraphQL churn that kills post parsers.

`GET /v1/instagram/profiles/{handle}` takes the Instagram username (with or without a leading `@`) and returns the shared Social Fetch envelope. Branch on `data.lookupStatus` before you write rows — `found`, `private`, and `not_found` are explicit outcomes, not empty objects that look like deleted accounts. Keep `meta.requestId` when a row looks wrong.

This route is the full public profile by handle. If you already store a numeric Instagram user id and only need a lighter card, use the basic profile route. Post lists, reels, stories, and highlights are separate paths on the Instagram hub. Pricing is on the credit badge for this operation; bill from `meta.creditsCharged` on every response.

Instagram Profile API FAQ

How do I get an Instagram profile by handle via API?

Call `GET /v1/instagram/profiles/{handle}` with your Social Fetch API key (`x-api-key`) and the Instagram username in the path (with or without `@`). Read `data.lookupStatus` and `data.profile` in the JSON response. Full parameters and examples are in the API docs.

How much does the Instagram Profile 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.

What fields does the Instagram profile response include?

When `lookupStatus` is `found`, the profile object includes handle, display name, bio, avatar URLs, verification, profile URL, private-account flag, and public counts such as followers, following, and posts when Instagram exposes them.

Do I need Instagram Graph API access or creator login?

No. Social Fetch returns publicly visible profile data for enrichment-style lookups. Meta's Instagram Graph API is for accounts you manage or that grant your app access — publishing and owned insights, not arbitrary public creator cards.

What happens for private or missing Instagram profiles?

The call still returns a typed `lookupStatus`. Private accounts resolve as `private`; unknown handles as `not_found`. Do not invent follower counts or bios. Keep `meta.requestId` if you need support on a failed enrichment row.

Instagram profile by handle vs basic profile by user id?

Use `GET /v1/instagram/profiles/{handle}` when you have a username. Use `GET /v1/instagram/profiles/{userId}/basic` when you already store the numeric Instagram user id and want a lighter lookup. They are different routes on the Instagram hub.

Does this endpoint return posts or reels?

No. This route returns the profile card. For recent posts use `GET /v1/instagram/profiles/{handle}/posts`; for reels use `GET /v1/instagram/profiles/{handle}/reels`. See the Instagram platform hub for the full list.