GET
/
api
/
v1
/
video
/
download
curl --request GET \
  --url https://huntapi.com/api/v1/video/download \
  --header 'x-api-key: <x-api-key>'
{
    "job_id": "0193443f-fb80-9d19-29ba-82bc77c7cd84"
}
x-api-key
string
required

This parameter specifies the private key you’ll need for HuntAPI.com access.

Parameters

Search Query

query
string
required

Video URL to download

Download options

download_type
string
default:"audio_video"

Desired download type. You have three options:

  • audio_video: Downloads the complete video with audio (default option)
  • audio: Downloads only the audio track of the video (useful for extracting music or podcasts)
  • video: Downloads only the video part, without sound (ideal for visual content only)
max_duration
number

Maximum duration of the downloaded content in seconds. If the video/audio is longer than this value, only the content up to this duration will be downloaded. Useful for limiting file sizes or extracting specific portions.

video_quality
string
default:"best"

Desired video quality. Available options:

  • best: Best available quality (default)
  • 1080p: Full HD quality (1920x1080)
  • 720p: HD quality (1280x720)
  • 480p: SD quality (854x480)
  • 360p: Low quality (640x360)
video_format
string
default:"mp4"

Desired output format for the video. Available options:

  • mp4: MP4 format (default option)
  • webm: WebM format
  • mkv: Matroska Video format

Note: This is a format preference. While we will do our best to provide the requested format, due to technical limitations or conversion issues, the final output format may differ from the requested one. In such cases, the video will be provided in the most compatible format available.

webhook_url
string

URL of the webhook where results will be sent. When specified, the system will attempt to send the response to this URL up to 3 times with a 5-second delay between each attempt. The results will be sent as a POST request.

The payload will be sent in JSON format with one of the following structures:

On success:

{
    "id": "string", // the job id,
    "status": "CompletedJob", // the job status,
    "result": {
        "metadata": {
            // filtered metadata object
        },
        "response": "https://s3.huntapi.com/videos/video_id.mp4"
    }
}

On error:

{
    "id": "string", // the job id,
    "status": "Error", // the job status,
    "error": "string" // the error message (private, unavailable, age restricted, etc.)
}
webhook_authorization
string

Authorization header for the webhook. This parameter allows you to add authentication to your webhook endpoint.

This value will be included in the Authorization header when making the webhook request to your server. Example:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Notes

Some videos cannot be downloaded for the following reasons:

  • Private videos: If the video is set as private by its owner
  • Unavailable videos: If the video has been deleted or is no longer accessible
  • Age restricted videos: If the video is age restricted In these cases, the API will return an explanatory error message.

Security Considerations

When using webhooks, it’s recommended to:

  • Always use HTTPS URLs for your webhook endpoints
  • Implement webhook authentication using the webhook_authorization parameter
  • Validate the incoming webhook requests on your server
  • Consider implementing webhook signing for additional security

Response

job_id
string

The ID of the job. Use this ID to check the status of the job.

{
    "job_id": "0193443f-fb80-9d19-29ba-82bc77c7cd84"
}