Instagram Reels Scraper
Pricing
from $2.93 / 1,000 results
Instagram Reels Scraper
Collect public Instagram Reels, posts, IGTV-style media, and carousels from one username. Download post media and return 62-field records with storage URLs and structured metadata.
Pricing
from $2.93 / 1,000 results
Rating
5.0
(2)
Developer
AgentX
Maintained by CommunityActor stats
4
Bookmarked
49
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Instagram Reels Scraper is an instagram profile media scraper that turns one public account into 64-field post records with downloaded images, videos, covers, avatars, and audio artwork. Use it to collect Reels, feed images, and image, video, or mixed carousels in one consistent Dataset without supplying an Instagram login.
- One-account timeline input: provide a username,
@handle, or complete Instagram profile URL. - 64 documented fields: each saved row uses one contract across Reels, feed images, and carousels.
- Durable run assets: post media, covers, owner avatars, and available audio artwork are downloaded before publication.
- Returned-row billing: a Result event is charged only when a post is saved to the default Dataset.
The smallest useful run requests one post and costs at most $0.0139 on the FREE tier: $0.01 for Actor Start plus $0.0039 for one returned Result.
Why Choose Instagram Reels Scraper
- One row per public post joins post identity, owner, caption, engagement, media, audio, location, and relationship signals without separate format-specific tables.
- Stored media delivery replaces expiring source media links with Actor storage URLs for every required image or video before the row is published.
- Format-aware normalization distinguishes Reels, feed images, and image, video, or mixed carousels while preserving Instagram's product and numeric media types.
- Rare public context keeps tagged-user coordinates, coauthors, sponsors, original-content attribution, wearable capture attribution, and content notices when Instagram exposes them.
- Bounded partial-run behavior keeps usable posts when another candidate or media file is unavailable and never publishes half-resolved media rows.
This Actor starts from one known account. It is not creator discovery, hashtag search, Explore trend discovery, private-content access, a comments archive, or a tool for downloading a single post URL.
Quick Start Guide
1. Configure
Open the Input tab and keep the prefilled instagram account for the first run. A bare username, @instagram, or https://www.instagram.com/instagram/ resolves to the same account.
2. Run
Set max_results to 1, start the Actor, and wait for a terminal status. The limit controls successfully published rows; an unavailable candidate does not consume the requested output slot.
3. Collect
Open the default Dataset and inspect post_url, post_type, media_items, and the Actor storage URLs. Export JSON, CSV, Excel, XML, or another Apify Dataset format after confirming the record fits the workflow.
Input Parameters
Instagram Reels Scraper has two required inputs, used identically by Console, API, Task, Schedule, and MCP runs.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
username | string | Yes | One Instagram username, @handle, or profile URL. Post routes, foreign hosts, ports, spaces, and unsupported characters are rejected. | instagram |
max_results | integer | Yes | Positive ceiling on successfully published Dataset rows. Source exhaustion or unavailable media can return fewer. | 1 |
{"username": "instagram","max_results": 1}
The profile identity changes both the profile-resolution request and the paginated feed request. max_results stops collection after that many rows have passed formatting, media download, storage upload, and Dataset publication.
Output Data Schema
One Dataset row represents one public Instagram post with 64 top-level fields; nested arrays remain ordered and missing source values stay null or empty.
| Group | Fields | Meaning |
|---|---|---|
| Identity | platform, post_id, shortcode, post_url, post_type, product_type, media_type | Stable post identity and normalized/source classifications |
| Owner | owner_id, owner_username, owner_name, owner_url, owner_verified, owner_avatar | Public owner context and downloaded avatar |
| Caption | caption, caption_edited, caption_lang, alt_text, hashtags, mentions, published_at | Text, source language, accessibility, extracted references, and publication time |
| Engagement | like_count, comment_count, play_count, duration, counts_hidden | Collection-time counts and video duration |
| Media summary | width, height, cover_url, media_count, image_count, video_count, is_carousel, has_video, has_audio | Dimensions, stored cover, and post composition |
| Place and people | location_id, location_name, location_lat, location_lng, location_address, tagged_users, coauthors | Optional public place, tags with coordinates, and collaborators |
| State and attribution | comments_disabled, is_branded, sponsors, is_pinned, is_downloadable, is_remixable, content_notice, attributions, capture_info | Public post state, partnerships, notices, and original/capture context |
| Audio | audio_type, audio_title, artist_name, audio_id, canonical_id, audio_ms, artwork_url, sound_owner, audio_reusable, audio_trending, mashup_count | Licensed or original-audio identity and availability |
| Assets and provenance | media_items, processor, processed_at | Ordered stored assets and Actor processing provenance |
Abbreviated example; a real row contains all 64 top-level fields and media_items can contain several carousel parts:
{"platform": "instagram","post_id": "3958568374678234686_25025320","shortcode": "DbvqPafyqY-","post_url": "https://www.instagram.com/reel/DbvqPafyqY-/","post_type": "reel","owner_username": "instagram","caption": "A public Instagram caption","published_at": "2026-07-24T18:43:05+00:00","like_count": 333091,"comment_count": 18435,"play_count": 61839889,"cover_url": "https://api.apify.com/v2/key-value-stores/example/records/cover.jpg","media_count": 1,"media_items": [{"position": 1,"media_type": "video","media_url": "https://api.apify.com/v2/key-value-stores/example/records/video.mp4","width": 720,"height": 1280,"has_audio": true}],"processor": "https://apify.com/agentx/instagram-reels-scraper","processed_at": "2026-08-12T12:00:00+00:00"}
Integration Examples
The public Actor ID is jovODBRjNhF52fF9D; the name form agentx/instagram-reels-scraper is also valid in Apify clients.
Actor ID
Use jovODBRjNhF52fF9D when an integration requires the immutable Actor ID, and agentx/instagram-reels-scraper when a human-readable name is preferred.
HTTP
curl -X POST "https://api.apify.com/v2/acts/jovODBRjNhF52fF9D/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"username":"instagram","max_results":1}'
Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("jovODBRjNhF52fF9D").call(run_input={"username": "instagram", "max_results": 1})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["post_url"], item["post_type"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('jovODBRjNhF52fF9D').call({username: 'instagram',max_results: 1,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]?.post_url, items[0]?.post_type);
Make.com and n8n
Send {"username":"instagram","max_results":1} to the Actor run endpoint, wait for completion, then read the run's default Dataset. Store post_id downstream as the deduplication key for scheduled snapshots.
MCP
Add jovODBRjNhF52fF9D to the Actor allowlist of the Apify MCP server, then ask the connected client to run it with username=instagram and max_results=1. Keep the Apify token in the MCP server environment rather than the prompt.
Pricing
Instagram Reels Scraper costs $0.0039 per Result on the FREE tier plus the one-time $0.01 Actor Start event.
| Event | FREE price | Charged when |
|---|---|---|
| Actor Start | $0.01 | The run starts; memory scaling follows Apify's event rules |
| Result | $0.0039 | One complete post row is saved to the default Dataset |
| Returned posts | Maximum FREE-tier event total |
|---|---|
| 1 | $0.0139 |
| 10 | $0.0490 |
| 100 | $0.4000 |
Unavailable candidates and failed media transfers do not produce a Result event. Apify plan credits and future pricing changes can affect the amount billed; set a maximum total charge when a hard run-level ceiling matters.
Use Cases
- Creative-format analysis: compare
post_type, dimensions, duration, audio reuse, captions, and engagement across one account's recent timeline. - Brand content monitoring: schedule one-result or small recurring runs, join on
post_id, and retain collection-time engagement snapshots. - Media archiving: collect Actor storage URLs for images, videos, covers, avatars, and artwork during the run instead of keeping expiring source CDN links.
- Partnership review: inspect
is_branded, sponsors, coauthors, tagged users, and content notices as source-provided signals. - Data and AI pipelines: export 64-field rows for tabular analysis, media indexing, RAG metadata, or downstream classification while keeping source and processing timestamps separate.
Alternatives
Use Instagram Creator Scraper when the unit is a profile rather than a post. Use Instagram Trending Scraper when the starting point is Explore content rather than a known account. Use Instagram Video Transcript when the goal is speech-to-text for one known video.
For account-owned, permissioned integrations, compare this workflow with Meta's official Instagram API documentation. Manual review remains simpler for a single visual inspection, and a custom Actor is appropriate when a different input or Dataset contract is mandatory.
Limits and Troubleshooting
- Only publicly available account timelines are supported; private, removed, or blocked profiles cannot yield public posts.
max_resultsis a ceiling, not a promise. Timeline exhaustion and unavailable candidates can reduce the output.- Every required post media item must download and upload successfully before the row is published. Optional avatar or artwork failures become null.
- Engagement and availability reflect collection time and can change after the run.
- The Actor does not collect full comments, Stories, private media, follower lists, or hashtag search results.
- A zero-row run usually means the profile is unavailable, private, empty, or temporarily blocked. Retry a known public account with
max_results=1before increasing volume.
Trust and Reliability
The Dataset contract was verified against 288 fresh raw posts from 13 public accounts and covered first-page and pagination paths, Reels, feed images, and image, video, and mixed carousels. The final 64-field sample set had zero zero-fill fields, zero duplicate columns, and zero malformed or sentinel URL values.
Rows are published only after identity, media structure, downloads, storage writes, and the centralized Dataset push succeed. One candidate failure remains isolated, normalized duplicates are ignored, and printing occurs after a successful push. These mechanics preserve a clear difference between a source candidate and a billed Dataset result.
Source facts are not independent verification. Verification, partnership, reuse, location, engagement, and content-notice fields mean that Instagram exposed the signal at collection time.
Legal and Compliance
Public-data scope: the Actor requests public profile and post information and does not authenticate into private accounts.
User responsibility: review Instagram's terms, privacy obligations, intellectual-property rights, and the lawful basis for storing or processing collected data in the intended jurisdiction.
Media rights: a technically downloadable file is not a license to republish it. Preserve attribution and obtain permissions required for redistribution, model training, advertising, or commercial reuse.
Frequently Asked Questions
How do I download all reels and posts from an instagram profile?
Run Instagram Reels Scraper with the account's username or profile URL and a positive max_results. It returns the newest usable timeline rows until the requested ceiling or the visible feed ends, downloading each row's media into Actor storage.
Can I use a bulk instagram reels scraper by username?
This Actor accepts one username per run, not a list. Create separate Tasks or API calls when multiple accounts are required, and join results downstream by owner_username and post_id.
Does Instagram Reels Scraper collect only Reels?
No. The account timeline can return Reels, feed images, and image, video, or mixed carousels under the same 64-field contract.
Can I pass an @handle or profile URL?
Yes. A bare username, @handle, instagram.com/<username>, and a complete HTTP or HTTPS Instagram profile URL are normalized. Post URLs, routes with extra segments, foreign hosts, explicit ports, and whitespace are rejected.
Are likes, comments, and plays current?
They are snapshots from collection time. Counts can change later, and play_count is null for formats where Instagram does not expose it.
Is there a free Instagram media API?
Apify account credits may cover small tests, but the Actor is pay per event. One returned post has a maximum FREE-tier event total of $0.0139 before any plan-credit treatment.
Can I schedule runs to monitor an Instagram account over time?
Yes. Create an Apify Task, attach a Schedule, request a small result count, and deduplicate snapshots downstream on post_id while retaining processed_at for collection time.
Does a successful run guarantee the requested number of rows?
No. It guarantees only that the run completed; source exhaustion and unavailable posts can produce fewer rows than max_results.
Related AgentX Actors
AgentX currently publishes a full catalog of Actors; start with the three closest Instagram and media workflows, then browse every other Actor by category.
Closest to this Actor:
- Instagram Creator Scraper — collect profile-level identity and audience context instead of timeline rows.
- Instagram Trending Scraper — start from Explore trends instead of a known account.
- All Video Scraper — route known video URLs across supported platforms.
Business and Market Intelligence
- Google Keyword Trends — Google Trends keyword interest, compared five at a time
- Google Trends Scraper — Google Trends trending searches
- Google Maps Store Scraper — Google Maps business listings
- LinkedIn Company Lookup — LinkedIn company records
- LinkedIn Profile Lookup — LinkedIn profile records
- Weather Forecast API — forecast and historical weather data
Jobs and Hiring
- All Jobs Scraper — multi-platform job listings
- Bayt Jobs Scraper — Bayt job listings
- Glassdoor Jobs Scraper — Glassdoor job listings
- Indeed Jobs Scraper — Indeed job listings
- JobStreet Company Profile — JobStreet employer records
- Jooble Jobs Scraper — Jooble job listings
- LinkedIn Jobs Scraper — LinkedIn job listings
- Naukri Jobs Scraper — Naukri job listings
- Talent Jobs Scraper — Talent.com job listings
- ZipRecruiter Jobs Scraper — ZipRecruiter job listings
Social Media
- Instagram Creator Scraper — Instagram creator profiles
- Instagram Trending Scraper — Instagram trending content
- Medium Scraper — Medium articles
- Medium Profile Scraper — Medium author profiles
- Reddit Profile Scraper — Reddit user profiles
- Reddit Viral Scraper — Reddit viral posts
- SubReddit Info Scraper — subreddit metadata
- Subreddit Members Scraper — subreddit member lists
- Subreddit Posts Scraper — subreddit post feeds
- Telegram Chat Scraper — Telegram chat messages
- Telegram Info Scraper — Telegram channel metadata
- Telegram Member Adder — Telegram group membership management
- Telegram Member Scraper — Telegram group members
- Telegram Private Group Scraper — private Telegram group data
- TikTok Creator API — TikTok creator profiles
- TikTok User Lookup — TikTok account records
- X Twitter Community API — X community data
- X Twitter Profile Lookup — X profile records
- YouTube Creator Email Scraper — YouTube creator contact data
Video, Transcripts and Downloads
- All Video Scraper — multi-platform video metadata
- Video Transcript — multi-platform transcripts
- Video Captions Downloader — caption files
- Video to Social Post — video repurposed into social copy
- YouTube Transcript — YouTube transcripts
- TikTok Transcript — TikTok transcripts
- X Twitter Transcript — X video transcripts
- Facebook Transcript — Facebook video transcripts
- Bilibili Transcript — Bilibili transcripts
- Dailymotion Transcript — Dailymotion transcripts
- Rutube Transcript — Rutube transcripts
- Loom Transcript — Loom transcripts
- Wistia Transcript — Wistia transcripts
- Instagram Reels Downloader — Reels downloads
- Kick Clip Downloader — Kick clip downloads
- Linkedin Video Downloader — LinkedIn video downloads
- Pinterest Video Downloader — Pinterest video downloads
- Reddit Video Downloader — Reddit video downloads
- Snapchat Video Downloader — Snapchat video downloads
- TED Talk Downloader — TED talk downloads
- TikTok Live Downloader — TikTok live downloads
- Twitch VOD Downloader — Twitch VOD downloads
- Zoom Recording Downloader — Zoom recording downloads
E-Commerce and Retail
- All Shopping Scraper — multi-platform product data
- AliExpress Product Scraper — AliExpress products
- Amazon Storefront Scraper — Amazon Brand Store pages
- Bol Product Scraper — Bol.com products
- eBay Seller Leads API — eBay seller records
- Hepsiburada Product Scraper — Hepsiburada products
- Kakaku Product Scraper — Kakaku.com products
- Rakuten Product Scraper — Rakuten products
Classifieds and Automotive
- All Vehicle Scraper — multi-platform vehicle listings
- AutoTrader Vehicle Search — AutoTrader US listings
- AutoTrader UK Vehicle Search — AutoTrader UK listings
Real Estate
- All Property Scraper — multi-platform property listings
- Homes Property Scraper — Homes.com listings
- MagicBricks Property Scraper — MagicBricks listings
- NoBroker Property Scraper — NoBroker listings
- Property24 Property Scraper — Property24 listings
- Realtor Property Scraper — Realtor.com listings
- Zillow Property Scraper — Zillow listings
Support and Community
Ask about Instagram post fields, stored media, or scheduled account snapshots in the AgentX community on Telegram; for a reproducible bug, open an Issue with the run ID and the exact non-secret input.
AgentX is an Arcyton brand — arcyton.com.
Last Updated: August 12, 2026