Instagram Posts Scraper
Pricing
$19.99/month + usage
Instagram Posts Scraper
📸 Instagram Posts Scraper (instagram-posts-scraper) pulls posts, captions, hashtags, likes, comments, media URLs & timestamps from public profiles and hashtags. 🔍 Perfect for competitor analysis, content planning, trend tracking & reporting. 📊 Export to CSV/JSON & automate at scale. 🚀
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
Scrapium
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Instagram Posts Scraper
Instagram Posts Scraper is a fast, scalable tool that lets you scrape Instagram posts from public profiles without the official API. It automatically detects usernames from profile URLs, post URLs, or shortcodes, then extracts post metadata like captions, media URLs, engagement counts, and timestamps in structured formats. Built for marketers, developers, data analysts, and researchers, this instagram post scraper enables competitor monitoring, content planning, and analytics at scale.
What data / output can you get?
The actor preserves Instagram’s native post structure and adds a few helper fields for usability. Below are common fields you’ll see in the dataset, with real examples taken from a sample run. You can export results to JSON, CSV, or Excel from the Apify dataset.
| Data type | Description | Example value |
|---|---|---|
| id | Unique post identifier with owner suffix | "3727992219681477950_173560420" |
| pk | Post primary key | "3727992219681477950" |
| code | Post shortcode used to build the post URL | "DO8fSwLiNU-" |
| taken_at | UNIX timestamp when the post was published | 1758631325 |
| like_count | Total likes on the post | 7141379 |
| comment_count | Total comments on the post | 72516 |
| media_type | Media type (e.g., 1=photo, 8=carousel) | 8 |
| product_type | Post type label | "carousel_container" |
| caption.text | Caption text content | "Happy Saudi National Day to everyone in Saudi Arabia! 🇸🇦 Wishing you a day filled with pride, unity, and celebration with your loved ones." |
| image_versions2.candidates[0].url | Direct media URL (largest candidate example) | "https://scontent-iad3-1.cdninstagram.com/v/t51.2885-15/552825156_18648550693056421_6760424445129157822_n.jpg?stp=dst-jpg_e35_tt6&efg=..." |
| scraped_username | Username the run was targeted at | "cristiano" |
| post_url | Canonical Instagram post URL built from code | "https://www.instagram.com/p/DO8fSwLiNU-/" |
Notes:
- You’ll also receive rich objects such as caption, user, owner, image_versions2 (with multiple resolutions), and carousel_media for multi-image posts.
- The actor adds three fields to each item: scraped_username, scraped_at (UNIX time), and post_url.
- Export formats: CSV, JSON, Excel (via Apify dataset exports).
Key features
-
🚦 Always-on residential proxy The actor enforces residential proxies automatically for higher reliability and lower blocks. A robust fallback strategy switches proxies if a request fails.
-
🧠 Smart input detection Paste profile URLs, usernames, post URLs, or shortcodes—the actor validates inputs and extracts the correct username before scraping.
-
🔁 Pagination with backoff Built-in retry and exponential backoff logic handles 429 rate limits, paginates through profile feeds, and resumes until your maxPosts target is met.
-
🗂 Original IG structure preserved Results keep Instagram’s native post schema (e.g., caption, user, image_versions2, carousel_media), with only minimal additions: scraped_username, scraped_at, post_url.
-
🧭 Sorting controls Choose sortOrder = newest or oldest to return posts in your preferred order for dashboards, reports, or analytics.
-
📈 Engagement and timestamps Collects taken_at, like_count, and comment_count directly from the feed response, ideal for trend tracking and benchmarking.
-
💾 Flexible exports Export Instagram posts to CSV, JSON, or Excel from the Apify dataset. Perfect for pipelines in BI tools or downstream analysis.
-
👩💻 Developer-friendly Access results via the Apify API, schedule runs, and integrate with your instagram posts scraper Python workflows or automation tools.
How to use Instagram Posts Scraper - step by step
-
🔑 Sign in to Apify Create a free account or log in to your existing Apify workspace.
-
🔎 Find the actor Search for “Instagram Posts Scraper” in the Apify Store and open the actor.
-
🧾 Add input data In startUrls, enter one or more inputs as strings. Accepted formats:
- Profile URL: https://www.instagram.com/username/
- Username: username
- Post URL: https://www.instagram.com/p/shortcode/
- Shortcode: ABC123DEF
-
⚙️ Configure settings
- maxPosts: Limit posts per profile (1–1000)
- sortOrder: "newest" or "oldest"
- maxComments: Max comments to extract per post (0–100). Note: current output includes comment_count from the feed.
-
🛰 Proxy settings The actor always uses a residential proxy automatically (regardless of your selection). You can still supply proxyConfiguration, but residential will be enforced.
-
▶️ Run the actor Click Start. The run logs will show page-by-page progress with retry and backoff handling as needed.
-
📥 Download results Open the run’s Dataset to view results and export to JSON, CSV, or Excel. Use the Apify API for programmatic access.
Pro tip: Chain this instagram post data extractor into Make, n8n, or your own scripts to scrape instagram posts without api credentials and update dashboards on a schedule.
Use cases
| Use case name | Description |
|---|---|
| Digital marketing competitor analysis | Benchmark rivals by tracking like_count, comment_count, and posting cadence from their instagram profile posts scraper output. |
| Content planning for social teams | Mine captions, media types, and timing from public feeds to inform creative decisions and posting calendars. |
| Reporting & analytics | Export instagram posts to csv/JSON and feed BI tools with engagement metrics and timestamps for trend analysis. |
| Influencer & brand monitoring | Monitor public creators’ feeds for new posts and media to spot collaborations or track brand mentions in captions. |
| Academic & research studies | Collect structured post-level data from public profiles for longitudinal studies and content analysis. |
| Developer pipelines | Pull structured items via the Apify API in your instagram posts scraper python scripts for automation and enrichment. |
Why choose Instagram Posts Scraper?
This production-ready instagram content scraper prioritizes reliability, scale, and clean structure—built for teams who need accurate, repeatable extraction.
- ✅ Accuracy-first: Preserves Instagram’s native post fields; no lossy transformations.
- ✅ Always-on residential proxy: Enforced by default, with fallback strategies to minimize blocks.
- ✅ Scales to thousands of posts: Pagination with retries/backoff to keep large jobs stable.
- ✅ Developer access: Pull results via API, schedule runs, and integrate with python workflows.
- ✅ Safe & ethical defaults: Designed for public data from public profiles only.
- ✅ Cost-effective automation: Export in minutes to CSV/JSON/Excel for immediate analysis.
- ✅ Robust vs. browser extensions: Avoid flaky extensions—use a stable, cloud-native scraper.
Bottom line: If you need the best instagram post scraping tool for dependable, structured outputs, this actor is optimized for your workflows.
Is it legal / ethical to use Instagram Posts Scraper?
Yes—when done responsibly. This actor is designed for extracting publicly available data from public Instagram profiles. It does not access private profiles or require authentication.
Guidelines:
- Only target public content.
- Review and respect Instagram’s terms of service.
- Comply with applicable data protection regulations (e.g., GDPR, CCPA).
- Use the data for lawful purposes and consult your legal team for edge cases.
Input parameters & output format
Example JSON input
{"startUrls": ["https://www.instagram.com/cristiano/","neymarjr","https://www.instagram.com/p/DO8fSwLiNU-/"],"maxPosts": 10,"sortOrder": "newest","maxComments": 0,"proxyConfiguration": {"useApifyProxy": false}}
Input fields:
- startUrls (array of string, required)
- Description: List one or more Instagram profile URLs (e.g., https://www.instagram.com/username), usernames (e.g., username), or post shortcodes (e.g., ABC123DEF). The actor will automatically detect the input type and extract the profile username.
- Default: none
- maxPosts (integer, optional)
- Description: Maximum number of posts to scrape per profile (1-1000).
- Default: 10
- sortOrder (string, optional; enum: "newest", "oldest")
- Description: Order in which to sort the posts.
- Default: "newest"
- maxComments (integer, optional)
- Description: Maximum number of comments to extract per post (0-100).
- Default: 0
- proxyConfiguration (object, optional)
- Description: Note: This actor always uses residential proxy regardless of your selection. You can configure proxy settings here, but residential proxy will be used automatically.
- Default: { "useApifyProxy": false }
Example JSON output
Each dataset item is an Instagram post object enriched with three fields: scraped_username, scraped_at, and post_url. The rest of the fields come directly from Instagram’s feed response.
{"id": "3727992219681477950_173560420","pk": "3727992219681477950","code": "DO8fSwLiNU-","taken_at": 1758631325,"media_type": 8,"product_type": "carousel_container","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."},"image_versions2": {"candidates": [{"url": "https://scontent-iad3-1.cdninstagram.com/v/t51.2885-15/552825156_18648550693056421_6760424445129157822_n.jpg?stp=dst-jpg_e35_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0uaW1hZ2VfdXJsZ2VuLjE0NDB4MTgzOS5zZHIuZjgyNzg3LmRlZmF1bHRfaW1hZ2UuYzIifQ&_nc_ht=scontent-iad3-1.cdninstagram.com&_nc_cat=1&_nc_oc=...&_nc_sid=ee9879"}]},"user": {"username": "cristiano"},"scraped_username": "cristiano","scraped_at": 1758728197,"post_url": "https://www.instagram.com/p/DO8fSwLiNU-/"}
Notes:
- Fields included depend on Instagram’s response (e.g., user, owner, image_versions2, carousel_media). Some fields may be absent if not applicable to a post.
FAQ
Do I need to log in or provide cookies?
No. This Instagram Posts Scraper works without login and targets publicly available profile data. It uses web endpoints with built-in token extraction and residential proxies.
Can I scrape Instagram posts without the official API?
Yes. This is an instagram posts scraper tool that operates without the official API by fetching public profile feed endpoints and parsing structured JSON.
How many posts can I scrape per profile?
You control this with maxPosts. The supported range is 1–1000 per profile, and the actor paginates until your limit is reached or no more posts are available.
What data points are included?
Common fields include id, pk, code, taken_at, like_count, comment_count, media_type, product_type, caption, user and media URLs (image_versions2). The actor also adds scraped_username, scraped_at, and post_url.
Does it download media files?
The actor provides direct media URLs (e.g., image_versions2.candidates.url) so you can use them in downstream pipelines or an instagram post downloader workflow. It doesn’t store binary media; it outputs links.
Can I export Instagram posts to CSV or JSON?
Yes. After the run, open the Dataset and export results to CSV, JSON, or Excel. You can also pull data programmatically via the Apify API.
Is there a free trial?
Yes. The actor listing includes trial minutes so you can evaluate the scraper before subscribing. Check the actor page for current trial availability.
Can I integrate this with Python or automation tools?
Yes. Access results through the Apify API in your instagram posts scraper python scripts, or plug the dataset into Make, n8n, or your internal workflows.
Closing CTA / Final thoughts
Instagram Posts Scraper is built for reliable, structured extraction of public Instagram profile posts at scale. With automatic username detection, enforced residential proxies, robust pagination, and clean outputs, it helps marketers, analysts, researchers, and developers move from manual copy-paste to automated pipelines. Export to CSV/JSON, connect via API, or integrate into your python workflows—and start extracting smarter, faster insights from Instagram posts today.