Instagram Downloader API - Reels, Video & Photo

Download Instagram photos, videos, Reels and carousel posts from post links or usernames, up to 100 of each per run. Public posts and profiles need no login; add your own cookies for age-restricted posts and private accounts you follow. Each file gets a download link, size, resolution and length.

Open in Apify Store$0.49 / 1K on Free

Short answer

Instagram Downloader API - Reels, Video & Photo is an Apify Store Actor for Instagram data that returns 11 published output fields, including post_url, username, status, filename. It lists $0.49 per 1,000 results on the Free plan (pay per event), $0.30 on the Business plan. It takes 6 input settings, none required. It covers 2 of the 7 core Instagram fields this site tracks. Last updated Nov 10, 2026.

From the public Store listing and published build schema, synced 2026-11-12.
Instagram Social mediaVideoAutomation

What it returns

11 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.

  • statussuccess for a downloaded file. Otherwise the reason a post or profile gave no download: post_age_restricted, post_is_private, post_not_found, blocked, error, invalid_url, no_media, download_failed, no_posts, cookies_unusable, profile_not_found, profile_is_private, profile_age_restricted or profile_r
  • filenameName of the file in the key-value store
  • post_urlLink to the post the file came from, or to the post that failed
  • usernameUsername of the post owner
  • download_statusfinished once the file is stored
  • downloaded_atWhen the file was downloaded (ISO 8601)
  • typevideo, image or unknown
  • storage_keyKey of the file in the run's key-value store
  • download_urlDirect link to download the file
  • media_meta_dataSize and format of the file
  • authorMetaIdentifies the profile on rows about a username that gave no posts

Not in the schema among the core Instagram fields: caption, likes, comments, posted_at, media_url. The field matrix shows which other tools return them.

How it differs from the other Instagram Actors

Among the 4 catalogue Actors for Instagram with a published schema, only this one returns filename, downloaded_at, storage_key, download_url, media_meta_data.

Pick another Actor if you need

Fields other Instagram catalogue Actors return that Instagram Downloader API - Reels, Video & Photo does not
ActorFields it addsPrice / 1K
Instagram Profile Scraper - Bio & Posts shortcode, post_id, caption, hashtags $0.70
Instagram Posts & Reels Data Scraper shortcode, post_id, collaborators, caption $0.99
Instagram Transcript Scraper - Reels & Video profileUrl, shortCode, videoIndex, pk $0.50

Input

Input settings for Instagram Downloader API - Reels, Video & Photo
SettingTypeRequiredDefaultWhat it does
postUrls array No – Instagram post, reel or IGTV URLs to download. Accepts /p/, /reel/, /reels/, /tv/, and canonical username/p/shortcode formats. Duplicates are silently de-duplicated.
maxPosts_per_username integer No 10 Maximum number of posts to download per username (after the date and pinned-post filters below). Public profiles need no sign-in, however many posts you ask for; a private profile needs your cookies.
newerThan string No – Skip posts published before this date. Leave empty for no date filter. Must be a date from 2000-01-01 up to the day before the run. Applies to usernames only. The date is read from the post's id, so it can be off by up to a day.
skipPinnedPosts boolean No false Leave out the posts a profile has pinned to the top of its grid. Applies to usernames only. A pinned post that is also the newest post cannot be recognised and stays in.
usernames array No – Usernames whose recent posts should be processed. Each entry can be a username (with or without @) or a profile link such as https://www.instagram.com/natgeo/.
cookies string No – Optional. Leave empty to download public posts and the posts of public profiles without signing in. Paste your own Instagram cookies in JSON format to also download age-restricted posts and the posts of private profiles your account follows. It is a secret input, so the Apify Console hides and encry

Example input

Built from the input form's published example values and defaults.

{
  "postUrls": [
    "https://www.instagram.com/p/Dew5IIlNfMW/"
  ],
  "maxPosts_per_username": 0,
  "skipPinnedPosts": false
}

Run it from code or an AI agent

The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.

Python

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
    "postUrls": [
        "https://www.instagram.com/p/Dew5IIlNfMW/"
    ],
    "maxPosts_per_username": 0,
    "skipPinnedPosts": False
}

run = client.actor("dataspryva/instagram-downloader-api-reels-video-and-photo").call(run_input=run_input)
if run is None:
    raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

pip install apify-client

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
    "postUrls": [
        "https://www.instagram.com/p/Dew5IIlNfMW/"
    ],
    "maxPosts_per_username": 0,
    "skipPinnedPosts": false
};

const run = await client.actor("dataspryva/instagram-downloader-api-reels-video-and-photo").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

npm install apify-client

cURL

curl -X POST "https://api.apify.com/v2/actors/dataspryva~instagram-downloader-api-reels-video-and-photo/run-sync-get-dataset-items"   -H "Authorization: Bearer $APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"postUrls":["https://www.instagram.com/p/Dew5IIlNfMW/"],"maxPosts_per_username":0,"skipPinnedPosts":false}'

Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).

MCP (AI agents)

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=dataspryva/instagram-downloader-api-reels-video-and-photo",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.

What a run costs

The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.

Cost of Instagram Downloader API - Reels, Video & Photo results by Apify plan
Apify planPer 1,00010,000 results100,000 results
Free plan$0.49$4.90$49
Starter plan$0.43$4.30$43
Scale plan$0.36$3.60$36
Business plan$0.30$3.00$30
  • Every run also has a start event, charged per GB of memory (minimum one): $0.0030 on Free, $0.0010 on Business. At its default memory of 4 GB a run starts at $0.01 on Free. Fewer, larger runs keep this small.
  • Optional add-on events cost extra when you switch them on: Video download (per 10 seconds); Image download. The Store pricing tab lists their rates.
  • The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 10,204 results, less start events and platform usage.
  • Worked example: 10,000 results in one run on the Free plan cost $4.91 ($4.90 for results + $0.01 start), plus Apify platform usage (compute), billed separately by Apify.
  • Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.

Where it fits among Instagram routes

It ranks 3 of 4 catalogue Actors for Instagram on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.

Route diagram for Instagram dataInstagram Profile Scraper - Bio & Posts: stops at 3 of the 10 fields shown; Instagram Posts & Reels Data Scraper: stops at 3 of the 10 fields shown; Instagram Downloader API - Reels, Video & Photo: stops at 1 of the 10 fields shown; Instagram Transcript Scraper - Reels & Video: stops at 2 of the 10 fields shown; Other Store tools (8): stops at 10 of the 10 fields shown; Instagram Platform API: limited, field coverage not compared.Instagramusernamecaptionlikescommentsposted atmedia urliderrorerrorDescripti…facebookPage1234+API

Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.

Official route: Instagram Platform API

Limited access. The official API covers professional accounts and their own content. It does not provide general search over public profiles and posts.

No published per-call price for standard use; access depends on Meta app configuration.

Official documentation

Other Store tools for Instagram

Reference only, from their public listings.

Other Store tools for Instagram
ToolFieldsPrice / 1K
Instagram Scraper94$2.70
Instagram Post Scraper57$1.70
Instagram Followers/Following Scraper8$0.85
Instagram Reel Scraper57$2.60
Instagram Hashtag Scraper51$2.60

What people use it for

  • download post media
  • collect profile media
  • archive Instagram posts

Other catalogue Actors for Instagram

Instagram Profile Scraper - Bio & Posts

Scrape public Instagram profiles from a list of usernames: bio, followers, following, post count, verified badge and bio links. Add recent posts…

4/7 core fields 25 output fields $0.70 per 1K

Instagram Posts & Reels Data Scraper

Scrape public Instagram posts, Reels, IGTV and carousels from a list of links, no login. Get caption, hashtags, author, photo and video links,…

4/7 core fields 25 output fields $0.99 per 1K

Instagram Transcript Scraper - Reels & Video

Instagram video to text: paste many reel, post or IGTV links and get each transcript with creator, caption and likes. Reads Instagram captions or…

2/7 core fields 22 output fields $0.50 per 1K

Snapchat Spotlight Video Link & Caption Downloader

Give this actor one or more Snapchat Spotlight links and get back a direct video link, thumbnail, caption, creator info and engagement counts per…

28 output fields $0.99 per 1K

Amazon Creator Storefront & Idea List Scraper

Pull Amazon creator storefronts by handle: profile info and affiliate disclosure, every curated Idea List with its products and prices, and…

11 output fields $0.99 per 1K

Facebook Timeline Posts & Reel Transcript Extractor

Pull recent posts and Reels from a public Facebook Page or Profile, or fetch one post by its link, with text, reaction breakdown, comments, media,…

14 output fields $0.99 per 1K

Snapchat Highlight & Story Media Downloader

Pull individual snaps from a Snapchat profile's saved highlight albums and live story, with downloadable video/image links, post timestamps, and…

68 output fields $0.99 per 1K

TikTok Account Stats & Repost History Scraper

Look up TikTok accounts for follower/like/video stats, recent videos, and reposted content in one run. Optional session cookie unlocks a profile's…

7 output fields $0.99 per 1K

TikTok Anonymous For You Feed Snapshot Scraper

Capture a snapshot of posts currently surfacing on TikTok's anonymous For You feed, with engagement stats, author, music, and hashtag details for…

10 output fields $0.99 per 1K

Questions people ask

How much does Instagram Downloader API - Reels, Video & Photo cost?

The published result rate depends on your Apify plan: $0.49 per 1,000 on Free, $0.43 per 1,000 on Starter, $0.36 per 1,000 on Scale, $0.30 per 1,000 on Business. So 10,000 results cost about $4.90 on the Free plan and $3.00 on Business, plus a start fee of $0.0030 per run per GB of memory on Free. Platform usage is billed separately.

What data does Instagram Downloader API - Reels, Video & Photo return?

Its published output schema lists 11 fields: status, filename, post_url, username, download_status, downloaded_at, type, storage_key, download_url, media_meta_data, authorMeta. A listed field is not guaranteed to be filled in every row.

What input does Instagram Downloader API - Reels, Video & Photo need?

No input is strictly required; the defaults run as is. Common settings: postUrls, maxPosts_per_username, newerThan, skipPinnedPosts, usernames, cookies.

What are the alternatives to Instagram Downloader API - Reels, Video & Photo for Instagram?

4 catalogue Actors cover Instagram. Close alternatives: Instagram Profile Scraper - Bio & Posts; Instagram Posts & Reels Data Scraper; Instagram Transcript Scraper - Reels & Video. The Instagram page compares all of them field by field.

How do I run Instagram Downloader API - Reels, Video & Photo from Python or the API?

Use the Apify API client: in Python, ApifyClient(token).actor("dataspryva/instagram-downloader-api-reels-video-and-photo").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("dataspryva/instagram-downloader-api-reels-video-and-photo").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/dataspryva~instagram-downloader-api-reels-video-and-photo/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.

Sources

Actor updated 2026-11-10 Data synced 2026-11-12
Cite this page

Scraper Finder. "Instagram Downloader API - Reels, Video & Photo." https://scraperfinder.com/catalogue/instagram-downloader-api-reels-video-and-photo/ (data checked 2026-11-12).

Run Instagram Downloader API - Reels, Video & Photo

$0.49 per 1,000 results. Paste the example input above, set your Instagram query, then export the dataset. Still choosing? Compare every Instagram route.

Open in Apify Store