Instagram Photos Downloader
Pricing
from $1.99 / 1,000 results
Instagram Photos Downloader
📸 Instagram Photos Downloader—save and download photos & videos fast with a smooth experience. ⚡️ Ideal for creators, marketers, and social media fans. 🔥 Download instantly, organize easily, and share smarter! 🚀
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
SolidScraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Instagram Photos Downloader 📥
Instagram Photos Downloader is an Apify actor that scrapes Instagram posts, reels, and galleries and saves the media (including single items and carousel media) into your dataset—so you can download Instagram photos at scale without doing it manually. It’s built for instagram photos downloader workflows, including download instagram photos, instagram photo download, and instagram images downloader use cases. Whether you’re a marketer, data analyst, researcher, or automation builder, this tool helps you turn publicly available Instagram media into structured results—saving you hours of manual work.
Why choose Instagram Photos Downloader?
| Feature | Benefit |
|---|---|
| ✅ All-in-one Instagram media scraping | Collect post, reel, and gallery media in one run (including carousel items) |
| ✅ Reliability with fallback logic | Automatically falls back to HTML parsing when the primary request doesn’t return data |
| ✅ Resilient execution pattern | Includes built-in delays between requests to support smoother batch runs |
| ✅ Structured dataset output | Returns consistent JSON with author + thumbnails + media URLs you can export later |
| ✅ Batch-friendly scaling | Accepts multiple start URLs and processes them sequentially while saving results live |
| ✅ Automation-ready results | Each input URL is pushed to the dataset immediately as it finishes |
Key features
- 📊 Structured media details for each item: Gets media URLs plus per-media metadata like type (image/video), dimensions, and extension.
- 🌐 Input flexibility for posts, reels, and galleries: Works from Instagram URLs that match post/reel/tv paths.
- 🔄 Fallback for resilience: If the primary request fails or doesn’t return expected data, the actor falls back to parsing the page content.
- 💾 Real-time dataset saving: Results are appended live during the run, so you don’t lose data if you stop early.
- 🛡️ Proxy support for reliable scraping: Built-in proxy configuration support for more dependable scraping in bulk scenarios.
- ⏱️ Batch pacing with configurable delays: Uses
sleepMin/sleepMaxto space requests between input URLs.
Input
Provide input via an input.json file. Example structure:
{"startUrls": [{"url": "https://www.instagram.com/p/CaHpoweBjmx"}],"proxyConfiguration": {"useApifyProxy": true},"sleepMin": 3,"sleepMax": 7}
Input Fields
| Key | Required | Description |
|---|---|---|
startUrls | ✅ | List of Instagram URLs to scrape (Posts, Reels, or TV). You can provide objects like { "url": "..." } as shown in the prefill. |
proxyConfiguration | ❌ | Proxy settings. The actor checks proxyConfiguration for proxy support to decide whether to use Apify proxy URLs. |
proxyConfiguration.proxy support | ❌ | When true, the actor uses Apify proxy support for scraping requests. |
sleepMin | ❌ | Minimum delay (seconds) between processing each start URL. Default is 3 when not provided. |
sleepMax | ❌ | Maximum delay (seconds) between processing each start URL. Default is 7 when not provided. |
Output
This actor pushes one JSON result per input URL into the dataset (live during execution).
Example output object:
{"url": "https://www.instagram.com/p/CaHpoweBjmx","source": "instagram","shortcode": "CaHpoweBjmx","author": "username or full name","music_attribution_info": null,"duration": 0,"owner": {"pk": "123456789","id": "123456789","username": "username","profile_pic_url": "https://example.com/profile.jpg","show_account_transparency_details": true,"__typename": "XDTUserDict","is_private": false,"friendship_status": null,"transparency_product": null,"transparency_product_enabled": false,"transparency_label": null,"ai_agent_owner_username": null,"is_unpublished": false,"is_verified": false},"view_count": 0,"like_count": 0,"title": "caption text (may be empty)","thumbnail": "https://example.com/thumbnail.jpg","medias": [{"url": "https://example.com/media1.jpg","height": 720,"width": 720,"id": "media-id","quality": "image 720x720p 1","resolution": "720x720","type": "image","extension": "jpg"}],"type": "image","error": false,"time_end": 1532}
Output Fields
| Field | Type | Description |
|---|---|---|
url | string | The input URL that was processed. |
source | string | Always set to "instagram" for these results. |
shortcode | string | The extracted shortcode from the Instagram URL. |
author | string | null | The author name (full name or username) if available. |
music_attribution_info | object | null | Music attribution info when present (otherwise null). |
duration | number | Video duration value if available; otherwise 0. |
owner | object | Owner/account metadata object (IDs, username, profile pic URL, and account flags). |
view_count | number | null | View/play count when available. |
like_count | number | Like count when available. |
title | string | Caption text (may be empty). |
thumbnail | string | null | Thumbnail URL when available. |
medias | array | List of extracted media items (supports carousel items). |
type | string | Media type classification: "multiple" (more than one media), otherwise "video" or "image". |
error | boolean | false when scraping succeeded; true when an error occurred. |
time_end | number | Time spent for the request in milliseconds. |
message | string | (only on error) | Error message text when error is true. |
medias array fields
Each item in medias includes:
| Field | Type | Description |
|---|---|---|
url | string | null | Direct media URL (image or video). |
height | number | Media height in pixels (when available). |
width | number | Media width in pixels (when available). |
id | string | null | Media ID when available. |
quality | string | A readable quality label like image 720x720p 1 or video 640x360p 1. |
resolution | string | Resolution string in the form WIDTHxHEIGHT. |
type | string | "image" or "video". |
extension | string | "jpg" for images or "mp4" for videos. |
After the run, you can export your dataset in JSON or CSV from the Apify Console (depending on the dataset export options you choose).
How to use Instagram Photos Downloader (via Apify Console)
-
Open Apify Console
Log in at https://console.apify.com and go to the Actors page. -
Find Instagram Photos Downloader
Search for the actor and open its listing to view the Input tab. -
Add your start URLs
In the INPUT section, paste one or more Instagram URLs (Posts, Reels, or TV) intostartUrls. The input supports entries like{ "url": "https://www.instagram.com/p/..." }. -
(Optional) Configure proxies
If you want proxy support for batch runs, setproxyConfiguration.proxy supporttotrue. -
(Optional) Tune request pacing
AdjustsleepMinandsleepMaxto control the delay between processing each URL (defaults:3and7). -
Run the actor
Click Run. While it works, you’ll see logs for each processed URL. Results are pushed to the dataset live, and the actor may fall back to HTML parsing if needed. -
Review results in the dataset
When finished, open the OUTPUT tab and open the dataset to view the structured media results (perfect for building an instagram photos downloader workflow). -
Export to your format
Export the dataset as JSON or CSV for your reporting, analysis, or downstream automation.
No coding required—get accurate results in minutes with this instagram photo saver style workflow.
Advanced features & SEO optimization
- 🧠 Engineered for Instagram media download: Designed to work as an instagram media downloader for posts, reels, and galleries—especially when you need multiple items from carousels (gallery-style).
- 🔁 Resilience with fallback parsing: Includes fallback behavior for cases where the primary request doesn’t return usable data, improving outcomes for instagram photo download tool needs.
- ⏳ Compliance-friendly pacing: Uses
sleepMin/sleepMaxdelays to help keep requests smoother during instagram bulk photo downloader runs. - 🔍 Clean, export-ready JSON: Each run outputs consistently structured fields—so “download instagram pictures” becomes a repeatable data pipeline step.
Best use cases
- 📈 Marketing teams building content moodboards: Quickly gather captions and direct media URLs for visual campaigns without manual downloading.
- 🔎 Researchers analyzing visual trends: Collect image/video URLs, dimensions, and engagement metrics like
like_countandview_count. - 👥 Influencer and brand auditing: Pull profile media from specific posts/reels and compare engagement patterns across multiple pieces of content.
- 🛠️ Data teams creating enrichment datasets: Feed the
mediasarray into ETL pipelines as part of an instagram images downloader workflow. - 💻 Developer workflows for media archiving: Use the dataset output as input to storage, caching, or media processing jobs (turning an insta photos downloader into an automated pipeline).
- 🧺 Bulk gallery extraction: Download carousel-style posts as multiple media records using the
typefield ("multiple") for easy grouping. - 🧾 Analysts tracking media performance over time: Compare
like_count,view_count, and media resolutions across runs for time-based reporting.
Technical specifications
-
Supported Input Formats
- ✅
startUrls: list of Instagram URLs for Posts, Reels, or TV (array of URL objects or URL strings as handled by the actor)
- ✅
-
Proxy Support
- ✅ Proxy configuration via
proxyConfiguration.proxy support(Apify proxy URL support when enabled)
- ✅ Proxy configuration via
-
Retry / Reliability Behavior
- ✅ Includes fallback logic (primary request + fallback HTML parsing) to improve the chance of extracting the needed fields
-
Dataset Structure
- ✅ One result object per processed URL, containing top-level fields like
url,owner,thumbnail, andmedias
- ✅ One result object per processed URL, containing top-level fields like
-
Rate Limits & Performance
- ✅ Uses a randomized delay between
sleepMinandsleepMaxseconds between URLs (defaults are3and7)
- ✅ Uses a randomized delay between
-
Limitations
- ❌ If an input URL is invalid or the actor cannot extract a shortcode, the result will include an error.
- ❌ If required media data isn’t available, the result may include an error message with
error: true.
FAQ
Can I use Instagram Photos Downloader for multiple posts at once?
✅ Yes. Provide multiple items in startUrls, and the actor processes them sequentially, pushing each result live to the dataset as it completes.
What kinds of Instagram content does it support?
✅ It supports Instagram posts, reels, and galleries. It also handles single media and carousel media by returning multiple items inside the medias array when applicable.
Do I need to write any code?
✅ No coding required. You can use the actor directly in Apify Console by entering your startUrls (and optionally proxy settings and delays).
What does the actor store in the dataset?
✅ The actor saves a JSON object per URL including fields like author, owner, thumbnail, and medias (with direct media URLs, dimensions, and file extension). The actor also includes error and an error message when something goes wrong.
Does it support proxy configuration?
✅ Yes. You can enable Apify proxy support by setting proxyConfiguration.proxy support to true. The actor uses proxy configuration for more reliable scraping during bulk runs.
How does it handle failures?
✅ When scraping fails, the actor returns a result with error: true and includes a message. It also includes fallback logic so that if the primary request doesn’t provide usable data, it attempts alternative parsing.
Can I export my results as CSV?
✅ You can export from the Apify Console dataset view. The actor outputs structured JSON objects, which can typically be exported to CSV depending on your selected export options.
Support & feature requests
Want to improve your Instagram Photos Downloader experience? Share feedback and feature requests with us—your ideas help shape the roadmap.
- 💡 Feature Requests: Ideas like additional export formats, extra media metadata, or better grouping for carousel galleries are welcome.
- 📧 Contact: Email us at dataforleads@gmail.com.
Thanks for building with instagram photos downloader workflows—tell us what you need next.
This is the most comprehensive Instagram Photos Downloader for structured Instagram media results. Get started and turn downloads into repeatable data with less manual work.
Disclaimer
This tool only accesses publicly accessible sources. It does not access private profiles, authenticated data, or password-protected content. It is your responsibility to comply with applicable laws (including GDPR and CCPA where relevant), spam regulations, and Instagram platform policies / Terms of Service.
For data-removal requests, contact dataforleads@gmail.com. Please use this actor responsibly, ethically, and for legitimate purposes only.