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, likes, comments, video plays, location and music. Export to Excel, CSV or JSON.

Open in Apify Store$0.99 / 1K on Free

Short answer

Instagram Posts & Reels Data Scraper is an Apify Store Actor for Instagram data that returns 25 published output fields, including post_url, username, caption, like_count. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 2 input settings; one is required (post_urls). It covers 4 of the 7 core Instagram fields this site tracks. Last updated Oct 31, 2026.

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

What it returns

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

  • post_urlLink to the post on Instagram
  • shortcodeThe short code in the post link
  • post_idInstagram's numeric id of the post
  • statussuccess, or why the post has no data: not_found, age_restricted, is_private, blocked, error or invalid_url
  • usernameUsername of the account that posted
  • author_metaAuthor details: id, username, full_name, is_verified, profile_pic_url and profile_url
  • collaboratorsUsernames of the invited collaborators on the post
  • captionCaption text
  • caption_is_editedWhether the caption was edited after posting
  • hashtagsHashtags used in the caption
  • mentionsUsernames mentioned in the caption
  • pub_dateWhen the post was published (ISO 8601)
  • media_typePhoto, Video, Reel or Carousel
  • media_countNumber of photos and videos in the post
  • media_itemsEach photo or video: index, type, url, width, height, id, shortcode, accessibility_caption and, for videos, duration and has_audio
  • thumbnail_urlLink to the cover image
  • like_countNumber of likes, or null when the owner hides them
  • comment_countNumber of comments
  • likes_hiddenWhether the owner hides the like count
  • comments_disabledWhether comments are turned off
  • tagged_usersUsernames of the people tagged in the post
  • accessibility_captionAlt text Instagram describes the post with
  • locationTagged place: name, id, lat and lng, or null
  • musicReel audio: artist, title, audio_id, audio_url, cover_url and is_trending, or null
  • scraped_atWhen the post was scraped (ISO 8601)

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

How it differs from the other Instagram Actors

Every field it publishes also appears in at least one of the other 3 catalogue Actors for Instagram with a schema, so pick on price, input options and the fields below.

Pick another Actor if you need

Fields other Instagram catalogue Actors return that Instagram Posts & Reels Data Scraper does not
ActorFields it addsPrice / 1K
Instagram Downloader API - Reels, Video & Photo filename, downloaded_at, storage_key, download_url $0.49
Instagram Transcript Scraper - Reels & Video profileUrl, shortCode, videoIndex, pk $0.50

Input

Input settings for Instagram Posts & Reels Data Scraper
SettingTypeRequiredDefaultWhat it does
post_urls array Yes – Instagram post, reel or IGTV URLs to scrape. Accepts /p/, /reel/, /reels/, /tv/, and canonical username/p/shortcode formats. Duplicates are silently de-duplicated.
cookies string No – Optional. Leave empty to scrape anonymously. Paste your own Instagram cookies in JSON format to also retry age-restricted and login-protected posts with your account; posts your account still cannot open keep their status, and a private post opens only if your account follows that account. It is a s

Example input

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

{
  "post_urls": [
    "https://www.instagram.com/p/Dew5IIlNfMW/"
  ]
}

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 = {
    "post_urls": [
        "https://www.instagram.com/p/Dew5IIlNfMW/"
    ]
}

run = client.actor("dataspryva/instagram-posts-and-reels-data-scraper").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 = {
    "post_urls": [
        "https://www.instagram.com/p/Dew5IIlNfMW/"
    ]
};

const run = await client.actor("dataspryva/instagram-posts-and-reels-data-scraper").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-posts-and-reels-data-scraper/run-sync-get-dataset-items"   -H "Authorization: Bearer $APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"post_urls":["https://www.instagram.com/p/Dew5IIlNfMW/"]}'

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-posts-and-reels-data-scraper",
      "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 Posts & Reels Data Scraper results by Apify plan
Apify planPer 1,00010,000 results100,000 results
Free plan$0.99$9.90$99
Starter plan$0.82$8.20$82
Scale plan$0.66$6.60$66
Business plan$0.49$4.90$49
  • Every run also has a start event, charged per GB of memory (minimum one): $0.03 on Free, $0.01 on Business. At its default memory of 4 GB a run starts at $0.12 on Free. Fewer, larger runs keep this small.
  • The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
  • Worked example: 10,000 results in one run on the Free plan cost $10.02 ($9.90 for results + $0.12 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 2 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

  • Collect post content
  • Track post engagement
  • Extract media links

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 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…

2/7 core fields 11 output fields $0.49 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

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

Bluesky Posts, Profiles, Feeds & Threads Scraper

Search Bluesky posts by keyword, hashtag, author, mention, domain or URL; read profiles, threads, lists, starter packs, feeds and followers;…

8 output fields $0.99 per 1K

LinkedIn Trending Posts & Top Voices Feed Scraper

Pull LinkedIn's trending and top-performing posts by topic keyword, with reaction/comment/repost counts, a per-reaction-type breakdown, author…

19 output fields $0.99 per 1K

Reddit Multi-Mode Scraper for Posts, Comments & Profiles

Pick one of five modes to pull subreddit posts, full comment threads, user profiles, keyword search results or curated community listings from…

9 output fields $0.99 per 1K

YouTube Channel About, Playlists & Posts Finder

Look up a YouTube channel's About page details - subscribers, views, country, join date, links - with optional playlist and Community Post…

20 output fields $0.99 per 1K

Facebook Group Feed & Engagement Extractor

Pull posts from any public Facebook group with full text, media, reaction breakdown, top comments and reshares, plus optional group member count,…

7 output fields $0.99 per 1K

Questions people ask

How much does Instagram Posts & Reels Data Scraper cost?

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

What data does Instagram Posts & Reels Data Scraper return?

Its published output schema lists 25 fields: post_url, shortcode, post_id, status, username, author_meta, collaborators, caption, caption_is_edited, hashtags, mentions, pub_date, and 13 more. A listed field is not guaranteed to be filled in every row.

What input does Instagram Posts & Reels Data Scraper need?

Required: post_urls. Optional settings include cookies.

What are the alternatives to Instagram Posts & Reels Data Scraper for Instagram?

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

How do I run Instagram Posts & Reels Data Scraper from Python or the API?

Use the Apify API client: in Python, ApifyClient(token).actor("dataspryva/instagram-posts-and-reels-data-scraper").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("dataspryva/instagram-posts-and-reels-data-scraper").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/dataspryva~instagram-posts-and-reels-data-scraper/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-10-31 Data synced 2026-11-12
Cite this page

Scraper Finder. "Instagram Posts & Reels Data Scraper." https://scraperfinder.com/catalogue/instagram-posts-and-reels-data-scraper/ (data checked 2026-11-12).

Run Instagram Posts & Reels Data Scraper

$0.99 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