Skip to main content
Glama

Bulk download images (coming soon)

download_images
Read-only

Download images from web pages or direct links, filter by format, size, and dimensions, deduplicate, and convert or resize them. Get public URLs with alt text, dimensions, and SHA-256 for each saved image.

Instructions

COMING SOON: this Kanto Labs actor is not public on the Apify Store yet. Until it is, calls return an 'actor not yet public' error and nothing is charged. Download every image from web pages (img tags, srcset, lazy-load attributes, CSS backgrounds, optionally favicons and SVGs) and/or from direct image links, with size and format filters, de-duplication and optional conversion or resizing. Each saved image gets a public download URL plus its dimensions, format, alt text and SHA-256. Use it to collect product photos, gallery or article images, or to re-host and convert a list of image links. Only for images you have the right to use; social networks and stock-photo sites are refused. Cost: $0.002 per image saved, billed to your Apify account; duplicates, filtered-out and failed images are free. A page can hold hundreds of images, so set maxImagesPerPage and minWidth to control cost. Runs the Apify actor kantolabs/bulk-image-downloader with your APIFY_TOKEN; maxTotalChargeUsd caps the spend per call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsYesWeb page URLs (all images on the page) and/or direct image links, mixed freely, e.g. ["https://books.toscrape.com/"].
dedupeNoSave (and charge) the same picture found at several URLs only once. Default true.
minWidthNoSkip (free) images narrower than this in px. 200+ drops icons, avatars and thumbnails. Default 0.
convertToNoKeep original files (default) or convert every image to one format.
minHeightNoSkip (free) images shorter than this in px. Default 0.
includeSvgNoAlso save SVG files (logos, icons). Default false.
timeoutSecsNoGive up after this many seconds (max 300, Apify's limit for synchronous runs). Default 280. For big batches, split the input into several calls.
includeIconsNoAlso collect favicons and touch icons. Default false.
maxDimensionNoDownscale images whose longest side exceeds this in px. 0 (default) keeps the original size.
minFileSizeKbNoSkip (free) files smaller than this. Default 2, which removes tracking pixels.
allowedFormatsNoKeep only these formats. Omit to keep all raster formats.
maxImagesPerPageNoStop after this many images from one page. Default 200.
maxTotalChargeUsdNoHard spending cap for this call in USD, enforced by Apify: the run stops once it has charged this much. Default 1 (server setting KANTO_MAX_CHARGE_USD).
includeCssBackgroundsNoAlso collect CSS background images (hero banners, sliders). Default true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses critical behavioral facts beyond annotations: the actor is not yet public and calls currently return an error with no charge, billing is $0.002 per saved image, duplicates/filtered/failed images are free, and maxTotalChargeUsd caps spend. It also warns about legal use rights and refused sources. Annotations are not contradicted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense but well-organized paragraph that front-loads the most important fact (coming soon, not callable yet) before capabilities, use cases, restrictions, cost, and invocation details. It is slightly long, but justified given 14 parameters and no output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 14 parameters and no output schema, the description explains not only invocation but also the return value (public download URL, dimensions, format, alt text, SHA-256), cost model, legal constraints, and runtime limits. Nothing essential for an agent to decide whether and how to call it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents each parameter in detail. The description adds useful cross-parameter guidance, e.g. 'A page can hold hundreds of images, so set maxImagesPerPage and minWidth to control cost', and clarifies the cost implications of parameters like dedupe and filters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Download every image from web pages... and/or from direct image links', with concrete details on sources (img tags, srcset, lazy-load, CSS backgrounds) and processing (filters, de-duplication, conversion/resizing). It clearly distinguishes this bulk-download tool from sibling tools like search_free_images or extract_text_from_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit use cases: collecting product photos, gallery/article images, or re-hosting/converting image links. It also provides exclusions ('social networks and stock-photo sites are refused') and practical guidance on cost control. It doesn't name sibling alternatives explicitly, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.