Instagram Post Scraper: Posts, Comments, Reels
Pricing
from $0.49 / 1,000 posts
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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_jessica | Room with a view. Check out my new digs as I camp⦠| 221,491 | 2,299 | 5,608,770 | 2026-10-03 |
| nasa | Swipe for countless stars Sagittarius B2 is the mβ¦ | 1,121,996 | 4,365 | β | 2026-10-02 |
| natgeo | Your phone isnβt rotting your brainβbut cell deatβ¦ | 72,503 | 218 | β | 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 withonlyPostsNewerThan. - 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,dataDetailLevelandincludeMusicDataare 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
- Paste usernames, profile URLs or post URLs into πΈ Instagram profiles or posts.
- Set π― Posts per profile (20 in the prefill, 100 by default). Post URLs always give one row.
- 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). - 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]