Instagram Post Scraper: Posts, Comments, Reels avatar

Instagram Post Scraper: Posts, Comments, Reels

Pricing

from $0.49 / 1,000 posts

Go to Apify Store
Instagram Post Scraper: Posts, Comments, Reels

Instagram Post Scraper: Posts, Comments, Reels

Instagram post scraper: paste usernames, profile URLs or post URLs and get one row per post with caption, hashtags, likes, comments count and latest comments, date, images, video URL, reel plays, tagged users, coauthors, music and location. Goes past 12 posts. No login, no cookies.

Pricing

from $0.49 / 1,000 posts

Rating

0.0

(0)

Developer

DeepMine

DeepMine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Instagram post scraper for any public profile or post: paste usernames, profile URLs or post URLs and get one row per post with its caption, hashtags, likes, comments count and latest comments, date, pictures, video, reel plays, tagged users, coauthors, music and location. It pages past the 12 posts a profile shows first, and it never logs in.

🏷️ UsernameπŸ“ Caption❀️ LikesπŸ’¬ Comments▢️ PlaysπŸ“… Posted
astro_jessicaRoom with a view. Check out my new digs as I camp…221,4912,2995,608,7702026-10-03
nasaSwipe for countless stars Sagittarius B2 is the m…1,121,9964,365–2026-10-02
natgeoYour phone isn’t rotting your brainβ€”but cell deat…72,503218–2025-06-22

$0.69 per 1,000 posts on the Starter plan ($0.79 Free, $0.59 Scale, $0.49 Business). The prefilled run (41 posts) costs about $0.028 ($0.032 on Free). No start fee, no extra charge for comments, alt text, reel plays, video views or music: Detailed data is the default and is included.

What it does

  • Instagram posts by username or profile URL: the newest posts of each profile, pinned ones first as on Instagram, page after page (12 posts a page) up to your resultsLimit, or back to a date with onlyPostsNewerThan.
  • Any post URL: /p/, /reel/ and /tv/ links, one row each, mixed freely with usernames in the same list.
  • Detailed data by default: each post's latest comments as Instagram shows them on the post's page (usually 10-15, newest first), the post's alt text, reels' play counts, and every video's views (carousel videos too).
  • Same input as apify/instagram-post-scraper: username, resultsLimit, onlyPostsNewerThan, skipPinnedPosts, dataDetailLevel and includeMusicData are read as they are, so a saved input or API call runs here unchanged.
  • Transcripts (optional, paid): turn on πŸ—£οΈ Add transcripts to get what's said in each video as text (transcript, transcriptLanguage): Instagram's own speech transcript, read without a login, for videos of any length. $0.0039 per video with a transcript; photos and silent videos aren't charged for it.
  • Every post once: a post two of your inputs reach (a collab on two profiles, a URL you also listed) is delivered and charged once per run.

How to use it

  1. Paste usernames, profile URLs or post URLs into πŸ“Έ Instagram profiles or posts.
  2. Set πŸ’― Posts per profile (20 in the prefill, 100 by default). Post URLs always give one row.
  3. Optional: πŸ“… Posts newer than (2026-09-01, 7 days, 3 months), πŸ“Œ Skip pinned posts, πŸ” Detail level (Basic is faster: no comments, alt text, plays or views).
  4. Press Start. Rows land as each page is read; download them as CSV, Excel or JSON, or call the Actor from the API.

Example input:

{
"username": [
"natgeo",
"https://www.instagram.com/nasa/",
"https://www.instagram.com/p/DLNsnpUTdVS/"
],
"resultsLimit": 20,
"dataDetailLevel": "detailedData"
}

Output

Each row is one post. The Console shows four views: πŸ“Έ Posts (picture, author, caption, likes, comments, plays, date, first comment), πŸ“ˆ Stats (every count per post), 🎬 Media (video, audio, size, duration, artist and song, alt text) and πŸ‘₯ People (tagged usernames, coauthors, mentions, hashtags, sponsors, location). Long texts show as 50-character snippets there; the rows keep the full text and apify's nested fields (musicInfo, taggedUsers, sponsors, latestComments) next to their flat columns. The run summary (OUTPUT) lists every input with its status, posts delivered and pages read.

Output fields

  • inputUrl: The profile or post URL from your list this post came from (a username becomes https://www.instagram.com/
  • id: Instagram's id for the post (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],
,[object Object],
,[object Object],
,[object Object],
,[object Object]