Instagram Post Details Scraper avatar

Instagram Post Details Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Instagram Post Details Scraper

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.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScraperForge

ScraperForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Instagram Post Details Scraper

Instagram Post Details Scraper is a fast, reliable Instagram post data extraction tool that collects structured details from public posts, reels, and TV URLs at scale. It solves the hassle of manual copy‑paste by exporting clean, structured post metadata (likes, comments, views, captions, media URLs, owner info, and more) for marketers, developers, data analysts, and researchers. As an Instagram post details extractor and Instagram post metadata extractor, it enables repeatable social analytics, competitor tracking, influencer vetting, and content strategy — all in production-ready workflows.

What data / output can you get?

Below are key fields pushed to the Apify dataset (one row per input URL). Field names match the actual output schema.

Data typeDescriptionExample value
urlThe processed Instagram post/reel/TV URLhttps://www.instagram.com/p/Bq-mIJWgUAU/
post_idInstagram media primary key (as string)"1957648390123456789"
short_codePost shortcode"Bq-mIJWgUAU"
usernamePrimary username resolved from post (poster or first tagged user)"natgeo"
post_dateISO 8601 UTC post timestamp"2018-11-29T12:34:56.000Z"
like_countNumber of likes128450
comment_countNumber of comments3421
video_view_countVideo views (if applicable)912345
video_play_countVideo plays (if applicable)923456
display_urlFull-size display image URLhttps://instagram.fabc1-1.fna.fbcdn.net/...jpg
video_urlVideo URL (if applicable)https://instagram.fabc1-1.fna.fbcdn.net/...mp4
thumbnail_urlThumbnail image URLhttps://instagram.fabc1-1.fna.fbcdn.net/...jpg
captionPost caption text"Exploring the wild #nature"
altAccessibility alt text (if present)"Photo by @natgeo..."
locationRaw location object from page payload{ "name": "Yosemite National Park", "...": "..." }
is_paid_partnershipWhether it’s marked as a paid partnershipfalse
is_adWhether it’s an ad (based on ad_id presence)false
owner.usernameOwner username from profile data"natgeo"
owner.edge_followed_by.countOwner follower count (when available)28500000
owner.edge_following.countOwner following count (when available)150
owner.edge_owner_to_timeline_media.countOwner post count (when available)2321
latest_commentsArray of latest comments with owners and like counts[ { "id": "...", "text": "...", ... } ]

Notes:

  • Extra booleans include is_affiliate, is_insights_as_brand, is_caption_edited, has_ranked_comments.
  • Results are available via Apify Dataset for instant export to JSON, CSV, or Excel.
  • A Key-Value Store record named OUTPUT stores a JSON mapping of input URL → extracted postDetails (or null on failure).
  • The default dataset view includes: url, post_id, short_code, username, post_date, like_count, comment_count, video_view_count, display_url, video_url, caption.

Key features

  • ⚙️ Robust extraction via embedded payloads Parses data-sjs script payloads from Instagram post pages to deliver highly accurate fields. This Instagram post data scraper reliably extracts captions, counts, media URLs, and owner info without login.

  • 🧪 Owner enrichment (profile counts) When available, the actor calls the web_profile_info endpoint to enrich owner.edge_followed_by.count (followers), owner.edge_following.count (following), and owner.edge_owner_to_timeline_media.count (posts).

  • 📦 Batch scraping & bulk automation Paste multiple public post/reel/TV URLs to process them in one run. Ideal for social analytics pipelines and IG post details scraper workflows.

  • 📊 Comments, likes, views in one pass Works as an Instagram comments scraper and Instagram likes and views scraper by providing latest_comments, like_count, comment_count, video_view_count, and video_play_count.

  • 🖼️ Media URL extractor for images & video Extracts display_url, thumbnail_url, and video_url fields — perfect for downstream Instagram image and video post downloader use cases.

  • 🔄 Smart proxy fallback with clear logs Starts direct (no proxy) → escalates to datacenter → escalates to residential with retries. Sticks to residential once used. Transparent logs at each step for reliability.

  • 🧰 Developer-friendly Python actor Built in Python on Apify. Easy to integrate into scripts, APIs, or low-code tools. Great for Instagram post scraper Python pipelines and Instagram post JSON export tasks.

  • 🔌 Integration-ready outputs Export the dataset as CSV / JSON / Excel to feed your BI stack, data warehouse, or workflow tools (Zapier, Make, n8n, LangChain, etc.).

  • ✅ No login required (public data only) Designed for publicly available Instagram content. No cookies or account needed for standard runs.

How to use Instagram Post Details Scraper - step by step

  1. Sign in to Apify
    Create or log into your Apify account to access the Instagram Post Details Scraper actor.

  2. Open the actor on Apify Store
    Navigate to the Instagram Post Details Scraper listing and click Try for free.

  3. Add input URLs
    In the urls field, paste one or many public Instagram post/reel/TV URLs (each on a new line).

  4. (Optional) Configure proxy
    Leave Proxy (optional) as default for direct requests. The actor will automatically escalate to datacenter and then residential proxies if blocked, with clear logs.

  5. Start the run
    Click Start. The actor fetches each URL, parses embedded payloads, enriches owner metrics when available, and saves results as they’re found.

  6. Monitor progress
    Watch the live logs for processing status, proxy decisions, and item summaries (post_id, short_code, @username, likes/comments, date).

  7. Download results
    Open the Dataset tab to preview and export your results as JSON, CSV, or Excel. A Key-Value Store record named OUTPUT also contains a URL → postDetails mapping.

Pro Tip: Chain this Instagram public post scraper with Make, n8n, or your API to automate Instagram post CSV export and downstream analytics.

Use cases

Use case nameDescription
Social analytics & reportingAggregate like_count, comment_count, and video_view_count across campaigns to quantify performance and benchmark content.
Competitor research & monitoringTrack competitor posts at scale with an Instagram post metadata extractor to understand cadence, media types, and engagement.
Influencer vettingUse owner follower/following/post counts and engagement metrics to screen creators before collaborations.
Content strategy & A/B testingAnalyze captions and media types (display_url/video_url) to identify what drives higher engagement for your audience.
Academic & market researchCollect structured Instagram post JSON export data for studies on trends, dissemination, and media effects.
Data engineering pipelines (API)Integrate this Instagram post API data scraper into ETL workflows for warehousing, dashboards, or alerts.
UGC monitoring & rights managementCapture post metadata and media URLs to audit usage, track mentions, and manage approvals.

Why choose Instagram Post Details Scraper?

Built for precision, automation, and reliability, this IG post details scraper outperforms brittle browser extensions and one-off scripts.

  • 🎯 Accurate, structured fields
    Extracts well-defined keys (e.g., post_id, short_code, like_count, latest_comments, owner.*) from embedded page payloads.

  • 🌍 Public data without login
    No session or credentials required to scrape public posts, reels, and TV content.

  • ⚡ Scales for batch workflows
    Process many URLs per run and export in formats your team already uses (CSV, JSON, Excel).

  • 🧑‍💻 Developer-ready Python actor
    Ideal for Instagram post scraper Python pipelines and API-based integrations.

  • 🔐 Smart, resilient networking
    Automatic proxy fallback: direct → datacenter → residential with retries and sticky residential mode for stability.

  • 🤝 Integration-friendly
    Works smoothly with BI tools, automation platforms, and data warehouses for end-to-end workflows.

  • 💸 Cost-effective vs extensions
    Production infrastructure and consistent outputs — without the instability of browser-based alternatives.

In short: a production-grade Instagram post details extractor that delivers consistent, structured outputs for analytics and automation.

Is it legal / ethical to use Instagram Post Details Scraper?

Yes — when used responsibly. This tool is designed for publicly available Instagram data only and does not access private profiles or authenticated endpoints.

Guidelines for compliant use:

  • Only process publicly visible content you’re permitted to analyze.
  • Respect Instagram’s terms and relevant laws (e.g., GDPR, CCPA).
  • Avoid collection of personal or sensitive data beyond public post metadata.
  • Consult your legal team if you have edge cases or compliance questions.

Input parameters & output format

Example input

{
"urls": [
"https://www.instagram.com/p/Bq-mIJWgUAU/",
"https://www.instagram.com/reel/CgzOZz5DWaQ/",
"https://www.instagram.com/tv/CgzOZz5DWaQ/"
],
"proxyConfiguration": {
"useApifyProxy": false
}
}

Parameters

  • urls (array, required)
    • Description: Paste Instagram post / reel / TV URLs here. One per line — bulk input supported.
    • Default: none specified
  • proxyConfiguration (object, optional)
    • Description: Optional. Default: No proxy — requests go direct to Instagram. If blocked: fallback to Datacenter, then Residential. If residential fails, retry 3×. Once on residential, stick with it for all remaining requests. All proxy changes are logged.
    • Default: {"useApifyProxy": false}

Example dataset row (success)

{
"url": "https://www.instagram.com/p/Bq-mIJWgUAU/",
"post_id": "1957648390123456789",
"short_code": "Bq-mIJWgUAU",
"username": "natgeo",
"thumbnail_url": "https://instagram.fabc1-1.fna.fbcdn.net/tn.jpg",
"is_affiliate": false,
"is_paid_partnership": false,
"is_ad": false,
"is_insights_as_brand": false,
"is_caption_edited": false,
"has_ranked_comments": true,
"like_count": 128450,
"comment_count": 3421,
"video_view_count": 912345,
"video_play_count": 923456,
"post_date": "2018-11-29T12:34:56.000Z",
"display_url": "https://instagram.fabc1-1.fna.fbcdn.net/full.jpg",
"alt": "Photo by @natgeo...",
"location": {
"name": "Yosemite National Park"
},
"caption": "Exploring the wild #nature",
"video_duration": 14.7,
"video_url": "https://instagram.fabc1-1.fna.fbcdn.net/video.mp4",
"sponsor_user": [],
"upcoming_event": null,
"owner": {
"id": "12345678",
"username": "natgeo",
"is_verified": true,
"profile_pic_url": "https://instagram.fabc1-1.fna.fbcdn.net/pp.jpg",
"blocked_by_viewer": false,
"restricted_by_viewer": null,
"followed_by_viewer": false,
"full_name": "National Geographic",
"has_blocked_viewer": false,
"is_embeds_disabled": false,
"is_private": false,
"is_unpublished": false,
"requested_by_viewer": false,
"pass_tiering_recommendation": null,
"edge_owner_to_timeline_media": { "count": 2321 },
"edge_followed_by": { "count": 28500000 },
"edge_following": { "count": 150 }
},
"latest_comments": [
{
"id": "17900000123456789",
"text": "Amazing shot!",
"created_at": 1543497600,
"did_report_as_spam": false,
"owner": {
"id": "9876543",
"is_verified": false,
"profile_pic_url": "https://instagram.fabc1-1.fna.fbcdn.net/u1.jpg",
"username": "traveler123"
},
"viewer_has_liked": false,
"edge_liked_by": { "count": 12 },
"is_restricted_pending": false,
"edge_threaded_comments": {
"count": 0,
"page_info": { "has_next_page": false, "end_cursor": null },
"edges": []
}
}
]
}

Example dataset row (failure)

{
"url": "https://www.instagram.com/p/INVALID/",
"error": "Media item not found in HTML"
}

Key-Value Store OUTPUT (URL → postDetails mapping)

{
"https://www.instagram.com/p/Bq-mIJWgUAU/": {
"post_id": "1957648390123456789",
"short_code": "Bq-mIJWgUAU",
"...": "..."
},
"https://www.instagram.com/p/INVALID/": null
}

Fields that may be null or absent depending on post type and availability: video_url, video_view_count, video_play_count, video_duration, alt, location, upcoming_event, sponsor_user.

ToolDescription
🔎 Instagram Profile ScraperExtract public profile details and stats for accounts you research.
🧵 Instagram Hashtag ScraperCollect posts and metadata from hashtag pages for trend analysis.
📈 Instagram Comments ScraperFocused extraction of comments at scale for sentiment and moderation.
🎬 Instagram Reels ScraperTargeted reels metadata and media URLs for short-form analytics.

FAQ

Do I need to log in to use this Instagram post details extractor?

No. The actor works on publicly available posts, reels, and TV URLs without login. It parses embedded page data and enriches owner counts when available.

Does it scrape captions, comments, likes, and views?

Yes. It collects caption (caption), latest_comments (with owners and counts), like_count, comment_count, and video_view_count/video_play_count when present.

Can I export results to CSV or JSON?

Yes. All results are pushed to the Apify Dataset, which you can export as JSON, CSV, or Excel. A Key-Value Store record named OUTPUT also stores a URL → postDetails JSON mapping.

Does it extract media URLs for images and videos?

Yes. It outputs display_url, thumbnail_url, and video_url (for video posts/reels). This makes it a practical Instagram media URL extractor for downstream downloads.

How does the proxy fallback work?

The actor starts with direct requests (no proxy). If blocked (e.g., 401/403/429 or missing payload), it escalates to datacenter proxies; if still blocked, it switches to residential proxies and retries. Once residential is used, it remains sticky for the rest of the run, with clear logs at each stage.

What kinds of comments are included?

The latest_comments array contains recent comments either from preview_comments or from the comments connection when available, including commenter info and like counts. It does not paginate all historical comments.

Is there a free trial?

You can try the actor on Apify with free trial minutes before subscribing. Check the Apify Store listing for current plans and limits.

Can I integrate this Instagram post data scraper with Python or APIs?

Yes. The actor is built in Python and runs on Apify’s platform, making it easy to call via the Apify API, schedule runs, and plug results into your pipelines or automation tools.

What happens if a URL fails?

Failures are recorded as dataset rows with an error field and the OUTPUT mapping stores null for that URL. Other URLs continue processing independently.

Does it support hashtag analytics?

While the actor does not parse hashtags into a separate field, the caption text includes hashtags, which you can analyze downstream for your Instagram caption and hashtag scraper workflows.

Closing thoughts

Instagram Post Details Scraper is built to extract structured post metadata from public Instagram posts, reels, and TV pages at scale. It delivers clean fields for engagement, media, captions, and owner metrics — with resilient networking and instant exports. Whether you’re a marketer, developer, analyst, or researcher, you can plug this Instagram public post scraper into your dashboards, enrichments, or API pipelines. Start exporting Instagram post JSON today, integrate with your automation stack, and begin extracting smarter social insights.