Skip to main content
Marketplace users must provide their own cloud storage credentials in each request.

Supported Marketplaces

Tornado API is available on multiple API marketplaces, allowing you to use the service without managing your own API keys.

Key Differences from Direct API

AspectDirect APIMarketplace
Authenticationx-api-key headerMarketplace-specific headers
StoragePre-configured or inlineInline required
BillingStripeManaged by marketplace

RapidAPI

Authentication

RapidAPI handles authentication automatically. Simply include your RapidAPI subscription key:
curl -X POST "https://tornado-api.p.rapidapi.com/jobs" \
  -H "Content-Type: application/json" \
  -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: tornado-api.p.rapidapi.com" \
  -d '{
    "url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
    "format": "mp4",
    "storage": {
      "provider": "s3",
      "endpoint": "https://s3.amazonaws.com",
      "bucket": "my-videos",
      "region": "us-east-1",
      "access_key": "YOUR_ACCESS_KEY",
      "secret_key": "YOUR_SECRET_KEY"
    }
  }'

Subscription Tiers

RapidAPI offers multiple subscription tiers with different rate limits:
  • Basic: Limited requests per month
  • Pro: Higher limits
  • Ultra: Enterprise-level access

Apify

Authentication

Use your Apify API token in the Authorization header:
curl -X POST "https://tornado-api.apify.actor/jobs" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
    "format": "mp4",
    "storage": {
      "provider": "gcs",
      "project_id": "my-project",
      "bucket": "my-videos",
      "service_account_json": "{...}"
    }
  }'

Standby Mode

Tornado API runs as an Apify Actor in Standby mode, providing HTTP endpoint access with your Apify credentials.

Zyla API Hub

Authentication

Zyla tokens must be prefixed with zyla_:
curl -X POST "https://zylalabs.com/api/tornado/jobs" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer zyla_YOUR_API_KEY" \
  -d '{
    "url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
    "format": "mp4",
    "storage": {
      "provider": "blob",
      "account_name": "mystorageaccount",
      "container": "videos",
      "account_key": "YOUR_ACCOUNT_KEY"
    }
  }'

Storage Configuration

Marketplace users must provide storage credentials in every request. Files cannot be stored on Tornado’s infrastructure.

Supported Providers

{
  "provider": "s3",
  "endpoint": "https://s3.amazonaws.com",
  "bucket": "my-bucket",
  "region": "us-east-1",
  "access_key": "AKIAIOSFODNN7EXAMPLE",
  "secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "folder_prefix": "videos/"
}
{
  "provider": "blob",
  "account_name": "mystorageaccount",
  "container": "mycontainer",
  "account_key": "YOUR_ACCOUNT_KEY",
  "folder_prefix": "videos/"
}
Or with SAS Token:
{
  "provider": "blob",
  "account_name": "mystorageaccount",
  "container": "mycontainer",
  "sas_token": "sv=2021-06-08&ss=b&srt=sco...",
  "folder_prefix": "videos/"
}
{
  "provider": "gcs",
  "project_id": "my-project",
  "bucket": "my-bucket",
  "service_account_json": "{\"type\":\"service_account\",...}",
  "folder_prefix": "videos/"
}
{
  "provider": "oss",
  "endpoint": "https://oss-cn-hangzhou.aliyuncs.com",
  "bucket": "my-bucket",
  "access_key_id": "LTAI...",
  "access_key_secret": "...",
  "folder_prefix": "videos/"
}

Security

Your storage credentials are:
  • Never logged - Credentials are redacted in all logs
  • Never stored - Credentials are only used during the job execution
  • Validated - Credentials are tested before the job is accepted

Error Handling

Common errors for marketplace users:
ErrorDescriptionSolution
Storage credentials requiredMissing storage fieldAdd storage configuration to your request
Invalid storage credentialsCredentials validation failedCheck your cloud provider credentials
Invalid Apify tokenApify authentication failedVerify your Apify API token
Invalid Zyla token formatToken doesn’t start with zyla_Prefix your token with zyla_