Instagram Profile/Posts/Reels Downlaoder & Monitoring mode avatar

Instagram Profile/Posts/Reels Downlaoder & Monitoring mode

Pricing

$16.00/month + usage

Go to Apify Store
Instagram Profile/Posts/Reels Downlaoder & Monitoring mode

Instagram Profile/Posts/Reels Downlaoder & Monitoring mode

Elevate your Instagram game with data-driven decisions. Our Profile Scraper delivers the in-depth information you need, from user stats to post performance, powering your social media mastery.

Pricing

$16.00/month + usage

Rating

5.0

(9)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

7

Bookmarked

231

Total users

7

Monthly active users

2 days ago

Last modified

Categories

Share

Instagram Metrics & Profile Scraper — Posts, Reels, Comments

Track Instagram post performance and extract profile data without a login, account, or cookies. Start from profile URLs or exact post/reel URLs and get likes, comments, views, plays, publish dates, full post objects, comment threads, and downloadable media — as JSON or CSV.

Metrics mode turns any run into an engagement tracker: one flat, analytics-ready row per post with a postStatus flag, so a scheduled run on the same URLs becomes a post-performance monitor that also detects removed or private posts.

Overview

This actor serves three jobs from one input box:

  1. Engagement metrics / monitoring (metricsMode) — flat rows: likes, comments, views, plays, publishedAt, mediaType, username, followers, postStatus, checkedAt. Built for dashboards, spreadsheets, and scheduled tracking.
  2. Profile & posts scraping — full profile info (follower/following/post counts included) plus rich post objects with media URLs, captions, locations, collaborators.
  3. Comments — cookieless top-level comments with pagination, attached per post or as flat rows.

It's built for social media managers, agencies, researchers, and brand teams who need Instagram data without risking an account.

Features

  • Metrics mode: one analytics-ready row per post — likes, comments, views, plays, publish date, counts-hidden flag, post status.
  • Post status detection: removed / private / restricted posts come back as labeled status rows (postStatus: unavailable) instead of disappearing — and are never billed.
  • Monitoring mode: only new posts compared to previous runs — ideal for scheduled tracking.
  • Profile details: comprehensive user info including follower, following, and post counts.
  • All posts scraping: paginate any profile's posts with maxItems control.
  • Direct post/reel URLs: scrape exact posts, their comments, and media.
  • Comments: cookieless top-level comments with full pagination.
  • Media & audio downloads: store images/videos in the Key-Value Store, extract reel audio to MP3.
  • No login, no cookies: reads only the public Instagram surface — no account at risk.
  • Proxy support & concurrency control for reliability at scale.

How to Use

  1. Set Up: Ensure you have an Apify account and access to the Apify platform.
  2. Configure Input: Set the Instagram profile URL(s) or username(s) you want to scrape (see Input Configuration section).
  3. Adjust Settings: Configure options like including posts, concurrency, and proxy settings as needed.
  4. Run the Scraper: Execute the scraper on the Apify platform.
  5. Data Collection: The scraper will output detailed data about the specified Instagram profile(s).

Input Configuration

Here's an example of how to set up the input for the Apify Instagram Profile Scraper:

{
"startUrls": [
{
"url": "https://www.instagram.com/9gag/"
}
],
"includePosts": true,
"maxItems": 100,
"maxConcurrency": 10,
"minConcurrency": 1,
"maxRequestRetries": 100,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Metrics mode — Instagram engagement tracking

Set "metricsMode": true and every post becomes ONE flat row, ready for a spreadsheet or dashboard:

{
"postId": "3771014631525413561",
"shortcode": "DaX_K4yxa65",
"postUrl": "https://www.instagram.com/p/DaX_K4yxa65/",
"mediaType": "photo",
"publishedAt": "2026-07-04T14:47:06.000Z",
"username": "zuck",
"followers": 16951916,
"likes": 158148,
"comments": 2510,
"views": null,
"plays": null,
"countsHidden": false,
"isPaidPartnership": null,
"collaborators": [],
"postStatus": "active",
"checkedAt": "2026-07-08T05:39:41.000Z"
}

Reels carry views/plays; photo posts leave them null (never 0-filled, so you can tell "zero" from "hidden"). A removed or private post returns a status row instead:

{
"shortcode": "C0000000000",
"postStatus": "unavailable",
"statusReason": "removed-private-or-restricted",
"checkedAt": "2026-07-08T05:39:41.000Z"
}

Status rows are never billed. Typical setups:

  • Track your own posts: paste post/reel URLs, schedule daily → likes/views growth over time.
  • Competitor benchmarking: paste competitor profile URLs → recent-post engagement side by side.
  • Content audits: combine with monitoringMode so each scheduled run only returns new posts.

Input Fields Explanation

  • startUrls: Array containing Instagram profile URLs or usernames to scrape.
  • includePosts: Boolean to determine whether to scrape detailed post data (default: true).
  • metricsMode: Boolean — output one flat analytics row per post (see Metrics mode above). Implies includePosts (default: false).
  • monitoringMode: Boolean — only return posts that are new since the previous run (default: false).
  • maxItems: Maximum number of posts to scrape from each profile. Set this to control how many posts you want to extract. Leave empty or set to 0 to scrape all available posts from the profile.
  • maxConcurrency: Maximum number of pages processed simultaneously (default: 10).
  • minConcurrency: Minimum number of pages processed simultaneously (default: 1).
  • maxRequestRetries: Number of retries for failed requests (default: 100).
  • proxyConfiguration: Proxy settings for enhanced scraping reliability.

Main Profile Output Structure

The scraper provides comprehensive information about the Instagram profile. Here's a detailed breakdown of the main profile data structure:

{
"username": "9gag",
"ai_agent_type": null,
"biography": "Building @memeland, one meme at a time.",
"bio_links": [],
"fb_profile_biolink": null,
"biography_with_entities": {
"raw_text": "Building @memeland, one meme at a time.",
"entities": [
{
"user": {
"username": "memeland"
},
"hashtag": null
}
]
},
"blocked_by_viewer": false,
"restricted_by_viewer": null,
"country_block": false,
"eimu_id": "113920296666051",
"external_url": null,
"external_url_linkshimmed": null,
"fbid": "17841400624184050",
"followed_by_viewer": false,
"follows_viewer": false,
"full_name": "9GAG: Go Fun The World",
"group_metadata": null,
"has_ar_effects": false,
"has_clips": true,
"has_guides": false,
"has_channel": false,
"has_blocked_viewer": false,
"highlight_reel_count": 189,
"has_requested_viewer": false,
"hide_like_and_view_counts": false,
"id": "259220806",
"is_business_account": false,
"is_professional_account": true,
"is_supervision_enabled": false,
"is_guardian_of_viewer": false,
"is_supervised_by_viewer": false,
"is_supervised_user": false,
"is_embeds_disabled": false,
"is_joined_recently": false,
"guardian_id": null,
"business_address_json": null,
"business_contact_method": "UNKNOWN",
"business_email": null,
"business_phone_number": null,
"business_category_name": null,
"overall_category_name": null,
"category_enum": null,
"category_name": "Community",
"is_private": false,
"is_verified": true,
"is_verified_by_mv4b": false,
"is_regulated_c18": false,
"pinned_channels_list_count": 0,
"profile_pic_url": "https://scontent-hel3-1.cdninstagram.com/v/t51.2885-19/370567515_318435303994381_993276187258308098_n.jpg?stp=dst-jpg_e0_s150x150&_nc_ht=scontent-hel3-1.cdninstagram.com&_nc_cat=1&_nc_ohc=UvA15REi1WAQ7kNvgGJXobM&_nc_gid=e9c28cbb6f984a63bf68b31e55da67c4&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AYB816_klJQh6N6LYFqgS-CWgFqtD7HZTWiSbPXhqSaVcA&oe=670583BC&_nc_sid=8b3546",
"profile_pic_url_hd": "https://scontent-hel3-1.cdninstagram.com/v/t51.2885-19/370567515_318435303994381_993276187258308098_n.jpg?stp=dst-jpg_s320x320&_nc_ht=scontent-hel3-1.cdninstagram.com&_nc_cat=1&_nc_ohc=UvA15REi1WAQ7kNvgGJXobM&_nc_gid=e9c28cbb6f984a63bf68b31e55da67c4&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AYDenYKJnX60IiaweO1g4X4UtrRCgexfJSWBdoicx03jBQ&oe=670583BC&_nc_sid=8b3546",
"requested_by_viewer": false,
"should_show_category": false,
"should_show_public_contacts": false,
"show_account_transparency_details": true,
"transparency_label": null,
"transparency_product": null,
"connected_fb_page": null,
"pronouns": []
}

Detailed Field Explanations

  • username: The account's unique username on Instagram.
  • biography: The user's bio text as displayed on their profile.
  • biography_with_entities: Parsed version of the bio, including any mentions or hashtags.
    • raw_text: The unprocessed bio text.
    • entities: Array of parsed entities (e.g., mentioned users, hashtags) in the bio.
  • bio_links: Array of links included in the user's bio (empty in this example).
  • fb_profile_biolink: Facebook profile link, if connected (null in this example).
  • blocked_by_viewer, restricted_by_viewer: Indicates the viewer's relationship to the account.
  • country_block: Whether the account is blocked in certain countries.
  • eimu_id, fbid: Unique identifiers associated with the account.
  • external_url, external_url_linkshimmed: Website link in the profile, if any.
  • followed_by_viewer, follows_viewer: Indicates the viewer's follow relationship with the account.
  • full_name: The account's displayed full name.
  • has_ar_effects, has_clips, has_guides, has_channel: Flags for various Instagram features.
  • highlight_reel_count: Number of story highlights.
  • id: Instagram's internal ID for the account.
  • is_business_account, is_professional_account: Account type indicators.
  • is_private: Whether the account is set to private.
  • is_verified: Whether the account is verified by Instagram.
  • category_name: The category of the account (e.g., "Community").
  • profile_pic_url, profile_pic_url_hd: URLs for the profile picture in different resolutions.
  • show_account_transparency_details: Whether the account shows additional transparency information.
  • pronouns: Array of pronouns specified by the user (empty in this example).

Business Account Specific Fields

(These fields may be null for non-business accounts)

  • business_address_json: JSON string of the business address.
  • business_contact_method: Preferred contact method for the business.
  • business_email, business_phone_number: Contact information for the business.
  • business_category_name, overall_category_name: Categorization of the business account.

Privacy and Interaction Fields

  • hide_like_and_view_counts: Whether the account hides like and view counts.
  • is_supervised_user, is_supervision_enabled, is_guardian_of_viewer, is_supervised_by_viewer: Related to Instagram's supervision features for younger users.
  • requested_by_viewer: Whether the viewer has sent a follow request to this account.

This comprehensive profile data structure provides a detailed view of an Instagram account, including its characteristics, features, and relationship to the viewer. It's particularly useful for analyzing account types, engagement potential, and overall Instagram presence.

Post with Main Profile Together Output Structure

When includePosts is set to true, the scraper will also collect detailed information about the profile's posts. Here's a sample of the structure for an individual post:

{
"__typename": "GraphVideo",
"id": "3748296242573145113",
"shortcode": "DQEn5LDgPQZ",
"dimensions": {
"height": 1920,
"width": 1080
},
"display_url": "https://instagram.fmbj2-2.fna.fbcdn.net/v/t51.2885-15/568358232_18540478177058217_67679624614988165_n.jpg?stp=dst-jpg_e15_fr_p1080x1080_tt6&_nc_ht=instagram.fmbj2-2.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QFTTyi6-UsZBNkLlZjhEY0BCQNO2ay71jZhoxWi-e0K6ttEh0ae3UzLDYIpviUVcJ8&_nc_ohc=V2Qpw2lF1wQQ7kNvwFo6vvr&_nc_gid=WA1gTtjcWuEk2WtR8ZiFnw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_Afd3f6OV7HPND-pf7U_HZwSK2CoZdEf74JTNKYRPj2huPA&oe=690313D5&_nc_sid=8b3546",
"edge_media_to_tagged_user": {
"edges": [
{
"node": {
"user": {
"full_name": "diplo",
"followed_by_viewer": false,
"id": "189802609",
"is_verified": true,
"profile_pic_url": "https://instagram.fmbj2-2.fna.fbcdn.net/v/t51.2885-19/324554496_6396636753683260_2712260982506909472_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby41MzUuYzIifQ&_nc_ht=instagram.fmbj2-2.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QFTTyi6-UsZBNkLlZjhEY0BCQNO2ay71jZhoxWi-e0K6ttEh0ae3UzLDYIpviUVcJ8&_nc_ohc=7Trx1E6LIrAQ7kNvwH4CRQH&_nc_gid=WA1gTtjcWuEk2WtR8ZiFnw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AffmpwxNg3HxzJd9Iq7tHjX-RSWxLvSDitGvSX_yytnfwQ&oe=69031469&_nc_sid=8b3546",
"username": "diplo"
},
"x": 0.0653594807,
"y": 0.016339870200000002
}
},
{
"node": {
"user": {
"full_name": "Gaurav Chaudhary",
"followed_by_viewer": false,
"id": "2253683205",
"is_verified": true,
"profile_pic_url": "https://instagram.fmbj2-2.fna.fbcdn.net/v/t51.2885-19/367007566_196339989920266_4922623730652854909_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby40MDAuYzIifQ&_nc_ht=instagram.fmbj2-2.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QFTTyi6-UsZBNkLlZjhEY0BCQNO2ay71jZhoxWi-e0K6ttEh0ae3UzLDYIpviUVcJ8&_nc_ohc=9BS5Ho5mPE0Q7kNvwEtiBR1&_nc_gid=WA1gTtjcWuEk2WtR8ZiFnw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_Afeo2isSti2p9X-FE93OxgPC9Q8mBZ8nrlRtbqN-dVSbbQ&oe=69030357&_nc_sid=8b3546",
"username": "technicalguruji"
},
"x": 0,
"y": 0
}
},
...
]
},
"fact_check_overall_rating": null,
"fact_check_information": null,
"gating_info": null,
"sharing_friction_info": {
"should_have_sharing_friction": false,
"bloks_app_url": null
},
"media_overlay_info": null,
"media_preview": "ABgqwc1o2wyn4kf59aoLjdk8gfr2q7EpDBlBG7gDHQewNb83LsRa+4wISeGx+FFNbKtsOQw9ev8A+uijmj2f3hyvuWpLZIWBJz3zgf5+lWIpvmHcdjVXUySyqOTjoPc//WpsUiKByOPWsigv03Ozjrkd+n5dQf0ops82X8xeA3H1HSimBe2chxkMOh7isuSHMjAcDJOf1/8ArVtmqFxw35VOwLUrvbcDafz9aKvxjKn60U0we5//2Q==",
"owner": {
"id": "314216",
"username": "zuck"
},
"is_video": true,
"has_upcoming_event": false,
"accessibility_caption": null,
"dash_info": {
"is_dash_eligible": true,
"video_dash_manifest": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>...",
"number_of_qualities": 8
},
"has_audio": true,
"tracking_token": "eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjp0cnVlLCJ1dWlkIjoiZmVlODRjMTc0ZDBjNGU5OTg0ZjY2OTk2OGEzMzgyYWYzNzQ4Mjk2MjQyNTczMTQ1MTEzIn0sInNpZ25hdHVyZSI6IiJ9",
"video_url": "https://instagram.fmbj2-2.fna.fbcdn.net/o1/v/t2/f2/m86/AQPxP9QMNXXSb_WFR86BB-Z0FXMpkc5K1ol2u0TED4pEPkMEjV3XXRqh3H3CAnvWGwjmICYAUcS62PGjo_UQ4jhAnt-ND67wo5pFstU.mp4?_nc_cat=111&_nc_oc=AdllrWHKTrzTH_W95mD12veSJINofsfNTP1CbVFE9v5KXO8VW_Ujs5VIkdkuYoqcpyY&_nc_sid=5e9851&_nc_ht=instagram.fmbj2-2.fna.fbcdn.net&_nc_ohc=pIWIxC19NkkQ7kNvwHAsk6B&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNzIwLmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MTUzOTE4MDI1NzA4OTM3OCwidmlfdXNlY2FzZV9pZCI6MTAwOTksImR1cmF0aW9uX3MiOjE4LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&vs=149c6f28c49e34a5&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC9BRjQ2MDc2NzlCMDlCMjg0QkNEOEFDQ0U3MUM2NDdCMl92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HTXFheWlFbnpuVHpQSmdMQUdCaDg2M21oVWxyYnN0VEFRQUYVAgLIARIAKAAYABsCiAd1c2Vfb2lsATEScHJvZ3Jlc3NpdmVfcmVjaXBlATEVAAAmxN3Ax4r4uwUVAigCQzMsF0AywIMSbpeNGBJkYXNoX2Jhc2VsaW5lXzFfdjERAHX-B2XmnQEA&_nc_gid=WA1gTtjcWuEk2WtR8ZiFnw&_nc_zt=28&oh=00_Aff1kBp96JUEm7goouTlc3qnhufu0JGUa1jN2ZXWZS0GfQ&oe=68FF0524",
"video_view_count": 4168890,
"edge_media_to_caption": {
"edges": [
{
"node": {
"text": "Light work with the squad. @OakleyMeta Vanguard out now!"
}
}
]
},
"edge_media_to_comment": {
"count": 4481
},
"comments_disabled": false,
"taken_at_timestamp": 1761051883,
"edge_liked_by": {
"count": 214555
},
"edge_media_preview_like": {
"count": 214555
},
"location": null,
"nft_asset_info": null,
"thumbnail_src": "https://instagram.fmbj2-2.fna.fbcdn.net/v/t51.2885-15/568358232_18540478177058217_67679624614988165_n.jpg?stp=c0.420.1080.1080a_dst-jpg_e35_s640x640_sh0.08_tt6&_nc_ht=instagram.fmbj2-2.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QFTTyi6-UsZBNkLlZjhEY0BCQNO2ay71jZhoxWi-e0K6ttEh0ae3UzLDYIpviUVcJ8&_nc_ohc=V2Qpw2lF1wQQ7kNvwFo6vvr&_nc_gid=WA1gTtjcWuEk2WtR8ZiFnw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AffgzRmr-7dahaNB58g9Qaeofu3UseSCa4WYniMPxH0xyQ&oe=690313D5&_nc_sid=8b3546",
"thumbnail_tall_src": "https://instagram.fmbj2-2.fna.fbcdn.net/v/t51.2885-15/568358232_18540478177058217_67679624614988165_n.jpg?stp=dst-jpg_e35_p640x640_sh0.08_tt6&_nc_ht=instagram.fmbj2-2.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QFTTyi6-UsZBNkLlZjhEY0BCQNO2ay71jZhoxWi-e0K6ttEh0ae3UzLDYIpviUVcJ8&_nc_ohc=V2Qpw2lF1wQQ7kNvwFo6vvr&_nc_gid=WA1gTtjcWuEk2WtR8ZiFnw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AffavL-OREEXpSCku6WoAsSDVbYkslDPRDzAsSaeia_SsQ&oe=690313D5&_nc_sid=8b3546",
"thumbnail_resources": [
{
"src": "https://instagram.fmbj2-2.fna.fbcdn.net/v/t51.2885-15/568358232_18540478177058217_67679624614988165_n.jpg?stp=c0.420.1080.1080a_dst-jpg_e15_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMDgweDE5MjAuc2RyLmY4Mjc4Ny5kZWZhdWx0X2NvdmVyX2ZyYW1lLmMyIn0&_nc_ht=instagram.fmbj2-2.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QFTTyi6-UsZBNkLlZjhEY0BCQNO2ay71jZhoxWi-e0K6ttEh0ae3UzLDYIpviUVcJ8&_nc_ohc=V2Qpw2lF1wQQ7kNvwFo6vvr&_nc_gid=WA1gTtjcWuEk2WtR8ZiFnw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AfdSRt_QD8dxjvFaMn2_1ivC9cE2hUepR0KfZN-op-VAvA&oe=690313D5&_nc_sid=8b3546",
"config_width": 150,
"config_height": 150
},
...
],
"felix_profile_grid_crop": null,
"tall_profile_grid_crop": null,
"profile_grid_thumbnail_fitting_style": "UNSET",
"coauthor_producers": [],
"pinned_for_users": [],
"viewer_can_reshare": true,
"like_and_view_counts_disabled": false,
"product_type": "clips",
"clips_music_attribution_info": {
"artist_name": "zuck",
"song_name": "Original audio",
"uses_original_audio": true,
"should_mute_audio": false,
"should_mute_audio_reason": "",
"audio_id": "25764190429838215"
},
"position": 1,
"order": 0,
"profileData": {
"username": "zuck",
"ai_agent_owner_username": null,
"ai_agent_type": null,
"biography": "I build stuff",
"bio_links": [],
"fb_profile_biolink": null,
"biography_with_entities": {
"raw_text": "I build stuff",
"entities": []
},
"blocked_by_viewer": false,
"restricted_by_viewer": null,
"country_block": false,
"eimu_id": "119171612803872",
"external_url": null,
"external_url_linkshimmed": null,
"fbid": "17841401746480004",
"followed_by_viewer": false,
"follows_viewer": false,
"full_name": "Mark Zuckerberg",
"group_metadata": null,
"has_ar_effects": false,
"has_clips": true,
"has_guides": false,
"has_channel": false,
"has_blocked_viewer": false,
"highlight_reel_count": 0,
"has_onboarded_to_text_post_app": true,
"has_requested_viewer": false,
"hide_like_and_view_counts": false,
"id": "314216",
"is_business_account": false,
"is_professional_account": true,
"is_supervision_enabled": false,
"is_guardian_of_viewer": false,
"is_supervised_by_viewer": false,
"is_supervised_user": false,
"is_embeds_disabled": false,
"is_joined_recently": false,
"guardian_id": null,
"business_address_json": null,
"business_contact_method": "UNKNOWN",
"business_email": null,
"business_phone_number": null,
"business_category_name": null,
"overall_category_name": null,
"category_enum": null,
"category_name": null,
"is_private": false,
"is_verified": true,
"is_verified_by_mv4b": false,
"is_regulated_c18": false,
"pinned_channels_list_count": 0,
"profile_pic_url": "https://instagram.fmbj2-2.fna.fbcdn.net/v/t51.2885-19/550234512_18532404670058217_8758519395071163708_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=instagram.fmbj2-2.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QFTTyi6-UsZBNkLlZjhEY0BCQNO2ay71jZhoxWi-e0K6ttEh0ae3UzLDYIpviUVcJ8&_nc_ohc=W5ydAu0Znm0Q7kNvwEiYGgG&_nc_gid=WA1gTtjcWuEk2WtR8ZiFnw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_Aff4oMBXOj-jNG5P6Mux6MDE8Si-1ACAZ9sMcbHhBLo4Bw&oe=69031D3B&_nc_sid=8b3546",
"profile_pic_url_hd": "https://instagram.fmbj2-2.fna.fbcdn.net/v/t51.2885-19/550234512_18532404670058217_8758519395071163708_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=instagram.fmbj2-2.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QFTTyi6-UsZBNkLlZjhEY0BCQNO2ay71jZhoxWi-e0K6ttEh0ae3UzLDYIpviUVcJ8&_nc_ohc=W5ydAu0Znm0Q7kNvwEiYGgG&_nc_gid=WA1gTtjcWuEk2WtR8ZiFnw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AffL75hLAV63hgnQVlohQZ-SJev1ELlFqYDakTlovRucSQ&oe=69031D3B&_nc_sid=8b3546",
"requested_by_viewer": false,
"should_show_category": false,
"should_show_public_contacts": false,
"show_account_transparency_details": true,
"show_text_post_app_badge": true,
"remove_message_entrypoint": false,
"transparency_label": null,
"transparency_product": null,
"pronouns": []
}
}

Post Fields Explanation

Basic Post Information

  • __typename: Type of the post (e.g., "GraphVideo" for video posts, "GraphImage" for single image posts, "GraphSidecar" for carousel posts).
  • id: Unique identifier for the post.
  • shortcode: Short code used in the post's URL (e.g., "DQEn5LDgPQZ").
  • dimensions: Height and width of the post media in pixels.
  • display_url: URL of the full-size display image or video thumbnail.

Tagged Users and Metadata

  • edge_media_to_tagged_user: Information about users tagged in the post, including:
    • user: Full user details (username, full_name, id, is_verified, profile_pic_url, followed_by_viewer).
    • x, y: Coordinates of the tag position on the media (normalized 0-1).
  • fact_check_overall_rating, fact_check_information: Fact-checking information (if applicable).
  • gating_info: Content gating information (if applicable).
  • sharing_friction_info: Information about sharing restrictions.
  • media_overlay_info: Overlay information for the media.

Owner and Content Information

  • owner: Basic information about the post owner (id, username).
  • is_video: Boolean indicating if the post is a video.
  • has_upcoming_event: Boolean indicating if the post has an upcoming event.
  • accessibility_caption: Auto-generated caption for accessibility purposes.
  • media_preview: Base64-encoded preview of the media.

Video-Specific Fields

  • dash_info: DASH streaming information for videos:
    • is_dash_eligible: Whether the video supports DASH streaming.
    • video_dash_manifest: XML manifest for DASH playback.
    • number_of_qualities: Number of available video quality options.
  • has_audio: Boolean indicating if the video has audio.
  • video_url: Direct URL to the video file.
  • video_view_count: Number of views on the video.
  • tracking_token: Analytics tracking token for the video.

Engagement Metrics

  • edge_media_to_caption: The post's caption text in an edges array format.
  • edge_media_to_comment: Comment count on the post.
  • comments_disabled: Boolean indicating if comments are disabled.
  • taken_at_timestamp: Unix timestamp of when the post was created.
  • edge_liked_by: Like count on the post.
  • edge_media_preview_like: Preview like count (typically same as edge_liked_by).

Location and NFT Information

  • location: Location information (null if not specified).
  • nft_asset_info: NFT-related information (if the post is an NFT).

Thumbnail Information

  • thumbnail_src: URL of the post thumbnail (cropped square version).
  • thumbnail_tall_src: URL of the tall thumbnail version.
  • thumbnail_resources: Array of thumbnail URLs in different sizes (150x150, 240x240, 320x320, 480x480, 640x640).
  • felix_profile_grid_crop: Crop information for IGTV grid display.
  • tall_profile_grid_crop: Crop information for tall grid display.
  • profile_grid_thumbnail_fitting_style: Style for fitting thumbnails in profile grid.

Collaboration and Sharing

  • coauthor_producers: Array of co-authors/collaborators on the post.
  • pinned_for_users: Array of users for whom this post is pinned.
  • viewer_can_reshare: Boolean indicating if the viewer can reshare the post.
  • like_and_view_counts_disabled: Boolean indicating if like and view counts are hidden.

Product Type and Music

  • product_type: Type of content (e.g., "clips" for Reels).
  • clips_music_attribution_info: Music attribution for Reels/clips:
    • artist_name: Name of the artist.
    • song_name: Name of the song.
    • uses_original_audio: Boolean indicating if original audio is used.
    • should_mute_audio: Boolean indicating if audio should be muted.
    • should_mute_audio_reason: Reason for muting (if applicable).
    • audio_id: Unique identifier for the audio track.

Position and Order

  • position: Position of the post in the feed or grid.
  • order: Order index of the post.

Embedded Profile Data

  • profileData: Complete profile information of the post owner, embedded within each post. This includes all the same fields as the Main Profile Output Structure (username, biography, follower counts, verification status, profile pictures, etc.). This allows you to access full profile details without making separate requests.

Additional Notes

  • Video posts include comprehensive video-specific fields like video_url, video_view_count, dash_info, and has_audio.
  • Reels/Clips include clips_music_attribution_info with music and audio details.
  • Carousel posts will have multiple child media objects in the edge_sidecar_to_children.edges array (not shown in this example).
  • Tagged users include full profile details, not just usernames, making it easy to analyze tagged user networks.
  • Profile data embedding: Each post includes the complete profileData object, eliminating the need for separate profile lookups and providing full context for each post.
  • The actual content of some fields (like edge_media_to_tagged_user, location, or clips_music_attribution_info) may vary depending on the specific post type and content.

This comprehensive post structure with embedded profile data allows for in-depth analysis of Instagram content, including engagement metrics, media details, tagged user networks, and complete profile context—all in a single data structure.

FAQ

Do I need an Instagram account or cookies?

No. The actor reads only the public Instagram surface any anonymous browser can see — no login, no cookies, no account at risk.

What's the difference between metrics mode and the default output?

Default output is the full raw post object (~90 fields: media versions, tagged users, location, music metadata) — built for developers. Metrics mode outputs one flat analytics row per post (likes, comments, views, plays, publish date, post status) — built for spreadsheets, dashboards, and scheduled engagement tracking.

Why are views/plays sometimes null?

Instagram only exposes view/play counters on video content and hides or rounds counts on some posts. Nulls mean "not exposed", never "zero" — check countsHidden for posts where the owner disabled counts.

Can I monitor posts for deletion or privacy changes?

Yes — paste the post/reel URLs and schedule the run. Live posts return full rows with postStatus: "active"; removed, private, or restricted posts return labeled status rows (postStatus: "unavailable") that are never billed.

How do I only get NEW posts on scheduled runs?

Enable monitoringMode — the actor remembers previously seen posts and only returns new ones.

Can I scrape private profiles or stories behind login?

No. Anything Instagram hides from logged-out visitors is out of scope.

Explore More Scrapers

If you found this scraper useful, check out our other actors at memo23's Apify profile:

Support

Additional Services


⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Instagram or Meta Platforms, Inc. or any of their subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available Instagram pages — no authenticated endpoints, paid features, or content behind the instagram.com login wall. Users are responsible for ensuring their use complies with Instagram's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.


SEO Keywords

instagram metrics scraper, instagram scraper, scrape instagram posts, instagram engagement tracker, instagram analytics data, instagram post metrics, instagram reels views scraper, instagram profile scraper, instagram comments scraper, instagram monitoring tool, track instagram posts, instagram likes scraper, social media analytics scraper, competitor instagram analysis, influencer engagement data, instagram data extraction, instagram API alternative, Apify instagram, instagram post performance, brand monitoring instagram