Nimble Media Download fetches media files (images, videos, audio, documents) directly from any URL using Nimble’s infrastructure. Bypass geo-restrictions and access controls while controlling the exact MIME types you expect — receiving the raw binary file in the response. Two modes are available: Realtime for instant binary downloads, and Async for cloud-based delivery where the file is saved directly to your own storage bucket.Documentation Index
Fetch the complete documentation index at: https://docs.nimbleway.com/llms.txt
Use this file to discover all available pages before exploring further.
Quick Start
Example Request
Example Response
The realtime endpoint returns the raw binary file — not JSON. The responseContent-Type header will reflect the actual MIME type of the downloaded file (e.g. image/webp, image/jpeg, video/mp4).
How it works
You provide a media URL
Supply the URL of the media file you want to download, along with optional
geo-targeting and MIME type filters
Nimble fetches the file
Routes the request through Nimble’s infrastructure - Applies geo-targeting
if specified - Validates the response against your expected MIME types
Parameters
Supported input parameters for both endpoints:url - Required
url - Required
The URL of the media file to download.Example:
https://example.com/product-image.jpgexpected_mime_types
expected_mime_types
List of acceptable MIME types. Wildcards are supported. If the fetched file does not match one of these types, the request will fail.Examples:
["image/*"]— any image format["image/webp", "image/jpeg"]— specific image formats["video/mp4"]— MP4 video only["image/*", "video/mp4"]— images or MP4
country
country
Fetch the media as if requesting from a specific country. Useful for geo-restricted content.Use ISO Alpha-2 country codes like
US, GB, FR, DE, CA, JP, etc.Example: USlocale
locale
LCID standard locale for the request. Use
auto to automatically select the locale based on the country parameter.Examples:en-US— English (United States)en-GB— English (United Kingdom)fr-FR— French (France)auto— automatic based on country
Async-only parameters
The following additional parameter is only available on the/media/async endpoint:
storage - Required for async
storage - Required for async
Cloud storage destination where the downloaded media file will be saved. Only S3 is currently supported.Fields:
url(required) — Storage path in the formats3://bucket-name/path/type— Storage provider:s3(default),gcs,doobject_name— Custom filename without extension (e.g.product-123)
Usage
Realtime download
Download a media file and save it locally:With MIME type filtering
Validate the response type before accepting the file:Geo-targeted download
Fetch geo-restricted media from a specific region:Async API
For large files or async workflows, use the async endpoint to have Nimble upload the file directly to your cloud storage bucket.Parameters
storage.url — Required
storage.url — Required
Bucket path where the media file will be saved.Format:
s3://bucket-name/path/Example: s3://my-bucket/media/storage.type
storage.type
Storage provider. Currently supported:
s3 (Amazon S3), gcs (Google Cloud Storage), do (DigitalOcean Spaces).storage.object_name
storage.object_name
Custom filename without extension (e.g.
product-123). The original file extension is appended automatically.Example Request
Submit a request and receive atask_id immediately — the file is uploaded to your bucket in the background.
cURL
Response
task.id to poll for status. The file is ready when task.state returns success.
Response
Realtime response
The response body is the raw binary file. Use theContent-Type response header to determine the actual file format.
| Header | Description |
|---|---|
Content-Type | MIME type of the downloaded file (e.g. image/jpeg, image/webp, video/mp4) |
Content-Length | File size in bytes |
Async response
Returns a task object immediately. The file is uploaded to your storage destination in the background.Example Response
Example Response
| Field | Type | Description |
|---|---|---|
status | string | Request status: success or error |
task.id | string | Task ID for tracking the async job |
task.state | string | pending, processing, success, failed |
task.input | object | The original request parameters echoed back |
storage.url + storage.object_name (with the original file extension).
The async endpoint uses cloud-based delivery only — the file is saved directly
to your storage bucket. There are no callback URLs for this endpoint.
Use cases
Product Image Collection
Download product images from e-commerce sites at scale for catalog building
or price monitoring
Media Archiving
Archive images, videos, and documents from websites before they disappear
Geo-restricted Content
Access region-locked media by routing requests through the appropriate
country
AI Training Data
Build large-scale image, video, and audio datasets for training and
fine-tuning machine learning models
Real-world examples
AI training data collection
AI training data collection
Scenario: You’re building an image or video dataset to train or fine-tune a machine learning model.How Media Download helps:
- Collect images, videos, and audio files from any public URL at scale
- Use
expected_mime_typesto enforce consistent file formats across your dataset - Async mode saves files directly to S3, ready for your training pipeline
- Geo-targeting lets you collect region-specific visual data for diverse datasets
E-commerce product image pipeline
E-commerce product image pipeline
Scenario: You’re building a product catalog and need to collect images from multiple retailer websites.How Media Download helps:
- Downloads images directly without needing to manage proxies
- Validates MIME types to ensure you only store actual images
- Geo-targeting lets you access region-specific product images
- Async mode saves images directly to S3 without intermediate storage
News media archiving
News media archiving
Scenario: You want to archive images from news articles before they are removed.How Media Download helps:
- Downloads images reliably through Nimble’s infrastructure
- Accepts wildcard MIME types (
image/*) to handle any image format - Async delivery stores files directly to your archive bucket
Video content collection
Video content collection
Scenario: You need to collect video clips from various websites for analysis.How Media Download helps:
- Specify
expected_mime_types: ["video/mp4"]to only accept video files - Use geo-targeting for region-locked video content
- Async mode handles large file sizes without timeout issues
Pricing
Media Download is billed per GB of data downloaded using theMedia-VX6 driver. Only successful downloads count toward usage.
| Driver | PAYG Price |
|---|---|
Media-VX6 | $2.00 / GB |
Next steps
Extract
Extract structured data and HTML from web pages
Map
Discover media URLs across an entire website before downloading