Instagram Engagement Scraper
Pricing
from $18.00 / 1,000 profile analyses
Instagram Engagement Scraper
Analyze public Instagram profiles with separate feed and Reels engagement measures. Compare profile details, recent content mix, and engagement per 1,000 followers, with a Reels view measure when available.
Pricing
from $18.00 / 1,000 profile analyses
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
📊 Compare Instagram Profile Engagement
Use this Actor for influencer marketers, agencies, brand teams, and researchers who need to compare public Instagram profiles. Enter usernames and get profile details, recent feed and Reels sample counts, and separate engagement measures, including normalized values per 1,000 followers. Each username is checked separately, and the recent sample keeps feed posts and Reels distinct.
- Compare a shortlist of public creators with Instagram Profile Engagement.
- Check recent Reels measures with Instagram Reels Engagement.
- Review recent feed-post measures in Instagram Post Engagement.
- Use Instagram Engagement Analysis to compare profile details and content mix.
- Check normalized measures with Instagram Engagement Rate.
📈 Compare Feed and Reels Measures
The default dataset contains public Instagram profile analyses. It shows the profile identity and audience context, the recent content mix, and separate engagement measures for feed posts and Reels when the sample includes them. Reels view data is shown separately when it is available, so you can tell which measures have view support.
Profile context
Each row can show the public username, profile URL, display name, follower count, verification state, and post count.
Engagement context
Feed and Reels measures use their own fields. The content mix shows how many distinct feed posts and Reels were sampled, and per-1,000-follower values help compare profiles with different audience sizes.
▶️ Analyze Recent Instagram Profiles
Run steps
- Add one or more public Instagram usernames. Use the username with or without
@. - Choose how many recent feed posts and Reels to check for each username.
- Start the run and open the default dataset when it finishes.
The Actor checks each submitted username separately. It reads public profile data and does not require customer authentication. The sample is recent, not a lifetime archive of every post or Reel.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
usernames | array of strings | Required. Enter one or more public Instagram usernames. Use only the username, with or without @. |
sampleDepth | integer | Chooses how many recent feed posts and Reels to check for each username. Clear it to return all available results until the source is exhausted. A larger number checks more content. The default is 1. |
Clear sampleDepth to return all available results until the source is exhausted. The value applies to the recent feed-post and Reels sample for each username.
Example input
This is the smallest successful common input from the current beta run:
{"usernames": ["instagram"],"sampleDepth": 1}
🧾 Output
The Output panel opens the default dataset. Rows always include profile and contentMix. The engagement objects can be omitted when the sample has no matching content, and reelsEngagement.per1000Views is omitted when Reels view data is not available.
Output link
| Field | Type | What it does |
|---|---|---|
dataset | link | Opens the Instagram profile analyses in the default dataset. |
Profile row with feed and Reels measures
This shape has sampled feed posts and Reels. The Reels view measure is omitted when viewDataAvailable is false.
| Field | Type | What it does |
|---|---|---|
profile.username | string | Public Instagram username used for the analysis. |
profile.profileUrl | URL string | Public Instagram profile URL. |
profile.displayName | string | Name shown on the public profile. |
profile.followersCount | integer | Public follower count shown for the profile. |
profile.isVerified | boolean | Whether Instagram marks the profile as verified. |
profile.postsCount | integer | Public number of posts shown for the profile. |
contentMix.feedPostsSampled | integer | Number of distinct feed posts in the recent sample. |
contentMix.reelsSampled | integer | Number of distinct Reels in the recent sample. |
feedEngagement.per1000Followers | number | Average feed-post engagement for every 1,000 followers in the sample. |
reelsEngagement.per1000Followers | number | Average Reels engagement for every 1,000 followers in the sample. |
reelsEngagement.viewDataAvailable | boolean | Whether sampled Reels include the view data needed for the view-based measure. |
Genuine row
This complete row is from a successful current-beta run.
{"profile": {"username": "natgeo","profileUrl": "https://www.instagram.com/natgeo/","displayName": "National Geographic","followersCount": 268563511,"isVerified": true,"postsCount": 32000},"contentMix": {"feedPostsSampled": 2,"reelsSampled": 2},"feedEngagement": {"per1000Followers": 0.15912064837430576},"reelsEngagement": {"per1000Followers": 0.18753664566144285,"viewDataAvailable": false}}
Reels-only row with view data
This shape has no feedEngagement object because no feed posts were sampled. It includes the Reels view measure because viewDataAvailable is true.
| Field | Type | What it does |
|---|---|---|
profile.username | string | Public Instagram username used for the analysis. |
profile.profileUrl | URL string | Public Instagram profile URL. |
profile.displayName | string | Name shown on the public profile. |
profile.followersCount | integer | Public follower count shown for the profile. |
profile.isVerified | boolean | Whether Instagram marks the profile as verified. |
profile.postsCount | integer | Public number of posts shown for the profile. |
contentMix.feedPostsSampled | integer | Number of distinct feed posts in the recent sample. |
contentMix.reelsSampled | integer | Number of distinct Reels in the recent sample. |
reelsEngagement.per1000Followers | number | Average Reels engagement for every 1,000 followers in the sample. |
reelsEngagement.per1000Views | number | Average Reels engagement for every 1,000 views when view data is available. |
reelsEngagement.viewDataAvailable | boolean | Whether sampled Reels include the view data needed for the view-based measure. |
Genuine row
This complete row is from a successful current-beta run.
{"profile": {"username": "instagram","profileUrl": "https://www.instagram.com/instagram/","displayName": "Instagram","followersCount": 686677821,"isVerified": true,"postsCount": 8590},"contentMix": {"feedPostsSampled": 0,"reelsSampled": 1},"reelsEngagement": {"per1000Followers": 1.0038084512416485,"viewDataAvailable": true,"per1000Views": 70.75793263197443}}
Reels-only row without view data
This shape has no feedEngagement object and no reelsEngagement.per1000Views value because the sample has no feed posts and no usable Reels view data.
| Field | Type | What it does |
|---|---|---|
profile.username | string | Public Instagram username used for the analysis. |
profile.profileUrl | URL string | Public Instagram profile URL. |
profile.displayName | string | Name shown on the public profile. |
profile.followersCount | integer | Public follower count shown for the profile. |
profile.isVerified | boolean | Whether Instagram marks the profile as verified. |
profile.postsCount | integer | Public number of posts shown for the profile. |
contentMix.feedPostsSampled | integer | Number of distinct feed posts in the recent sample. |
contentMix.reelsSampled | integer | Number of distinct Reels in the recent sample. |
reelsEngagement.per1000Followers | number | Average Reels engagement for every 1,000 followers in the sample. |
reelsEngagement.viewDataAvailable | boolean | Whether sampled Reels include the view data needed for the view-based measure. |
Genuine row
This complete row is from a successful current-beta run.
{"profile": {"username": "natgeo","profileUrl": "https://www.instagram.com/natgeo/","displayName": "National Geographic","followersCount": 268563499,"isVerified": true,"postsCount": 32000},"contentMix": {"feedPostsSampled": 0,"reelsSampled": 1},"reelsEngagement": {"per1000Followers": 0.2734250941525006,"viewDataAvailable": false}}
💳 Pricing
Primary event
The Actor charges one Profile analysis event for each successfully analyzed public Instagram profile. The price depends on your Apify plan and is shown in the pricing panel.
🔌 Integrations
Dataset access
Open the default dataset from the Output panel, or read its items through the Apify API.
For a walkthrough, see:
❓ FAQ
Why is reelsEngagement.per1000Views missing?
That field appears only when reelsEngagement.viewDataAvailable is true. The per-1,000-follower Reels measure can still be available when view data is missing.
What does sampleDepth change?
It sets how many recent feed posts and Reels the Actor checks for each username. Clear it to return all available results until the source is exhausted. It does not request a lifetime archive.
Can I submit several usernames?
Yes. Add several public usernames to usernames, and the Actor checks each one separately.
Can I analyze a private or deleted profile?
No. The Actor is for public Instagram profiles. Private, deleted, or otherwise non-public profiles are outside its scope.
Can the same Reel be counted twice?
No. A Reel that appears in both the feed and Reels collections is counted once in the recent sample.
Does this return comments, liker lists, or post-level records?
No. This Actor returns profile-level analysis. It does not collect individual comments, liker lists, or post-level engagement records.
Does it track engagement changes across runs?
No. Each run analyzes its selected recent sample. Cross-run monitoring, historical trend storage, and alerts are outside this Actor's scope.
Do I need Instagram credentials?
No customer authentication is required. Submit public usernames and the Actor reads public profile data.
📝 Changelog
v0.0 (19-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Instagram Profile Stats Scraper: Check known public profiles and review follower, following, and post counts beside engagement data.
- Influencer Scraper: Find public creator profiles across TikTok, Instagram, and YouTube before focused Instagram comparisons.
- Instagram User Search Scraper: Discover public Instagram accounts by keyword, then use their usernames for engagement checks.
- Instagram Related Users Scraper: Explore public accounts related to a known profile when you need more creators to compare.
- Instagram Post & Reel Content Scraper: Collect recent public posts and Reels when you need content-level context beside profile metrics.
Made with ❤️ by Maxime Dupré