Bulk Image & File Downloader - URLs or Web Pages to ZIP avatar

Bulk Image & File Downloader - URLs or Web Pages to ZIP

Pricing

from $1.00 / 1,000 file downloadeds

Go to Apify Store
Bulk Image & File Downloader - URLs or Web Pages to ZIP

Bulk Image & File Downloader - URLs or Web Pages to ZIP

Download images, PDFs and any files in bulk from a URL list, or grab every image on web pages. Size filters, dedupe, original names, one ZIP plus direct links. $1 per 1,000 files.

Pricing

from $1.00 / 1,000 file downloadeds

Rating

0.0

(0)

Developer

Wood Between Studio

Wood Between Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Features

Limited permissions

Share

Bulk Image & File Downloader: URLs or Web Pages to ZIP

Download images, PDFs, documents and any other files in bulk, either from a list of URLs or by collecting every image on the web pages you give it. You get one ZIP file, a direct download link for every file, and a dataset with size, type, dimensions and SHA-1 for each one.

Why use it?

  • Two ways in. Paste direct file links, or paste page URLs and let the Actor find the images (img, srcset at the highest resolution, <picture>, lazy-load attributes, og:image, CSS backgrounds and linked image files).
  • Linked files too. Add extensions like pdf, docx, xlsx, zip or mp3 to grab every matching link on a page.
  • Clean results. Minimum width and height filters drop icons and spacers. Duplicates are removed by URL and by content hash. Files keep their original names, or use numbered or hash names.
  • One ZIP. Everything is bundled into files.zip (split into parts for very large jobs), plus individual direct links if you want them.
  • Fair, simple price. $1 per 1,000 files. Failed, skipped, too-small and duplicate files are free.
  • Polite. robots.txt is respected for page crawling, a real referer is sent, and size and time limits are applied per file.

Use cases

  • Archive product photos or catalog images from your own or partner sites
  • Collect public-domain or openly licensed images for datasets and ML training
  • Download all PDFs (reports, manuals, forms) linked from a page
  • Turn a scraped dataset's image URLs into a ZIP you can share

Input

FieldDefaultNotes
fileUrls—Direct links to any file
pageUrls—Pages to collect images (and linked files) from
linkedFileExtensionsnonee.g. ["pdf","docx"]
includePageImagestrue
minWidth / minHeight0Pixels
maxFileSizeMb100Larger files are skipped
maxFiles1000
dedupetrueBy URL and SHA-1
createZiptruezipPartSizeMb default 300
saveIndividualFilestrueDirect link per file
fileNamingoriginaloriginal, numbered or hash
{ "pageUrls": ["https://books.toscrape.com/"], "minWidth": 100, "createZip": true }

Output

Dataset item per file:

{ "url": "https://books.toscrape.com/media/cache/2c/da/2cdad67c44b002e7ead0cc35693c0e8b.jpg", "sourcePage": "https://books.toscrape.com/",
"status": "success", "fileName": "2cdad67c44b002e7ead0cc35693c0e8b.jpg", "contentType": "image/jpeg", "sizeBytes": 6566,
"width": 120, "height": 174, "sha1": "…", "downloadUrl": "https://api.apify.com/v2/key-value-stores/…/records/file-….jpg" }

The SUMMARY record has the ZIP download link(s), totals and a per-page report.

Pricing

  • $0.001 per file downloaded ($1 per 1,000)
  • $0.002 per extra 10 MB for files over 10 MB (covers storage and bandwidth). Most images and PDFs never hit this.

Platform usage is included. Failed, skipped and duplicate files are free. Set a maximum charge per run for a hard cap.

Limits

  • Pages are read as HTML without running JavaScript. Images that only appear after scripts run may be missed. Pass their URLs directly if so.
  • No logins, paywalls or CAPTCHAs are bypassed.

Responsible use

You are responsible for having the right to download and use the files: respect copyright, licences and each site's terms. Only collect content you are allowed to use.

Support

Need S3 or Google Drive upload, resizing or a browser mode? Open an issue on the Issues tab. We read every one.

Call it from curl, JavaScript or Python

You can run this Actor in the Apify Console with no code, or call it as an API from curl, JavaScript or Python. Replace YOUR_TOKEN with an Apify API token.

curl

curl "https://api.apify.com/v2/acts/wood-between-studio~bulk-file-downloader/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"fileUrls": ["https://www.irs.gov/pub/irs-pdf/fw9.pdf"], "pageUrls": ["https://books.toscrape.com/"], "maxFiles": 25}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wood-between-studio/bulk-file-downloader').call({
"fileUrls": [
"https://www.irs.gov/pub/irs-pdf/fw9.pdf"
],
"pageUrls": [
"https://books.toscrape.com/"
],
"maxFiles": 25
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wood-between-studio/bulk-file-downloader").call(run_input={
"fileUrls": [
"https://www.irs.gov/pub/irs-pdf/fw9.pdf"
],
"pageUrls": [
"https://books.toscrape.com/"
],
"maxFiles": 25
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

You can also schedule the Actor, cap the spend per run, and send the dataset to Google Sheets, Slack or a webhook from the Console. Store page: apify.com/wood-between-studio/bulk-file-downloader.