Instagram Basic Profile API
Instagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress).
Pass an Instagram numeric user ID (the pk this endpoint returns as id, e.g. 13460080) or a profile URL / @handle and get that account's public profile as clean Captapi JSON — same naming as Channel Details: displayName, bio, followers / following / postCount, verified, isPrivate, profileImage / profileImageHd, externalUrl, bioLinks[], categoryName (Instagram business niche — Entrepreneur, Digital Creator, …), isBusinessAccount / isProfessionalAccount, businessAddress{cityName,latitude,longitude,…}, fbid (Instagram↔Facebook join key), relatedProfiles[] (edge_related_profiles discovery graph), likeAndViewCountsDisabled (distinguishes hidden likes from true zero), highlightReelCount, hasClips, and transparency flags when Instagram exposes them. Resolve prefers web_profile_info (the commercial field set) and only uses HTML-og as an approx-flag overlay — it will not replace a rich profile with the 21-key HTML subset. followersIsApproximate / followingIsApproximate / postCountIsApproximate use the same per-field helper as Channel Details (true when a count came from a K/M/B display string such as og:description "32K") — they are added here only; Channel Details is unchanged. The 17 commercial/companion keys plus displayName / bio stay on the payload (null when Instagram withholds them). An empty biography_with_entities object is biographyWithEntities: null, not a hollow {rawText, entities} stub. Flat 1 credit. Pass cache=true to serve from the 24h shared cache (0 credits on hit); default is always fresh.
Request
- Base URL: https://api.captapi.com
- URL: https://api.captapi.com/v1/instagram/basic-profile
- Auth: one of:
- HTTP bearer
- API key in header X-API-Key
Query parameters
Instagram numeric pk (e.g. 13460080 — the id field on this endpoint), or a profile URL / @handle / username. A Facebook/Graph fbid (17-digit 17841…) is 400 WRONG_ID_TYPE.
Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.
Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.
Response
Success. The data object for this endpoint.
Changes
No recorded changes to this operation across all 3 revisions of this API.