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, likes, comments, timestamps & media URLs—into clean, exportable data. 🔍 Ideal for competitor analysis, influencer vetting, social listening & content planning. 🚀

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapePilot

ScrapePilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

3 days ago

Last modified

Share

Instagram Profile Post Scraper

The Instagram Profile Post Scraper is a fast, reliable instagram profile post scraper that turns public Instagram timeline posts into structured, analysis‑ready records. It solves the pain of manual copy-paste by automating extraction of post captions, hashtags, media URLs, and engagement metrics — ideal for marketers, developers, data analysts, and researchers who need an instagram profile scraper or instagram post scraper for repeatable workflows. Use it to scrape Instagram user posts at scale and power dashboards, research, and content planning with clean data.

What data / output can you get?

Below are real output fields the actor saves to the dataset (export to JSON/CSV/Excel is supported):

Data typeDescriptionExample value
idPost identifier (stringified)"3776048697886076245_2535829435"
shortcodeInstagram post shortcode"DRnOEjME21V"
urlCanonical post URL"https://www.instagram.com/p/DRnOEjME21V/"
taken_at_timestampUnix timestamp of the post1764360143
is_videoWhether the post is a videotrue
likes_countTotal likes996806
comments_countTotal comments5024
captionPost caption text"Ronaldo vs My Goalie Robot... #sponsored"
display_urlPrimary image/thumbnail URL"https://scontent-.../587802055_...n.jpg"
dimensionsMedia dimensions (width/height){"width": 2160, "height": 3840}
owner.idOwner account ID"2535829435"
owner.usernameOwner username"cristiano"
scraped_atISO timestamp of when it was scraped"2025-11-29T07:07:19.094367"

Bonus fields (when available from the API path): pk, post_url, type, product_type, is_carousel, is_pinned, posted (human‑readable), date, crawled_at, accessibility_caption, hashtags, mentions, usertags, like_count, comment_count, views_count/view_count (for videos), video_duration, video_links, video_versions[], image_links, images[], carousel_media_count, carousel_media, coauthor_producers, owner{} (extended), user{} (extended), account_username, account_verified, account_profile_picture, from_url, clips_metadata{}, comments[], latest_comments[].

Key features

  • 🚀 Robust public profile extraction Collect posts from public Instagram profiles reliably — a production‑ready instagram scraper for public profiles that avoids fragile browser extensions.

  • 📌 Pinned posts handling Fine‑grained control with pinnedMode to include, skip, or return only pinned posts for each profile.

  • 🗓️ Smart date filtering Filter by absolute dates (YYYY‑MM‑DD) or relative ranges like “3 days”, “2 weeks”, or “1 month” to keep results fresh.

  • 🧾 Clean, structured outputs Export instagram profile posts to CSV, JSON, or Excel; every run writes clean, consistent records to the Apify dataset.

  • 🧠 Developer‑friendly Run via Apify API and official SDKs, including Python — perfect for a python instagram profile post scraper, pipelines, and automation.

  • 🛡️ Proxy-ready reliability Built to use residential proxies for stability on Instagram, ideal for batch workloads and consistent scraping without an official API.

  • 📈 Scales with your needs Scrape Instagram user posts across multiple usernames in one run and control volume with maxPosts per profile.

How to use Instagram Profile Post Scraper - step by step

  1. Create an Apify account
    Sign up or log in to Apify to access the actor.

  2. Open the actor in Apify
    Search for “Instagram Profile Post Scraper” and click Try for free.

  3. Add input data
    In startUrls, paste profile URLs (e.g., https://www.instagram.com/username/), plain usernames (e.g., username), or post shortcodes (e.g., ABC123DEF). The actor normalizes inputs into usernames.

  4. Configure limits and filters

    • maxPosts: Set how many posts to collect per profile (0 = unlimited).
    • pinnedMode: Choose include, skip, or only for pinned posts.
    • recent: Keep only newer posts using a date (YYYY‑MM‑DD) or a relative period like “2 weeks”.
  5. Set proxy configuration (recommended)
    In proxyConfiguration, select Apify Residential proxies for reliable Instagram scraping.

  6. Run the actor
    Click Start. The instagram post extractor will fetch public posts, media URLs, captions, and engagement fields.

  7. Download results
    Go to the dataset tab to download JSON/CSV/Excel — or access programmatically via the Apify API.

Pro tip: Automate scheduled runs and plug outputs into your stack to batch download Instagram profile posts and power dashboards or enrichment pipelines without manual steps.

Use cases

Use case nameDescription
Marketing + content planningAnalyze posting cadence, formats (image/video/carousel), and CTAs to plan content backed by engagement data.
Influencer vetting & competitor trackingCompare engagement and themes across creators or rivals using a repeatable instagram profile data scraper workflow.
Social listening & hashtag trendsExtract captions, mentions, and hashtags to map themes and trend shifts over time from public timelines.
Campaign reportingMeasure before/after performance by aggregating likes, comments, and views from relevant profiles.
Research & academiaBuild longitudinal datasets of public posts for topic modeling, entity extraction, and time‑series analysis.
Data engineering pipelinesUse the API with Python to download Instagram user posts at scale and feed BI tools or warehouses.

Why choose Instagram Profile Post Scraper?

This tool focuses on precision, automation, and reliability for public Instagram timelines — a scalable instagram profile post downloader without fragile browser automation.

  • ✅ Accurate, consistent JSON: Stable field names and clean records for analytics and pipelines.
  • ⚡ Built for scale: Queue multiple profiles and cap results with maxPosts for predictable runs.
  • 🔌 Easy exports & integrations: Download as JSON/CSV/Excel or pull via API into your stack.
  • 💻 Developer access: Works great as a python instagram profile post scraper with Apify SDKs.
  • 🔒 Safe & ethical defaults: Scrapes only publicly available profile posts; no private data.
  • 💰 Cost‑effective: Control scope with maxPosts and filters to keep usage efficient.
  • 🧱 Production‑ready: Residential proxy support and robust fallbacks for consistent throughput.

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

Yes — when used responsibly. This actor collects publicly available Instagram content from public profiles only and does not access private accounts.

Guidelines to stay compliant:

  • Scrape public data only and avoid private profiles.
  • Ensure a lawful basis for processing (e.g., legitimate interest) under GDPR/CCPA where applicable.
  • Review and respect Instagram’s Terms of Use and platform policies.
  • Store data securely and use it responsibly according to your organization’s compliance standards.

If in doubt, consult your legal team for your specific use case.

Input parameters & output format

Example JSON input

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

Parameter reference:

  • 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 (required).

  • maxPosts (integer, optional)
    How many posts to scrape per profile. Set to 0 for unlimited posts (use with care for very large profiles). Default: 10. Min: 0. Max: 10000.

  • pinnedMode (string, optional)
    Choose how to handle pinned posts:

    • include: mix pinned + regular posts (default)
    • skip: ignore pinned posts
    • only: return only pinned posts when available
      Default: "include".
  • recent (string, optional, nullable)
    Filter posts by date. Use an absolute date (YYYY‑MM‑DD) or a relative value like "3 days", "2 weeks", or "1 month". Leave empty to scrape all available posts. Default: null.

  • proxyConfiguration (object, optional)
    Configure proxies. Residential proxies are strongly recommended (and usually required) for reliable Instagram scraping. Prefill example: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}.

Example JSON output

{
"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"
}

Notes:

  • Depending on the extraction path, you may also see additional fields such as pk, post_url, type, product_type, is_carousel, is_pinned, posted, date, crawled_at, hashtags, mentions, video_links, video_versions[], image_links, images[], carousel_media, owner/user (extended), clips_metadata, comments, and latest_comments.
  • Some fields can be null or omitted when not present on the source post (e.g., accessibility_caption).

FAQ

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

Yes. You can start on Apify with trial minutes to run small jobs and validate the fields and workflow before scaling up.

Do I need to log in to scrape Instagram user posts?

No. This instagram profile post scraper without login works on public profiles and does not access private accounts.

Can I export instagram profile posts to CSV or Excel?

Yes. Every run writes to an Apify dataset that you can download as JSON, CSV, or Excel, or fetch via the Apify API.

Is this an instagram profile post scraper no API?

Yes. It does not require access to the official Instagram API. It scrapes public profile timelines with resilient proxy support.

Does it work as a python instagram profile post scraper?

Yes. Use the Apify SDK or apify-client in Python to start runs, poll status, and download the dataset programmatically.

How many posts can I collect per profile?

You control this via maxPosts. Set a specific number for predictable costs, or 0 for unlimited (use with care for large accounts). You can also filter by recent to keep results fresh.

What types of posts are covered?

Public timeline posts from profiles, including images and videos. Output includes media URLs, captions, timestamps, likes, and comments counts. When available, additional metadata such as hashtags, mentions, and video info is included.

Can it scrape private Instagram accounts?

No. Only public profiles are supported. Private content and authenticated data are not accessed.

Closing thoughts

Instagram Profile Post Scraper is built to help you collect public Instagram timeline posts in clean, structured form — fast. With flexible inputs, pinned-post control, recent-date filtering, and export to JSON/CSV/Excel, it’s ideal for marketers, analysts, developers, and researchers who need to download Instagram user posts reliably. Developers can integrate via the Apify API and Python SDK for automated pipelines. Start extracting smarter, structured Instagram profile data and power your analysis with confidence.