Instagram Reel Scraper avatar

Instagram Reel Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Instagram Reel Scraper

Instagram Reel Scraper

Scrape public Instagram profile posts, reels, IGTV, and carousel media with captions, hashtags, mentions, engagement counts, timestamps, owner details, audio metadata, and optional cloud media downloads.

Pricing

from $4.00 / 1,000 results

Rating

5.0

(2)

Developer

AgentX

AgentX

Maintained by Community

Actor stats

2

Bookmarked

40

Total users

11

Monthly active users

4 days ago

Last modified

Share

Instagram Reel Scraper - Content Analytics & Social Intelligence Extraction API

Instagram Reel Scraper is a social content intelligence API that extracts structured Instagram posts, reels, IGTV, and carousel media with engagement metrics and optional cloud media archival in a single profile-driven run. Instagram Reel Scraper returns one standardized record per post, including post_id, shortcode, post_url, normalized post_type, owner profile fields, caption text, hashtags, mentions, publish time, engagement counts, cover_url, full media_items, location details, tagged users, coauthors, top comments, and audio metadata when available. Coverage spans the full public Instagram post graph for one bare username input. Built for content analytics, brand monitoring, reel performance benchmarking, competitive content analysis, historical brand-timeline reconstruction, social-media dataset construction, and creative asset archival pipelines. Up to 1,000,000 posts per run, with pay-per-result pricing and no monthly minimum.

Instagram Content Analytics Social Intelligence


Why Choose This API

Full Instagram Post & Reel Intelligence for Content and Brand Analytics

📊 Complete Engagement Metrics Per Post Extract like_count, comment_count, play_count, and view_count per post for engagement rate calculation, top-content identification, and performance benchmarking across time periods.

🎬 Reels & Video Intelligence Capture post_type, has_video, has_audio, play_count, audio_title, audio_canonical_id, audio_is_trending, and per-item video metadata inside media_items for reel and video performance analysis.

🖼️ Carousel & Multi-Media Extraction The media_items array delivers all images and videos from carousel posts with per-item position, media type, media URL, cover URL, dimensions, duration, and audio flags.

📥 Optional Cloud Media Download Set download to true to archive all available post media directly to Apify cloud storage and rewrite cover_url plus media_items[].media_url in the dataset.

📅 Historical Content Audit at Scale Extract up to 1,000,000 posts per run from a single profile, with published_at and published_timestamp fields enabling full historical content timelines for longitudinal brand analysis and content velocity tracking.

📍 Location & Context Signals Each post includes location_id, location_name, coordinates when exposed, hashtags, mentions, tagged users, coauthors, paid partnership signals, and structured comments for geographic, campaign, and conversation analysis.


Quick Start Guide

How to Extract Instagram Posts & Reels in 3 Steps

Step 1: Identify Your Target Profile

Enter the bare Instagram username of the account to analyze.

Step 2: Configure and Run the Actor

Open Actor Input

Set the username, max results, and download toggle, then click Start.

Step 3: Download Your Data

Export results as JSON or CSV, or access programmatically via the Apify dataset API. Each record contains the full post record including engagement metrics, cover URL, media item URLs, caption context, location details, audio metadata, and structured comments.


Input Parameters

Configuration Fields

ParameterTypeRequiredDescriptionExample Values
usernamestringBare Instagram username. Do not include @ or a URL."nike", "natgeo"
max_resultsintegerMaximum posts to extract (1–1,000,000)1, 50, 500, 10000
downloadbooleanSave all available post media to Apify storagefalse, true

Example Input Configuration

{
"username": "nike",
"max_results": 100,
"download": false
}

Output Data Schema

Complete Post Record Structure

Each extracted Instagram post record contains the following fields:

Open Actor Output

Core Post Fields

FieldTypeDescription
processorstringApify actor URL that processed this record
scraped_atstringISO 8601 timestamp when this record was scraped
post_idstringInstagram media identifier
shortcodestringShort post code used in the public URL
post_urlstringPublic Instagram post, reel, IGTV, or carousel URL
post_typestringNormalized type: feed_image/feed_video/reel/igtv/carousel
instagram_product_typestringOriginal Instagram product type
instagram_media_typeintegerOriginal Instagram media type number
captionstringCaption text on the post
hashtagsarrayUnique hashtags extracted from the caption
mentionsarrayUnique mentioned usernames extracted from the caption
published_atstringISO 8601 publish timestamp
published_timestampintegerUnix timestamp of publish time

Engagement Fields

FieldTypeDescription
like_countintegerTotal likes on the post
comment_countintegerTotal comments on the post
play_countintegerInstagram play count when available
view_countintegerView count from Instagram or yt-dlp when exposed
like_and_view_counts_disabledbooleanWhether Instagram hides like/view counts
comments_disabledbooleanWhether comments are disabled for the post

Owner & Context Fields

FieldTypeDescription
owner_idstringInstagram account ID of the post owner
owner_usernamestringUsername that published this post
owner_full_namestringDisplay name of the post owner
owner_is_verifiedbooleanWhether the owner is verified
owner_is_privatebooleanWhether the owner account is private
owner_profile_pic_urlstringOwner profile picture URL
location_idstringInstagram or Facebook Places location ID
location_namestringLocation name attached to the post
location_latnumberLocation latitude when exposed
location_lngnumberLocation longitude when exposed
location_addressstringLocation address text when exposed
location_citystringLocation city when exposed
tagged_usersarrayTagged accounts with position metadata
coauthorsarrayCollaborating accounts reported by Instagram
can_viewer_savebooleanWhether Instagram reports the post as saveable
can_viewer_resharebooleanWhether Instagram reports the post as reshareable
is_paid_partnershipbooleanPaid partnership or branded content marker
sponsor_tagsarraySponsor accounts attached to the post
top_commentsarrayStructured comments returned by yt-dlp

Media Fields

FieldTypeDescription
cover_urlstringBest display image URL for table previews
media_countintegerNumber of media items
image_countintegerNumber of image items
video_countintegerNumber of video items
is_carouselbooleanWhether the post contains multiple media items
has_videobooleanWhether the post contains video
has_audiobooleanWhether any media item has audio
media_itemsarrayPer-item media details: media_url, cover_url, dimensions

Audio Fields

FieldTypeDescription
audio_typestringInstagram audio type when available
audio_titlestringAudio or music title
audio_artiststringAudio artist or display artist
audio_asset_idstringInstagram audio asset identifier
audio_canonical_idstringCanonical Instagram audio identifier
audio_duration_msintegerAudio duration in milliseconds
audio_cover_urlstringAudio artwork or owner image URL
audio_preview_urlstringAudio preview URL when exposed
audio_owner_usernamestringOriginal audio owner username when available
audio_is_originalbooleanWhether the post uses original audio metadata
audio_is_reuse_allowedbooleanWhether audio reuse is allowed
audio_is_trendingbooleanWhether Instagram marks the audio as trending
audio_mashups_countintegerReported mashup count for the audio

Example JSON Output

{
"processor": "https://apify.com/agentx/instagram-reel-scraper",
"scraped_at": "2026-07-05T07:20:12+00:00",
"post_id": "3877256089956040035_227764111",
"shortcode": "DXOx98JDL1j",
"post_url": "https://www.instagram.com/reel/DXOx98JDL1j/",
"post_type": "reel",
"instagram_product_type": "clips",
"instagram_media_type": 2,
"owner_id": "13460080",
"owner_username": "nike",
"owner_full_name": "Nike",
"owner_is_verified": true,
"owner_is_private": false,
"caption": "Just do it. #Nike #Running",
"hashtags": ["Nike", "Running"],
"mentions": [],
"published_at": "2026-04-17T17:23:09+00:00",
"published_timestamp": 1776446589,
"like_count": 45230,
"comment_count": 872,
"play_count": 1204050,
"comments_disabled": false,
"cover_url": "https://example.com/cover.jpg",
"media_count": 1,
"image_count": 0,
"video_count": 1,
"has_video": true,
"has_audio": true,
"location_name": "New York",
"location_lat": 40.779442,
"location_lng": -73.963359,
"is_paid_partnership": false,
"top_comments": [
{
"id": "18085023536555088",
"author_id": "14786298068",
"author_username": "kind.care.daily",
"text": "Great post",
"like_count": 0,
"timestamp": 1783232439,
"created_at": "2026-07-05T02:20:39+00:00"
}
],
"audio_type": "licensed_music",
"audio_title": "her garden",
"audio_artist": "Amory Reel",
"audio_asset_id": "1446482649383194",
"audio_canonical_id": "18424926214053229",
"audio_is_trending": true,
"media_items": [
{
"position": 1,
"media_id": "3877256089956040035",
"media_type": "video",
"media_url": "https://example.com/video.mp4",
"cover_url": "https://example.com/cover.jpg",
"width": 720,
"height": 1280,
"duration_seconds": 30,
"has_audio": true
}
]
}

Export Formats

  • JSON - Complete structured data with all metadata
  • CSV - Spreadsheet-compatible for analytics and reporting
  • API Access - Programmatic access via Apify Client SDK
  • Cloud Storage - Media files downloadable to Apify storage

Integration Examples

Actor ID for Platform Integration

jovODBRjNhF52fF9D

Ⓜ️ Make.com Setup:

  1. Login to Make.com (Get 1000 Free Credits)
  2. Add module "Run an Actor"
  3. Turn 'Map' on - right side of the 'Actor*'
  4. Paste Actor ID - from above
  5. Click the '⟳ Refresh' - left side of Map
  6. Input JSON* - Modify the parameters as needed
  7. Set "Run synchronously" to YES
  8. Add module "Get Dataset Items" - receive the result
  9. In Dataset ID* select defaultDatasetId

🎱 N8N.io Setup:

  1. Add 'Run an Actor and get dataset' - from the apify node
  2. ActorBy IDPaste Actor ID - from above
  3. Input JSON - Modify the parameters as needed

Python Integration Example

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run_input = {
"username": "natgeo",
"max_results": 200,
"download": False
}
run = client.actor("jovODBRjNhF52fF9D").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript/Node.js Integration

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const input = {
username: "redbull",
max_results: 500,
download: true,
};
const run = await client.actor("jovODBRjNhF52fF9D").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item));

JSON-LD Metadata

{
"@context": "https://schema.org",
"@graph": [
{
"@type": "SoftwareApplication",
"@id": "https://apify.com/agentx/instagram-reel-scraper#software",
"name": "Instagram Reel Scraper",
"description": "Instagram Reel Scraper is a social content intelligence API delivering captions, hashtags, mentions, engagement metrics, normalized post_type labels, cover URLs, media_items, play counts, enriched audio metadata, location details, top comments, and owner context for content analytics, brand monitoring, and social intelligence pipelines.",
"applicationCategory": "BusinessApplication",
"applicationSubCategory": "Web Scraping API",
"operatingSystem": "Web, Cloud",
"url": "https://apify.com/agentx/instagram-reel-scraper",
"softwareVersion": "1.0.0",
"datePublished": "2024-08-01",
"dateModified": "2026-07-05",
"featureList": [
"Feed image, feed video, reel, IGTV, and carousel extraction with normalized post_type labels",
"Engagement: like_count, comment_count, play_count, and view_count per post",
"Caption context through hashtags, mentions, and structured top_comments",
"Video and audio intelligence through has_video, has_audio, enriched audio fields, and media_items",
"Carousel media_items array with per-item media URLs, cover URLs, dimensions, and duration",
"Location details including location ID and coordinates when Instagram exposes them",
"Optional cloud media download for all available media files",
"Up to 1,000,000 posts per run from a single profile",
"published_at and published_timestamp for historical timelines",
"Native integrations with Make.com, n8n, LangChain, and CrewAI"
],
"offers": {
"@type": "Offer",
"price": "0.00351",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"author": { "@id": "https://apify.com/agentx#person" },
"publisher": { "@id": "https://apify.com#organization" }
},
{
"@type": "Person",
"@id": "https://apify.com/agentx#person",
"name": "AgentX",
"url": "https://apify.com/agentx",
"sameAs": [
"https://apify.com/agentx",
"https://t.me/AiAgentApi",
"https://t.me/Apify_Actor"
],
"knowsAbout": [
"web scraping",
"Instagram",
"content analytics",
"reel intelligence",
"brand monitoring"
]
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Apify",
"item": "https://apify.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "AgentX",
"item": "https://apify.com/agentx"
},
{
"@type": "ListItem",
"position": 3,
"name": "Instagram Reel Scraper",
"item": "https://apify.com/agentx/instagram-reel-scraper"
}
]
}
]
}

Pricing & Cost Calculator

Tiered Pay-Per-Event Pricing

EventUnitFREEBRONZESILVERGOLD / PLATINUM / DIAMOND
Actor StartCharged on run start (per GB memory)$0.01$0.01$0.01$0.01
ResultPer Instagram post or reel extracted$0.00390$0.00377$0.00364$0.00351
MediaPer media file downloaded to cloud storage$0.01800$0.01740$0.01680$0.01620

Cost Estimation Examples (FREE Tier, Posts Only)

PostsEstimated Cost
100 posts~$0.40
500 posts~$1.96
1,000 posts~$3.91
10,000 posts~$39.01
100,000 posts~$390.01

Media download charges are separate from post extraction charges. Enable media download only when archiving content to storage.


Use Cases & Applications

Content Analytics & Performance Benchmarking

Engagement Rate Calculation & Content Performance Analysis Extract like_count, comment_count, and play_count across all posts from an account to calculate engagement rates per post, identify top-performing content formats, and benchmark reels vs. feed posts vs. carousel performance.

Historical Content Audit & Brand Timeline Reconstruction Pull up to 1,000,000 historical posts from a brand account to reconstruct full content timelines, analyze posting frequency, detect campaign periods, and map content strategy evolution over time.

Reel Performance Intelligence Filter extracted records by post_type: "reel" to isolate reel performance data including play counts, engagement metrics, media duration inside media_items, and audio metadata for Instagram Reels strategy benchmarking.

Brand Monitoring & Competitive Intelligence

Competitor Content Strategy Analysis Extract recent posts from competitor brand accounts to analyze posting cadence, content mix (reels vs. feed vs. carousel), caption strategy, engagement rates, and campaign timing signals.

Campaign Content Tracking Monitor specific brand accounts during campaign windows, then post-process the extracted published_at field to isolate campaign-specific content and measure performance lift.

Creative Asset Collection for Research Set download: true to archive brand creative assets to cloud storage for competitive creative analysis, moodboard construction, and brand visual identity research.

AI & Data Science Applications

Social Media Dataset Construction Build labeled Instagram post datasets with captions, engagement signals, cover_url, and media_items[].media_url for training content classification models, sentiment analysis, and virality prediction algorithms.

Caption Intelligence Extraction Extract and analyze caption text across thousands of posts from multiple accounts to identify messaging patterns, creative frameworks, and language strategies used by high-performing brands.


FAQ

How many posts can I extract per run?

Up to 1,000,000 posts from a single profile per run, configurable via max_results.

Does this actor support reels (video posts)?

Yes. All verified post types are extracted, including feed images, feed videos, reels, IGTV, image carousels, video carousels, and mixed carousels. Video-specific data is exposed through has_video, has_audio, play_count, audio fields, and each video's media_items entry.

What does the media download option do?

Setting download to true downloads all available post media to Apify cloud storage and updates cover_url plus media_items[].media_url. With download: false, the dataset keeps original media links. Additional Media charges apply per file downloaded.

Can I extract posts from private accounts?

No. Only publicly accessible posts from public profiles can be extracted.

Is the play count (views) available for all posts?

The play_count field is populated for reels and video posts where Instagram exposes the play count. It may be null for some feed posts.

Yes. Carousel posts are fully supported — the media_items array contains per-item image and video URLs, dimensions, and position data for all items in the carousel.


SEO Keywords & Search Terms

Primary Keywords

Instagram post scraper API, Instagram reel extraction API, Instagram content analytics pipeline, Instagram engagement data API, Instagram media download API, social media content intelligence, Instagram post bulk extractor, brand monitoring Instagram API, Instagram carousel data extractor, Instagram play count API

Long-Tail Keywords

how to extract Instagram post data programmatically, bulk Instagram reel scraper API, Instagram engagement metrics extraction, Instagram historical content audit API, brand monitoring Instagram content pipeline, Instagram carousel item extractor, Instagram video download API, social media dataset builder, competitor Instagram content analysis API, Instagram caption extraction pipeline

Industry Terms

Instagram content analytics, social media intelligence API, engagement rate extraction, reel performance benchmarking, brand content monitoring, historical content audit, carousel post extraction, media archiving pipeline, social media dataset construction, competitor content analysis

Use Case Keywords

Instagram brand monitoring tool, reel performance tracker API, Instagram content pipeline, social media analytics extractor, caption analysis API, Instagram media archiver, competitor content scraper, engagement benchmark API, Instagram AI dataset builder, content strategy analysis tool


Trust & Certifications

  • Production-Grade Infrastructure — runs on the Apify cloud platform with managed proxy rotation and automatic retries
  • GDPR & CCPA Aligned — extracts only publicly available Instagram content; no personal consumer data retained beyond the run session
  • Pay-Per-Result Billing — transparent per-post pricing with no monthly minimum or seat fees
  • Continuously Maintained — schema and selector updates released as Instagram evolves

Data Rights & Usage

All data extracted by this actor originates from publicly available Instagram post content. Users are responsible for ensuring their use of extracted data complies with applicable laws, Instagram's terms of service, and relevant copyright and intellectual property regulations.

Privacy Compliance

  • GDPR: Compliant with EU General Data Protection Regulation. Only publicly available post data is extracted. No private content is accessed.
  • CCPA: Compliant with California Consumer Privacy Act requirements.

Platform Terms of Service

Users must review and comply with Instagram's terms of service when using extracted data. This tool accesses only publicly available post information.

Enterprise Support

For enterprise licensing, custom integrations, or compliance inquiries:


Jobs & Hiring

Social Media

Video & Transcript

E-Commerce & Retail

Classifieds & Automotive

Real Estate

Business Intelligence & Reviews

Other


Support & Community


Last Updated: July 05, 2026