Bulk Image Downloader (Pages, URLs, ZIP) avatar

Bulk Image Downloader (Pages, URLs, ZIP)

Pricing

from $1.00 / 1,000 images

Go to Apify Store
Bulk Image Downloader (Pages, URLs, ZIP)

Bulk Image Downloader (Pages, URLs, ZIP)

Download every image from web pages or a list of image URLs. Get public download links or ZIP files. Skips icons, tracking pixels and duplicates, keeps alt text. Low flat price, no extra platform costs.

Pricing

from $1.00 / 1,000 images

Rating

0.0

(0)

Developer

Cronexa Data Tools

Cronexa Data Tools

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

11

Monthly active users

15 days ago

Last modified

Share

Download all images from any website

Paste one or more page URLs, click Start, and get every image as download links or a ZIP file. No code and no browser extension, and it works on one page or on thousands.

Try it now: keep the example URL in the input, click Start, and open the Images tab. The first results appear in a few seconds. New Apify accounts include free monthly credit, which is enough to test it on your own pages.

What do I get?

  • 🔗 A download link for every image, a ZIP archive, or both
  • 🖼️ The largest version of each image: it reads responsive srcset and <picture> sources, lazy-loaded images (data-src), CSS backgrounds, og:image previews, and full-size images behind thumbnails
  • 🧹 No junk: tracking pixels, spacers, tiny icons and duplicates are skipped automatically, and you don't pay for them
  • 🏷️ Metadata for every image: alt text, width × height, format, file size, source page and SHA-256 hash, ready for AI/ML datasets
  • 💸 $1 per 1,000 images + $2 per 1,000 pages, with platform usage included. Pages where nothing can be downloaded are free.

Will it work on my website?

Website typeWorks?
Shops, blogs, news sites, galleries, documentation, WordPress and Shopify sites✅ Yes
Lazy-loaded images (they appear as you scroll)✅ Yes, in most cases
A list of direct image links (paste them or upload a CSV)✅ Yes
Pages that build their images only with JavaScript (some single-page apps, infinite scroll)⚠️ Often not: the Actor reads the page HTML and does not run JavaScript
Sites with strong anti-bot protection or a login⚠️ Often not: try the Proxy option; sites with a JavaScript challenge are not supported

If a run saves 0 images, the run status tells you why (blocked, no images in the HTML, or everything removed by your filters), and you are not charged for that page.

What can I use it for?

  • E-commerce: download all product photos from supplier or competitor product pages
  • AI and machine learning datasets: collect images with their alt text as captions
  • Website migration and backup: save every image from your old site before a redesign
  • Marketing and research: gather visuals from articles, landing pages and galleries
  • Bulk downloads from a URL list: paste thousands of direct image links (or upload a CSV) and get them all in a ZIP

How do I use it?

  1. Add your URLs to Start URLs. These can be web pages, direct image links, or a mix. You can also upload a CSV/TXT file.
  2. Choose the Output: Files with download links, ZIP archive(s), or Both.
  3. (Optional) Set filters such as Minimum width (for example 300 to keep only real photos, not logos) or Allowed formats.
  4. Click Start. Open the Images tab for previews and links, or Run summary for your ZIP download links.

Example input

{
"startUrls": [
{ "url": "https://en.wikipedia.org/wiki/Hummingbird" },
{ "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Eutoxeres_aquila_28748616.jpg/250px-Eutoxeres_aquila_28748616.jpg" }
],
"outputMode": "filesAndZip",
"minWidth": 300
}

Output example

Each saved image is one row in the dataset:

{
"imageUrl": "https://assets.science.nasa.gov/dynamicimage/assets/science/missions/swift-observatory/misc--spacecraft-art/Swift_in_space_09.jpg?w=1024",
"downloadUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/00003-nasa.gov-Swift_in_space_09.jpg?signature=...",
"zipFile": "images-part1.zip",
"fileName": "00003-nasa.gov-Swift_in_space_09.jpg",
"pageUrl": "https://www.nasa.gov/image-of-the-day/",
"altText": "NASA Highlights Lessons Learned From Swift Boost Mission",
"foundIn": "img",
"format": "jpeg",
"contentType": "image/jpeg",
"width": 1024,
"height": 542,
"fileSizeBytes": 112653,
"sha256": "7e384316d3720ae68fae9598df78a00a590a9576f7662c0a8fc0b0dfd40de73e"
}

The Run summary (OUTPUT) lists your ZIP download links, per-page results, and how many images were skipped and why (duplicate, too small, not an image, and so on).

How much does it cost?

WhatPrice
Image saved$0.001 ($1 per 1,000)
Web page processed$0.002 ($2 per 1,000)
Page that is blocked or has no imagesFree
Platform usage (compute, bandwidth)Included

Direct image URLs are charged only as images, not as pages. Skipped images (duplicates, pixels, filtered out) are free. Example: a product page with 10 photos costs $0.012.

Input options

FieldDescription
startUrlsWeb pages and/or direct image URLs
outputModefiles, zip (50 MB parts), or filesAndZip
minFileSizeKbSkip files smaller than this (default 3 KB, which removes pixels and icons)
minWidth / minHeightSkip images smaller than this, in pixels
allowedFormatsKeep only these formats (JPEG, PNG, WebP, GIF, AVIF, SVG, …)
deduplicateSkip identical images even from different URLs (default on)
maxFileSizeMbSkip files larger than this (default 20 MB)
maxImagesPerPage / maxImagesLimits per page and per run
includeSrcset, includeMetaImages, includeCssBackgrounds, includeLinkedImagesWhere to look for images
proxyConfigurationUse a proxy if a website blocks downloads

Limitations

  • The Actor reads the page HTML. Images that appear only after JavaScript runs (for example infinite-scroll galleries) may not be found. Most sites include their images in the HTML, lazy-loaded images included.
  • Some websites block automated downloads. Try the Proxy option if the run says the site is blocked or you see http403 in the run summary. Sites that require a JavaScript challenge are not supported.
  • Download links are stored in your Apify storage and follow your plan's data retention period. Download your ZIPs if you need them long-term.

The Actor downloads publicly available images from pages you choose. Images are usually protected by copyright. Make sure you have the right to use them for your purpose, and respect each website's terms.

FAQ

How do I download all images from a website at once? Add the page URLs to Start URLs, choose ZIP archive(s) as the output, and click Start. The ZIP link is in the Run summary.

Can I download only large photos, not logos and icons? Yes. Set Minimum width (for example 300) or Minimum file size. Skipped images are free.

Can I download only PNG, JPG or WebP images? Yes. Choose them in Allowed formats. If a run then saves 0 images, the page probably has no images in that format; the run status shows how many were filtered out.

Can I download images from a list of URLs? Yes. Paste direct image links into Start URLs or upload a CSV/TXT file. Direct links are charged only as images.

Why did my run save 0 images? The run status gives the reason. The usual causes are anti-bot protection on the site, images that are loaded by JavaScript, or filters that are too strict.

Is there an API? Yes. Every Apify Actor can be started through the Apify API, on a schedule, or from tools such as Make, Zapier and n8n.

Questions or problems?

Open an issue in the Issues tab, and it will be answered quickly.

Use it from AI assistants (Claude, ChatGPT, Cursor)

AI agents can run this Actor as a tool through the Apify MCP server. Add this to your MCP client (Claude Desktop, Claude Code, Cursor, VS Code…) and sign in with Apify in the browser when asked:

{
"mcpServers": {
"bulk-image-downloader": { "url": "https://mcp.apify.com?tools=dima_kadirovich/bulk-image-downloader" }
}
}

Then just ask, for example:

  • "Download all product photos from these 5 product pages as a ZIP and give me the link."
  • "Collect every image wider than 800px from this article, with its alt text."

The agent fills in the input, runs the Actor and reads the results. You pay the same per-result price.

More tools from Dima Data Tools