Bulk Image Downloader — All Images from URLs + ZIP avatar

Bulk Image Downloader — All Images from URLs + ZIP

Pricing

$0.50 / 1,000 images

Go to Apify Store
Bulk Image Downloader — All Images from URLs + ZIP

Bulk Image Downloader — All Images from URLs + ZIP

Download all images from web pages or a list of image URLs: largest srcset size, lazy-loaded and linked full-size images, filters by width, height and format, duplicates removed by content. Files, metadata and one ZIP. $0.50 per 1,000 images.

Pricing

$0.50 / 1,000 images

Rating

0.0

(0)

Developer

Technical Dost Solutions

Technical Dost Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Bulk Image Downloader saves every image from a list of web pages, or downloads a list of image URLs, in one run. For each page it finds <img> images (taking the largest size from srcset), lazy-loaded images (data-src), <picture> sources, og:image / twitter:image, and links to full-size images in galleries. Filter by minimum width and height and format (JPG, PNG, WebP, GIF, AVIF, SVG...), and duplicates are removed by file content, not just by URL. You get every file in the run's key-value store, one ZIP with all images, and a dataset row per image with dimensions, format, size, alt text, source page and a direct download link.

What you get

  • Page mode: finds img, srcset (largest), lazy-load attributes, picture sources, og:image and linked full-size images.
  • URL mode: paste direct image URLs to download them in bulk.
  • Filters: minimum width and height (skips icons and thumbnails) and file formats; format detected from file bytes.
  • Duplicates removed by SHA-1 of the content, even when the same image has different URLs.
  • Output: each image as a file, one images.zip, and metadata rows (width, height, format, bytes, alt, page, download URL).
  • Fair billing: you pay only for saved images; skipped and failed ones are free.

How to use Bulk Image Downloader

  1. Paste Page or image URLs (product pages, galleries, articles, or direct .jpg/.png links).
  2. Set Minimum width / height to skip icons, choose Formats, and limits.
  3. Run. Download images.zip from the Storage tab (key-value store), or use each row's downloadUrl.

Input example

{
"startUrls": [
"https://en.wikipedia.org/wiki/Golden_Gate_Bridge",
"https://upload.wikimedia.org/wikipedia/commons/0/0c/GoldenGateBridge-001.jpg"
],
"minWidth": 300,
"minHeight": 200,
"maxImagesPerPage": 50
}

All fields are described in the Input tab.

Output example

{
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/GoldenGateBridge-001.jpg/1280px-GoldenGateBridge-001.jpg",
"pageUrl": "https://en.wikipedia.org/wiki/Golden_Gate_Bridge",
"alt": "Golden Gate Bridge",
"foundIn": "img",
"format": "jpg",
"width": 1280,
"height": 960,
"sizeBytes": 252236,
"sha1": "6a7921a510c4e1b0d5f3a8e2c9b7d6f4a3e2c1b0",
"fileName": "1280px-GoldenGateBridge-001-6a7921a510.jpg",
"downloadUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/1280px-GoldenGateBridge-001-6a7921a510.jpg",
"scrapedAt": "2026-11-01T21:05:00.000Z"
}

Output fields

FieldDescription
imageUrlImage URL.
pageUrlPage the image was found on (empty for direct URLs).
altAlt text.
foundInimg, picture, meta, link or direct.
formatFile format.
widthWidth in px.
heightHeight in px.
sizeBytesFile size.
sha1SHA-1 of the file (deduplication).
fileNameKey in the key-value store.
downloadUrlDirect download link.
scrapedAtWhen the image was saved.

Export results as JSON, CSV, Excel, XML or HTML, or read them with the API.

Use cases

  • E-commerce: pull product photos from supplier or competitor pages.
  • Datasets for AI and computer vision: collect images with alt text and source page.
  • Content and design teams: save all images from articles, galleries or moodboards at full size.
  • Website migrations and audits: export a site's images with dimensions and file sizes.
  • Archiving: keep copies of images referenced in your own pages.

How much does Bulk Image Downloader cost?

This Actor uses pay-per-event pricing: $0.0005 per image ($0.5 per 1,000). Platform usage is included. There is no start fee. Images that are too small, in an unwanted format, duplicates or failed downloads are skipped and not charged.

Set Maximum cost per run in the run options to cap your spend; the Actor stops when the limit is reached.

Use Bulk Image Downloader with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through the hosted Apify MCP server:

$claude mcp add --transport http apify "https://mcp.apify.com/?tools=technicaldost/bulk-image-downloader-website-images" --header "Authorization: Bearer YOUR_APIFY_TOKEN"

Or in a JSON MCP config:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=technicaldost/bulk-image-downloader-website-images",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}

The tool is named technicaldost--bulk-image-downloader-website-images. Ask your agent, for example, to "run Bulk Image Downloader with {"startUrls": ["https://en.wikipedia.org/wiki/Golden_Gate_Bridge", "https://upload.wikimedia.org/wikipedia/commons/0/0c/GoldenGateBridge-001.jpg"], "minWidth": 300, "minHeight": 200, "maxImagesPerPage": 50}".

Run Bulk Image Downloader via API

curl -X POST "https://api.apify.com/v2/acts/technicaldost~bulk-image-downloader-website-images/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls": ["https://en.wikipedia.org/wiki/Golden_Gate_Bridge", "https://upload.wikimedia.org/wikipedia/commons/0/0c/GoldenGateBridge-001.jpg"], "minWidth": 300, "minHeight": 200, "maxImagesPerPage": 50}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("technicaldost/bulk-image-downloader-website-images").call(run_input={"startUrls": ["https://en.wikipedia.org/wiki/Golden_Gate_Bridge", "https://upload.wikimedia.org/wikipedia/commons/0/0c/GoldenGateBridge-001.jpg"], "minWidth": 300, "minHeight": 200, "maxImagesPerPage": 50})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('technicaldost/bulk-image-downloader-website-images').call({"startUrls": ["https://en.wikipedia.org/wiki/Golden_Gate_Bridge", "https://upload.wikimedia.org/wikipedia/commons/0/0c/GoldenGateBridge-001.jpg"], "minWidth": 300, "minHeight": 200, "maxImagesPerPage": 50});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Integrations

Schedule runs (daily, hourly) in Apify Console and send results to Google Sheets, Slack, Make, Zapier, n8n, Airbyte or your own webhook.

FAQ

Where are the images?

In the run's key-value store (Storage tab): one file per image plus images.zip with all of them. Each dataset row also has a direct downloadUrl.

Does it work on JavaScript-heavy sites?

It reads the page HTML, which covers most sites, including lazy-loading via data-src/srcset. Images that only appear after JavaScript runs (infinite scroll, client-rendered galleries) may be missed; paste their direct image URLs instead.

How large can images and the ZIP be?

Single files up to 25 MB. The ZIP holds up to 400 MB; beyond that every image is still saved as its own file.

Can I download any image?

Only download images you have the right to use. Respect copyright and the websites' terms.

How is it priced?

$0.50 per 1,000 saved images. No start fee; skipped images are free.

The Actor collects publicly available information only and does not log in or bypass access controls. Use the data in line with the website's terms and the laws that apply to you, especially when processing personal data.

More tools from the same developer that work well together with this one: