Instagram API endpoint
Returns the public profile of an Instagram account by `username`. The response has the user id, full name, biography, bio links, external URL, category, follower, following and post counts, verified and private flags, location, profile picture, recent posts with captions and like counts, and related profiles.
/instagram/profile/{username}Path parameters:
username: required. Instagram username.| Field | Filled in, of 6 checked | Values in the sample |
|---|---|---|
| id | 6 | |
| shortcode | 6 | |
| media_url | 6 | scontent-iad3-2.cdninstagram.com and 2 other hosts |
| is_video | 6 | true in 3 of 6 |
| width | 6 | |
| height | 6 | |
| caption | 6 | median 191 characters |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| username (path) | string | Yes | Instagram username | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/instagram/profile/google" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "1067259270",
"fbid": "17841401778116675",
"username": "google",
"full_name": "Google",
"biography": "Here to help.",
"external_url": "https://linkin.bio/google"
}
}Request schema
No body schema
Response schema
#/definitions/instagram.profileResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | instagram.UserProfile | No | ||||
| data.bio_links | array | No | ["https://linkin.bio/google"] | Links listed in the profile bio. | ||
| data.biography | string | No | Here to help. | Bio text shown on the profile. | ||
| data.category_name | string | No | not present in sample | |||
| data.external_url | string | No | https://linkin.bio/google | Website link shown on the profile. | ||
| data.fbid | string | No | 17841401778116675 | Alternate numeric ID of the account, as Instagram returns it. | ||
| data.followers_count | integer | No | 15607284 | Number of accounts following this profile. | ||
| data.following_count | integer | No | 38 | Number of accounts this profile follows. | ||
| data.full_name | string | No | Display name shown on the profile. | |||
| data.id | string | No | 1067259270 | Numeric Instagram user ID. Use it with the reels endpoint. | ||
| data.is_private | boolean | No | false | Whether the account is private. | ||
| data.is_verified | boolean | No | true | Whether the account has Instagram's verified badge. | ||
| data.location | object | No | Business address shown on the profile. | |||
| data.location.city_name | string | No | Mountain View, California | City and region of the business location, such as `Mountain View, California`. | ||
| data.location.latitude | number | No | 37.4221 | Latitude of the business location, in decimal degrees. | ||
| data.location.longitude | number | No | -122.08432 | Longitude of the business location, in decimal degrees. | ||
| data.location.street_address | string | No | 1600 Amphitheatre Pkwy | Street address of the business location. | ||
| data.location.zip_code | string | No | 94043 | Postal code of the business location. | ||
| data.posts | array | No | Recent posts shown on the profile. | |||
| data.posts[].caption | string | No | You popped the big question. For all the questions that follow, try AI Mode in Search. | Caption text of the post. | ||
| data.posts[].children | array | No | nested carousel media | |||
| data.posts[].comment_count | integer | No | 43 | Number of comments on the post. | ||
| data.posts[].height | integer | No | 1000 | Height of the post media, in pixels. | ||
| data.posts[].id | string | No | 3694065742636342530 | Instagram media ID of the post. | ||
| data.posts[].is_video | boolean | No | false | Whether the post is a video. | ||
| data.posts[].like_count | integer | No | 1880 | Number of likes on the post. | ||
| data.posts[].media_url | string | No | https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/…n.jpg | URL of the post's image, or its cover image for a video. | ||
| data.posts[].product_type | string | No | Kind of post, such as `clips` for a Reel or `feed` for a standard post. | |||
| data.posts[].shortcode | string | No | DND9TiOx10C | Short code from the post URL. Use it as `post_id` with the post endpoint. | ||
| data.posts[].taken_at | string | No | 2025-08-07T17:16:14Z | |||
| data.posts[].video_url | string | No | URL of the post's video. Present only for video posts. | |||
| data.posts[].view_count | integer | No | 25023 | counters become pointers so they vanish when nil | ||
| data.posts[].width | integer | No | 750 | Width of the post media, in pixels. | ||
| data.posts_count | integer | No | 2867 | Total number of posts on the profile. | ||
| data.profile_pic_url | string | No | https://scontent-lax3-1.cdninstagram.com/v/t51.2885-19/…n.jpg | URL of the profile picture. | ||
| data.related_profiles | array | No | Accounts Instagram suggests as related to this profile. | |||
| data.related_profiles[].full_name | string | No | Gmail | Display name of the suggested account. | ||
| data.related_profiles[].id | string | No | 1234567890 | Numeric Instagram user ID of the suggested account. | ||
| data.related_profiles[].is_private | boolean | No | false | Whether the suggested account is private. | ||
| data.related_profiles[].is_verified | boolean | No | true | Whether the suggested account has Instagram's verified badge. | ||
| data.related_profiles[].profile_pic_url | string | No | https://…/profile.jpg | URL of the suggested account's profile picture. | ||
| data.related_profiles[].username | string | No | gmail | Username of the suggested account. | ||
| data.username | string | No | Instagram username of the profile. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 404 | Profile not found | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/instagram/profile/google" \
-H "x-api-key: $CRAWLORA_API_KEY"