Instagram Posts Scraper avatar

Instagram Posts Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Instagram Posts Scraper

Instagram Posts Scraper

πŸ“Έ Instagram Posts Scraper extracts post data at scale β€” captions, hashtags, likes, comments, engagement, timestamps & media URLs. πŸ“ˆ Ideal for social analytics, competitor tracking, influencer research & content planning. πŸ” Profiles, hashtags, locations; CSV/JSON export.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapePilot

ScrapePilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

Instagram Posts Scraper

Instagram Posts Scraper is a fast, reliable instagram post scraper that collects raw Instagram post objects from public profiles at scale β€” ideal for marketers, developers, data analysts, and researchers. It helps you scrape instagram posts without api login by extracting post metadata (IDs, captions, media URLs, counts, timestamps) into structured datasets for analytics and automation. As an instagram post extractor and instagram feed scraper for profile timelines, it lets you turn public Instagram content into actionable insights across teams and workflows.

What data / output can you get?

Below are representative fields included in each record. The actor saves the original Instagram post object (as returned by Instagram’s web endpoints) and adds minimal metadata for traceability.

Data typeDescriptionExample value
idComposite post identifier"3727992219681477950_173560420"
pkPrimary key of the media"3727992219681477950"
codeShortcode for the post"DO8fSwLiNU-"
post_urlCanonical URL built from code"https://www.instagram.com/p/DO8fSwLiNU-/"
taken_atUnix timestamp of publication1758631325
media_typeMedia type (e.g., 1=photo, 8=carousel)8
like_countTotal likes count7141379
comment_countTotal comment count72516
caption.textPost caption text (if present)"Happy Saudi National Day..."
user.usernameOwner username"cristiano"
image_versions2.candidates[].urlDirect media URLs at multiple resolutions"https://scontent-%E2%80%A6/n.jpg"
carousel_media_countNumber of carousel items (if any)3
carousel_media[].image_versions2Media variants for each carousel item[ { "candidates": [...] }, ... ]
usertags.in[].user.usernameTagged usernames (if any)"alnassr"
scraped_usernameUsername resolved from your input"cristiano"
scraped_atUnix timestamp when scraped1758728197

Notes:

  • Output is stored to the Apify dataset, which you can export to JSON, CSV, or Excel.
  • The actor preserves Instagram’s native structure, making it a dependable instagram media scraper and instagram post metadata scraper for analytics and enrichment pipelines.

Key features

  • πŸš€ Bold profile parsing & username detection
    Automatically handles profile URLs, plain usernames, and post shortcodes, resolving the profile to scrape with robust fallback logic.

  • πŸ›‘οΈ Always-on residential proxies
    Uses residential proxies by default for maximum reliability and fewer blocks β€” no extra setup required.

  • πŸ“¦ Raw post objects, minimal additions
    Stores the original Instagram post payload (items) with just three additions: scraped_username, scraped_at, and post_url for easy referencing.

  • πŸ”ƒ Sorting and pagination control
    Choose sortOrder ("newest" or "oldest") and cap results with maxPosts to tailor output for your workflows.

  • πŸ“ˆ Built for scale & bulk scraping
    Add multiple profiles to startUrls to bulk scrape instagram posts across many accounts in one run.

  • πŸ’Ύ Flexible export formats
    Download results from the dataset as JSON, CSV, or Excel for reporting, BI, and data engineering.

  • πŸ‘¨β€πŸ’» Developer-friendly automation
    Run via Apify API, integrate with Python, and pipe structured results into your data stack β€” perfect for an instagram posts scraper tool embedded in ETL pipelines.

  • πŸ”’ No login required
    Works on public profiles without account credentials, making it a practical way to scrape instagram posts without api authentication.

How to use Instagram Posts Scraper - step by step

  1. Create or log in to your Apify account.
  2. Open the β€œInstagram Posts Scraper” actor.
  3. Add input under startUrls as a list of:
  4. Set limits and ordering:
    • maxPosts to control how many posts per profile to scrape
    • sortOrder to choose "newest" or "oldest" sorting
    • maxComments is available in the input for future use; current version returns comment_count only
  5. (Optional) Review proxyConfiguration. Residential proxy is always applied automatically regardless of selection.
  6. Click Start to run. The actor fetches profile posts, paginates as needed, and writes each post to the dataset.
  7. Export results from the dataset in JSON, CSV, or Excel and plug them into your analytics or automation workflows.

Pro Tip: Add multiple profiles to startUrls for bulk scrape instagram posts across accounts, then automate via Apify API from your instagram posts scraper python scripts.

Use cases

Use case nameDescription
Social analytics for public profilesTrack posting cadence, like_count and comment_count trends to benchmark engagement over time.
Competitor content trackingMonitor competitor profiles and compare captions, media types, and performance metrics for strategic insights.
Influencer research & shortlistingAnalyze public creator profiles to evaluate consistency, media formats, and audience reactions before outreach.
Content planning & inspirationBuild a library of media URLs and captions to guide creative direction and messaging.
Brand monitoring in captionsCollect caption.text to detect brand mentions, hashtags, and campaign signals across public posts.
Data engineering & API pipelinesUse the actor via API as an instagram post extractor feeding raw JSON into your warehouse or BI stack.
Academic & journalism researchCapture verifiable, timestamped post objects for studies and evidence-based reporting.

Why choose Instagram Posts Scraper?

Built for precision, automation, and reliability, this instagram user posts scraper focuses on high-fidelity data and hands-off scaling.

  • βœ… Accurate, raw post payloads: Keep Instagram’s native structure for robust downstream parsing.
  • πŸ”’ No-login operation: Works on public profiles without cookies or sessions.
  • 🧠 Smart input handling: Accepts profile URLs, usernames, and shortcodes with automatic username resolution.
  • 🌍 Residential proxy by default: Reduces blocks and increases stability for continuous runs.
  • ⚑ Scales to bulk jobs: Add many profiles to startUrls for batch runs and repeatable workflows.
  • πŸ‘¨β€πŸ’» Developer-first: Automate via Apify API and integrate with your instagram posts scraper python pipelines.
  • πŸ’Ύ Flexible exports: JSON/CSV/Excel from the dataset for immediate analysis or CRM/BI imports.

In short, it’s a production-ready instagram post scraper that outperforms manual tools and brittle browser extensions with consistent, structured output.

Yes β€” when used responsibly. This actor targets publicly available profile posts and does not access private profiles or authenticated data.

Guidelines to follow:

  • Only scrape public content you’re permitted to access.
  • Respect Instagram’s terms of service and platform policies.
  • Comply with applicable data protection laws (e.g., GDPR, CCPA).
  • Use results for legitimate analysis and research; avoid misuse or unauthorized redistribution.
  • Consult your legal team for edge cases or jurisdiction-specific requirements.

Input parameters & output format

Example JSON input

{
"startUrls": [
"https://www.instagram.com/cristiano/",
"neymarjr",
"DO8fSwLiNU-"
],
"maxPosts": 10,
"sortOrder": "newest",
"maxComments": 0,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Parameters

NameTypeRequiredDefaultDescription
startUrlsarray[string]Yesβ€”Instagram profile URLs (e.g., https://www.instagram.com/username), plain usernames (e.g., username), or post shortcodes (e.g., ABC123DEF). The actor auto-detects the type and extracts the profile username.
maxPostsintegerNo10Maximum number of posts to scrape per profile (1–1000).
sortOrderstringNo"newest"Order in which to sort the posts. One of ["newest","oldest"].
maxCommentsintegerNo0Maximum number of comments to extract per post (0–100). Note: current version returns comment_count only.
proxyConfigurationobjectNo{"useApifyProxy": false}Proxy settings editor. Note: Residential proxy is always used automatically regardless of selection.

Example JSON output

{
"id": "3727992219681477950_173560420",
"pk": "3727992219681477950",
"code": "DO8fSwLiNU-",
"taken_at": 1758631325,
"media_type": 8,
"like_count": 7141379,
"comment_count": 72516,
"caption": {
"text": "Happy Saudi National Day to everyone in Saudi Arabia! πŸ‡ΈπŸ‡¦ Wishing you a day filled with pride, unity, and celebration with your loved ones."
},
"user": {
"username": "cristiano",
"id": "173560420",
"is_verified": true
},
"image_versions2": {
"candidates": [
{
"url": "https://scontent-.../n.jpg",
"width": 1080,
"height": 1080"
}
]
},
"carousel_media_count": 3,
"carousel_media": [
{
"media_type": 1,
"image_versions2": {
"candidates": [
{ "url": "https://scontent-.../n.jpg" }
]
}
}
],
"usertags": {
"in": [
{
"user": { "username": "alnassr" }
}
]
},
"scraped_username": "cristiano",
"scraped_at": 1758728197,
"post_url": "https://www.instagram.com/p/DO8fSwLiNU-/"
}

Notes:

  • The actor pushes each post individually to the dataset via dataset.pushData.
  • Some nested fields may be absent depending on the post type (e.g., carousel_media for single-photo posts).

FAQ

Do I need to log in or provide cookies to scrape posts?

No. This instagram posts scraper works on public profiles without login. It relies on web requests and residential proxies to collect publicly available data.

Can I scrape instagram posts without api credentials?

Yes. The actor does not require official API credentials. It automates web requests to public endpoints and pages, so you can scrape instagram posts without api authentication.

Does this extract captions and media URLs?

Yes. Each post includes caption.text (if present) and media URLs under image_versions2 (and carousel_media variants where applicable), making it a practical instagram caption scraper and instagram media scraper.

Will it download media files for me?

No. It does not download media files. It returns direct media URLs so you can build your own instagram post downloader workflow if needed.

Can it scrape comments content?

Not in the current version. The output includes comment_count per post but does not extract individual comment texts, even though the maxComments parameter is available in the input.

How many posts can I scrape per profile and per run?

You control this with maxPosts (1–1000). Add multiple profiles to startUrls to bulk scrape instagram posts across accounts in a single run.

Does it support shortcodes as input?

Yes. You can pass a post shortcode (e.g., ABC123DEF). The actor resolves the owner username and then scrapes that profile’s posts.

What export formats are supported?

Results are stored in the Apify dataset. You can export to JSON, CSV, or Excel for analytics, BI tools, or pipelines.

Can I integrate this with Python or APIs?

Yes. Run the actor via the Apify API and process results from your instagram posts scraper python scripts or automation platforms.

Yes, when done responsibly. Only scrape public content, follow Instagram’s terms, and comply with data protection laws. Consult your legal team for specific use cases.

Closing CTA / Final thoughts

Instagram Posts Scraper is built for teams that need scalable, structured access to public Instagram profile posts. With raw post objects, always-on residential proxies, and flexible exports, it empowers marketers, analysts, and developers to turn public feeds into insights and automations. Run it via Apify API, plug it into your python pipelines, and start orchestrating a reliable instagram post extractor in your stack. Start extracting smarter, structured Instagram data today.