Quick Start
Example Request
The realtime endpoint returns the raw binary file, so SDK calls must read the
raw response as shown above. The CLI prints structured output only — use
cURL for one-off downloads from the terminal.
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
1
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
2
Nimble fetches the file
Routes the request through Nimble’s infrastructure - Applies geo-targeting
if specified - Validates the response against your expected MIME types
3
You receive the media
- Realtime: The binary file is streamed directly back in the HTTP response - Async: The file is uploaded to your cloud storage bucket and a task ID is returned
Parameters
Supported input parameters for both endpoints:url - Required
url - Required
string
required
The URL of the media file to download.Example:
https://example.com/product-image.jpgexpected_mime_types
expected_mime_types
array
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
string
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
string
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
object
required
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
string
required
Bucket path where the media file will be saved.Format:
s3://bucket-name/path/Example: s3://my-bucket/media/storage.type
storage.type
string
default:"s3"
Storage provider. Currently supported:
s3 (Amazon S3), gcs (Google Cloud Storage), do (DigitalOcean Spaces).storage.object_name
storage.object_name
string
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.
Async response
Returns a task object immediately. The file is uploaded to your storage destination in the background.Example Response
Example Response
Once the task completes, the media file will be available at the path specified in
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.
View full pricing
Next steps
Extract
Extract structured data and HTML from web pages
Map
Discover media URLs across an entire website before downloading