Instagram User ID Profile Scraper
Pricing
from $0.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
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 andrelated_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.
skipLatestPostsandskipRelatedProfilesdefault totrueto reduce extra requests and speed up runs.post_countmay be approximate because it is parsed from Instagram's public HTMLog:descriptiontag when available.
Quick start (Apify Console)
- Add one or more values to
userIds(for example25025320). - Leave optional enrichments skipped unless you need them:
skipLatestPosts: true,skipRelatedProfiles: true. - 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:
2502532017841400000000001
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):
| Category | Fields | What you get |
|---|---|---|
| Identity & IDs | pk, id, pk_id, username, full_name, url | Basic profile identifiers returned by Instagram, plus the canonical profile URL built by the actor. |
| Profile media & links | profile_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 enrichment | fb_profile | Optional 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 & activity | followers, following, post_count, total_clips_count, has_any_clips, mutual_followers_count, latest_reel_media, live_broadcast_visibility, live_broadcast_id | High-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 & capabilities | is_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_archive | Visibility, 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 hints | linked_fb_info, profile_context_links_with_user_ids, profile_context_facepile_users, supervision_info, has_chaining | Extra 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 & location | address_street, city_name, zip | Optional business/contact location metadata when Instagram exposes it on the public profile. These fields are usually null for non-business accounts. |
| Transparency & badges | account_badges[], show_account_transparency_details, transparency_label, transparency_product, hide_creator_marketplace_badge, is_ring_creator, show_ring_award | Transparency, 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 posts | latest_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 profiles | related_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 metadata | crawled_at, ig_status | Timestamp 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_countis parsed from the public profile page HTMLog:descriptionmeta tag. Instagram abbreviates counts above ~10k in that tag (for example,14K Postsinstead of an exact number), so values should be treated as approximate.post_countis emitted asnullwhen: (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_emailis extracted frombiographyorfull_namewhen an email address is present on a found profile, and isnullotherwise.fb_profileisnullwhen the toggle is disabled or no Facebook profile URL is found. If a Facebook lookup fails after retries, the actor returnsfb_profile.status = "error"orfb_profile.status = "not_found"instead of throwing. Successfulfb_profilepayloads includebioinstead of the olderintroname.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 flattenedcaption, the addedhashtagsandmentions, thetaken_at_timestampplus human-readabletaken_atpairing, and the addedurlandvideo_durationconvenience 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:
| Actor | Description | Stats |
|---|---|---|
| Instagram Profile Scraper | Scrape Instagram profile data from usernames, profile URLs, or search-based inputs | |
| Fast Instagram Profile Posts Scraper | Scrape post data from Instagram profile pages | |
| Instagram Profile Posts Scraper | Extract profile post details such as hashtags, counts, media, and shortcode | |
| Fast Instagram Profile Reels Scraper | Scrape public Instagram Reels from profile pages | |
| Instagram Tagged Posts Scraper | Scrape posts from the profile Tagged tab | |
| Instagram Hashtags Posts Scraper | Scrape public Instagram hashtag pages | |
| Instagram Related Profiles Scraper | Discover related accounts and recursively expand profile networks |
Tips & troubleshooting
Don’t overload the actor. If you need to scrape large lists, split inputs into batches.
Legal & ethical notice
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.