Instagram Scraper: Profiles, Posts, Reels & More ยท Apify
Instagram Scraper: Profiles, Posts, Reels avatar

Instagram Scraper: Profiles, Posts, Reels

Pricing

from $0.69 / 1,000 results

Go to Apify Store
Instagram Scraper: Profiles, Posts, Reels

Instagram Scraper: Profiles, Posts, Reels

Instagram scraper for profiles, posts, reels and comments in one form: paste profile, post or reel URLs or usernames and pick what to get. Posts, reels with plays and MP4 links, reels with a hashtag, profile details, comments. No login, no cookies.

Pricing

from $0.69 / 1,000 results

Rating

0.0

(0)

Developer

DeepMine

DeepMine

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

8

Monthly active users

2 hours ago

Last modified

Features

Limited permissions

Share

Instagram Scraper: Profiles, Posts, Reels, Comments

Instagram scraper for profiles, posts, reels and comments in one form: choose what you want, paste profile, post or reel URLs, usernames or hashtags in one list, and get one row per post, reel, profile or comment, with the key names apify/instagram-scraper uses. It never logs in.

๐Ÿท๏ธ Username๐Ÿ“ Captionโค๏ธ Likes๐Ÿ’ฌ Commentsโ–ถ๏ธ Plays๐Ÿ“… Posted
natgeoEven a momentโ€™s rest on Everest can come with a reโ€ฆ37,7391741,305,8312026-10-27
nasaPOV: you're watching the Earth set We just releaseโ€ฆ755,9607,64511,080,7502026-10-10
natgeoYour phone isnโ€™t rotting your brainโ€”but cell deathโ€ฆ72,460218โ€“2025-06-22

$0.99 per 1,000 results on the Starter plan ($1.15 Free, $0.85 Scale, $0.69 Business). A result is one post, reel, profile or comment. The prefilled run (41 posts) costs about $0.041 ($0.047 on Free). Profile details rows (Content to scrape = Details) also charge a flat $0.30 per 1,000 Profile details event, so a Details row costs $1.29 per 1,000 on Starter. No start fee; skipped, private and unknown inputs aren't charged.

What you can scrape

Pick ๐ŸŽฏ Content to scrape, then paste what you have in any mix: profile URLs, post and reel URLs, hashtag URLs, usernames, hashtags and search words. Each input is read by the content you chose; the ones that content can't read are listed as skipped (in the run's status message and in the summary), never charged.

Content to scrapeReadsOne row is
๐Ÿ“ธ Postsprofile URLs and usernames, post URLs, reel URLsa post or reel: caption, hashtags, likes, comments, latest comments, media, tagged users, music, reel plays
๐ŸŽž๏ธ Reelsprofile URLs and usernames, reel URLs, hashtags (reels that hold the hashtag), search words (a topic search)a reel: plays, views, likes, comments, date, sound, caption, latest comments, MP4 and audio links
๐Ÿชช Profile detailsprofile URLs, usernames, numeric idsa profile: bio, links, followers, following, posts, category, flags, latest posts and reels
๐Ÿ’ฌ Commentspost URLs, reel URLsa comment: text, author, likes, date

Hashtags

With Content = Reels, a hashtag (the Hashtags field, #word, or a /explore/tags/<tag>/ URL) finds public reels through Instagram's logged-out topic pages and their related searches, and keeps only the reels whose caption holds that exact hashtag. A reel that only says the words, or holds a longer hashtag, is left out and never charged.

This isn't Instagram's top or recent hashtag feed: reels come in the topic pages' order, they can be months old, and a hashtag can return fewer reels than you ask for. A hashtag that comes up short is named in the run's status message and under instagramScraper.hashtags in the run summary, with what was delivered and what was checked. That's a short result, not a failed run, and you pay only for the rows delivered.

Search words are a topic search: rows name the words in the caption, hashtags or creator name, not always as a hashtag.

Not supported yet

  • Hashtag feeds (a hashtag's top and recent posts) aren't read here. A hashtag finds reels that hold it (above); Content = Posts skips hashtags and says so.
  • Place and location pages, place search, profile search by name (put the usernames under ๐Ÿ‘ค Usernames), hashtag analytics (volume, related tags).
  • Mentions (posts a profile is tagged in) and stories: both need a login.
  • Replies to comments: Instagram shows them to logged-in users only, so includeNestedComments is accepted and ignored.
  • Shares and saves counts, followers and following lists.

Saved inputs of apify/instagram-scraper run here: resultsType, directUrls, resultsLimit, onlyPostsNewerThan, search, searchType, searchLimit and addParentData are read as they are; what the Actor can't read (above) ends with a clear message, not a silent empty run.

How to use it

  1. Choose ๐ŸŽฏ Content to scrape (Posts is the default).
  2. Paste ๐Ÿ”— Instagram URLs (and, under โž• More inputs, usernames, hashtags or search words).
  3. Set ๐Ÿ’ฏ Results per input (20 in the prefill, 100 by default): posts or reels per profile or hashtag, comments per post. Optional: ๐Ÿ“… Newer than (2026-09-01, 7 days), ๐Ÿ“Œ Skip pinned posts.
  4. Press Start. Rows land as they are read; download them as CSV, Excel or JSON, or call the Actor from the API.

Posts from profiles and a post:

{
"resultsType": "posts",
"directUrls": [
"https://www.instagram.com/natgeo/",
"https://www.instagram.com/nasa/",
"https://www.instagram.com/p/DLNsnpUTdVS/"
],
"resultsLimit": 20
}

Reels of a profile, and reels with a hashtag:

{
"resultsType": "reels",
"directUrls": ["https://www.instagram.com/natgeo/"],
"hashtags": ["homeworkout"],
"resultsLimit": 20
}

Profile details ("resultsType": "details") take usernames or profile URLs; comments ("resultsType": "comments") take post and reel URLs.

Real rows

๐ŸŽž๏ธ Reels (resultsType: reels), collected 2026-10-30:

๐Ÿท๏ธ Username๐Ÿ“ Captionโ–ถ๏ธ Playsโค๏ธ Likes๐Ÿ’ฌ Comments๐Ÿ“… Posted
natgeoExtreme winds and collapsing tents on the North Faโ€ฆ771,64329,178982026-10-29
natgeoscienceAvoiding black holes is pretty easy on Earthโ€”but dโ€ฆ881,52821,0241812026-10-28
natgeoEven a momentโ€™s rest on Everest can come with a reโ€ฆ1,306,11337,7421742026-10-27

๐Ÿชช Profile details (resultsType: details), collected 2026-10-30:

๐Ÿท๏ธ Username๐Ÿ‘ค Name๐Ÿ‘ฅ Followersโžก๏ธ Following๐Ÿ“ธ Posts๐Ÿข Category
nasaNASA104,361,175904,984Government Agencies
natgeoNational Geographic268,255,65619532,130โ€“
humansofnyHumans of New York12,638,5557635,877โ€“

๐Ÿ’ฌ Comments (resultsType: comments), collected 2026-10-30 (commenters' usernames replaced):

๐Ÿท๏ธ Username๐Ÿ“ Commentโค๏ธ Likes๐Ÿ“… Date
fan_1๐Ÿ”ฅ02026-04-23
fan_2The irony that ancient brains last millennia whileโ€ฆ02025-11-02
fan_3Amen.02025-07-31

Output

The Console shows a view for each content, named after it: ๐Ÿ“ธ Posts, ๐ŸŽž๏ธ Reels, ๐Ÿ“ˆ Post stats, ๐ŸŽฌ Media and ๐Ÿ‘ฅ People (posts and reels); ๐Ÿ’ฌ Comments and ๐Ÿ‘ฅ Commenters; ๐Ÿชช Profiles, ๐Ÿ”Ž Profile details, ๐Ÿ“ˆ Profile stats, ๐ŸŽฌ Reel stats and ๐Ÿ—‚๏ธ Profile record. A run fills the views of its own content; open the one that matches (?view=<name> in the API). Long texts show as 50-character snippets there; the rows keep the full text.

The run summary (OUTPUT) lists every input with its status and what the run read, and, under instagramScraper, the content, the engine that read it, the inputs it skipped with the reason, and what each hashtag delivered.

Posts and reels fields

  • inputUrl: The profile, post or reel URL from your list this row came from (a username becomes https://www.instagram.com/
  • id: Instagram's id for the post or reel (its media id).
  • type: Image, Video or Sidecar (a carousel).
  • shortCode: The post's code in its URL (instagram.com/p//).
  • ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
    ,[object Object],
,[object Object],
,[object Object],
,[object Object],
,[object Object],[object Object]