Instagram User ID Profile Scraper avatar

Instagram User ID Profile Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Instagram User ID Profile Scraper

Instagram User ID Profile Scraper

Scrape public Instagram profile data by user ID, including profile stats, bio, external links, account flags, and optional post previews.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

Instagram Scraper

Instagram Scraper

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

Share

Actor Stats

Scrape Instagram profile data and profile statistics from public Instagram pages with an Apify Actor.

This actor is optimized for profiles (not full post feeds). It returns normalized profile fields (identity, stats, account flags), keeps additional raw Instagram profile metadata when available, and can optionally enrich output with latest_posts, related_profiles, and a linked fb_profile.


What this actor does

  • Accept Instagram user IDs as input
  • Return profile identity, follower/following counts, profile flags, bio, links, and media fields
  • Keep extra raw Instagram profile metadata when it is present in the public payload
  • Optionally enrich output with latest_posts[] previews and related_profiles[]
  • Optionally scrape one linked Facebook profile into fb_profile

Before you run

  • Input must be userIds. This actor does not take Instagram usernames or profile URLs as the main input.
  • It works best for public profiles. Private or restricted profiles may return partial data or ig_status: "not_found".
  • It is focused on profiles, not full post or reel scraping. If you need complete post, reel, hashtag, or tagged-post data, use a dedicated actor.
  • skipLatestPosts and skipRelatedProfiles default to true to reduce extra requests and speed up runs.
  • post_count may be approximate because it is parsed from Instagram's public HTML og:description tag when available.

Quick start (Apify Console)

  1. Add one or more values to userIds (for example 25025320).
  2. Leave optional enrichments skipped unless you need them: skipLatestPosts: true, skipRelatedProfiles: true.
  3. Click Run and open the Dataset tab to view or export results.

Invalid or malformed user IDs are still emitted to the dataset with ig_status: "invalid_input", userId, and a reminder message ("Invalid Instagram user ID"). They omit crawled_at because they are rejected before scraping continues.

This also makes the actor usable as an Instagram profile scraping API, because datasets can be consumed programmatically via Apify's API.

Input

Configure these fields in the Actor's Input tab in the Apify Console:

userIds (required)

A list of Instagram user IDs you want to scrape. Each value must contain only digits, and the input length is not limited.

Examples:

  • 25025320
  • 17841400000000001

scrapeFacebookProfile (optional)

When enabled, the actor looks for one Facebook profile URL in this order: external_url, bio_links, fb_profile_biolink, biography, then full_name. In the current public payload model, bio_links is usually the main place where profile links are exposed.

The nested fb_profile payload includes url, status, message, bio, profile_name, page_id, followers, following, is_business_page_active, category_name, and profile_type when available.

skipLatestPosts (optional, default: true)

Skips building latest_posts[].

If latest_posts is not required for your use case, keeping this enabled helps speed up scraping.

skipPostCount (optional, default: false)

Skips building post_count from the extra profile HTML request.

If post_count is not required for your use case, enabling this helps speed up scraping.

When enabled, post_count stays null unless Instagram already returned a usable value in the main profile payload.

skipRelatedProfiles (optional, default: true)

Skips building related_profiles[].

If related_profiles is not required for your use case, keeping this enabled helps speed up scraping.

When disabled, the actor returns the full related_profiles list Instagram exposes.

Example input

{
"userIds": ["25025320"],
"scrapeFacebookProfile": true,
"skipPostCount": false,
"skipLatestPosts": false,
"skipRelatedProfiles": false
}

Example output

Example dataset item when a profile is found. This sample is abridged from a real dataset item generated with skipLatestPosts: false and skipRelatedProfiles: false.

{
"pk": "6590609",
"id": "6590609",
"username": "kevinhart4real",
"full_name": "Kevin Hart",
"profile_pic_url": "https://scontent-ord5-1.cdninstagram.com/v/t51.2885-19/14515783_1158525867560668_3834942711954145280_a.jpg?...",
"profile_pic_url_hd": "https://scontent-ord5-1.cdninstagram.com/v/t51.2885-19/14515783_1158525867560668_3834942711954145280_a.jpg?...",
"biography": "Live Love & Laugh!!! Facebook.com/HartKevin Twitter: Kevinhart4real...",
"contact_email": null,
"external_url": "https://www.kevinhartnation.com/",
"external_url_linkshimmed": "https://l.instagram.com/?u=https%3A%2F%2Fwww.kevinhartnation.com%2F...",
"bio_links": [
{
"image_url": "",
"is_pinned": false,
"link_type": "external",
"lynx_url": "https://l.instagram.com/?u=https%3A%2F%2Fwww.kevinhartnation.com%2F...",
"media_accent_color_hex": "",
"media_type": "none",
"title": "",
"url": "https://www.kevinhartnation.com/",
"creation_source": "NONE"
}
],
"followers": 172275843,
"following": 1287,
"post_count": 2122,
"is_private": false,
"is_verified": true,
"text_post_app_badge_label": "kevinhart4real",
"show_text_post_app_badge": true,
"has_any_clips": true,
"is_business": false,
"is_professional_account": null,
"category": "Comedian",
"should_show_category": true,
"fb_profile": {
"url": "https://www.facebook.com/HartKevin/",
"status": "ok",
"message": null,
"bio": "Join me for Hartbeat Weekend July 6 - 8th at Resorts World Las Vegas",
"profile_name": "Kevin Hart",
"page_id": "100044176822324",
"followers": 35000000,
"following": 36,
"category_name": "Comedian",
"is_business_page_active": false,
"profile_type": "Page"
},
"latest_posts": [
{
"code": "DbElWiWj0a8",
"pk": "3946443449918506684",
"id": "3946443449918506684_6590609",
"ad_id": null,
"boosted_status": null,
"boost_unavailable_identifier": null,
"boost_unavailable_reason": null,
"caption": "Fly Shit….. 72hrs drops on @Netflix this Friday the 24th…. Mark ya calendars damn it!!!!!!!! Let’s gooooooooooooo",
"caption_is_edited": false,
"feed_demotion_control": null,
"feed_recs_demotion_control": null,
"inventory_source": null,
"video_versions": null,
"is_dash_eligible": null,
"number_of_qualities": null,
"image_versions2": {
"candidates": [
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1560,
"width": 1170
},
{
"url": "https://scontent-atl3-1.cdninst...",
"width": 828
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1440,
"width": 1080
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 960,
"width": 720
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 853,
"width": 640
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 640,
"width": 480
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 427,
"width": 320
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 320,
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1080,
"width": 1080
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 750,
"width": 750
},
{
"url": "https://scontent-atl3-1.cdninst...",
"width": 640
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 480,
"width": 480
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 320,
"width": 320
},
{
"url": "https://scontent-atl3-1.cdninst...",
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 150,
"width": 150
}
]
},
"sharing_friction_info": {
"bloks_app_url": null,
"should_have_sharing_friction": false
},
"is_paid_partnership": false,
"sponsor_tags": null,
"affiliate_info": null,
"original_height": 4096,
"original_width": 3072,
"organic_tracking_token": "eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjp0cnVlLCJ1dWlkIjoiZGU0YzA2MDExYjU4NGQ0NzgwZGVhYTAxNzk3OTI4NTUzOTQ2NDQzNDQ5OTE4NTA2Njg0In0sInNpZ25hdHVyZSI6IiJ9",
"link": null,
"story_cta": null,
"user": {
"pk": "6590609",
"profile_pic_url": "https://scontent-atl3-3.cdninst...",
"username": "kevinhart4real",
"is_private": false,
"is_embeds_disabled": false,
"is_unpublished": false,
"is_verified": true,
"friendship_status": null,
"latest_besties_reel_media": null,
"latest_reel_media": null,
"live_broadcast_visibility": null,
"live_broadcast_id": null,
"show_account_transparency_details": true,
"transparency_product": null,
"transparency_product_enabled": false,
"transparency_label": null,
"ai_agent_owner_username": null,
"id": "6590609",
"aigm_account_label_info": null,
"hd_profile_pic_url_info": {
"url": "https://scontent-atl3-1.cdninst..."
},
"full_name": "Kevin Hart"
},
"group": null,
"coauthor_producers": [],
"invited_coauthor_producers": [],
"follow_hashtag_info": null,
"title": null,
"comment_count": 428,
"comments_disabled": null,
"commenting_disabled_for_viewer": null,
"like_and_view_counts_disabled": false,
"has_liked": false,
"top_likers": null,
"facepile_top_likers": null,
"like_count": 27095,
"preview": null,
"can_see_insights_as_brand": false,
"social_context": null,
"view_count": null,
"can_reshare": null,
"can_viewer_reshare": true,
"ig_media_sharing_disabled": false,
"photo_of_you": false,
"product_type": "carousel_container",
"media_type": 8,
"media_overlay_info": null,
"carousel_parent_id": null,
"carousel_media_count": 8,
"carousel_media": [
{
"id": "3946442671416902182_6590609",
"pk": "3946442671416902182",
"accessibility_caption": null,
"is_dash_eligible": null,
"media_type": 1,
"original_height": 4096,
"original_width": 3072,
"inventory_source": null,
"caption": null,
"user": null,
"image_versions2": {
"candidates": [
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 240,
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 150,
"width": 150
}
]
},
"carousel_parent_id": "3946443449918506684_6590609",
"sharing_friction_info": {
"bloks_app_url": null,
"should_have_sharing_friction": false
},
"preview": null,
"organic_tracking_token": null,
"saved_collection_ids": null,
"has_viewer_saved": null,
"video_versions": null,
"media_overlay_info": null,
"code": null,
"display_uri": "https://scontent-atl3-3.cdninst...",
"number_of_qualities": null,
"product_type": "carousel_item",
"carousel_media": null,
"taken_at": 1784672740,
"previous_submitter": null,
"link": null,
"story_cta": null,
"has_liked": null,
"like_count": null,
"logging_info_token": null,
"has_audio": null,
"clips_metadata": null,
"tagged_user": []
},
{
"id": "3946442683177624616_6590609",
"pk": "3946442683177624616",
"accessibility_caption": null,
"is_dash_eligible": null,
"media_type": 1,
"original_height": 4096,
"original_width": 3072,
"inventory_source": null,
"caption": null,
"user": null,
"image_versions2": {
"candidates": [
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 150,
"width": 150
}
]
},
"carousel_parent_id": "3946443449918506684_6590609",
"sharing_friction_info": {
"bloks_app_url": null,
"should_have_sharing_friction": false
},
"preview": null,
"organic_tracking_token": null,
"saved_collection_ids": null,
"has_viewer_saved": null,
"video_versions": null,
"media_overlay_info": null,
"code": null,
"display_uri": "https://scontent-atl3-1.cdninst...",
"number_of_qualities": null,
"product_type": "carousel_item",
"carousel_media": null,
"taken_at": 1784672740,
"previous_submitter": null,
"link": null,
"story_cta": null,
"has_liked": null,
"like_count": null,
"logging_info_token": null,
"has_audio": null,
"clips_metadata": null,
"tagged_user": []
},
{
"id": "3946442692849693694_6590609",
"pk": "3946442692849693694",
"accessibility_caption": null,
"is_dash_eligible": null,
"media_type": 1,
"original_height": 4096,
"original_width": 3072,
"inventory_source": null,
"caption": null,
"user": null,
"image_versions2": {
"candidates": [
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 240,
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 150,
"width": 150
}
]
},
"carousel_parent_id": "3946443449918506684_6590609",
"sharing_friction_info": {
"bloks_app_url": null,
"should_have_sharing_friction": false
},
"preview": null,
"organic_tracking_token": null,
"saved_collection_ids": null,
"has_viewer_saved": null,
"video_versions": null,
"media_overlay_info": null,
"code": null,
"display_uri": "https://scontent-atl3-3.cdninst...",
"number_of_qualities": null,
"product_type": "carousel_item",
"carousel_media": null,
"taken_at": 1784672740,
"previous_submitter": null,
"link": null,
"story_cta": null,
"has_liked": null,
"like_count": null,
"logging_info_token": null,
"has_audio": null,
"clips_metadata": null,
"tagged_user": []
},
{
"id": "3946442704258193198_6590609",
"pk": "3946442704258193198",
"accessibility_caption": null,
"is_dash_eligible": null,
"media_type": 1,
"original_height": 4096,
"original_width": 3072,
"inventory_source": null,
"caption": null,
"user": null,
"image_versions2": {
"candidates": [
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 320,
"width": 320
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 240,
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 150,
"width": 150
}
]
},
"carousel_parent_id": "3946443449918506684_6590609",
"sharing_friction_info": {
"bloks_app_url": null,
"should_have_sharing_friction": false
},
"preview": null,
"organic_tracking_token": null,
"saved_collection_ids": null,
"has_viewer_saved": null,
"video_versions": null,
"media_overlay_info": null,
"code": null,
"display_uri": "https://scontent-atl3-3.cdninst...",
"number_of_qualities": null,
"product_type": "carousel_item",
"carousel_media": null,
"taken_at": 1784672740,
"previous_submitter": null,
"link": null,
"story_cta": null,
"has_liked": null,
"like_count": null,
"logging_info_token": null,
"has_audio": null,
"clips_metadata": null,
"tagged_user": []
},
{
"id": "3946442711959043699_6590609",
"pk": "3946442711959043699",
"accessibility_caption": null,
"is_dash_eligible": null,
"media_type": 1,
"original_height": 4096,
"original_width": 3072,
"inventory_source": null,
"caption": null,
"user": null,
"image_versions2": {
"candidates": [
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 240,
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 150,
"width": 150
}
]
},
"carousel_parent_id": "3946443449918506684_6590609",
"sharing_friction_info": {
"bloks_app_url": null,
"should_have_sharing_friction": false
},
"preview": null,
"organic_tracking_token": null,
"saved_collection_ids": null,
"has_viewer_saved": null,
"video_versions": null,
"media_overlay_info": null,
"code": null,
"display_uri": "https://scontent-atl3-3.cdninst...",
"number_of_qualities": null,
"product_type": "carousel_item",
"carousel_media": null,
"taken_at": 1784672740,
"previous_submitter": null,
"link": null,
"story_cta": null,
"has_liked": null,
"like_count": null,
"logging_info_token": null,
"has_audio": null,
"clips_metadata": null,
"tagged_user": []
},
{
"id": "3946442721027156466_6590609",
"pk": "3946442721027156466",
"accessibility_caption": null,
"is_dash_eligible": null,
"media_type": 1,
"original_height": 4096,
"original_width": 3072,
"inventory_source": null,
"caption": null,
"user": null,
"image_versions2": {
"candidates": [
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 150,
"width": 150
}
]
},
"carousel_parent_id": "3946443449918506684_6590609",
"sharing_friction_info": {
"bloks_app_url": null,
"should_have_sharing_friction": false
},
"preview": null,
"organic_tracking_token": null,
"saved_collection_ids": null,
"has_viewer_saved": null,
"video_versions": null,
"media_overlay_info": null,
"code": null,
"display_uri": "https://scontent-atl3-3.cdnin...",
"number_of_qualities": null,
"product_type": "carousel_item",
"carousel_media": null,
"taken_at": 1784672740,
"previous_submitter": null,
"link": null,
"story_cta": null,
"has_liked": null,
"like_count": null,
"logging_info_token": null,
"has_audio": null,
"clips_metadata": null,
"tagged_user": []
},
{
"id": "3946442726949493749_6590609",
"pk": "3946442726949493749",
"accessibility_caption": null,
"is_dash_eligible": null,
"media_type": 1,
"original_height": 4096,
"original_width": 3072,
"inventory_source": null,
"caption": null,
"user": null,
"image_versions2": {
"candidates": [
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 4096,
"width": 3072
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1720,
"width": 1290
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1572,
"width": 1179
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1712,
"width": 1284
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1560,
"width": 1170
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1104,
"width": 828
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1440,
"width": 1080
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 960,
"width": 720
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 853,
"width": 640
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 640,
"width": 480
},
{
"url": "https://scontent-atl3-1.cdninst...",
"width": 320
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 320,
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1080,
"width": 1080
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 750,
"width": 750
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 640,
"width": 640
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 480,
"width": 480
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 320,
"width": 320
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 240,
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 150,
"width": 150
}
]
},
"carousel_parent_id": "3946443449918506684_6590609",
"sharing_friction_info": {
"bloks_app_url": null,
"should_have_sharing_friction": false
},
"preview": null,
"organic_tracking_token": null,
"saved_collection_ids": null,
"has_viewer_saved": null,
"video_versions": null,
"media_overlay_info": null,
"code": null,
"display_uri": "https://scontent-atl3-3.cdnin...",
"number_of_qualities": null,
"product_type": "carousel_item",
"carousel_media": null,
"taken_at": 1784672740,
"previous_submitter": null,
"link": null,
"story_cta": null,
"has_liked": null,
"like_count": null,
"logging_info_token": null,
"has_audio": null,
"clips_metadata": null,
"tagged_user": []
},
{
"id": "3946442733006014550_6590609",
"pk": "3946442733006014550",
"accessibility_caption": null,
"is_dash_eligible": null,
"media_type": 1,
"original_height": 1421,
"original_width": 1066,
"inventory_source": null,
"caption": null,
"user": null,
"image_versions2": {
"candidates": [
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1421,
"width": 1066
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1104,
"width": 828
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 960,
"width": 720
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 853,
"width": 640
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 640,
"width": 480
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 427,
"width": 320
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 320,
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 1066,
"width": 1066
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 750,
"width": 750
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 640,
"width": 640
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 480,
"width": 480
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 320,
"width": 320
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 240,
"width": 240
},
{
"url": "https://scontent-atl3-1.cdninst...",
"height": 150,
"width": 150
}
]
},
"carousel_parent_id": "3946443449918506684_6590609",
"sharing_friction_info": {
"bloks_app_url": null,
"should_have_sharing_friction": false
},
"preview": null,
"organic_tracking_token": null,
"saved_collection_ids": null,
"has_viewer_saved": null,
"video_versions": null,
"media_overlay_info": null,
"code": null,
"display_uri": "https://scontent-atl3-3.cdn...",
"number_of_qualities": null,
"product_type": "carousel_item",
"carousel_media": null,
"taken_at": 1784672740,
"previous_submitter": null,
"link": null,
"story_cta": null,
"has_liked": null,
"like_count": null,
"logging_info_token": null,
"has_audio": null,
"clips_metadata": null,
"tagged_user": []
}
],
"location": null,
"has_audio": null,
"is_shared_from_basel": null,
"clips_metadata": null,
"clips_attribution_info": null,
"media_attributions_data": [],
"wearable_attribution_info": null,
"ai_label_info": null,
"accessibility_caption": null,
"audience": null,
"display_uri": "https://scontent-atl3-3.cdnin....",
"media_cropping_info": null,
"thumbnails": null,
"timeline_pinned_user_ids": [],
"upcoming_event": null,
"media_notes": null,
"ai_interactive_embodiment_attachment_style_info": null,
"logging_info_token": null,
"explore": null,
"main_feed_carousel_starting_media_id": null,
"is_seen": null,
"floating_context_items": null,
"open_carousel_submission_state": "closed",
"previous_submitter": null,
"all_previous_submitters": null,
"headline": null,
"hidden_likes_string_variant": -1,
"fb_like_count": null,
"crosspost_metadata": null,
"enable_media_notes_production": false,
"media_repost_count": null,
"saved_collection_ids": null,
"has_viewer_saved": null,
"owner_id": {
"pk": "6590609",
"id": "6590609"
},
"fb_comment_count": null,
"creative_config": null,
"longform_clip_metadata": null,
"link_text": null,
"tagged_user": [],
"hashtags": [],
"mentions": [
"Netflix"
],
"url": "https://www.instagram.com/p/DbElWiWj0a8/",
"taken_at_timestamp": 1784672741,
"taken_at": "2026-07-21T22:25:41Z"
},
],
"related_profiles": [
{
"id": "2745711757",
"username": "media",
"full_name": "Media",
"profile_pic_url": "https://scontent-ord5-1.cdninstagram.com/v/t51.2885-19/420640291_1413020776077435_4728172870409909077_n.jpg?...",
"is_verified": true
}
],
"ig_status": "ok",
"crawled_at": "2026-07-20T14:43:27.547Z"
}

Example dataset item when a profile is not found:

{
"id": "25025320",
"userId": "25025320",
"ig_status": "not_found",
"message": "Profile not found or restricted",
"fb_profile": null,
"crawled_at": "2026-02-06T08:03:20.522Z"
}

Here, ig_status: "not_found" means Instagram did not return profile data for that user ID because the profile does not exist or access to it is restricted.

Typical use cases

  • Influencer discovery and enrichment using profile stats, verification, and public profile metadata
  • Competitor monitoring by tracking profile fields such as followers, following, and post count over time
  • Lead enrichment for sales or marketing workflows that need public business profile details
  • Content research that only needs a quick preview of latest post captions and engagement

Key output fields

  • Identity: id, pk, username, full_name, url
  • Profile presentation: biography, profile_pic_url, profile_pic_url_hd, bio_links[], external_url
  • Counts and flags: followers, following, post_count, is_private, is_verified, is_business
  • Optional enrichments: fb_profile, latest_posts[], related_profiles[]
  • Scrape status: ig_status, crawled_at

Full output field reference

Using this Instagram Profile API, you can extract both normalized fields and additional Instagram profile metadata (when available on the public profile):

CategoryFieldsWhat you get
Identity & IDspk, id, pk_id, username, full_name, urlBasic profile identifiers returned by Instagram, plus the canonical profile URL built by the actor.
Profile media & linksprofile_pic_url, profile_pic_url_hd, profile_pic_id, has_profile_pic, profile_pic_genai_tool_info[], biography, contact_email, bio_links[], external_url, external_url_linkshimmed, pronouns[]Profile picture fields (including HD URL mapped from hd_profile_pic_url_info), profile bio text, extracted contact email, profile links, and external website fields returned by the profile page enrichment query. external_url_linkshimmed is passed through from Instagram's external_lynx_url when present. Each bio_links[] item may include fields such as image_url, is_pinned, link_type, lynx_url, media_accent_color_hex, media_type, title, url, and creation_source. profile_pic_genai_tool_info[] is a raw Instagram array and is often empty.
Facebook enrichmentfb_profileOptional Facebook profile lookup from one detected profile URL in external_url, bio_links, fb_profile_biolink, biography, or full_name when scrapeFacebookProfile is enabled. The nested payload includes url, status, message, bio, profile_type, profile_name, page_id, counts, and other status fields when available.
Counts & activityfollowers, following, post_count, total_clips_count, has_any_clips, mutual_followers_count, latest_reel_media, live_broadcast_visibility, live_broadcast_idHigh-level counts for analysis, monitoring, and profile summaries, plus activity hints exposed by Instagram. For public profiles, post_count is parsed from profile-page HTML og:description (for example, <meta property="og:description" content="42M Followers, 1,455 Following, 14K Posts - …">). Instagram abbreviates counts above ~10k in that tag (14K, 1.2M, and so on), so values are approximate rather than exact. post_count is null for private profiles (HTML enrichment is skipped) and for public profiles when the tag is missing or unparseable after retries. has_any_clips is derived from total_clips_count when available. latest_reel_media, live_broadcast_visibility, and live_broadcast_id are raw pass-through fields and are commonly null.
Account flags & capabilitiesis_private, is_verified, show_text_post_app_badge, text_post_app_badge_label, is_active_on_text_post_app, is_unpublished, is_memorialized, is_coppa_enforced, is_regulated_c18, account_type, is_business, is_professional_account, category, should_show_category, is_embeds_disabled, is_cannes, has_story_archiveVisibility, verification, account-type, audience-safety, and account-status fields from the profile page enrichment query. These fields are always emitted on found profiles, using explicit null when Instagram does not return a value (except category, which may be an empty string).
Profile context & relationship hintslinked_fb_info, profile_context_links_with_user_ids, profile_context_facepile_users, supervision_info, has_chainingExtra profile-context blocks returned by Instagram for social graph, supervision, or related-surface hints. These are pass-through fields and are often null on public profile pages.
Business & locationaddress_street, city_name, zipOptional business/contact location metadata when Instagram exposes it on the public profile. These fields are usually null for non-business accounts.
Transparency & badgesaccount_badges[], show_account_transparency_details, transparency_label, transparency_product, hide_creator_marketplace_badge, is_ring_creator, show_ring_awardTransparency, badge, and creator-surface metadata exposed by Instagram. These are stable pass-through fields when present; arrays such as account_badges[] are emitted as [] when empty.
Latest postslatest_posts[]Raw latest-post node items from Instagram's current posts response, with only a small set of output-oriented cleanup: caption is flattened to caption.text, hashtags and mentions are derived from that caption text, taken_at is exposed as the original timestamp via taken_at_timestamp, and the human-readable ISO time is emitted as taken_at. The actor also adds url and video_duration when they can be determined from the raw payload. Other nested structures such as user, carousel_media, clips_metadata, coauthor_producers, timeline_pinned_user_ids, and video_versions are preserved when Instagram returns them.
Related profilesrelated_profiles[]Suggested accounts from the Accounts you might like enrichment: id, username, full_name, is_verified, profile_pic_url. When enabled, the actor returns the full related-profiles list Instagram exposes for that profile. On final enrichment failure, the actor emits [] and logs a warning instead of failing the whole profile.
Scrape metadatacrawled_at, ig_statusTimestamp of the scrape and a simple status indicator. ig_status is ok when profile data is returned, not_found when the profile does not exist or is restricted, and invalid_input when an input user ID is rejected before scraping starts.

Notes:

  • Field availability depends on what Instagram returns for a given profile, especially for private accounts.
  • Some fields are normalized by the actor (followers, following), while other raw Instagram profile fields may still be passed through when present.
  • Raw Instagram metadata can change over time, so downstream consumers should treat optional fields as non-guaranteed.
  • post_count is parsed from the public profile page HTML og:description meta tag. Instagram abbreviates counts above ~10k in that tag (for example, 14K Posts instead of an exact number), so values should be treated as approximate. post_count is emitted as null when: (1) the profile is private because profile HTML enrichment is skipped, or (2) the profile is public but the tag is missing or unparseable after retries.
  • contact_email is extracted from biography or full_name when an email address is present on a found profile, and is null otherwise.
  • fb_profile is null when the toggle is disabled or no Facebook profile URL is found. If a Facebook lookup fails after retries, the actor returns fb_profile.status = "error" or fb_profile.status = "not_found" instead of throwing. Successful fb_profile payloads include bio instead of the older intro name.
  • latest_posts[] is intentionally not normalized into a compatibility schema. Downstream consumers should treat it as the current raw latest-post node shape, aside from the flattened caption, the added hashtags and mentions, the taken_at_timestamp plus human-readable taken_at pairing, and the added url and video_duration convenience fields.
  • The actor currently requests 10 latest posts for paying users and 5 latest posts for non-paying users when latest-post enrichment is enabled.

Want to get other details from Instagram?

This actor is optimized for profiles. If you want to scrape other Instagram data types, use a dedicated scraper for that job.

Related actors from the instagram-scraper:

ActorDescriptionStats
Instagram Profile ScraperScrape Instagram profile data from usernames, profile URLs, or search-based inputsInstagram Profile Scraper Actor Stats
Fast Instagram Profile Posts ScraperScrape post data from Instagram profile pagesFast Instagram Profile Posts Scraper Actor Stats
Instagram Profile Posts ScraperExtract profile post details such as hashtags, counts, media, and shortcodeInstagram Profile Posts Scraper Actor Stats
Fast Instagram Profile Reels ScraperScrape public Instagram Reels from profile pagesFast Instagram Profile Reels Scraper Actor Stats
Instagram Tagged Posts ScraperScrape posts from the profile Tagged tabInstagram Tagged Posts Scraper Actor Stats
Instagram Hashtags Posts ScraperScrape public Instagram hashtag pagesInstagram Hashtags Posts Scraper Actor Stats
Instagram Related Profiles ScraperDiscover related accounts and recursively expand profile networksInstagram Related Profiles Scraper Actor Stats

Tips & troubleshooting

Don’t overload the actor. If you need to scrape large lists, split inputs into batches.


You are responsible for ensuring your use of this actor complies with:

  • Instagram’s Terms of Service
  • Applicable laws and regulations (privacy, data protection, etc.)

Only scrape data you have the right to access, and avoid collecting personal data without a lawful basis.