Instagram Post and Reel Details API
Pricing
from $8.00 / 1,000 instagram post scrapeds
Instagram Post and Reel Details API
Get a public Instagram post or Reel by URL: caption, author, likes, comments, IG-only views, media, and music. Provider-backed via ScrapeCreators and SociaVault; no user cookies required. Charged $0.008 per post.
Pricing
from $8.00 / 1,000 instagram post scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Turn a public Instagram post or Reel URL into one dataset row with caption, author, like count, comment count, Instagram-only play count, media URLs, and music when Instagram exposes them. Designed for content teams, researchers, and AI agents that already have a URL and need a structured archive record. No Instagram login. No cookies.
This Actor is the get-by-URL sibling: one post or Reel in, one detail row out.
Best fit for this Actor
- You already have a public Instagram
/p/,/reel/,/tv/URL, or a shortcode, and you want the full public record. - You need like and comment counts on the same row as caption, author, and media.
- You want a cookieless, MCP-ready get-post tool rather than a profile-grid crawl.
Start with a single URL for agent calls. Continue with a compact batch when you are archiving a known list. Pair it with Instagram Post Engagers Scraper when the next step is the people who commented.
Sibling routing
- Profile grid posts → Instagram Posts Scraper
- Profile Reels feed → Instagram Reels Scraper
- Commenter identities from a post URL → Instagram Post Engagers Scraper
- Tagged / UGC discovery → Instagram Tagged Posts Scraper when you need posts that mention a profile
- Multi-tool profile, posts, Reels, comments → Instagram MCP Server when an agent needs several Instagram tools in one call
Workflow story: from a pasted post URL to an archive row
A competitive-intel analyst drops a rival launch post URL into this Actor. The run starts, the managed provider chain fetches the public post, and one row lands with caption, author handle, like count, comment count, display image, and a short comments preview. She then exports JSON into her briefing doc. When she needs the people who commented, she continues with Instagram Post Engagers Scraper on the same URL.
Quick start input
{"postUrls": ["https://www.instagram.com/p/DLNsnpUTdVS/"]}
postUrls is the only required field. Accepts /p/, /reel/, /tv/ URLs, or a bare shortcode. Unique shortcodes are processed up to maxPosts (100).
Input reference
| Field | Type | What it controls |
|---|---|---|
postUrls | array (required) | Public Instagram post, Reel, or IGTV URLs, or a shortcode |
maxPosts | integer | Budget cap on unique URLs processed (1–100) |
includeCommentsPreview | boolean | Attach visible comments on the post row |
maxCommentsPreview | integer | Cap comments attached per row (0–50) |
outputMode | enum | full (default) or compact for smaller agent records |
providerOrder | enum | Managed provider priority (scrapecreators-first default) |
What data you receive
One dataset item represents one public Instagram post or Reel.
| Field | What it answers |
|---|---|
caption, hashtags, mentions | What was posted |
authorUsername, authorName, authorUrl, authorFollowers | Who posted it |
likeCount, commentCount, viewCount | How it is performing publicly (viewCount is Instagram-only play/view count) |
displayUrl, videoUrl, mediaUrls, musicTitle, musicArtist | Media and Reel audio when exposed |
commentsPreview[] | Top visible comments on the same row |
postUrl, shortcode, postKind, publishedAt, provider, scrapedAt | Provenance |
{"postUrl": "https://www.instagram.com/p/DLNsnpUTdVS/","shortcode": "DLNsnpUTdVS","postKind": "image","caption": "A wildlife photo with #wildlife","publishedAt": "2025-07-01T12:00:00.000Z","authorUsername": "natgeo","authorName": "National Geographic","authorUrl": "https://www.instagram.com/natgeo/","likeCount": 72581,"commentCount": 220,"provider": "scrapecreators","scrapedAt": "2026-01-15T12:00:00.000Z"}
Download the dataset as JSON, CSV, Excel, or HTML. Every terminal run also writes OUTPUT and RUN_SUMMARY with outcome (COMPLETE / PARTIAL / VALID_EMPTY / INVALID_INPUT / UPSTREAM_FAILED / CONFIG_ERROR). Inspect that outcome, then read the dataset. Each row keeps postUrl, provider, and scrapedAt as provenance.
Best results guidance
- Provide a public post or Reel URL you can open while logged out.
- Start with one URL for agent calls; schedule a compact batch of known URLs for archive jobs.
- Confirm the source is a post, Reel, or IGTV URL. Profile, hashtag, and story URLs belong on the sibling scrapers above.
- Validate
OUTPUT.outcomebefore treating an empty dataset as a product issue: missing posts reportVALID_EMPTYwith zeropost-scrapedcharges.
Why AI agents and MCP clients choose this Actor
- One required input.
postUrlsis the only required field. - Predictable cost. Saved posts use the
post-scrapedPay per event unit; see the live Pricing tab. - Structured output. Stable keys plus a published dataset schema.
- Honest outcomes. Inspect
OUTPUTforINVALID_INPUT,VALID_EMPTY, orUPSTREAM_FAILED, then read the dataset.
Get the full public details for this Instagram post URL: caption, author, likes, comments, IG-only views, media, and provenance. Return the dataset row and the run outcome.
MCP tool name: apify--instagram-post-details-scraper. Hosted setup lives at mcp.apify.com. After the call, read the dataset, keep postUrl / provider / scrapedAt, and respect the run cost cap.
Pricing — Pay per event + platform usage
| Event | Charged when |
|---|---|
| Actor start | Once per run |
post-scraped | One public post or Reel row saved to the dataset |
Pay per event plus Apify platform usage. When you need current event amounts, open the live Pricing tab. Missing posts are unbilled. Compact and full modes share the same event.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~instagram-post-details-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"postUrls":["https://www.instagram.com/p/DLNsnpUTdVS/"]}'
Integrations and chaining
- Archive then people: this Actor, then Instagram Post Engagers Scraper for commenter rows.
- Discover then details: Instagram Posts Scraper or Instagram Reels Scraper to collect URLs, then pass those URLs here.
Scope, data boundary, and recovery
Public, logged-out visible posts and Reels only. viewCount is Instagram-only play/view count. Like counts are public totals; liker identities, shares, saves, and owner insights stay behind Instagram login. Dual-provider fallback uses owner-managed ScrapeCreators then SociaVault. Owner secrets, never caller API keys.
Builder's note
I built this after probing both public-data providers on a live photo URL and a live Reel URL. Both return the same public Graph object — caption, author, likes, comments, media, and Reel play count plus music — and neither exposes who liked the post. That is why this Actor is a get-post-details tool with honest public counts.
FAQ
Are like identities included? Like counts are public totals. For commenter identities, continue with Instagram Post Engagers Scraper.
Is Instagram login required? Public posts and Reels work without login or cookies.
What happens when a post is gone? The Actor reports VALID_EMPTY with zero post-scraped charges when every URL is missing.
Legal
This Actor retrieves publicly available data. You are responsible for complying with Instagram's Terms of Service, applicable data-protection laws (GDPR/CCPA), and Apify's Exclusion Policy when using the results.
Instagram is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by Instagram or Meta.