Instagram Post Scraper - Posts, Likes, Comments & Media
Pricing
from $0.99 / 1,000 post scrapeds
Instagram Post Scraper - Posts, Likes, Comments & Media
Scrape Instagram posts and carousels from any profile, hashtag, location or post URL - caption, hashtags, mentions, likes, comments, views, timestamp, author and media links. No login, deep export. $0.99 per 1,000 posts. Export CSV, JSON, Excel.
Pricing
from $0.99 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
Zaver
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Instagram Post Scraper — Download Posts, Captions, Likes & Media to CSV
Download all posts from any public Instagram profile, hashtag or location. Get captions, hashtags, mentions, like and comment counts, media type and image URLs — exported to CSV, Excel, JSON or XML. No login, no API key, no Business account.
Built for bulk post export: point it at a username and pull the whole feed, or filter to only what was published since your last run.
What data does the Instagram Post Scraper extract?
Post fields
| Field | Description |
|---|---|
url | Canonical post URL |
shortcode | Instagram shortcode, e.g. DcOX3hWFiey |
post_id | Numeric post ID |
media_type | photo, video, carousel or reel |
product_type | feed, clips or igtv |
caption | Full caption text, emoji and line breaks preserved |
taken_at | ISO publish timestamp |
thumbnail_url | Direct image URL |
Engagement fields
| Field | Description |
|---|---|
likes | Like count at scrape time |
comments_count | Number of comments |
Parsed caption fields
| Field | Description |
|---|---|
hashtags | Array of hashtags pulled out of the caption |
mentions | Array of @accounts mentioned |
Author fields
username, user_id, user_full_name, is_verified — plus source, which records
the input that produced the row, so multi-target exports stay separable.
Why use this Instagram post scraper
Works from a username, a hashtag or a location
Pass nasa, a full profile URL, a hashtag or a place — the Actor resolves the target
type for you. No separate tool per source.
Hashtags and mentions arrive pre-parsed
hashtags and mentions come back as arrays rather than buried in caption text, so
you can build a tag co-occurrence map or a mention graph without writing a parser.
Incremental exports with a date filter
onlyPostsNewerThan skips anything published before a date — and skipped posts are
not billed. Schedule a daily run and you pay only for new content.
Export to CSV, Excel or JSON
Download as CSV, Excel, JSON, XML or JSONL, or pull through the Apify API into your own pipeline.
How to use it
- Open the Actor in Apify Console.
- Put usernames, profile URLs, hashtags or post URLs into directUrls.
- Set resultsLimit — posts per target, and your cost ceiling.
- Optionally set onlyPostsNewerThan for an incremental export.
- Save & Start, then download from Storage.
Input example
{"directUrls": ["nasa", "https://www.instagram.com/natgeo/"],"resultsLimit": 200,"onlyPostsNewerThan": "2026-09-01"}
resultsLimit applies per target, so two profiles at 200 returns up to 400 posts.
Output example
{"source": "nasa","url": "https://www.instagram.com/p/DcOX3hWFiey/","shortcode": "DcOX3hWFiey","post_id": "3967213292204992434","media_type": "photo","product_type": "feed","caption": "With your powers combined… This colorful picture of the cosmos is the product of teamwork between our @NASAHubble, @NASAWebb, and @NASAChandraXray telescopes…","hashtags": ["NASA", "Universe", "Nebula"],"mentions": ["NASAHubble", "NASAWebb", "NASAChandraXray"],"likes": 566179,"comments_count": 4223,"taken_at": "2026-08-19T14:11:47+00:00","username": "nasa","user_id": "528817151","user_full_name": "NASA","is_verified": true,"thumbnail_url": "https://scontent…jpg"}
Pricing
$0.00099 per post scraped — the same rate on every Apify plan, including the free one.
| Posts exported | Cost |
|---|---|
| 1,000 | $0.99 |
| 10,000 | $9.90 |
| 100,000 | $99.00 |
Not billed: unreachable usernames, private profiles, and posts excluded by your
onlyPostsNewerThan filter.
Use cases
Competitor content audit
Export a rival's last 500 posts with captions and engagement, then sort by likes to see what actually works in your category.
Campaign hashtag tracking
Run it against your campaign hashtag daily and measure reach and engagement while the campaign is live, not after it.
Caption and creative research
A few thousand captions from top accounts in a niche is a training set for your own copy — or for an LLM writing in that voice.
Instagram content archive
Schedule it and keep a permanent record of what an account published, including posts later deleted.
FAQ
How do I download all posts from an Instagram profile?
Put the username or profile URL into directUrls, raise resultsLimit to cover the
account's post count, and run it. Export the dataset as CSV or Excel from the Storage
tab.
Can I scrape Instagram posts without an API key? Yes. There is nothing to register. Instagram's official Graph API requires app review, a Business account and a connected Facebook Page, and only covers accounts you own. This reads public posts directly.
How much does it cost to scrape 10,000 Instagram posts? $9.90 — a flat $0.00099 per post on every plan, including the free tier. You pay only for posts actually delivered.
Does the Instagram Post Scraper include Reels and carousels?
Yes. media_type distinguishes photo, video, carousel and reel, so you can
filter after export. For reels-only extraction with play counts, use the
Instagram Reel Scraper.
Can I scrape Instagram posts by hashtag?
Yes. Pass a hashtag in directUrls and it returns posts carrying that tag, with the
same fields as profile posts.
How do I get only new Instagram posts since my last export?
Set onlyPostsNewerThan to the date of your previous run. Older posts are skipped and
not billed, so a daily incremental export costs only what is new.
Can I export Instagram captions and hashtags to a spreadsheet?
Yes. caption holds the full text, and hashtags and mentions come back as arrays
that flatten into spreadsheet columns on CSV export.
Can I scrape posts from a private Instagram account? No. Only public profiles return content. A private account yields no posts and is not billed.
Is it legal to scrape Instagram posts? This Actor collects only publicly available data and never accesses private content. Public data may still be personal data under GDPR and similar regimes, so only collect what you have a legitimate reason to process. See Apify's guidance on the legality of web scraping.
Integrations
Connect to Make, Zapier, n8n, Slack, Google Sheets, Google Drive, Airbyte and GitHub, or use webhooks on run completion. Official Node.js and Python SDKs are available, and the Apify MCP server lets an AI agent call this Actor directly.
Related Instagram scrapers
- Instagram Scraper — all-in-one: posts, reels, comments, profiles, hashtags, places and search
- Instagram Reel Scraper — reels only, with play counts and video URLs
- Instagram Comments Scraper — every comment on a post or reel
- Instagram Profile Scraper — bio, followers, email and category in bulk
- Instagram Hashtag Scraper — creators and leads by topic
Built and maintained by Zaver. For bugs, feature requests or custom data needs, open an issue on this Actor.