Instagram Photos Downloader avatar

Instagram Photos Downloader

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Instagram Photos Downloader

Instagram Photos Downloader

Instagram Photos Downloader lets you download public Instagram photos in high quality. Save single or multiple images from posts and profiles for offline access, content archiving, research, marketing, and creative use while preserving original resolution.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeCraze

ScrapeCraze

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Instagram Photos Downloader ⚡

If you want to download Instagram photos (posts, reels, or galleries) for analysis, archiving, or content workflows, doing it manually one URL at a time is slow and error-prone. Instagram Photos Downloader lets you input a list of Instagram URLs and scrape structured media details, appending results live to your Apify dataset. This instagram photo downloader online workflow is ideal when you need an instagram media downloader output you can reuse—especially for researchers and teams building datasets at scale. It’s built for marketers, data analysts, and content ops who want results fast, with each run processing multiple URLs and writing data as it goes. In practice, you can go from “here are the links” to a usable dataset in one run—then export immediately.


See the Data: Sample Output

Here's a real record from a single run:

{
"url": "https://www.instagram.com/p/CaHpoweBjmx/",
"source": "instagram",
"shortcode": "CaHpoweBjmx",
"author": "johndoe_fitness",
"music_attribution_info": null,
"duration": 0,
"owner": {
"pk": "123456789",
"id": "123456789",
"username": "johndoe_fitness",
"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": 12435,
"like_count": 987,
"title": "Great training session today 💪",
"thumbnail": "https://example.com/thumb.jpg",
"medias": [
{
"url": "https://example.com/media1.jpg",
"height": 1350,
"width": 1080,
"id": "17800000000000000",
"quality": "image 1080x1350p 1",
"resolution": "1080x1350",
"type": "image",
"extension": "jpg"
},
{
"url": "https://example.com/media2.jpg",
"height": 1350,
"width": 1080,
"id": "17800000000000001",
"quality": "image 1080x1350p 2",
"resolution": "1080x1350",
"type": "image",
"extension": "jpg"
}
],
"type": "multiple",
"error": false,
"time_end": 842
}
FieldTypeWhat It Tells You
urlstringThe exact Instagram URL that was processed for traceability.
sourcestringThe data source label (instagram) for downstream filtering.
shortcodestringThe media identifier extracted from the URL, useful for joining/deduping.
authorstringThe author name (from full_name or username) so you know who posted it.
music_attribution_infoobject | nullMusic attribution details when available (useful for reels).
durationnumberMedia duration; helps distinguish reel/video timing vs static images.
ownerobjectOwner/account metadata including username, id, privacy and verification flags.
view_countnumberView metrics you can use for ranking or analysis.
like_countnumberLike metrics you can use for engagement scoring.
titlestringCaption text (stored as title) for content tagging and text analysis.
thumbnailstringThumbnail image URL for quick previews in dashboards or reports.
mediasarrayThe downloadable media entries for the post (including carousel items).
typestringWhether the result is image, video, or multiple media.
errorbooleanIndicates whether scraping failed for the specific URL.
time_endnumberHow long the actor took (in milliseconds) for that URL, helpful for monitoring.

Export your full dataset as JSON, CSV, or Excel from the Apify dashboard.


Setting It Up

Drop this into your input.json and you're ready to go:

{
"startUrls": [
{ "url": "https://www.instagram.com/p/CaHpoweBjmx" }
]
}
ParameterRequiredWhat It Does
startUrlsList of Instagram URLs to scrape (Posts, Reels, or TV). You can provide items as objects with a url key (or directly as URL strings).

What It Does

Instagram Photos Downloader scrapes Instagram posts, reels, and galleries and returns structured media details for each URL you provide.

Extract photos and media from Instagram URLs

You send one or more Instagram URLs in startUrls, and the actor returns a result object for each URL. For carousels and galleries, it collects multiple media items under medias so you don’t miss any images.

If the post contains multiple items, the output includes an array of medias with per-item url, resolution, type, and file extension. This makes it straightforward to work with an instagram photo downloader online-style workflow, but with dataset-friendly JSON.

Clean output for an instagram media downloader workflow

Each result includes consistent fields like author, title, thumbnail, engagement metrics (view_count, like_count), and per-media details. That means you can plug results into reporting pipelines without manual formatting—perfect for an instagram image downloader use case.

Handles errors per URL (so runs keep going)

If a URL is invalid or no data is found, the actor returns an object with error: true and a message. Successful items come back with error: false, so you can filter failures while keeping the rest of the dataset.

Works without login-gated scraping

The actor targets publicly accessible media pages and appends results live to the dataset. In other words, it’s designed to operate like a practical instagram photo saver that focuses on usable, structured output rather than interactive browsing.

Overall, Instagram Photos Downloader turns Instagram media links into a clean, export-ready dataset you can use immediately.


Why Instagram Photos Downloader?

There are plenty of ways to pull data from Instagram—here’s why Instagram Photos Downloader stands out.

Structured results you can analyze immediately

Instead of messy copy-paste output, Instagram Photos Downloader returns a consistent JSON object including owner, caption title, engagement (like_count, view_count), and a full medias array. That’s ideal when you’re building datasets for research, analytics, or campaign reporting.

Built for bulk URL input, not one-off downloads

You can provide a list of post/reel/gallery URLs and get results appended live as each URL is processed. This is a strong fit for instagram photos downloader workflows where you want speed and repeatability.

Resilient scraping with per-URL error reporting

When something goes wrong for one URL, the run can still continue and you’ll see error: true along with a message. That makes it easier to clean and reprocess only the failed URLs later.


Real-World Use Cases

Here's how different teams put Instagram Photos Downloader to work:

Content Ops & Archiving Teams
Your team receives batches of Instagram post links and needs a consistent way to organize thumbnails, caption text, and media URLs for internal approvals. You run Instagram Photos Downloader with those startUrls, then export the dataset for storage and review. The per-media medias array is especially useful for carousel posts where one link contains multiple images.

Marketing Analysts
You’re benchmarking engagement performance across creators and need like_count and view_count alongside caption text. After running Instagram Photos Downloader, you join results by shortcode and analyze which types of posts (image vs video vs multiple) perform best. The structured output makes it easy to build charts without manual scraping.

Influencer Campaign Research
You shortlist creators by pulling media context quickly—thumbnail previews and caption titles help you validate relevance before outreach. With Instagram Photos Downloader, you can feed candidate URLs into one run and review results from the Apify dataset. This turns an instagram photo download tool into a repeatable research step.

Automation & Data Engineering Workflows
You want Instagram media metadata ingested into your pipeline as soon as it’s available. Because Instagram Photos Downloader appends results live to the dataset, you can trigger downstream processing after the run completes. For an instagram media downloader use case, it helps keep your data flow structured and predictable.

Developers Building Custom Dashboards
You’re creating a dashboard that shows media previews and dimensions for each item. The actor returns height, width, resolution, and file extension per media entry in medias. That makes it straightforward to render media tiles without extra transformations.


How to Run It

No code required. Here's how to get your first results in under 5 minutes:

  1. Open the actor on Apify — go to console.apify.com and find Instagram Photos Downloader.
  2. Enter your inputs — add your Instagram post/reel/gallery URLs to startUrls (as objects with url, or as URL strings).
  3. Configure proxy settings (optional) — if you’re running larger batches, enable proxy support from the actor’s run options for more reliable access.
  4. Start the run — launch the actor and watch the live logs as each URL is processed.
  5. Open the Dataset tab — results are written as they’re scraped, including medias for carousel posts.
  6. Export your results — download the dataset from the Apify dashboard in your preferred format.
  7. Filter errors if needed — each record includes error: true/false and a message when something fails.

The whole setup takes under 5 minutes — results start appearing within seconds of launch.


Export & Integration Options

Once your data is collected, Instagram Photos Downloader fits directly into your existing workflow.

You can export results from the Apify dataset tab as JSON, CSV, or Excel, which is ideal for analysis, reporting, and spreadsheet-based review. If you’re building pipelines, you can also consume results via the Apify API and connect to tools using no-code automation like Zapier or Make. For fully automated workflows, you can schedule runs to refresh your dataset on a cadence you choose.


Pricing

Instagram Photos Downloader runs on Apify, which includes a free tier — no credit card needed to start. Free tier usage is enough for several real test runs, depending on your workload. After that, runs are billed using Apify’s pay-as-you-go model (based on Actor compute units), so there’s no monthly fee lock-in. Start free at apify.com — scale up when you need.


Reliability & Limitations

What We HandleHow
Rate limits and request reliabilityBuilt-in request pacing and resilience for smoother runs.
Scraping failures per URLEach URL returns error: true with a message so you can identify what to re-run.
Partial data captureResults are pushed live to the dataset as each URL completes.

Limitations: this actor is designed for publicly accessible Instagram media and may not access content that requires login or is otherwise gated. If a URL is invalid or returns no data items, the record will be marked with error: true.

For enterprise-scale needs or custom configurations, reach out and we'll help.


Frequently Asked Questions

Is there a free plan?

Yes. Apify provides a free tier with monthly usage credits, which is typically enough for a few test runs.

Do I need to log in or create an account on Instagram?

No. Instagram Photos Downloader is built to work with publicly accessible data.

How accurate is the extracted data?

The output reflects what is available from the publicly visible media page, including caption (returned as title) and media entries under medias. If a field isn’t present for a given post, it may be empty or missing for that record.

How many results can I get per run?

You can provide multiple URLs via startUrls, and the actor will process them one by one while pushing results live. The practical number depends on your run time limits and Apify resource usage.

How fresh is the data?

Data freshness depends on when Instagram content was last updated and when you run the actor. Each run captures the state of the public media page at the time the URL is processed.

It’s designed to use publicly available data, and you’re responsible for compliance with GDPR, CCPA, platform Terms of Service, and any applicable local regulations in how you store and use the results.

Can I export to Google Sheets or Excel?

Yes. You can export from the Apify dashboard as JSON, CSV, or Excel, and then import into Google Sheets or other tools. If you prefer automation, you can also push results to your workflow using no-code integrations.

Can I schedule this to run automatically?

Yes. You can schedule Apify actors to run automatically on a cadence you define, which is useful for recurring dataset refreshes.

Can I access results via the API?

Yes. You can retrieve dataset results programmatically via the Apify API after the run completes.

What happens when the actor encounters an error?

For URLs that fail, the actor returns a result object with error: true and a message. Successful URLs still return error: false, so you can keep the good data and handle failures separately.


Get Help & Use Responsibly

Got a question about Instagram Photos Downloader or a feature you'd like added? Reach out at dataforleads@gmail.com. We’re happy to help with run setup and actively maintain the actor based on user feedback—ideas like bulk input improvements and clearer media extraction outputs are especially welcome.

publicly available data only: this actor does not access private accounts, login-gated pages, or password-protected content. You’re responsible for GDPR, CCPA, platform ToS, and any applicable local regulations when using the results. For data-removal requests, contact dataforleads@gmail.com. Use responsibly, ethically, and only for lawful purposes.