Instagram Profile Post Scraper avatar

Instagram Profile Post Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Instagram Profile Post Scraper

Instagram Profile Post Scraper

πŸ“Έ Instagram Profile Post Scraper extracts public profile posts: captions, hashtags, media URLs, timestamps, likes & comments. ⚑ Fast, reliable, scalable. πŸ“Š Export JSON/CSV for analysis. πŸ” Ideal for social listening, competitor research, content planning & influencer vetting.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Scrapium

Scrapium

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Instagram Profile Post Scraper

The Instagram Profile Post Scraper is a fast, reliable Instagram scraping tool that turns any public profile’s feed into structured data β€” captions, hashtags, media URLs, timestamps, and engagement metrics β€” so marketers, developers, data analysts, and researchers can export Instagram posts at scale. It solves the pain of manual collection by acting as an Instagram profile post scraper and Instagram media scraper that cleanly extracts posts for social listening, competitor tracking, and content analysis. Use it to scrape Instagram profile posts in bulk, build an Instagram profile content extractor pipeline, and power dashboards or models with fresh, structured Instagram data. πŸš€

What data / output can you get?

Below are representative fields the actor saves to the Apify dataset (records may vary slightly depending on the extraction path). You can export Instagram posts to JSON, CSV, or Excel from the Apify dataset.

Data typeDescriptionExample value
idUnique post identifier"3776048697886076245_2535829435"
shortcodeInstagram shortcode for the post"DRnOEjME21V"
urlCanonical post URL"https://www.instagram.com/p/DRnOEjME21V/"
typeMedia type (Image, Video, Carousel)"Video"
is_videoWhether the post is a videotrue
is_carouselWhether the post is a carouselfalse
captionPost caption text"Ronaldo vs My Goalie Robot... #sponsored"
hashtagsHashtags parsed from caption["sponsored"]
mentionsUser mentions parsed from caption["tmobile","cristiano"]
likes_countNumber of likes996806
comments_countNumber of comments5024
views_countVideo views (when available)12030450
taken_at_timestampUNIX timestamp of the post1764360143
postedHuman-readable posted time"29 Nov 2025, 07:02:23 am"
dateISO timestamp string"2025-11-29T07:02:23Z"
display_urlPrimary media URL (image/video thumbnail)"https://scontent.../587802055_n.jpg"
image_linksImage URLs (single or carousel)["https://scontent.../587802055_n.jpg"]
video_linksVideo URLs (when available)["https://scontent.../video.mp4"]
dimensionsMedia dimensions (width/height){"width": 2160, "height": 3840}
owner.idProfile owner’s ID"2535829435"
owner.usernameProfile owner’s username"cristiano"
accessibility_captionAccessibility text if availablenull
latest_commentsSnapshot of recent comments (when available)[{"id":"...","text":"πŸ”₯"}]

Bonus fields may include post_url (alias of url), product_type (e.g., clips), usertags, carousel_media, coauthor_producers, and a full comments array (when available). All outputs are designed for analytics β€” a practical Instagram post metadata scraper that’s ready for downstream BI tools.

Key features

  • ⚑ Bold performance & scale β€” Built for batch workloads and multi-profile jobs, this Instagram profile feed scraper handles images, carousels, and reels (clips) with resilient extraction and proxy strategy.
  • 🧭 Multi-input flexibility β€” Paste profile URLs, plain usernames, or post shortcodes into startUrls; inputs are normalized to usernames automatically for smooth runs.
  • πŸ“Œ Pinned post control β€” Use pinnedMode ("include", "skip", or "only") to decide how pinned posts are handled on the first page.
  • πŸ—“οΈ Freshness filtering β€” Apply recent with an absolute date (YYYY-MM-DD) or relative value ("3 days", "2 weeks", "1 month") to focus on new content.
  • πŸ’¬ Comment snapshots β€” Outputs comments and latest_comments when available for quick sentiment cues without heavy requests.
  • 🧩 Rich media & metadata β€” Captures captions, hashtags, mentions, media URLs, dimensions, and engagement β€” ideal for an Instagram post scraper focused on analytics.
  • 🧰 Developer-friendly β€” Works seamlessly with Apify’s REST API and SDKs (including Instagram scraper Python workflows via apify-client) for pipelines and automation.
  • πŸ”’ Public-data only β€” Designed for ethical collection of public profiles, with a Proxy Configuration input and residential proxies recommended for reliability.
  • πŸ’Ύ Easy exports β€” Export Instagram posts to JSON/CSV/Excel from the dataset, or connect to webhooks and data stacks for automation.

How to use Instagram Profile Post Scraper - step by step

  1. Create your Apify account and log in.
  2. Open the Instagram Profile Post Scraper in the Apify Store.
  3. Add input data in startUrls:
  4. Configure key settings:
    • maxPosts: Limit how many posts per profile to extract (set 0 for unlimited).
    • pinnedMode: Choose "include", "skip", or "only" for pinned posts.
    • recent: Keep results fresh with a date ("2025-06-01") or a relative value ("2 weeks").
    • proxyConfiguration: Use Apify Residential proxies for best reliability.
  5. Click Start to run. The Instagram user posts extractor will navigate each profile, collect posts, and push results to the dataset in real time.
  6. Monitor progress in the run logs; records appear incrementally in the dataset.
  7. Export results to JSON, CSV, or Excel β€” or access via API for programmatic consumption.

Pro tip: Orchestrate scheduled runs and downstream workflows to build a bulk Instagram post downloader pipeline that syncs with your BI stack.

Use cases

Use caseDescription
Influencer/competitor trackingMeasure posting cadence, format mix (reels, carousels), and engagement to benchmark strategies.
Content intelligence & SEOExtract captions, hashtags, and mentions for topic modeling, clustering, and keyword research using an Instagram profile data scraper.
Campaign reportingQuantify likes, comments, and views before/after campaigns; tag and analyze sponsored content patterns.
Brand monitoringDetect mentions and trends across public profiles; curate UGC and creative references at scale.
Market & consumer researchMine captions and comment snapshots for voice-of-customer insights and thematic analysis.
Data science pipelinesFeed an Instagram scraper Python workflow via the Apify API for NER, forecasting, and modeling.

Why choose Instagram Profile Post Scraper?

This Instagram profile post downloader is engineered for precision, scale, and production reliability β€” a robust Instagram scraping tool that outperforms fragile, extension-based alternatives.

  • βœ… Accurate, structured output: Clean JSON with stable field names for analytics and ETL.
  • πŸš€ Batch scraping at scale: Queue many profiles with per-profile limits for predictable costs.
  • πŸ’¬ Comment snapshots: Get comments and latest_comments when available without heavy overhead.
  • πŸ”Œ Developer access: Integrate via Apify API and SDKs, perfect for Instagram scraper Python pipelines.
  • πŸ”’ Ethical by design: Public profiles only, with a clear Proxy Configuration to support reliable scraping.
  • 🀝 Integration-friendly: Export and connect results to spreadsheets, BI tools, and automation platforms.
  • πŸ’° Cost-effective: Control maxPosts and date filters to keep runs lean and budgets predictable.

Bottom line: A production-grade Instagram profile scraper built for teams that need reliable, repeatable extraction.

Is it legal / ethical to use Instagram Profile Post Scraper?

Yes β€” when used responsibly. This actor collects publicly available content from Instagram profiles and does not access private or authenticated data.

Guidelines to consider:

  • Collect public data only and respect platform terms.
  • Ensure a lawful basis for processing (e.g., legitimate interest) under GDPR/CCPA where applicable.
  • Store data securely and limit collection to what you need.
  • Consult your legal team for edge cases or specific compliance questions.

Input parameters & output format

JSON input example

{
"startUrls": [
"https://www.instagram.com/cristiano/",
"mrbeast"
],
"maxPosts": 25,
"pinnedMode": "include",
"recent": "2 weeks",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Parameters

  • startUrls (array, required): List one or more Instagram profile URLs (e.g. https://www.instagram.com/username), plain usernames (e.g. username), or post shortcodes (e.g. ABC123DEF). The actor will normalize everything into usernames for you. Default: none.
  • maxPosts (integer): How many posts to scrape per profile. Set to 0 for unlimited posts (use with care for very large profiles). Default: 10.
  • pinnedMode (string enum): Choose how to handle pinned posts. Options: "include", "skip", "only". Default: "include".
  • recent (string): Filter posts by date. Use YYYY-MM-DD or a relative value like "3 days", "2 weeks", or "1 month". Leave empty to scrape all available posts. Default: null (no filter).
  • proxyConfiguration (object): Configure which proxies to use for scraping. Residential proxies are strongly recommended (and usually required) for reliable Instagram scraping. Default: none (editor prefill suggests Apify RESIDENTIAL).

JSON output example

{
"id": "3776048697886076245_2535829435",
"shortcode": "DRnOEjME21V",
"taken_at_timestamp": 1764360143,
"display_url": "https://scontent-iad3-2.cdninstagram.com/v/t51.82787-15/587802055_18371174326085436_6013193979793540191_n.jpg",
"is_video": true,
"likes_count": 996806,
"comments_count": 5024,
"caption": "Ronaldo vs My Goalie Robot. Thanks to @tmobile for helping me get my latest invention ready to take on @cristiano at his own game! #sponsored",
"accessibility_caption": null,
"dimensions": {
"height": 3840,
"width": 2160
},
"owner": {
"id": "2535829435",
"username": "cristiano"
},
"url": "https://www.instagram.com/p/DRnOEjME21V/",
"scraped_at": "2025-11-29T07:07:19.094367"
}

Note: Depending on the extraction path, additional fields may be present, including post_url, type, product_type, is_carousel, posted, date, crawled_at, hashtags, mentions, usertags, views_count, view_count, video_duration, video_links, video_versions, image_links, images, carousel_media_count, carousel_media, coauthor_producers, owner/user profile details, clips_metadata, comments, and latest_comments.

FAQ

Is there a free way to try this Instagram profile post scraper?

Yes. You can start with a free Apify plan to test small runs and validate fields before scaling to larger workloads.

Does this Instagram post scraper require login or cookies?

No. It targets publicly available Instagram profiles and extracts data without requiring user login or private session cookies.

Can I use it with Python and APIs?

Yes. You can run the actor via Apify’s REST API and SDKs. Many teams integrate it into Instagram scraper Python pipelines using apify-client to trigger runs and fetch datasets programmatically.

How many posts can I export per profile?

You control that with maxPosts. Set a specific number (e.g., 50) or use 0 for unlimited. Combine with recent to avoid re-scraping older content and keep datasets lean.

What media types are supported?

The scraper handles images, videos, carousels, and reels (clips). It returns media URLs, dimensions, and engagement metrics, making it a robust Instagram media scraper and Instagram post metadata scraper.

Can it scrape private accounts?

No. Only public Instagram profiles are supported. Private or restricted accounts will not return posts.

Does it capture comments?

It includes comments and latest_comments when available for quick sentiment snapshots. Comment availability can vary based on Instagram’s responses and post type.

What proxies should I use?

Use Residential proxies in proxyConfiguration for reliable, large-scale runs. The input editor prefill suggests Apify RESIDENTIAL proxies for best results.

Closing thoughts

Instagram Profile Post Scraper is built for teams that need dependable, structured extraction of public Instagram profile posts at scale. It helps marketers, analysts, and researchers export Instagram posts with captions, media, and engagement β€” and gives developers a clean API-friendly output for automation. Connect it to your data stack, trigger with Python or REST, and start turning Instagram timelines into actionable insights today.