How to get Instagram basic profile
GET request to /v1/instagram/basic-profile with your input. You get clean JSON back in seconds for 1 credit per call — no OAuth, scraping or platform SDKs. Instagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress).How to get Instagram basic profile (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the Instagram Basic Profile API
Send an authenticated GET request to /v1/instagram/basic-profile with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/instagram/basic-profile?userId=13460080" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"platform": "instagram",
"url": "https://instagram.com/nike",
"id": "13460080",
"pk": "13460080",
"username": "nike",
"displayName": "Nike",
"bio": "Just Do It.",
"biographyWithEntities": {
"rawText": "Just Do It.",
"entities": []
},
"followers": 291638893,
"following": 264,
"postCount": 1668,
"highlightReelCount": 5,
"hasClips": true,
"isPrivate": false,
"verified": true,
"isBusinessAccount": true,
"isProfessionalAccount": true,
"categoryName": "SPORTSWEAR_STORE",
"shouldShowCategory": true,
"profileImage": "https://instagram.fadb3-1.fna.fbcdn.net/v/t51.82787-19/551608484_18567162979020081_1135468084872726555_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4zOTkuYzIifQ&_nc_ht=instagram.fadb3-1.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2gFbXFmp_TeRpCCj6RR0tM15Q0oZBPR6ROg0ngZ8OMxwGUMoGki14pWoXpBkyDth51bqpCSkJFx6YosO0GZyPqK-&_nc_ohc=jOWQehR8N0kQ7kNvwHCN0UL&_nc_gid=k79WPpLD7fgQ0KoqHooi9A&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQGLKYnAo8kqPvpjPiPXB6947FKZdPXkp90fLn4BX7sh5w&oe=6A756ABA&_nc_sid=8b3546",
"profileImageHd": "https://instagram.fadb3-1.fna.fbcdn.net/v/t51.82787-19/551608484_18567162979020081_1135468084872726555_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4zOTkuYzIifQ&_nc_ht=instagram.fadb3-1.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2gFbXFmp_TeRpCCj6RR0tM15Q0oZBPR6ROg0ngZ8OMxwGUMoGki14pWoXpBkyDth51bqpCSkJFx6YosO0GZyPqK-&_nc_ohc=jOWQehR8N0kQ7kNvwHCN0UL&_nc_gid=k79WPpLD7fgQ0KoqHooi9A&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQGLKYnAo8kqPvpjPiPXB6947FKZdPXkp90fLn4BX7sh5w&oe=6A756ABA&_nc_sid=8b3546",
"profileImageUrl": "https://instagram.fadb3-1.fna.fbcdn.net/v/t51.82787-19/551608484_18567162979020081_1135468084872726555_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4zOTkuYzIifQ&_nc_ht=instagram.fadb3-1.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2gFbXFmp_TeRpCCj6RR0tM15Q0oZBPR6ROg0ngZ8OMxwGUMoGki14pWoXpBkyDth51bqpCSkJFx6YosO0GZyPqK-&_nc_ohc=jOWQehR8N0kQ7kNvwHCN0UL&_nc_gid=k79WPpLD7fgQ0KoqHooi9A&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQFUavH_AkjH7xOjK_XCMgEdFI82tO3J-qTmLtfVLMz1GA&oe=6A756ABA&_nc_sid=8b3546",
"externalUrl": "http://empli.fi/nike",
"fbid": "17841400602400210",
"pronouns": [],
"bioLinks": [
{
"title": null,
"url": "http://empli.fi/nike",
"linkType": "external"
}
],
"showAccountTransparencyDetails": true,
"isEmbedsDisabled": false,
"isRegulatedC18": false,
"businessAddress": {
"cityName": "Beaverton, Oregon",
"cityId": "108410602520455",
"streetAddress": "One Bowerman Dr",
"latitude": 45.5076448,
"longitude": -122.8269159,
"zipCode": "97005"
},
"businessContactMethod": "CALL",
"fetchedAt": "2026-08-02T20:06:56.628Z"
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| userId | string | Yes | Instagram numeric user ID (e.g. 13460080). A profile URL, @handle, or username is also accepted and resolved automatically. |
| cache | boolean | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. |
| cacheMaxAge | string | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL (SC cache_max_age). Envelope: cached + cachedAt. |
Frequently asked questions
What does the Instagram Basic Profile API do?
The Instagram Basic Profile API lets you fetch profile or page details and audience stats from a public Instagram profile or page using one GET request to /v1/instagram/basic-profile. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Instagram Basic Profile API cost?
Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a Instagram API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Is the Instagram Basic Profile API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
Ready to get Instagram basic profile?
Start free with 100 credits — no credit card required.
Get your free API key