Bulk Image Downloader – Download All Images to ZIP avatar

Bulk Image Downloader – Download All Images to ZIP

Pricing

from $2.63 / 1,000 image saveds

Go to Apify Store
Bulk Image Downloader – Download All Images to ZIP

Bulk Image Downloader – Download All Images to ZIP

Download all images from web pages or a list of image URLs. Get every image as a file with a download link plus one ZIP archive. Filter by size and format, convert to JPG/PNG/WebP, resize, remove duplicates. Pay per image.

Pricing

from $2.63 / 1,000 image saveds

Rating

0.0

(0)

Developer

Fast Data

Fast Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Bulk Image Downloader – download all images from a website to ZIP

This bulk image downloader saves every image from a list of web pages or a list of direct image URLs. You get each image as a file with its own download link, plus one ZIP archive with all images. Filter by size and format, convert to JPG, PNG or WebP, shrink large images and drop duplicates automatically.

$3.50 per 1,000 images – pay only for results. Images that fail, are filtered out or are duplicates are free.

Why this image scraper

  • ✅ Download all images from a website: <img> tags, srcset (largest version is picked), lazy-loaded data-src, <picture> sources, og:image and twitter:image
  • ✅ Download images from a URL list: paste hundreds of product image links and get them back as files
  • ✅ Save images to ZIP: one images.zip with every image, linked in the log and in the run output
  • ✅ No duplicates: identical images (same SHA-1 content hash) are stored and charged only once
  • ✅ Filters: minimum width and height (drops icons, logos and tracking pixels), allowed formats, max images per page and in total
  • ✅ Convert and resize: JPG, PNG or WebP, maximum width/height, quality setting
  • ✅ Around 20x cheaper than other image downloaders in the Apify Store, and fast: 50+ images in under 10 seconds

What you get

One dataset item per image:

FieldDescription
sourceUrlURL the image was downloaded from
pageUrlPage the image was found on (empty for direct image URLs)
statusok, duplicate, skipped (did not match the filters), failed or no_results
fileUrlDownload link of the stored image
fileNameFile name, e.g. image-00001.jpg (same name inside the ZIP)
width, heightSize in pixels of the stored image
formatjpg, png, webp, gif, avif, svg, ...
bytesFile size
sha1SHA-1 hash of the downloaded file, useful for your own de-duplication
errorWhy an image failed or was skipped

The SUMMARY record in the key-value store contains zipUrl, the number of saved, duplicate, filtered and failed images and the reasons why images were filtered out.

Inputs

  • Page URLs: web pages to download all images from, e.g. a product page, a blog post or a gallery.
  • Image URLs: direct links to image files, e.g. a product images list from a spreadsheet. You can use both fields together.
  • Max images in total (default 10) and max images per page. Set 0 for no limit.
  • Min width / min height (default 100 px): skip icons and tiny images. Checked on the real file after download.
  • Allowed formats: JPG, PNG, WebP, GIF and AVIF by default. SVG, BMP, TIFF and ICO can be added.
  • Convert to: keep the original files or convert all images to JPG, PNG or WebP.
  • Max width/height and quality: shrink large images proportionally.
  • Proxy configuration (optional): images are downloaded directly by default.

Example input:

{
"pageUrls": ["https://en.wikipedia.org/wiki/Red_panda"],
"imageUrls": ["https://upload.wikimedia.org/wikipedia/commons/0/0f/Grosser_Panda.JPG"],
"maxImages": 100,
"minWidth": 200,
"convertTo": "webp",
"maxDimension": 1600
}

Example output

{
"sourceUrl": "https://thumb.wikimedia.org/wikipedia/commons/thumb/8/8b/Anh48_0368_1.jpg/500px-Anh48_0368_1.jpg",
"pageUrl": "https://en.wikipedia.org/wiki/Red_panda",
"status": "ok",
"fileUrl": "https://api.apify.com/v2/key-value-stores/bwdoiOflusBco0jRa/records/image-00001.jpg?signature=...",
"fileName": "image-00001.jpg",
"width": 500,
"height": 371,
"format": "jpg",
"bytes": 36178,
"sha1": "f645e481bde67dae460ed4e8b9c095b9e5683474"
}

Use cases

  • Product images downloader: save all product photos of a shop page or a supplier catalogue for your own store, marketplace listings or PIM
  • Build image datasets for machine learning, visual search or AI training (with images you are allowed to use)
  • Back up the images of your own website or blog before a migration
  • Collect images for design research, mood boards and competitor analysis
  • Turn a spreadsheet of image links into files and a ZIP in one run

How much does it cost?

ImagesPrice
100$0.35
1,000$3.50
10,000$35.00

Only successfully saved, non-duplicate images are charged. With the Apify free plan's $5 monthly credit you can download over 1,000 images for free.

FAQ

How do I download all images from a website? Put the page URL into Page URLs, set Max images in total to 0 (no limit) and start. Every image found in the page HTML is downloaded; images that are added later by JavaScript (some infinite-scroll galleries) are not visible to this tool.

How do I download images from a list of URLs? Paste the links into Image URLs, one per line, or send them via the API. The output keeps the source URL next to every file.

Can I get all images as one ZIP file? Yes. images.zip is created automatically. Its link is in the run log, in the SUMMARY record (zipUrl) and in the run's output tab. The ZIP is limited to 500 MB; beyond that, use the single file links.

Why are some images missing? Check the SUMMARY record: they were smaller than min width/height, in a format you did not allow, duplicates, or the site refused the download (failed). Lower the filters or add formats to get more.

Does it download full-size images? It picks the largest version offered in srcset and keeps the original file unless you choose conversion or a max width/height.

Can I convert images to WebP or JPG? Yes, choose Convert to. Transparent areas become white in JPG.

Use it with Claude, ChatGPT and other AI agents

  1. Add the Apify MCP server to your assistant (e.g. in Claude: Settings → Connectors → add https://mcp.apify.com, then sign in with Apify).
  2. Ask in plain language. The assistant finds this Actor, runs it and gives you the download links.

Example prompts:

  • "Download all product images from these 5 shop pages, at least 500 px wide, as WebP, and give me the ZIP link."
  • "Here is a list of 200 image URLs. Download them, remove duplicates and tell me which ones failed."

You can also run it via the Apify API, on a schedule, or connect it to Make, Zapier, n8n and Google Sheets.

Pay per call with x402 – no account needed

AI agents can run this Actor and pay per call with x402 (USDC stablecoin payments over HTTP) through Apify's agentic payments – no Apify account or API key required. You pay the same pay-per-event prices listed above. Details: Apify x402 integration.

Need bigger or sharper images?

Feed the fileUrl links into our AI Image Upscaler to enlarge them 2x or 4x with Real-ESRGAN.

Notes

  • You are responsible for the images you download. Most images are protected by copyright. Make sure you have the right to use them (your own content, licensed images, permission of the owner, or uses allowed by law).
  • Only publicly accessible pages and images are downloaded. No login, no cookies, no CAPTCHA solving or other anti-bot circumvention. Sites that block automated downloads are reported with status: "failed".
  • File links are signed and work without an Apify login. Files are kept as long as your Apify storage retention allows.
  • Image processing uses Pillow (open-source HPND license).

More tools: all our Actors on Apify