482 scrapers live47.7K runs1,562 usersRebuilt in the last 30 days: 482 of 482

Scrapers / Developer & File Tools

Bulk File Downloader logo

Bulk File Downloader

hipersoft/bulk-file-downloader

Download any files in bulk — from a list of file links or by finding every PDF, document, spreadsheet or archive linked on web pages and whole sites. Filter by type and size, skip duplicates, keep original names, and get one ZIP plus a link per file.

Total users

1

Monthly users

0

Total runs

1

Per file saved

$0.004

Last rebuilt

Nov 3, 2026

Overview

Bulk File Downloader saves any files in bulk: give it a list of file links, or give it web pages and it finds and downloads every PDF, Word document, spreadsheet, presentation, archive or media file linked on them — across a whole site if you like. Filter by file type and size, skip duplicates automatically, keep the original file names, and get a direct link to every file plus one ZIP of everything.

Bulk File Downloader input — file URLs, page URLs, file types and ZIP option in the Apify Console

What does the Bulk File Downloader do?

It works two ways, and you can combine them in one run: - File URLs — paste direct links to files; each one is downloaded and saved. - Page URLs — paste web pages; the downloader reads each page, finds the links that point to files of the types you want, and downloads them. Turn on site crawling to collect files from many pages of the same website.

Every saved file gets a metadata row (source, page it was found on, link text, type, size, SHA-256 hash) and a download link. At the end, files.zip bundles everything into one download.

Why use it?

  • Collect document libraries in minutes — all PDFs from a reports page, all spreadsheets from a data portal.
  • Original file names kept — and always unique, so nothing is overwritten.
  • Precise filters — file types, maximum size per file and a total download cap.
  • No duplicates — identical files are saved once, even under different links.
  • One ZIP — or individual links for every file.

What data do you get per file?

Data point Description
Source sourceUrl, finalUrl
Where it was found pageUrl, linkText, foundBy (direct or page)
File info fileType, contentType, sizeBytes
Hash sha256
Saved file fileName, fileUrl

What you get

One row per saved file plus the files themselves and files.zip. Export the list to JSON, CSV, Excel or XML.

Bulk File Downloader output example — file rows with name, type, size, source and download link

{
  "sourceUrl": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
  "finalUrl": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
  "pageUrl": null,
  "linkText": null,
  "foundBy": "direct",
  "fileType": "pdf",
  "contentType": "application/pdf; qs=0.001",
  "sizeBytes": 13264,
  "sha256": "3df79d34abbca99308e79cb94461c1893582604d68329a41fd4bec1885e6adb4",
  "fileName": "dummy.pdf",
  "fileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/dummy.pdf"
}

Output schema

Field Type Description
sourceUrl string (URL) The file link — as you supplied it or as found on a page.
finalUrl string (URL) The file address after redirects.
pageUrl string (URL) The page the link was found on (empty for direct file URLs).
linkText string The text of the link on the page, when available.
foundBy string direct (from your file list) or page (found on a page).
fileType string File type / extension, e.g. pdf, docx, xlsx, csv, zip, mp4.
contentType string MIME type reported for the file.
sizeBytes integer File size in bytes.
sha256 string SHA-256 hash of the file contents.
fileName string Name of the saved file (also its name inside files.zip).
fileUrl string (URL) Direct download link to the saved file.

The run's key-value store also holds files.zip (all saved files) and OUTPUT (run totals and the ZIP link).

Use cases

  • Research & compliance: download every annual report, filing or policy PDF from a site.
  • Data collection: grab all CSV / XLSX files from open-data portals.
  • Archiving & migrations: back up a site's documents and downloads in one ZIP.
  • Education: collect course PDFs, slides and handouts.
  • Media pipelines: download batches of audio, video or image files from link lists.

How to download all PDFs from a website

  1. Open the Bulk File Downloader.
  2. Paste the website page(s) under Page URLs and set File types to pdf (or leave empty for all common documents).
  3. Optional: turn on Also scan linked pages on the same site and set Max pages.
  4. Click Start.
  5. Download files.zip from the Output / Storage tab, or use each row's fileUrl.

Input

{
  "fileUrls": ["https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"],
  "pageUrls": [{ "url": "https://www.princexml.com/samples/" }],
  "fileTypes": ["pdf", "csv"],
  "maxFiles": 50,
  "createZip": true
}
Field Description
fileUrls Direct links to files.
pageUrls Pages to scan for links to files.
crawlSameSite Follow links on the same site and scan those pages too.
maxPages Maximum pages to scan (default 10).
fileTypes Keep only these types (empty = all for direct links, common documents for pages).
maxFiles Stop after saving this many files (default 100).
maxFileMb Skip files larger than this (default 100 MB).
maxTotalMb Stop after this much has been downloaded in total (default 2,000 MB).
skipDuplicates Save identical files once (default on).
storeFiles Save each file with a download link (default on).
createZip Bundle everything into files.zip (default on, up to 400 MB).
fileNaming original (kept unique), numbered or hash.
proxyConfiguration Optional proxy for loading pages.

Related tools

FAQ

Which file types can it download? Any. For direct links every type is accepted unless you set File types. When scanning pages it looks for common documents by default — pdf, doc/docx, xls/xlsx, ppt/pptx, csv, txt, rtf, odt, ods, epub, zip, json and xml — or exactly the types you list (e.g. mp3, mp4, jpg).

Can it find all PDFs on a website? Yes. Add the site's pages under Page URLs, set File types to pdf, and turn on Also scan linked pages on the same site.

How do I get all the files at once? Every run produces files.zip in the run's key-value store, linked from the Output tab and the run summary.

How large can files be? Up to 1,000 MB per file (set Max size per file); the ZIP holds up to 400 MB — larger runs still save every file individually.

How does billing work? You pay per file saved, a small amount per 10 MB downloaded, and per page scanned. If you set a maximum cost per run, the run stops cleanly at that limit and you only receive what you paid for. See the Pricing tab.

Can I connect this to other tools? Yes, through integrations on the Apify platform: Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and webhooks.

Is it legal? Only download files you have the right to use. You are responsible for respecting copyright and each site's terms.

Notes

Files are saved to your run's storage and are private to your account, as with all Apify runs. Only download files you have the right to use.

Input

FieldTypeDescription
fileUrls
File URLs
arrayDirect links to files (PDFs, documents, spreadsheets, archives, audio, video, images…). Each one is downloaded and saved.
pageUrls
Page URLs (find files on pages)
arrayWeb pages to scan for links to files. Every linked file of the chosen types is downloaded.
crawlSameSite
Also scan linked pages on the same site
booleanFollow links to other pages on the same website and collect their files too (up to “Max pages”).
Default: false
maxPages
Max pages
integerMaximum number of pages to scan.
Default: 10
fileTypes
File types
arrayOnly keep these file types, e.g. pdf, docx, xlsx, csv, zip, mp3, mp4. Empty = all types for direct URLs, and common documents (pdf, doc/docx, xls/xlsx, ppt/pptx, csv, txt, rtf, odt, ods, epub, zip, json, xml) when scanning pages.
maxFiles
Max files
integerStop after saving this many files.
Default: 100
maxFileMb
Max size per file (MB)
integerSkip files larger than this.
Default: 100
maxTotalMb
Max total download (MB)
integerStop saving once this much has been downloaded in total.
Default: 2000
skipDuplicates
Skip duplicate files
booleanFiles with identical content are saved once, even under different URLs.
Default: true
storeFiles
Store each file
booleanSave every file in the run's storage with a direct download link.
Default: true
createZip
Create one ZIP of all files
booleanBundle all saved files into a single files.zip download (up to 400 MB).
Default: true
fileNaming
File names
string · original, numbered, hashHow saved files are named.
Default: "original"
proxyConfiguration
Proxy
objectOptional proxy for loading pages. Files themselves are downloaded directly.
Default: {"useApifyProxy": false}

API

curl -X POST "https://api.apify.com/v2/acts/hipersoft~bulk-file-downloader/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "fileUrls": [
    "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
  ],
  "pageUrls": [
    {
      "url": "https://www.princexml.com/samples/"
    }
  ],
  "maxFiles": 10
}'

Pricing

EventPricePaid plans from
File saved
One file downloaded and saved (with its download link and details).
$0.004$0.002
10 MB downloaded
Each started 10 MB of file data downloaded and saved.
$0.002$0.002
Page scanned
One web page loaded and scanned for file links.
$0.02$0.02

You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.

Related scrapers

Bulk Image Downloader

Download thousands of images from a list of URLs and store each in the key-value store with a public link. Returns content type, size, dimensions and SHA-256 per image. Bulk-ready. Great for datasets, backups and media pipelines.

8,102 runs · 103 users · $0.056 / url processed

Text to Speech

Convert any text to natural-sounding speech as an MP3 download. 300+ premium neural voices across 70+ languages, adjustable rate, pitch and volume. Great for voiceovers, videos, accessibility and audio content. No setup.

278 runs · 22 users · $0.01 / audio generated

Google Maps Email Extractor

Search Google Maps for businesses, then crawl each business website to extract emails, social profiles and extra phone numbers. Turns any Maps search into a ready lead list. No setup.

159 runs · 8 users · $0.006 / business lead scraped

Website Screenshot

Capture full-page or viewport screenshots of any URL as PNG or JPEG, at any device size. For monitoring, previews, thumbnails and automation workflows.

156 runs · 3 users · $0.004 / screenshot captured

Bulk URL Status Checker

Check thousands of URLs over plain HTTP: status codes, broken links (404/410/5xx), full redirect chains, response time, content type, page title and SSL certificate expiry.

154 runs · 13 users · $0.002 / url checked

Google Search Scraper

Scrape Google Search results (organic listings) for any query: title, URL, displayed URL, snippet and position. Multi-query, per-country/language, pagination. Uses Google SERP proxy — reliable, no captcha, no setup.

121 runs · 8 users · $0.001 / result scraped
Need a source that isn't here?

Send the site and the fields. We build it and you get it first.

Request a build