Instagram User Posts Scraper avatar

Instagram User Posts Scraper

Pricing

from $0.90 / 1,000 instagram posts

Go to Apify Store
Instagram User Posts Scraper

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

NewLai

Maintained by Community

Actor 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

  1. Add public usernames in the Actor's Input tab.
  2. Set maxPages; start with one page for testing.
  3. Keep the default GB residential proxy with automatic DE fallback and use moderate concurrency.
  4. 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?

FieldTypeDescription
ownerUsername, pagestring, integerRequested feed and page.
postCode, postUrlstringStable public post identifiers.
caption, usernamestringPublic content and creator.
isVideo, hasAudiobooleanMedia flags.
likeCount, commentCountintegerVisible engagement counters.
assetsarrayImage 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 tierPrice per postPrice 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.

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.