Bulk Image Downloader: Image URLs and Page Images to Files avatar

Bulk Image Downloader: Image URLs and Page Images to Files

Pricing

$2.00 / 1,000 image saveds

Go to Apify Store
Bulk Image Downloader: Image URLs and Page Images to Files

Bulk Image Downloader: Image URLs and Page Images to Files

Download images in bulk from a list of image URLs or from web pages you name. Saves each file with a download link, width, height, format, size and SHA256; skips duplicates, tiny icons and broken links. $2 per 1,000 images.

Pricing

$2.00 / 1,000 image saveds

Rating

0.0

(0)

Developer

Hay Equipos

Hay Equipos

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Turn a list of image links, or a list of web pages, into saved image files. Each saved image gets a row with a download link, the original URL, the page it came from, its alt text, format, width, height, file size and a SHA256 fingerprint. Duplicates, icons below your size limit, broken links and files that are not images are skipped and cost nothing.

Price: $2 per 1,000 images saved. Nothing else is charged.

Two ways to use it

  1. Image URLs. You already have the links (from a product feed, a spreadsheet, another scraper's output). The actor downloads each one and saves it.
  2. Page URLs. You name the pages. The actor reads each page's HTML and collects every img (taking the largest size from srcset, and lazy loading attributes such as data-src), picture sources, and the share image from og:image and twitter:image. Then it downloads them.

You can mix both in one run.

Input

{
"imageUrls": ["https://books.toscrape.com/media/cache/2c/da/2cdad67c44b002e7ead0cc35693c0e8b.jpg"],
"pageUrls": ["https://books.toscrape.com/"],
"maxImagesPerPage": 50,
"minWidth": 100,
"allowedTypes": ["jpg", "png", "webp"],
"keyValueStoreName": "my-product-images"
}
OptionWhat it does
minWidth, minHeightSkip small images such as icons, logos and tracking pixels (free)
allowedTypesKeep only some formats: jpg, png, webp, gif, svg, avif, ico, bmp, tiff, heic
maxFileSizeMbSkip files above this size (default 25 MB)
skipDuplicatesSave identical files once, even from different URLs (on by default)
keyValueStoreNameSave into a named store that is kept after the run's own storage expires
maxImages, maxImagesPerPageCaps for the run and for each page

Output example

{
"imageUrl": "https://books.toscrape.com/media/cache/2c/da/2cdad67c44b002e7ead0cc35693c0e8b.jpg",
"pageUrl": "https://books.toscrape.com/",
"alt": "A Light in the Attic",
"foundIn": "img",
"success": true,
"fileName": "2cdad67c44b002e7ead0cc35693c0e8b.jpg",
"storeKey": "4752d0ef411f-2cdad67c44b002e7ead0cc35693c0e8b.jpg",
"fileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/4752d0ef411f-2cdad67c44b002e7ead0cc35693c0e8b.jpg?signature=<signature>",
"format": "jpg",
"contentType": "image/jpeg",
"bytes": 9876,
"width": 125,
"height": 155,
"sha256": "4752d0ef411f..."
}

Failed or skipped rows have success: false and a plain error, for example The server answered HTTP 404, Not an image (content type text/html) or Same file already saved in this run.

Getting the files. Each fileUrl is a signed link that downloads the image directly, with no API token needed, so you can pass it to a spreadsheet, a CMS or an AI agent. In Apify Console, open the run's Storage tab, Key value store, to browse or download them all. The Apify API and client libraries can list and fetch every record of the store for a bulk export.

Pricing

Pay per event: $0.002 per image saved ($2 per 1,000). No start fee and no platform usage on top. Broken links, non images, files over the size limit, images below your minimum size, formats you excluded, duplicates and robots.txt skips are all free. You can cap the spend of any run with the maximum charge setting in Apify.

Limits

  • Page mode reads the HTML the server sends. Images that a page adds later with JavaScript, CSS background images and images inside iframes are not collected.
  • Some sites refuse downloads from cloud servers or require a login. Those files come back as free error rows. The actor does not try to get around blocks, logins or captchas.
  • The actor identifies itself honestly as ApifyImageDownloader and respects robots.txt by default, including rules written for Apify crawlers. Turn this off only for sites you own or may download from.
  • Requests to the same site are spaced out (4 per second for files, 1 per second for pages); many sites are fetched in parallel.
  • Up to 20,000 images per run and 100 MB per file.
  • Files in a run's default store follow your Apify data retention. Use keyValueStoreName to keep them.

FAQ

Do I have the right to download these images? That is up to you and the image owner. The actor is a downloader like any browser's "save image". Use it for your own images, images you have a license for, or uses the law allows.

Why is width or height empty for some images? A few formats (AVIF, HEIC, some SVGs) do not state the size in a way the actor reads without decoding the whole file. The file is still saved.

Can I get a ZIP? Not yet; files are stored one by one so each has its own link. Fetch them through the API or the Console storage view.

Can an AI agent use it? Yes. Pass imageUrls or pageUrls, then read fileUrl from each row.