Instagram Posts Data Export | Posts & Reels | No Login
Pricing
Pay per event
Instagram Posts Data Export | Posts & Reels | No Login
Instagram posts data export: an account's recent posts and Reels with caption, content type, thumbnail and URL. No login. $0.90/1K posts, $1.10/1K reels + $0.006 per run. Cheaper than Apify's official Instagram Scraper on Free to Silver plans.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Hriday Rungta
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Export Instagram posts data for any public account: the most recent posts, carousels and Reels with caption, content type, thumbnail and a working post URL. One request per username, no login, no cookies, no browser.
Use it for competitor content research, caption and hashtag analysis, content-mix audits, and for monitoring when an account publishes something new.
What you can do with Instagram posts data
- Research a competitor's content: pull their latest posts and Reels into a table and see what they publish, how they write captions and which hashtags they use.
- Study captions and hashtags across several brands or creators in one export.
- Audit content mix: photo vs. carousel vs. video.
- Monitor new posts: set
modetochangesand every run after the first returns only content newer than the last run. Schedule it daily and you have a new-post feed. - Build a content database by sending rows to Google Sheets, Airtable, a data warehouse or a Make/n8n/Zapier scenario.
What you get and what you do not
Per post or Reel: contentType (post or reel), caption, mediaType (photo, video or carousel), isCarousel, isPinned (a boolean only when Instagram includes the flag in its preview, otherwise null, which is common), thumbnailUrl, shortcode and the canonical instagram.com/p/... or instagram.com/reel/... URL.
Not in this Actor: like counts, comment counts and exact timestamps. Instagram's own preview data for this page does not include them. The likeCount, commentCount and takenAt columns exist in the output but are always null. If you need engagement numbers, use the Instagram Reels Scraper detail mode (likes, comments and exact date per Reel) or the Instagram Comments Scraper. Nothing here fakes numbers or leaves them out silently.
Input
| Field | Description |
|---|---|
usernames | Required. Usernames, @handles or profile URLs |
includePosts / includeReels | Which content types to keep. Both default to true |
mode | latest (default, every run) or changes (only content newer than the last run) |
maxItems | Cap on billed rows for the run (default 1000) |
maxConcurrency, requestsPerSecond, maxRetries | Throughput controls |
proxyConfiguration | Leave the default (Apify Proxy), see "How it works" |
Example input:
{"usernames": ["nasa", "natgeo"],"includePosts": true,"includeReels": true,"mode": "latest","maxItems": 50}
Example output row:
{"username": "nasa","contentType": "reel","shortcode": "...","url": "https://www.instagram.com/reel/.../","caption": "...","mediaType": "video","isCarousel": false,"isPinned": false,"thumbnailUrl": "https://...","likeCount": null,"commentCount": null,"takenAt": null,"pk": "...","profileUrl": "https://www.instagram.com/nasa/","scrapedAt": "2026-10-21T08:00:00.000Z"}
Pricing
Pay per event, no subscription:
| Event | Price |
|---|---|
| Actor started | $0.006, once per run, regardless of results |
| Post scraped | $0.0009 ($0.90 per 1,000) |
| Reel scraped | $0.0011 ($1.10 per 1,000) |
Worked examples (each account returns about 10 to 12 recent items):
- 1 account, about 12 items: $0.006 + 12 x $0.0009 to $0.0011 = about $0.017 to $0.019
- 10 accounts, about 120 items: about $0.11 to $0.14
- Daily
changesrun on 20 accounts that each post 1 to 2 new items a day: roughly $0.006 + 30 x $0.001 = about $0.04 per day
Proxy cost is included, nothing extra is billed. On the Apify Free, Bronze and Silver plans these per-item prices are below the per-result price of Apify's official Instagram Scraper, which returns a wider set of fields. Set a maxItems or a maximum total charge to cap any run.
How it works, and the limits
An Instagram profile page fetched the way a search-engine crawler fetches it (Googlebot user agent) is served in an SEO-rendered form that embeds the account's most recent content, newest first. This Actor reads that block directly, so one page fetch per username returns the whole batch. No login is ever used.
- About 10 to 12 recent items per account. That is what the page carries. This is not a full-history export, and there is no way to page further back without a login.
- Proxy routing. With the default proxy setting, each page is tried first through Apify's free datacenter proxy (up to 3 fresh sessions) and only falls back to Apify's paid Unblocker proxy when those fail. The cost is included in the price. If you set your own proxy, the free-first routing is skipped.
- Not perfectly consistent. Which data block Instagram serves for the same URL can vary request to request. Occasionally the clean per-account batch is replaced by a "related content" block that mixes in posts from co-authored accounts. When that happens the Actor keeps only items attributed to the username you asked for, even if the batch is smaller that run. It never reports someone else's post under your username.
- Shortcodes without an extra request. A post's shortcode is derived from its numeric id with Instagram's public, deterministic encoding, so no second fetch is needed.
- It can change. This depends on Instagram continuing to serve this preview data to crawler requests. If it changes, output can degrade until the Actor is updated.
What was tried and dropped
- Hashtag pages (
/explore/tags/{tag}/) redirected to Instagram's login wall without a proxy and returned HTTP 502 through the Unblocker proxy, so hashtag search is not offered rather than shipped broken. - Per-post detail by URL (exact likes, comments, timestamp) works technically but costs a full proxied request per item, so it is not offered here. The Reels Actor has an opt-in detail mode priced for it.
Incremental mode (new posts only)
Set mode to changes. Because the preview batch has no timestamp, the Actor tracks a high-water mark on Instagram's numeric post id (pk), which was verified to be strictly newest-first across the batch, pinned posts included. Every run after the first returns only items newer than the last one it saved, per username. The first run returns the current batch. State lives in a key-value store on your Apify account.
Integrations and scheduling
- Apify Schedules: run daily or weekly in
changesmode for a new-content feed. - Google Sheets, Airtable, Excel: export the dataset as CSV, Excel, JSON or XML, or use Apify's integrations to append each run.
- Make, n8n, Zapier: trigger on "run finished", then post new items to Slack, email or a content calendar.
- Webhooks and API: call your own endpoint when a run ends, or start runs and read data with the REST API, JavaScript client or Python client.
- AI agents: the Actor can be called through the Apify MCP server.
FAQ
How do I export Instagram posts to Google Sheets or Excel?
Run the Actor with your usernames, open the dataset and export as CSV or Excel, or connect the Google Sheets integration to append every scheduled run.
Can I get likes and comments with this?
No. This Actor does not return like counts, comment counts or timestamps. For Reels use the Reels Actor's detail mode; for comment text use the Comments Actor.
Why not use the official Instagram API?
The official Instagram Graph API works for professional accounts that authorize your app, and it needs a Meta developer app and review. It is built for managing your own accounts, not for reading arbitrary public accounts. This Actor reads any public account's recent content with just a username.
Can I scrape a whole account history or a hashtag?
No. You get the roughly 12 most recent items per account, and hashtag search is not supported.
Is it cheaper than Apify's official Instagram Scraper?
Per item, yes on the Free, Bronze and Silver plans (see Pricing). The official Actor is much broader and returns more fields, so use it if you need them.
Is scraping Instagram legal?
The Actor reads only publicly visible pages and never logs in. You are responsible for how you use the data, including privacy law such as GDPR and Instagram's terms. This is not legal advice, and the Actor is not affiliated with Instagram or Meta.
Related Instagram Actors
- Instagram Profile Scraper: follower counts, bio and verified status for a list of usernames.
- Instagram Reels Scraper: Reels only, with optional likes, comments, date and video URL.
- Instagram Comments Scraper: export the visible comments of a post or Reel.
- apify/instagram-scraper: Apify's official all-purpose Instagram scraper with a broader field set.
- apify/instagram-hashtag-scraper: Apify's official hashtag scraper, for the hashtag search this Actor does not offer.