Instagram Profile Scraper avatar

Instagram Profile Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Instagram Profile Scraper

Instagram Profile Scraper

Scrape Instagram profile data and profile statistics from public Instagram pages with an Apify Actor. This actor focuses on profiles (not posts) and returns a clean dataset with the essentials (identity, stats, and account flags), plus optional previews like latest_posts, latest_igtv_videos, etc.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

Instagram Scraper

Instagram Scraper

Maintained by Community

Actor stats

4

Bookmarked

180

Total users

62

Monthly active users

3.4 hours

Issues response

14 days ago

Last modified

Share

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

This actor focuses on profiles (not posts) and returns normalized profile fields (identity, stats, and account flags), plus additional raw Instagram profile metadata when available, along with optional previews like latest_posts, latest_igtv_videos, and discovery via related_profiles.


What this actor can do

  • Scrape Instagram profile stats: followers, following, number of posts
  • Get key profile attributes: verified/private/business flags, profile pictures, bio, external links (if available)
  • Keep additional raw profile metadata from Instagram, including viewer/account capability flags and business/category fields when available
  • Return lightweight latest posts metadata (caption, engagement, publishing/status flags, and media fields when available) for quick previews
  • Return lightweight latest IGTV videos metadata (same simplified shape as latest_posts, plus video_duration when available)
  • Return a list of related profiles (useful for discovery)
  • Accept both usernames and profile URLs

Want to get other details from Instagram?

This actor is optimized for profiles (not full post feeds). If you want to scrape other Instagram data, use a dedicated scraper for that specific data type.

Related actors:

What data can I scrape from Instagram profiles?

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 & IDsid, fbid, eimu_id, username, full_nameBasic profile identifiers plus cross-system IDs returned by Instagram.
Profile media & linksprofile_pic_url, profile_pic_url_hd, biography, bio_links[], external_url, external_url_linkshimmed, fb_profile_biolinkProfile pictures, bio text, direct links, and Instagram link-wrapper URLs when present.
Counts & activityfollowers, following, post_count, igtv_video_count, highlight_reel_count, pinned_channels_list_countHigh-level counts for analysis, monitoring, and profile summaries.
Category & business metadatacategory_name, category_enum, business_category_name, overall_category_name, business_contact_method, business_email, business_phone_number, business_address_jsonPublic business/category fields when Instagram exposes them.
Account flags & capabilitiesis_verified, is_verified_by_mv4b, is_private, is_business_account, is_professional_account, has_clips, has_guides, has_channel, has_ar_effects, has_onboarded_to_text_post_app, is_embeds_disabled, is_joined_recently, hide_like_and_view_counts, country_blockVisibility, verification, and feature flags that describe how the account behaves on Instagram.
Viewer relationship flagsfollowed_by_viewer, follows_viewer, requested_by_viewer, has_requested_viewer, blocked_by_viewer, has_blocked_viewer, restricted_by_viewerRelationship fields included in the Instagram profile payload.
Safety & transparencyis_supervision_enabled, is_guardian_of_viewer, is_supervised_by_viewer, is_supervised_user, is_regulated_c18, should_show_category, should_show_public_contacts, show_account_transparency_details, show_text_post_app_badge, transparency_label, transparency_productAdditional moderation, supervision, and display metadata from Instagram.
Additional raw metadataai_agent_owner_username, ai_agent_typeExtra pass-through fields when Instagram includes them.
Latest posts (preview)latest_posts[]Lightweight metadata for recent posts: id, shortcode, taken_at_timestamp, human-readable taken_at, is_video, display_url, dimensions, caption, hashtags, mentions, like_count, comment_count, owner, tagged_user, plus media/status fields like video_url, video_view_count, video_duration, has_audio, clips_music_attribution_info, is_published, location, has_upcoming_event, comments_disabled, like_and_view_counts_disabled, viewer_can_reshare, coauthor_producers, pinned_for_users, and product_type when available.
Latest IGTV (preview)latest_igtv_videos[]Lightweight metadata for recent IGTV videos with the same preview fields as latest_posts[], including both taken_at_timestamp and human-readable taken_at.
Related profilesrelated_profiles[]Suggested/related accounts: id, username, full_name, is_private, is_verified, profile_pic_url.
Scrape metadatacrawled_at, ig_statusTimestamp of the scrape and a simple status indicator. ig_status is ok when profile data is returned, and not_found when the profile does not exist or is restricted.

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, post_count), while others are passed through from Instagram's profile payload.
  • Raw Instagram metadata can change over time, so downstream consumers should treat optional fields as non-guaranteed.
  • To keep output small and fast, arrays like latest_posts, latest_igtv_videos, and related_profiles are truncated.

Typical use cases

  • Influencer discovery and enrichment (profile stats, verification, business account)
  • Competitor monitoring (track follower growth over time)
  • Lead enrichment for sales/marketing (public business profiles)
  • Content research (quick look at latest post captions/engagement)

Input

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

instagramUsernames (required)

A list of Instagram usernames or profile URLs you want to scrape.

Examples:

  • google
  • https://www.instagram.com/google/

Quick start (Apify Console)

  1. Add one or more values to instagramUsernames (either usernames like nypost or URLs like https://www.instagram.com/google/).
  2. Adjust retries only if you hit temporary errors.
  3. Click Run → open the Dataset tab to view/export results (JSON, CSV, Excel, etc.).

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


Example output

Example dataset item when a profile is found. This sample is abridged only for long URLs and array length, but includes the top-level field set from a real dataset item. Arrays are intentionally truncated to keep outputs small and fast (defaults: latest_posts12, latest_igtv_videos12, related_profiles20).

{
"id": "1067259270",
"fbid": "17841401778116675",
"eimu_id": "101735994563732",
"username": "google",
"full_name": "Google",
"profile_pic_url": "https://.../610021954_..._n.jpg",
"profile_pic_url_hd": "https://.../610021954_..._hd.jpg",
"biography": "Here to help",
"bio_links": [
{
"title": "",
"lynx_url": "https://l.instagram.com/?u=https%3A%2F%2Flinkin.bio%2Fgoogle...",
"url": "https://linkin.bio/google",
"link_type": "external"
}
],
"fb_profile_biolink": null,
"external_url": "https://linkin.bio/google",
"external_url_linkshimmed": "https://l.instagram.com/?u=https%3A%2F%2Flinkin.bio%2Fgoogle...",
"category_name": "Internet company",
"category_enum": "INTERNET_COMPANY",
"business_category_name": "None",
"overall_category_name": null,
"business_contact_method": "UNKNOWN",
"business_email": null,
"business_phone_number": null,
"business_address_json": null,
"following": 40,
"followers": 15826557,
"post_count": 3183,
"igtv_video_count": 107,
"highlight_reel_count": 0,
"pinned_channels_list_count": 0,
"is_verified": true,
"is_verified_by_mv4b": false,
"is_private": false,
"is_business_account": true,
"is_professional_account": true,
"has_clips": true,
"has_guides": false,
"has_channel": false,
"has_ar_effects": false,
"has_onboarded_to_text_post_app": true,
"is_embeds_disabled": false,
"is_joined_recently": false,
"hide_like_and_view_counts": false,
"country_block": false,
"followed_by_viewer": false,
"follows_viewer": false,
"requested_by_viewer": false,
"has_requested_viewer": false,
"blocked_by_viewer": false,
"has_blocked_viewer": false,
"restricted_by_viewer": null,
"is_supervision_enabled": false,
"is_guardian_of_viewer": false,
"is_supervised_by_viewer": false,
"is_supervised_user": false,
"is_regulated_c18": false,
"should_show_category": true,
"should_show_public_contacts": false,
"show_account_transparency_details": true,
"show_text_post_app_badge": true,
"transparency_label": null,
"transparency_product": null,
"ai_agent_owner_username": null,
"ai_agent_type": null,
"latest_posts": [
{
"id": "3880173376925319525",
"shortcode": "DXZJSDWj8Fl",
"taken_at_timestamp": 1776772804,
"taken_at": "2026-04-21T12:00:04Z",
"is_video": true,
"display_url": "https://.../670922807_..._n.jpg",
"video_view_count": 310344,
"video_url": "https://.../video.mp4",
"has_audio": true,
"clips_music_attribution_info": {
"artist_name": "sfgate",
"song_name": "Original audio",
"uses_original_audio": true,
"should_mute_audio": false,
"should_mute_audio_reason": "",
"audio_id": "35605659979019192"
},
"is_published": true,
"location": {
"id": "213385402",
"name": "New York, New York"
},
"has_upcoming_event": false,
"comments_disabled": false,
"like_and_view_counts_disabled": false,
"viewer_can_reshare": true,
"coauthor_producers": [],
"pinned_for_users": [],
"product_type": "clips",
"dimensions": {
"height": 1920,
"width": 1080
},
"caption": "Virtually trying on outfits with Google? That's actually groundbreaking. #sponsored",
"hashtags": ["sponsored", "DevilWearsPrada2"],
"mentions": ["20thcenturystudios"],
"like_count": 34790,
"comment_count": 181,
"owner": {
"id": "52132470720",
"username": "shopwithgoogle"
},
"tagged_user": [
{
"full_name": "Google",
"followed_by_viewer": false,
"id": "1067259270",
"is_verified": true,
"profile_pic_url": "https://.../google.jpg",
"username": "google"
}
]
}
],
"latest_igtv_videos": [
{
"id": "2892596643067882496",
"shortcode": "CgkkVI8jGwA",
"taken_at_timestamp": 1659044430,
"taken_at": "2022-07-28T21:40:30Z",
"is_video": true,
"display_url": "https://.../296019923_..._n.jpg",
"dimensions": {
"height": 995,
"width": 640
},
"caption": "The votes are in! Congratulations to the five #DoodleForGoogle National Finalists...",
"hashtags": ["DoodleForGoogle"],
"mentions": [],
"like_count": 10416,
"comment_count": 132,
"video_view_count": 66765,
"video_duration": 28.733,
"video_url": "https://.../igtv.mp4",
"has_audio": true,
"clips_music_attribution_info": {
"artist_name": "amd",
"song_name": "Original audio",
"uses_original_audio": true,
"should_mute_audio": false,
"should_mute_audio_reason": "",
"audio_id": "35013907618255255"
},
"is_published": true,
"location": {
"id": "213385402",
"name": "New York, New York"
},
"has_upcoming_event": false,
"comments_disabled": false,
"like_and_view_counts_disabled": false,
"viewer_can_reshare": true,
"coauthor_producers": [],
"pinned_for_users": [],
"product_type": "igtv",
"owner": {
"id": "1067259270",
"username": "google"
},
"tagged_user": []
}
],
"related_profiles": [
{
"id": "64421231679",
"username": "datacentersatmeta",
"full_name": "Meta Data Centers",
"is_private": false,
"is_verified": true,
"profile_pic_url": "https://.../420640291_..._n.jpg"
},
{
"id": "2491086563",
"username": "surface",
"full_name": "Microsoft Surface",
"is_private": false,
"is_verified": true,
"profile_pic_url": "https://.../569809183_..._n.jpg"
}
],
"ig_status": "ok",
"crawled_at": "2026-04-21T14:17:37.585Z"
}

Example dataset item when a profile is not found:

{
"username": "11",
"ig_status": "not_found",
"message": "Profile not found or restricted",
"url": "https://www.instagram.com/11/",
"crawled_at": "2026-02-06T08:03:20.522Z"
}

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


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.