VOOZH about

URL: https://apify.com/xtracto/instagram-post-detail-scraper

⇱ Instagram Post Detail Scraper Β· Apify


Pricing

from $0.99 / 1,000 results

Go to Apify Store

Instagram Post Detail Scraper

Fetch a single Instagram post / reel / IGTV by shortcode or URL. Includes caption, media URLs, engagement, location, taggings.

Pricing

from $0.99 / 1,000 results

Rating

0.0

(0)

Developer

πŸ‘ Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Categories

Share

Fetch a single Instagram post, reel, or IGTV by shortcode or URL and get the caption, media URLs, engagement counters, owner, location, and tagged users as one clean JSON record.

Why use this actor

  • No account / no login required β€” give it a public Instagram shortcode or URL and you get the data back.
  • Accepts shortcodes or URLs β€” DYSM8J5yzSj, https://www.instagram.com/p/DYSM8J5yzSj/, /reel/..., and /tv/... all work; one dataset row per input.
  • All media types β€” photo, video, carousel (multi-image / multi-video), and reels are unified into the same output shape.
  • Direct media URLs in multiple resolutions β€” image_versions2.candidates lists every thumbnail size and video_versions lists every available bitrate, so you can pick the one you need or mirror them all.
  • Owner + tagged users + location β€” the full owner profile snippet, tagged accounts (usertags), and place data (when the author tagged a location) are included.
  • Stable JSON envelope β€” every row carries _input, _shortcode, _source, and _scrapedAt so you can join results back to your input list and triage failures.

How it works

  1. You provide a list of Instagram post shortcodes or URLs (posts, reels, or IGTV).
  2. The actor fetches each post the same way the Instagram web app does and assembles a flat JSON record with caption, media URLs, engagement, and owner.
  3. If a post is unavailable on the primary path, the actor automatically falls back to a secondary path before giving up.
  4. Results stream into your dataset, ready to download as JSON, CSV, or Excel.

You do not need to manage scrapers, browsers, or rotating IPs β€” all handled internally.

Input

{
"posts":[
"DYSM8J5yzSj",
"https://www.instagram.com/p/DYSM8J5yzSj/"
],
"proxyConfiguration":{
"useApifyProxy":true,
"apifyProxyGroups":["DATACENTER"]
}
}
FieldTypeDescription
postsarrayList of Instagram post shortcodes or full URLs. Plain shortcodes, /p/..., /reel/..., and /tv/... are all accepted.
proxyConfigurationobjectApify Proxy settings. Datacenter is the default; switch to Residential for large batches or if you hit rate limits.

Output

Input: https://www.instagram.com/p/DYSM8J5yzSj/

{
"_input":"https://www.instagram.com/p/DYSM8J5yzSj/",
"_shortcode":"DYSM8J5yzSj",
"_source":"S1-primary",
"_scrapedAt":"2026-05-18T09:14:22.481036+00:00",
"code":"DYSM8J5yzSj",
"pk":"3896233537988932771",
"id":"3896233537988932771_25025320",
"taken_at":1778687953,
"media_type":2,
"product_type":"clips",
"original_width":1080,
"original_height":1920,
"like_count":382573,
"comment_count":5950,
"view_count":null,
"has_audio":true,
"is_paid_partnership":false,
"comments_disabled":false,
"like_and_view_counts_disabled":false,
"carousel_media_count":null,
"carousel_media":null,
"caption":{
"text":"48 players. 48 countries. One canvas 🎨⚽\n\n@werner_bronkhorst (Werner Bronkhorst) is an artist known for pairing abstract, textured backgrounds with hyper-realistic miniature figures. His latest piece, ...",
"created_at":1778687952
},
"owner":{
"pk":25025320,
"username":"instagram",
"full_name":"Instagram",
"is_verified":true,
"is_private":false,
"profile_pic_url":"https://instagram.fcgk52-1.fna.fbcdn.net/v/t51.82787-19/550891366_18667771684001321_1383210656577177067_n.jpg?..."
},
"user":{
"pk":25025320,
"username":"instagram",
"is_verified":true,
"is_private":false,
"profile_pic_url":"https://instagram.fcgk52-1.fna.fbcdn.net/v/t51.82787-19/550891366_18667771684001321_1383210656577177067_n.jpg?..."
},
"usertags":{
"in":[
{
"user":{
"pk":"1993864590",
"username":"werner_bronkhorst",
"full_name":"Werner Bronkhorst",
"is_verified":true,
"profile_pic_url":"https://instagram.fcgk52-1.fna.fbcdn.net/v/t51.2885-19/441508531_973274071067668_3812793703924207721_n.jpg?..."
},
"position":[0.5,0.5]
}
]
},
"location":null,
"image_versions2":{
"candidates":[
{
"url":"https://instagram.fcgk52-1.fna.fbcdn.net/v/t51.82787-15/671776371_18753401356001321_2144846863064822851_n.jpg?...",
"width":1080,
"height":1920
}
// ... 12 more candidates at smaller resolutions
]
},
"video_versions":[
{
"type":101,
"width":720,
"height":1280,
"url":"https://instagram.fcgk52-1.fna.fbcdn.net/o1/v/t2/f2/m86/AQOY5hjf6Sujvcw6V_frgfxGxbJSDQe2owPFdBT19uSi..."
}
// ... 2 more video renditions
],
"clips_metadata":{
"audio_type":"original_sounds",
"music_info":null,
"original_sound_info":{"...":"..."}
}
}
FieldTypeDescription
_inputstringThe shortcode or URL exactly as you supplied it. Use this to join results back to your input list.
_shortcodestringNormalized shortcode parsed from the input.
_sourcestringInternal tag for the path used to fetch the record. S1-primary (and S1-* variants) means the fastest, richest path; values starting with S2-, S3-, or S4- indicate a fallback was used.
_scrapedAtstringISO-8601 UTC timestamp when the record was scraped.
codestringThe Instagram shortcode (same as _shortcode).
pkstringInternal numeric post ID. Stable across URL changes.
idstringComposite post ID in the form <pk>_<owner_pk>.
taken_atintegerUnix timestamp (seconds) when the post was published.
media_typeinteger1 = photo, 2 = video / reel, 8 = carousel.
product_typestringSub-type for videos: clips (reel), feed (in-feed video), igtv (long-form), or null for photos.
original_widthintegerNative width of the primary media in pixels.
original_heightintegerNative height of the primary media in pixels.
like_countintegerTotal likes at scrape time.
comment_countintegerTotal comments at scrape time.
view_countinteger / nullVideo play count when published; null for photos or when Instagram hides the counter.
has_audiobooleantrue if the video has audio (always false for photos).
is_paid_partnershipbooleantrue if the post is tagged as a paid partnership / branded content.
comments_disabledbooleantrue if the author disabled comments on this post.
like_and_view_counts_disabledbooleantrue if the author hid like and view counts on this post.
carousel_media_countinteger / nullNumber of children in a carousel post; null for single-media posts.
carousel_mediaarray / nullFor carousel posts, each child has its own image_versions2, video_versions, media_type, and dimensions in the same shape as the top-level record. null for single-media posts.
caption.textstringThe full caption text including emoji, mentions, and hashtags.
caption.created_atintegerUnix timestamp when the caption was created (usually equal to taken_at).
ownerobjectOwner profile snippet β€” pk, username, full_name, is_verified, is_private, profile_pic_url.
userobjectDisplay-side user snippet for the post (usually identical to owner; differs only for some collab posts).
usertags.inarrayList of accounts tagged in the post. Each entry contains a user profile snippet and a position ([x, y]) of the tag on the image.
locationobject / nullPlace data when the author tagged a location (pk, name, short_name, lat, lng, address, city). null otherwise.
image_versions2.candidatesarrayAll available image renditions, sorted largest to smallest. Each entry has url, width, and height. The first entry is the highest-resolution version.
video_versionsarrayAll available video renditions for video / reel posts. Each entry has type, width, height, and url. Sorted highest to lowest quality.
clips_metadataobject / nullReel-only metadata: audio_type, music_info (licensed track when applicable), original_sound_info (when the audio is original).

Error envelope

Posts that cannot be fetched return a structured error instead of crashing the run:

{
"_input":"https://www.instagram.com/p/this-does-not-exist/",
"_shortcode":"this-does-not-exist",
"_source":"S2-fallback",
"_error":"not_found",
"_errorDetail":"post page returned 404",
"_scrapedAt":"2026-05-18T09:14:24.118201+00:00"
}
ErrorMeaning
invalid_inputThe string you passed is not a recognizable Instagram shortcode or URL.
not_foundThe post was deleted, never existed, or the account was deactivated.
no_anon_dataAll paths returned empty β€” usually a private account or a region-locked post.

Filter on _error to triage failed rows.

Pricing

This actor is billed per result: $6.00 per 1,000 posts. Each successful post = 1 result. Errors (not_found, invalid_input, no_anon_data) are not billed.

Other Sosmed Actors

PlatformActorBest for
InstagramInstagram Account ScraperBio, followers, post count for any handle
InstagramInstagram Account Posts ScraperRecent posts feed for an account
InstagramInstagram Account Reels ScraperReels-only feed for an account
ThreadsThreads Post Detail ScraperSingle Threads post with replies metadata
FacebookFacebook Post Detail ScraperSingle Facebook post by URL
X / TwitterX Post Detail ScraperSingle tweet with media and counters
YouTubeYouTube Video Detail ScraperSingle video with metadata and stats

Browse the full catalog at apify.com/xtracto.

Notes

  • Private posts return only a metadata snippet (and may surface as _error: "no_anon_data" when nothing is visible to anonymous viewers). Use a public account or a different post for full detail.
  • IGTV has been unified with reels since 2025 β€” /tv/<shortcode>/ URLs work and the record looks the same as a reel (product_type: "clips" or "igtv").
  • Carousel children are returned under carousel_media with each child carrying its own image_versions2, video_versions, and dimensions; the top-level image_versions2 / video_versions for a carousel reflects the cover (first child).
  • Media CDN URLs (image_versions2.candidates[].url, video_versions[].url, profile_pic_url) are signed and time-bound. Download or mirror them immediately if you need permanence.
  • For batches over a few hundred posts, switch proxyConfiguration to Residential to stay under per-IP rate limits.

You might also like

Instagram Post & Reel Details Scraper Β· No Login

data-slayer/instagram-post-details

Get full details from any Instagram post or Reel by URL β€” no login. 128 fields: likes, comments, views, shares, saves, reposts, captions, audio metadata, video URLs, and creator profiles. Bulk URL input. Includes repost_count missing from Apify's own scraper. JSON/CSV/Excel.

259

Instagram Post Details Scraper πŸ“Έ

powerful_bachelor/instagram-post-details-scraper

πŸ“Έ Extract detailed Instagram post data effortlessly! Get likes, comments, captions, hashtags & more. Perfect for πŸ“Š analytics, 🎯 marketing research & πŸ“ˆ performance tracking. Easy setup, powerful results! Supports multiple formats: JSON, CSV, Excel. Start scraping Instagram posts today! πŸš€βœ¨

πŸ‘ User avatar

Powerful Bachelor

186

2.0

(1)

Instagram Post Details Scraper (PPR)

powerful_bachelor/instagram-post-details-scraper-ppr

πŸ“Έ Extract detailed Instagram post data effortlessly! Get likes, comments, captions, hashtags & more. Perfect for πŸ“Š analytics, 🎯 marketing research & πŸ“ˆ performance tracking. Easy setup, powerful results! Supports multiple formats: JSON, CSV, Excel. Start scraping Instagram posts today! πŸš€βœ¨

πŸ‘ User avatar

Powerful Bachelor

499

5.0

(2)

Instagram Post Details Scraper

nifty.codes/instagram-postdetails-scraper

Extract post details including engagement metrics, location, audio, and tagged users from Instagram post and reel pages. Powered by Instagram Scraper.

Instagram Post Details Scraper

scraperforge/instagram-post-details-scraper

πŸ“Έ Instagram Post Details Scraper extracts detailed IG post dataβ€”caption, hashtags, mentions, likes, comments, views, date, media type, location, tagged users & URL. βš™οΈ Perfect for social analytics, competitor research, influencer vetting & content strategy. πŸš€ Fast, accurate, scalable.

8

1.0

(1)

Instagram Post Details Scraper

scrapepilotapi/instagram-post-details-scraper

πŸ“Έ Instagram Post Details Scraper extracts captions, hashtags, likes, comments, views, timestamps, media URLs, mentions & locationβ€”plus engagement metrics. πŸ”Ž Perfect for social listening, competitor analysis & content strategy. βœ… Respect privacy & ToS.

Instagram Post Details Scraper

scraper-engine/instagram-post-details-scraper

Instagram Post Details Scraper extracts detailed data from Instagram posts. It collects captions, hashtags, likes, comments, media URLs, timestamps, and engagement metrics. Ideal for influencer research, content analysis, audience insights, and social media monitoring.

πŸ‘ User avatar

Scraper Engine

3

Instagram Post Details Scraper

scrapier/instagram-post-details-scraper

πŸ“Έ Instagram Post Details Scraper extracts captions, hashtags, mentions, likes, comments, views, timestamps, locations, media URLs & engagement metrics. πŸ“Š Ideal for social analytics, competitor research, content planning & reporting. ⚑ Fast, accurate, CSV/JSON-ready.

Instagram Post Details Scraper

scrapio/instagram-post-details-scraper

Instagram Post Details Scraper extracts detailed data from individual Instagram posts. It collects captions, hashtags, likes, comments, media URLs, timestamps, and engagement metrics. Ideal for influencer research, content analysis, audience insights, and social media monitoring.

Instagram Post Details Scraper

simpleapi/instagram-post-details-scraper

πŸ“Έ Instagram Post Details Scraper pulls rich post data β€” captions, hashtags, likes, comments, views, timestamps, media URLs & engagement metrics. πŸ” Perfect for social analytics, content planning, competitor research & reporting. πŸš€ Boost insights and optimize your IG strategy.

Instagram Post Details Scraper

api-empire/instagram-post-details-scraper

πŸ“Έ Instagram Post Details Scraper extracts captions, hashtags, mentions, likes, comments, views, timestamp, location, media type & URLs from posts/Reels. πŸ”Ž Ideal for social listening, influencer research, competitive analysis & content planning. πŸš€ Fast, scalable, export-ready (CSV/JSON).