Instagram Metrics Scraper - Posts, Reels & Profiles
Pricing
from $2.00 / 1,000 instagram post metrics
Instagram Metrics Scraper - Posts, Reels & Profiles
Collect clean metric rows for public Instagram posts, reels, carousels, and recent profile content. Get views, plays, likes, comments, collaborators, captions, IDs, media links, and status fields without fake zeroes.
Pricing
from $2.00 / 1,000 instagram post metrics
Rating
5.0
(1)
Developer
Chronometrica
Maintained by CommunityActor stats
2
Bookmarked
36
Total users
21
Monthly active users
14 days ago
Last modified
Categories
Share
Instagram Metrics Scraper
π What does Instagram Metrics Scraper do?
Instagram Metrics Scraper collects public metrics from Instagram post URLs,
reel URLs, carousel URLs, shortcodes, profile URLs, and @handles.
Use it when you need clean Instagram rows for creator research, influencer reporting, campaign tracking, competitor monitoring, social analytics, dashboards, warehouse loads, and scheduled metric snapshots.
The Actor returns flat CSV/API-friendly rows with Instagram views, plays, likes, comments, public owner/collaborator context, IDs, captions, media links, duration, status fields, and count availability details.
This Actor does not log in, use cookies, scrape private Instagram content, collect comment text, scrape stories, scrape follower lists, or bypass Instagram access controls. It only returns data available from public Instagram content at run time.
With Instagram Metrics Scraper, you can:
- π Track public Instagram post, reel, carousel, and image performance.
- π€ Discover recent public content from Instagram profile URLs and
@handles. - π Collect public views, plays, Instagram plays, likes, and comments when available.
- π€ Capture public owner and collaborator profiles in one clean collaboration field.
- π Extract useful IDs such as
postId,shortCode,profileId,fbPostId,fbOwnerId, andcarouselIds. - π¬ Save captions, publish time, media type, media links, video duration, and audio presence when available.
- π― Check metric availability instead of treating every blank count as zero.
- π¦ Export results as JSON, JSONL, CSV, Excel, XML, RSS, or HTML.
π¦ What Instagram metric data can I extract?
Each dataset row represents one public Instagram content item with at least one public post metric.
| Data group | Example fields |
|---|---|
| π Source | platform, inputUrl, postUrl, status, statusReason, scrapedAt |
| π Post identity | postId, fbPostId, shortCode, mediaType, publishedAt |
| π§Ύ Post content | title, caption, downloadUrl, carouselIds, videoDurationSeconds, hasAudio |
| π€ Creator | profileId, fbOwnerId, profileHandle, profileUrl, profileVerified, profileAvatarUrl |
| π Metrics | views, plays, playsInstagram, likes, comments |
| π― Count quality | postMetricStatus, profileMetricStatus |
| π€ Collaboration | collaborationCount, collaborationProfiles |
Metric availability depends on what Instagram exposes publicly for each URL or profile. If a public count is unavailable, the Actor keeps it unavailable instead of filling it with a fake zero.
For reels and video posts, views, plays, and playsInstagram are kept as
separate public counters. Some URLs expose one count but not the others, so
missing values stay missing instead of being guessed or mixed.
collaborationProfiles contains the public owner and confirmed collaborators
when available. Tagged accounts are not treated as collaborators by default.
βοΈ Can I use this Actor through an API?
Yes. You can run Instagram Metrics Scraper manually in Apify Console or use it through:
- Apify API
- Python SDK
- Node.js SDK
- Webhooks
- Scheduled runs
- Apify integrations
This makes it useful for social media dashboards, influencer lists, competitive intelligence, creator databases, campaign reporting, data warehouses, and automated market research workflows.
π― Why scrape Instagram post and reel metrics?
Instagram public metrics help you understand which creators, posts, reels, campaigns, products, and competitors are gaining traction.
| Use case | How Instagram metric data helps |
|---|---|
| π Track creator performance | Monitor public engagement across known creator post and reel URLs. |
| π§βπ€ Research influencers | Compare recent content performance, captions, collaborators, and profile context. |
| π£ Measure campaigns | Collect repeatable snapshots for campaign posts, reels, and creator deliverables. |
| π΅οΈ Monitor competitors | Track public metrics for competing brands, products, and creator accounts. |
| π€ Audit collaborations | See public owner and collaborator profiles in a single normalized field. |
| π Build reporting workflows | Feed normalized Instagram metrics into dashboards, spreadsheets, APIs, and BI tools. |
| π Audit availability | Separate available, unavailable, blocked, invalid, and failed rows cleanly. |
π΅ How much does scraping Instagram metrics cost?
Instagram Metrics Scraper uses Pay Per Event pricing. One billable event is one Instagram metric row written to the default dataset.
Every direct content input is processed by default. Use the optional maxItems
setting only when you want a total row cap. Use maxItemsPerProfile to control
profile discovery. Start with a small batch of 3 to 10 URLs when testing a new
URL list or profile set.
π How do I use Instagram Metrics Scraper?
- Create or log in to your Apify account.
- Open Instagram Metrics Scraper.
- Choose Auto-detect URLs, handles, and shortcodes, Post and reel URLs only, or Profile discovery only.
- Paste Instagram post URLs, reel URLs, profile URLs,
@handles, shortcodes, or a mix of them. - Set an optional total row cap, or leave it blank to process every direct input.
- Leave the default settings for your first run.
- Click Start.
- Open the Output tab to inspect the dataset and run summary.
- Download your data in JSON, JSONL, CSV, Excel, XML, RSS, or HTML.
β¬οΈ Input
The main input is startUrls. Paste at least one Instagram content URL, profile
URL, @handle, or shortcode. https:// is optional for normal Instagram URLs.
In Auto-detect URLs, handles, and shortcodes mode, you can paste direct content URLs and profile inputs into the same list. Every direct content input is processed unless you set an optional total row cap.
{"mode": "contentUrls","startUrls": ["https://www.instagram.com/reel/DIwcCZgxVZP/"]}
π Instagram URLs and handles
Supported input shapes include:
https://www.instagram.com/reel/CODE1234567/https://www.instagram.com/p/CODE7654321/https://www.instagram.com/tv/CODE2222222/www.instagram.com/reel/CODE1234567/CODE1234567https://www.instagram.com/mrbeast/@mrbeast
Use direct URLs when you need exact known media. Use profile discovery when you want recent public content from a creator, brand, or competitor profile.
π€ Profile discovery
Use profile discovery when you want the Actor to find recent public posts and reels from an Instagram profile before collecting metrics.
{"mode": "profileUrls","startUrls": ["@mrbeast"],"maxItemsPerProfile": 10}
Use maxItemsPerProfile to control how many public content URLs are discovered
from each profile input. Set maxItems only when you also want an optional cap
across the whole run.
ποΈ Settings
| Option | What it does |
|---|---|
mode | auto to detect mixed inputs, contentUrls for content URLs only, or profileUrls for profiles. |
startUrls | Instagram content URLs, shortcodes, profile URLs, or @handles. |
maxItems | Optional total row cap. Leave blank to process every direct content input. |
maxItemsPerProfile | Maximum public content URLs to discover from each profile input. |
β¬οΈ Output sample
The results are stored in the default dataset. Each result is one Instagram metric row.
{"platform": "instagram","inputUrl": "https://www.instagram.com/reel/CODE1234567/","postUrl": "https://www.instagram.com/reel/CODE1234567/","postId": "3922329444068919711","fbPostId": "18066137273686492","shortCode": "CODE1234567","mediaType": "reel","title": null,"caption": "Example campaign reel #launch","publishedAt": "2026-06-23T13:00:00.000Z","profileId": "123456789","fbOwnerId": "17841400000000000","profileHandle": "examplebrand","profileUrl": "https://www.instagram.com/examplebrand/","profileVerified": true,"profileAvatarUrl": "https://scontent.cdninstagram.com/avatar.jpg","downloadUrl": "https://scontent.cdninstagram.com/example.mp4","carouselIds": null,"videoDurationSeconds": 42.1,"hasAudio": true,"views": 1234567,"plays": 1234999,"playsInstagram": 1234888,"likes": 23456,"comments": 345,"postMetricStatus": [{"metric": "views","value": 1234567,"status": "present","precision": "exact","rawValue": 1234567}],"collaborationCount": 1,"collaborationProfiles": [{"id": "123456789","handle": "examplebrand","url": "https://www.instagram.com/examplebrand/","role": "owner"}],"profileMetricStatus": [{"metric": "profileFollowersCount","value": null,"status": "unavailable","precision": "unavailable","rawValue": null}],"status": "ok","statusReason": null,"scrapedAt": "2026-06-24T15:00:00.000Z"}
inputUrl preserves the input that produced the row. postUrl is the resolved
public Instagram content URL.
When a saved row has a missing public metric, that metric is returned as null,
not 0. Inputs with no public views, plays, playsInstagram, likes, or
comments are reported in OUTPUT and are not saved as dataset rows.
π― Metric status
Instagram can expose exact, rounded, delayed, hidden, or unavailable counters depending on content type and public visibility. The status fields make that visible:
present: the metric was found.unavailable: Instagram did not expose the metric publicly for that row.not_attempted: the metric was not attempted for that row.exact: the public value appeared as a full integer.display_roundedorlikely_rounded: the public value was rounded.
This lets you filter rows without guessing whether a blank value means zero.
π Views and plays
For reels and video posts, the Actor keeps video count families separate:
viewsplaysplaysInstagram
These fields may differ or appear independently. Keeping them separate makes the dataset safer for analytics and prevents one public count from silently filling another.
π€ Collaborations
collaborationProfiles contains the public owner and confirmed collaborators
for a post when available. Each profile includes:
idhandleurlrole, eitherownerorcollaborator
Tagged accounts are not treated as collaborators by default.
π¦ Status values
Saved rows use explicit statuses, and no-metric or failed inputs are summarized
in OUTPUT:
| Status | Meaning |
|---|---|
ok | Public content was resolved and at least one useful public metric or metadata field was collected. |
resolved_no_public_metrics | The input resolved, but public metric fields were not exposed for that item. |
invalid_input | The input was not a valid Instagram URL, shortcode, or handle. |
unsupported_url | The URL is an Instagram surface this Actor does not support. |
blocked_or_challenged | Instagram returned a login, challenge, unavailable, or blocked response. |
failed | The input could not be resolved after retry. |
Runs with setup issues, zero discovered profile content, blocked responses, or
no exposed public post metrics finish with a clear OUTPUT summary instead of
ending as failed runs. Check OUTPUT.stopReason, OUTPUT.statusMessage,
OUTPUT.skippedNoPostMetricRows, and OUTPUT.validationErrors when no metric
rows are saved.
β οΈ Notes and limitations
- Public metrics can be hidden, rounded, delayed, or unavailable.
- Reels and video posts may expose different view and play counters.
- Image posts and carousels do not always have video-specific metrics.
- Profile discovery returns recent public content and may return fewer rows than requested.
- Private, deleted, login-only, age-gated, or restricted content returns status rows instead of private data.
- Media links can expire or become unavailable after collection.
- This Actor is not affiliated with Instagram or Meta.
π Related social media scrapers
Combine this Actor with our other social media scrapers for discovery, performance tracking, comment research, and transcript collection.
- Instagram Comments Scraper β collect public comments, authors, dates, likes, and reply counts from posts and Reels.
- Facebook Metrics Scraper β collect public post, Reel, video, and profile/page metrics.
- Facebook Comments Scraper β collect public comments, replies, authors, dates, and reactions from known Facebook content.
TikTok
- TikTok Search Scraper β find public TikTok videos, creators, and metrics by keyword.
- TikTok Metrics Scraper β collect public video, profile, engagement, hashtag, and music data.
- TikTok Comments Scraper β collect public comments, replies, authors, likes, and thread links.
- TikTok Transcript Scraper β extract public caption text and timestamped segments from TikTok videos.
YouTube
- YouTube Search Scraper β find public videos, Shorts, channels, and metrics by keyword.
- YouTube Metrics Scraper β collect public video, Short, channel, and engagement metrics.
- YouTube Comments Scraper β collect public comments, replies, authors, likes, pins, and creator hearts.
- YouTube Transcript Scraper β extract public captions as clean text, timestamps, SRT, VTT, or LLM-ready output.