Instagram Profile API
Scrape Instagram Profile data with one API call. Returns public profile information for an Instagram user including the exact integer follower count, following count, bio, profile picture URL, and verification status. `author.posts_count` is exact for accounts with fewer than 12 posts; for larger accounts the web surface reports the length of its first page instead of the total, so the leaf is null on this call rather than a wrong number. For the lifetime post count of an account of any size, call `GET /v1/instagram/profile/about`, which returns it as `author.posts_count` beside the follower count for the same 1 credit. Age-restricted (18+) profiles are supported. When the account publishes a contact address in its bio, it is returned as `author.ext.public_email`; otherwise that leaf is null. Instagram's in-app tap-to-email button is not readable from any public surface, so the bio is the only source for it.
Last updated September 2026Maintained by the SocialCrawl team
Returns an Instagram account's public profile: bio, exact integer follower count on author.followers, following count, picture URL, verification, and author.ext.public_email from the bio.
Use it for a quick snapshot by handle; profile/about adds the account's lifetime post count, and profile/full adds recent posts and computed metrics.
Try the Instagram Profile API
See real data before writing a single line
Searching 65 platforms in parallel
What can you do with the Profile API?
The Profile endpoint gives you structured Instagram data with computed fields in a single request. No scraping infrastructure to build or maintain.
Example Request
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/instagram/profile?handle=instagram"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/instagram/profile",
params={
'handle': 'instagram',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/instagram/profile?handle=instagram",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| handle | Yes | Instagram username without the @ symbol |
| trim | No | Set to true to get a trimmed response |
What does the Instagram Profile API return?
Every response follows one unified schema. Here is a real, unmodified response body, so you can see the exact fields you get back before spending a credit.
Example response
{
"success": true,
"platform": "instagram",
"endpoint": "/v1/instagram/profile",
"data": {
"author": {
"id": "528817151",
"username": "nasa",
"display_name": "NASA",
"avatar_url": "https://scontent-mia3-2.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-mia3-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gF_ZOyacP2ZxvTwISAHsSMx5asgW1AxJ-EvdVyQnWaIqOoHbHMxaugucZE9K7U6iePJ5sy_AwBliYYR9brDmaTN&_nc_ohc=Nw8H9lTngQgQ7kNvwGnjtoO&_nc_gid=oVc10Bvl_SYb8NYf4N9zow&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQBRPsRNYH983CV3Cpi5GEmECZIFeJsRBFCxbj0YQVLw4A&oe=6A631B69&_nc_sid=8b3546",
"bio": "Making the seemingly impossible, possible. ✨",
"verified": true,
"followers": 104307425,
"following": 91,
"posts_count": 4853,
"likes_count": null,
"url": "https://www.nasa.gov/",
"private": false,
"joined_at": null
},
"computed": {
"engagement_rate": 0.00193,
"language": "en",
"content_category": "other",
"estimated_reach": null
}
},
"credits_used": 1,
"credits_remaining": 9999,
"request_id": "req_example000000",
"cached": false
}Live sample illustrating the unified response shape. Field values reflect the record you query.
How does the Instagram Profile API work?
Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.
Method
GET
Response
JSON
How do you scrape social media data in seconds?
The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 65 platforms covering 10B+ monthly active users.
One schema, every platform
Query 65 platforms with identical response structures. Write your integration once.
Computed fields, not just scraped
When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language. Ready to use.
See your data before you code
Visual Data Explorer. Paste any URL, get rich result cards, sortable tables, CSV export.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}Have a question? We got answers
Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.
Contact usHow do I get Instagram profile data with an API?
What fields does the Instagram Profile API return?
Can I look up an Instagram account by username alone?
How much does one Instagram profile request cost?
How fast is the Instagram Profile API?
Does the Instagram Profile API return the exact follower count?
Ask AI about SocialCrawl
Ready to scrape Instagram Profile data?
Get your API key and start pulling Instagram data in under 60 seconds.
