Instagram Post Scraper avatar

Instagram Post Scraper

Pricing

from $10.00 / 1,000 posts

Go to Apify Store
Instagram Post Scraper

Instagram Post Scraper

Extract all posts from unlimited public Instagram profiles. Get captions, likes, comments, images, and carousel details — perfect for social media analysis and research.

Pricing

from $10.00 / 1,000 posts

Rating

0.0

(0)

Developer

Scraptivo

Scraptivo

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

1

Monthly active users

11 days ago

Last modified

Share

Instagram Posts Scraper collects posts from public Instagram profiles and turns them into structured data for content research, competitor analysis, and audience monitoring. Provide a profile URL or username, run the Actor, and export captions, likes, comments, media counts, and post URLs to JSON, CSV, Excel, or your preferred integration. Use it to study what works for any brand or creator and to schedule recurring tracking of new posts. Scraping costs from $0.0025 per post.

What can you automate with Instagram Posts Scraper?

  • Build content intelligence reports — Pull recent posts from any set of public profiles and compare captions, formats, and engagement side by side.
  • Track competitor activity — Monitor what brands and creators publish, then spot posting frequency, topics, and engagement trends.
  • Enrich influencer research — Collect post-level likes and comments to evaluate an audience before outreach or partnership.
  • Feed a data pipeline — Export structured posts to a spreadsheet, database, or BI tool for recurring analysis.
  • Schedule recurring collection — Re-run on a fixed cadence to keep a rolling archive of new posts per account.

Who is this scraper for?

TeamWorkflow
Marketers and social media managersBenchmark competitor posts and identify high-performing content themes.
Influencer and creator agenciesAudit post engagement to shortlist creators for campaigns.
Market researchersBuild structured datasets of captions and engagement for content analysis.
Brand and media monitoring teamsTrack what target accounts publish and how audiences respond.

What data can you collect from Instagram?

Data groupExample fieldsHow it helps
Profile identityusername, full_name, profile_pic_urlAttribute every post to the correct account.
Post contentcaption, url, post_url, thumbnailAccess the post text, link, and cover image.
Engagementlike_count, comment_countMeasure audience reaction per post.
Media and timingcarousel_media_count, taken_atUnderstand format (single vs. carousel) and publish time.

Fields that depend on the post, such as carousel_media_count or caption, may be empty when Instagram does not return them.

How to use Instagram Posts Scraper

  1. Open the Actor on the Apify Store.
  2. Enter at least one profile URL in urls or one username in usernames.
  3. Set post_per_user to cap posts per profile and maxItems to cap the total run.
  4. Run the Actor.
  5. Export the dataset to JSON, CSV, or Excel, or push it to an integration.
{
"usernames": ["nasa", "cristiano"],
"post_per_user": 12,
"maxItems": 0
}

Example workflow

Build a weekly competitor content digest

  1. Add your competitor usernames and run the Actor every Monday.
  2. Keep posts where like_count and comment_count exceed your threshold.
  3. Append new records to Google Sheets or a CRM using the post url as the stable key.
  4. Review new captions, formats, and engagement in your weekly report.

Downstream filtering, scoring, and deduplication are your own steps; the Actor returns the raw structured posts.

Automate and integrate your results

  • Schedule runs daily or weekly to keep a rolling archive of new posts.
  • Trigger a webhook after a successful run to notify your team.
  • Push results to Google Sheets, Make, Zapier, Slack, a CRM, or cloud storage.
  • Call the Actor via the Apify API for recurring pipelines.
  • Deduplicate records using the post url (or legacy post_url) as the stable identifier.

Input reference

FieldTypeRequiredDefaultWhat it controls
urlsarrayOptional*Instagram profile URLs to scrape, e.g. https://www.instagram.com/nasa/.
usernamesarrayOptional*Usernames without @, e.g. nasa.
post_per_userintegerOptional12Max posts per profile; 0 means unlimited for that profile.
maxItemsintegerOptional0Max total posts across all profiles; 0 means unlimited.
proxyConfigurationobjectOptionalApify residentialProxy settings for reliable Instagram access.

*At least one of urls or usernames is expected.

Output example

{
"username": "nasa",
"full_name": "NASA",
"profile_pic_url": "https://instagram.fjsr11-1.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"url": "https://www.instagram.com/p/DcCH2ZygIiP/",
"post_url": "https://www.instagram.com/p/DcCH2ZygIiP/",
"caption": "America's newest aerospace technology expo and air show is landing at @NASAKennedy in Florida on Nov. 7-8...",
"comment_count": 563,
"like_count": 57998,
"carousel_media_count": 0,
"thumbnail": "https://instagram.fjsr11-1.fna.fbcdn.net/v/t51.82787-15/773469429_18637153849049152_1501459325827939487_n.jpg",
"taken_at": "2026-08-14T22:01:26"
}

How much does it cost to scrape Instagram?

This Actor uses pay-per-event pricing. The primary event is one Post (one dataset item), billed at $0.0025 per post on the free tier, dropping to $0.0022 per post on higher plans. There is also a one-time $0.00005 Actor Start charge per run.

  • A small run of 100 posts costs about $0.25 plus the start fee.
  • A larger run of 10,000 posts costs about $25 plus the start fee.

You only pay for the post records the Actor returns.

Reliability and responsible use

  • Residential Apify proxies are used by default to keep access reliable.
  • The Actor handles retries and concurrent requests automatically.
  • Some fields are conditional: captions, media counts, or thumbnails can be empty when Instagram does not expose them.
  • The Actor collects only public profile data; private accounts and login-gated content are out of scope.
  • You are responsible for using collected data in line with Instagram's terms and applicable law.

Frequently asked questions

Can I scrape posts from any Instagram profile?

You can collect posts from public profiles by username or profile URL. Private accounts and content that requires login are not available to the Actor.

Can I schedule Instagram Posts Scraper to run automatically?

Yes. Configure an Apify schedule (daily, weekly, or custom) and pair it with a webhook or integration so new posts are collected without manual runs.

What counts as one result?

One result is a single post record in the dataset. Each post is billed as one "Post" event under pay-per-event pricing, so you only pay for what is returned.

Why are some fields empty?

Optional fields such as caption, carousel_media_count, or thumbnail depend on what Instagram returns for that post. Empty values mean the data was not available, not that the run failed.

How do I avoid duplicate records?

Use the post url (or legacy post_url) as the stable key when you append results to your own spreadsheet or database, and deduplicate on that field.

Do I need a proxy?

Yes. The Actor uses Apify residential proxies by default, which are required for reliable access to public Instagram profiles.

Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, sample URL, required fields, and expected volume so we can assess the request.