Instagram Posts Scraper Goat
Pricing
from $2.00 / 1,000 post scrapeds
Instagram Posts Scraper Goat
Scrape Instagram posts in bulk by username. Extract full captions, like counts, comment counts, video views, media URLs (images, videos, carousels), locations, tagged users, coauthors, and paid-partnership flags. No Instagram API key, login, or cookies required.
Pricing
from $2.00 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
Goutam Soni
Maintained by CommunityActor stats
0
Bookmarked
16
Total users
10
Monthly active users
17 days ago
Last modified
Categories
Share
Instagram Posts Scraper - Bulk Export Posts, Captions, Likes, Comments & Media
Scrape Instagram posts in bulk by username. Extract full captions, like counts, comment counts, video views, media URLs (images, videos, carousels), locations, tagged users, coauthors, and paid-partnership flags - all without an Instagram API key, login, or cookies.
What this Instagram posts scraper does
Pass a list of Instagram usernames (or @handles, or profile URLs - mix freely) and the actor returns one clean JSON record per post, with all engagement metrics and media URLs. Pagination is handled automatically across multiple pages, and runs use multiple independent data sources with automatic failover for high reliability.
Perfect for content analysis, competitor monitoring, influencer vetting, brand monitoring, and growth research on Instagram at scale.
Why use this Instagram scraper
- No API key, no login, no cookies - works on any public Instagram profile.
- Bulk by username - scrape one or many Instagram accounts in a single run.
- Auto-pagination - request 12 posts or 12,000, the scraper fetches every page.
- Multi-source failover - if one upstream is rate-limited, the actor automatically falls back to another, so runs almost always finish.
- Residential proxies built in (Apify proxy or your own).
- One flat JSON object per post with a
usernamefield, so multi-account runs are easy to group/filter. - Carousel-aware - every slide of a multi-image post is returned with its own media URL.
What data you get per Instagram post
| Field | Type | Description |
|---|---|---|
username | string | The Instagram username this post belongs to |
id | string | Post ID |
shortcode | string | URL slug (instagram.com/p/{shortcode}) |
mediaType | string | "image", "video", or "carousel" |
timestamp | integer | When posted (unix epoch) |
caption | string | Full caption text (with hashtags, mentions, emojis) |
displayUrl | string | Main image URL (full resolution) |
thumbnailUrl | string | Square thumbnail URL |
videoUrl | string | MP4 video URL (if video) |
dimensions | object | {"height": 1080, "width": 1080} |
accessibilityCaption | string | Auto-generated alt text |
likeCount | integer | Number of likes |
commentCount | integer | Number of comments |
videoViewCount | integer | Video plays (if video) |
location | string | Tagged location name |
taggedUsers | string[] | Usernames tagged in the post |
coauthors | string[] | Collab post co-authors |
isPaidPartnership | boolean | Sponsored content flag |
commentsDisabled | boolean | Comments turned off |
children | object[] | Carousel slides (media URL, type, dimensions) |
How to use the Instagram Posts Scraper
- Click Try for free on the actor page.
- Enter Instagram usernames in the
usernamesinput. URLs, @handles, and plain usernames all work and are deduped. - Set
maxPostsPerUser(default 12). Set to0to fetch all posts. - Tune
concurrency(default 5) anddelayBetweenRequests(default 1s) if you're chasing speed. - Click Save & start. Download the dataset in JSON, CSV, Excel, XML, or HTML.
Top use cases
- Content strategy - analyse caption length, hashtag patterns, posting cadence on top accounts in your niche.
- Competitor monitoring - track every post a competitor publishes and their engagement.
- Influencer vetting - real engagement-rate calculation (likes ÷ followers) for agency outreach.
- Brand monitoring - find posts mentioning your brand via
taggedUsersandcoauthors. - Hashtag and trend research - extract trending captions and tag clusters at scale.
- AI training data - clean Instagram caption corpus for model fine-tuning.
- Influencer marketing audits - track sponsored content via
isPaidPartnership.
Integrations
Apify API
$curl "https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=json"
Python
from apify_client import ApifyClientfrom itertools import groupbyfrom operator import itemgetterclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("goat255/instagram-posts-scraper").call(run_input={"usernames": ["example_user_1", "example_user_2"],"maxPostsPerUser": 24,})posts = list(client.dataset(run["defaultDatasetId"]).iterate_items())posts.sort(key=itemgetter("username"))for username, user_posts in groupby(posts, key=itemgetter("username")):user_posts = list(user_posts)avg_likes = sum(p.get("likeCount", 0) or 0 for p in user_posts) / len(user_posts)print(f"@{username}: {len(user_posts)} posts, avg {avg_likes:.0f} likes")
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('goat255/instagram-posts-scraper').call({usernames: ['example_user_1', 'example_user_2'],maxPostsPerUser: 24,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
No-code integrations
Send results directly to Google Sheets, Slack, Zapier, Make, Amazon S3, or any webhook via Apify Integrations.
Pricing
Pay-per-event. No subscription.
| Event | Price |
|---|---|
| Post scraped (primary) | $0.002 |
Apify's $5 platform free credit applies on first use - ~2,500 free posts to start.
FAQ
Do I need an Instagram account or API key?
No. This scraper works on any public Instagram profile without login, cookies, or the Instagram Graph API.
Can it scrape private Instagram accounts?
No. Only public profiles' posts are accessible. Private accounts return zero posts.
How many posts can I scrape per profile?
Unlimited - Instagram allows pagination across the entire feed. Set maxPostsPerUser: 0 to fetch everything, or pick a number.
How fast is it?
A typical 3-post run on one username finishes in ~5 seconds. Larger runs scale linearly with concurrency.
Does it return Instagram Reels and carousels?
Yes - carousels appear as one record per post with each slide nested in children[]. Reels appear as mediaType: "video" with videoUrl populated.
Can I export to CSV / Google Sheets / Excel?
Yes - JSON, CSV, Excel, XML, HTML are all supported, plus direct integrations to Google Sheets, Zapier, Make, Slack, S3.
Will Instagram block this?
Multi-source failover plus rotating residential proxies handle Instagram's rate limits automatically. Recent 30-day success rate is 95%+.
Related Apify actors
- 👤 Instagram Profile Scraper - bios, follower counts, public emails, phone numbers, business info.
- 📷 Instagram Stories & Highlights Scraper - active stories and full highlight reels.
- 🧰 Instagram Full Profile Scraper - profile + posts + stories + highlights in one call.
Support
Found a bug or missing field? Open an issue on the actor page. Reviews are read and replied to.