Instagram User Posts Scraper
Pricing
from $0.90 / 1,000 instagram posts
Instagram User Posts Scraper
Collect paginated public Instagram posts for one or many usernames with normalized media metadata.
Pricing
from $0.90 / 1,000 instagram posts
Rating
0.0
(0)
Developer
NewLai
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
What does Instagram User Posts Scraper API do?
Instagram User Posts Scraper API collects paginated public posts for one or more usernames on Instagram. Every successful Dataset item represents one post with its shortcode, creator, caption, engagement counters, preview, media type, and downloadable asset URLs. This focused Instagram user feed API alternative runs with Apify scheduling, API access, proxy rotation, retries, monitoring, and common data integrations.
No Instagram account, password, or authenticated session cookie is required. The Actor accesses public user feeds only.
The Actor produces post rows only. Profile metadata, keyword discovery, post-detail resolution, and binary downloads remain separate Actors so each service has one clear output type.
Why scrape Instagram user posts?
- Monitor public content published by creators, brands, or competitors.
- Build post inventories before resolving full media details.
- Analyze captions, formats, and visible engagement over time.
- Send normalized rows to BigQuery, Google Sheets, webhooks, or custom APIs.
- Control cost with page and concurrency limits per run.
How to scrape an Instagram user's posts
- Add public
usernamesin the Actor's Input tab. - Set
maxPages; start with one page for testing. - Keep the default GB residential proxy with automatic DE fallback and use moderate concurrency.
- Click Start, then inspect or export the Dataset.
Input
See the Input tab for all options. Usernames may include @. Duplicate usernames and overlapping posts returned by Instagram pagination are ignored. Each successful page normally contains about 12 posts, although Instagram controls the actual size. Authentication fields and Instagram session cookies are not part of the input.
Actor input example:
{"usernames":["instagram","natgeo"],"maxPages":2,"includeRaw":false}
Output
You can download the Dataset in various formats such as JSON, HTML, CSV, or Excel.
{"success":true,"ownerUsername":"natgeo","page":1,"postCode":"ABC","postUrl":"https://www.instagram.com/p/ABC/","username":"natgeo","caption":"Example","isVideo":false,"assets":[{"position":1,"type":"image","url":"https://scontent.cdninstagram.com/file.jpg"}],"error":null}
What Instagram post data is extracted?
| Field | Type | Description |
|---|---|---|
ownerUsername, page | string, integer | Requested feed and page. |
postCode, postUrl | string | Stable public post identifiers. |
caption, username | string | Public content and creator. |
isVideo, hasAudio | boolean | Media flags. |
likeCount, commentCount | integer | Visible engagement counters. |
assets | array | Image or video URLs and dimensions. |
How much does it cost to scrape Instagram posts?
This Actor uses pay-per-event pricing with platform usage included. At the default 512 MB memory, the Actor start costs $0.002; higher user-selected memory can add start units at $0.002 per GB. Only successfully scraped posts are charged. Failure rows and upstream error reports are not charged.
| Apify discount tier | Price per post | Price per 1,000 posts |
|---|---|---|
| Free | $0.0015 | $1.50 |
| Bronze | $0.0013 | $1.30 |
| Silver | $0.0011 | $1.10 |
| Gold, Platinum, Diamond | $0.0009 | $0.90 |
A request is made for each page, with bounded retries on transient failures. Start with maxPages: 1, measure output, and increase only when needed. Set a maximum charge per run in Apify when you need a hard spending limit.
Tips and limitations
Residential proxies and conservative concurrency improve reliability. With the default proxy setting, the first attempt uses GB; after a failure the run switches to DE and keeps DE active. Failures are limited to two retries (three total attempts). A user-selected non-GB country or custom proxy URL is respected and does not trigger the automatic fallback. Private feeds cannot be accessed. The first page uses Instagram's public profile response; later pages use logged-out GraphQL pagination and may be more rate-limited. Instagram may change public response shapes or GraphQL document identifiers, so monitor failure rows after deployments. Raw output is useful for debugging but increases storage.
Legal use, privacy, and support
The Actor accesses public content only. Public posts may contain personal or copyrighted material. Ensure a legitimate purpose, honor platform terms and rate limits, and comply with privacy and intellectual-property law. Use the Issues tab for support and the API tab for integration examples.