Video Download API reference

Video Downloader API Documentation

Use the OpenAPI reference for first request setup, pricing links, and migration planning.

Use Video Download API to submit YouTube and supported video URLs, request MP3, MP4, subtitles, transcripts, or high-resolution output, then send users to a ready Download v2 streaming URL. Find first cURL request guidance, the interactive OpenAPI reference, YAML and JSON spec downloads, API key authentication notes, usage-based pricing links, and migration context.

OpenAPI 3.0.3 Download YAML or JSON.
4 core endpoints Download v2, legacy download, subtitles, progress.
API key auth Query-key examples included.

Pricing is usage-based by format and duration. Check the pricing calculator before high-volume jobs, or compare provider costs in the Ultrathink and loader.to API pricing comparison.

Download v2 summary

Recommended for new integrations: submit format, url, and apikey to prepare a short-lived streaming file URL. Add worker_prepare=1 when you want the request to wait for a ready url; omit it for the queued progress_url flow.

Legacy download endpoint summary

Use GET /ajax/download.php only when you need the older job ID and progress polling workflow.

Subtitles and transcripts summary

Submit url and api plus optional lang and format values to create a subtitle or transcript job and receive a progress_url.

Progress endpoint summary

Poll with the returned job id until the API returns the final file URL and completion status.

Default API host: p.savenow.to

p.savenow.to is the default shared API hostname used in Video Download API examples, OpenAPI samples, and first-request templates. Use it when you are testing public examples or creating your first request, then keep using it unless your signed-in dashboard shows a custom account-specific API hostname.

Your API key is separate from the hostname. Create an account to get the dashboard-issued key, read the guided REST docs for endpoint behavior, or inspect the OpenAPI examples below.

API documentation FAQ

Short answers for the implementation questions developers search before creating a key or running the first request.

How do I get a Video Download API key?

Create an account from the get API key page, then copy the dashboard-issued key. Use it as the apikey query parameter for download requests and as the api query parameter for subtitle or transcript requests.

What is the first cURL request I should run?

Start new integrations with GET /api/v2/download using format, url, apikey, and worker_prepare=1 when you want the request to wait for a ready streaming URL. Without worker_prepare=1, use progress_url when url is null.

Why do examples use p.savenow.to?

p.savenow.to is the default shared API host used in Video Download API examples and OpenAPI samples. Use it when you are copying examples before signup, then use the same host unless your dashboard shows a custom account-specific API hostname.

Can I download the OpenAPI spec?

Yes. The documentation page links raw OpenAPI YAML and JSON files that you can download for Postman, Insomnia, typed client generation, QA fixtures, or endpoint review.

Where do I check API pricing?

Use the pricing page to estimate usage-based costs by format, quantity, and duration. The docs page links pricing next to the first-request and OpenAPI reference links for migration planning.

Does the API support subtitles and transcripts?

Yes. Use GET /ajax/subtitles with the video url, your api key, and optional lang and format values to request subtitle or transcript jobs. The response includes a progress_url for polling.

How does progress polling work?

Progress polling is used by legacy download jobs, subtitle jobs, transcript jobs, and Download v2 responses that are still preparing. For Download v2, set worker_prepare=1 to wait for a ready url, or poll the exact progress_url returned when url is null.