Instagram Post & Reel Details Scraper
Pricing
from $0.38 / 1,000 post details
Instagram Post & Reel Details Scraper
Paste Instagram post or reel URLs and get full engagement in one row each: views, likes, comments, saves, shares and reposts, plus caption, audio, duration, author, coauthors and AI label. Bulk links or shortcodes; duplicates never charged. From $0.38 per 1,000. No login.
Pricing
from $0.38 / 1,000 post details
Rating
0.0
(0)
Developer
Instagram Data API
Maintained by CommunityActor stats
0
Bookmarked
11
Total users
7
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Instagram post & reel details by URL
Paste links and get every number Instagram shows for each post or reel — including saves, shares and reposts — in one row. Refresh campaign reports, check what an influencer delivered, or enrich a spreadsheet of URLs.
- 💾 Saves, shares and reposts next to views, likes and comments (Instagram reports saves for reels; for photos you get
null, not0). - 📋 Bulk input — paste thousands of links or shortcodes in one run.
- 🧹 No duplicate charges — the same post pasted twice is returned and charged once.
- 💸 Cheap single calls — $0.0005 per run plus $0.54 per 1,000 posts, so one-link runs from n8n or Make stay cheap.
- 🔓 No login; deleted or unavailable posts come back as free rows with an
errorreason.
Why scrape Instagram post details?
- Campaign reporting: refresh views, saves and shares of every influencer post in one run.
- Enrich a spreadsheet: paste URLs, get full engagement back.
- Verify results an influencer or agency reports.
What data can I scrape from Instagram post details?
| Data | What it is |
|---|---|
| Link | Link to the post or reel on instagram.com |
| Author | Username of the author |
| Posted | When it was posted (UTC, ISO 8601) |
| Views | Plays (reels) or views as Instagram counts them |
| Likes | Likes; empty if the author hid the counts (likesHidden) |
| Comments | Number of comments |
| Saves | How many people saved the reel (Instagram gives saves only for reels) |
| Shares | How many times the post was sent or shared |
| Reposts | How many times it was reposted |
| Length, s | Video length in seconds |
| Caption | Post text as the author wrote it |
Up to 61 fields per row in total — the Output tab lists every one of them.
How to scrape Instagram post details
- Paste usernames or links into the input, one per line.
- Press Start — rows stream into the Output tab while the run goes.
- Download them as JSON, CSV, Excel or HTML, or get them through the API.
Works with any public profile on Instagram — no login, no cookies, no Instagram account of yours.
No input at hand? Press Start with an empty input — you get a 3-row sample.
Input example
{"urls": ["https://www.instagram.com/reel/DehZj9wggt0/"],"includeViews": false}
Output example: Instagram post details data
{"type": "reel","productType": "clips","shortCode": "DehZj9wggt0","url": "https://www.instagram.com/reel/DehZj9wggt0/","ownerUsername": "natgeo","ownerVerified": true,"ownerPrivate": false,"ownerProfilePicUrl": "https://scontent-bos5-1.cdninstagram.com/…jpg","takenAt": "2026-10-15T19:00:02Z","views": 1543993,"viewsInstagram": 1543993,"viewsFacebook": null,"likes": 56343,"comments": 451,"saves": 2978,"shares": 4420,"reposts": 1041,"durationSec": 30.04,"caption": "Keeping up with a pack of hunting wolves is just another day… #WolvesUpClose","hashtags": ["WolvesUpClose"],"coauthors": ["bertiegregory","natgeoanimals"],"audio": {"type": "original","id": "28762088093432459","title": "Original audio","artist": "natgeo"},"isPinned": true,"isPaidPartnership": false,"aiLabel": null,"language": "en","videoUrl": "https://scontent-bos5-1.cdninstagram.com/…mp4","coverUrl": "https://scontent-bos5-1.cdninstagram.com/…jpg"}
Each row has up to 61 fields — the Output tab describes every one of them. Fields Instagram
doesn't show come as null, never as a fake 0.
Coming from Apify's official Instagram scrapers? Turn on Also add Apify-style field names: every row also gets
likesCount, commentsCount, videoPlayCount, timestamp, displayUrl, followersCount, followsCount, verified
and more with the same values, and the post type as Video, Image or Sidecar — your sheets, code and n8n flows keep
working. Long list of usernames? Upload it as a CSV or TXT file in Or upload a list.
Limits
- Private or deleted posts come back as free
not_foundrows. - Numbers are as of the run.
- Free Apify plan: the full result, no cap — read from Instagram's public view and paid from your monthly Apify credit at the Free price. Options that need a logged-in read (business contacts, views, saves, shares) and profiles hidden from logged-out visitors are for paid Apify plans.
How much does it cost to scrape Instagram post details?
Pay per event: you pay for the rows you get, plus $0.0005 per run. No subscription to this Actor.
| Apify plan | Per 1,000 posts | What $5 of free credit gets you |
|---|---|---|
| Free | $0.594 | ≈ 8,400 posts |
| Starter | $0.54 | — |
| Business and higher | $0.38 | — |
Every event of this Actor on the Starter plan:
| Event | What it is | Price |
|---|---|---|
| Post detail | Each post or reel returned by URL | $0.54 per 1,000 |
Typical jobs on Starter:
- 1,000 post links from a campaign report ≈ $0.54
- One link from an n8n or Make step ≈ $0.0010
Always free: deleted or unavailable posts and duplicates. Set Maximum cost per run in the run options to cap any run.
Chain it with other Actors
Use the rows of an earlier run as the input: paste its dataset ID into Or: dataset from another run. For example, run Instagram Followers Scraper on a brand, then give its dataset to Instagram Email & Phone Scraper — you get the emails of the brand's followers. Works with the datasets of Apify's own Instagram Actors too.
Instagram post details API: Python, n8n, Make, Zapier and AI agents
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("instagram-data-api/instagram-post-details").call(run_input={'urls': ['https://www.instagram.com/reel/DehZj9wggt0/'], 'includeViews': False})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row)
n8n, Make, Zapier or any HTTP client: one request runs the Actor and returns the rows —
POST https://api.apify.com/v2/acts/instagram-data-api~instagram-post-details/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN
with the input JSON as the body.
AI agents (MCP) — your agent gets this Actor as a tool:
- Claude Code:
claude mcp add --transport http apify "https://mcp.apify.com?tools=instagram-data-api/instagram-post-details" - Claude, Cursor, VS Code, n8n: add
https://mcp.apify.com?tools=instagram-data-api/instagram-post-detailsas a remote MCP server and sign in to Apify. - Ask it: “Get views, saves and shares for these 10 reel links.” · “Refresh the engagement of my campaign posts.”
FAQ: scraping Instagram post details
How do I get Instagram post analytics by URL? Paste the post or reel links and press Start — one row per link with views, likes, comments, saves, shares and reposts as Instagram shows them right now. No access to the account is needed.
Which links work?
instagram.com/p/…, /reel/…, /reels/…, /tv/… or just the shortcode (DehZj9wggt0).
Why are saves empty for some posts?
Instagram reports saves for reels; for photos and carousels it doesn't, so we return null instead of a fake 0.
Can I track a post's numbers over time?
Yes — save the URLs as a Task and schedule it hourly or daily. Each row has scrapedAt, so every run is a dated snapshot you can chart.
Do I need an Instagram account or cookies? No. You only paste usernames, links or keywords. Nothing to log in, nothing to install, and your own Instagram account is never involved.
What am I charged for — and what's free?
Only the events in the pricing table, plus $0.0005 per run. Rows with an error field are free, and duplicates are never returned or charged. Each run's SUMMARY record shows results and free rows.
Can I try it for free? Yes. On Apify's free plan you get the full result, read from Instagram's public view and paid from the monthly free credit Apify gives every account. Options that need a logged-in read are for paid plans.
Can I cap what a run costs?
Yes. Set Maximum cost per run in the run options — the run stops at your limit and SUMMARY shows stoppedAtChargeLimit: true.
Can I use it from n8n, Make, Zapier or an AI agent? Yes, like any Apify Actor: REST API, webhooks, the n8n, Make and Zapier integrations, and the Apify MCP server for Claude, Cursor, VS Code and other MCP clients. Short timeout in your workflow or agent? Set Return what's ready after (seconds): the run stops on time with what it has collected, and you pay only for that.
For AI agents
Actor: instagram-data-api/instagram-post-detailsDoes: Paste Instagram post or reel URLs, get one row each: views, likes, comments, saves, shares, reposts, audio, author. Bulk, no login.Input: {"urls": ["https://www.instagram.com/reel/DehZj9wggt0/"], "includeViews": false}Output: one JSON row per result, up to 61 fields; main: url, ownerUsername, takenAt, views, likes, comments, saves, shares, reposts, durationSec, captionFree: deleted or unavailable posts and duplicatesPrice: event "post-details" $0.54 per 1,000 on Starter + $0.0005 per runRun: POST https://api.apify.com/v2/acts/instagram-data-api~instagram-post-details/run-sync-get-dataset-items?token=APIFY_TOKEN
More Instagram Actors from us
| Content | People | Stories |
|---|---|---|
| All-in-one Instagram Scraper · Reels · Posts · Post details · Reel views checker · Hashtags · Search · Transcripts · Tagged posts · Audio · Locations · Hashtag stats | Profiles · Followers count · Account age · Emails & phones · Similar accounts · Similar accounts with profiles · Followers · Comments · Likers · Engagement rate · Username checker · User ID · Follower checker | Stories · Highlights |
What changed and when — see the Changelog tab.