# Bulk Image Downloader for Direct URLs and S3 Archiving

**Use case:** 

Retrieve images from direct URLs and upload them to S3. Includes metadata like dimensions and SHA-256 hashes for each image.

## Input

```json
{
  "urls": [
    {
      "url": "https://m.media-amazon.com/images/I/71qS0nHPfEL._AC_SL1500_.jpg"
    },
    {
      "url": "https://m.media-amazon.com/images/I/61CGHv6kmWL._AC_SL1000_.jpg"
    },
    {
      "url": "https://m.media-amazon.com/images/I/81Wbv2KPuXL._AC_SL1500_.jpg"
    }
  ],
  "mode": "direct",
  "includeSrcset": false,
  "includeOgTags": false,
  "minWidth": 0,
  "minHeight": 0,
  "minSizeBytes": 0,
  "maxImagesPerUrl": 1000,
  "maxUrls": 10000,
  "dedupByHash": true,
  "stripExif": false,
  "convertFormat": "none",
  "filenamePattern": "{hash}.{ext}",
  "outputFormat": [
    "dataset",
    "s3",
    "webhook"
  ],
  "s3Bucket": "my-image-archive-bucket",
  "webhookUrl": "https://hooks.example.com/bulk-image-downloader/complete",
  "maxConcurrency": 20,
  "downloadTimeoutMs": 30000,
  "imageCheckMaxRetries": 3,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "failFast": false,
  "debugLogging": false
}
```

## Output

```json
{
  "filename": {
    "label": "Filename",
    "format": "string"
  },
  "source_url": {
    "label": "Source Page",
    "format": "string"
  },
  "image_url": {
    "label": "Image URL",
    "format": "string"
  },
  "content_type": {
    "label": "Content-Type",
    "format": "string"
  },
  "format": {
    "label": "Format",
    "format": "string"
  },
  "width": {
    "label": "Width",
    "format": "number"
  },
  "height": {
    "label": "Height",
    "format": "number"
  },
  "size_bytes": {
    "label": "Size (KB)",
    "format": "number"
  },
  "is_duplicate": {
    "label": "Duplicate",
    "format": "boolean"
  },
  "exif_stripped": {
    "label": "EXIF Stripped",
    "format": "boolean"
  },
  "from_srcset": {
    "label": "From srcset",
    "format": "boolean"
  },
  "from_og_tag": {
    "label": "From og:image",
    "format": "boolean"
  },
  "kv_url": {
    "label": "Download Binary",
    "format": "string"
  },
  "error": {
    "label": "Error",
    "format": "string"
  },
  "downloaded_at": {
    "label": "Downloaded",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [Bulk Image Downloader: 22-Field Metadata, SHA-256 & ZIP](https://apify.com/getascraper/bulk-image-downloader) with a specific input configuration. Visit the [Actor detail page](https://apify.com/getascraper/bulk-image-downloader) to learn more, explore other use cases, and run it yourself.