YouTube Download API

Build with a YouTube video downloader API for download, MP3, MP4, subtitle, transcript, and metadata workflows, then start testing with a free API key before adding production credit.

Choose a format-specific integration guide for the YouTube to MP3 API or the YouTube to MP4 API.

First request

GET

Replace VIDEO_ID and YOUR_API_KEY, run the request, then pass the returned id to /ajax/progress.php. At progress 1000, use download_url only when success is 1 or true; otherwise stop and show the error.

curl --get "https://p.savenow.to/ajax/download.php" \
  --data-urlencode "url=https://www.youtube.com/watch?v=VIDEO_ID" \
  --data "format=mp3" \
  --data "apikey=YOUR_API_KEY"

Embeds

Use button, card, and widget resources for migration-compatible downloader experiences.

Subtitles

Request VTT and SRT subtitles through the same API key and billing flow.

Free-start API key

Create the account and API key for docs review and first-request testing, then add wallet balance before production downloads.

Review the free-start API key guide

Provider comparison

Compare direct API accounts, RapidAPI marketplace access, loader-compatible hosted endpoints, and pricing research before selecting a YouTube download API provider.

Compare YouTube download API SaaS providers

Choose an output format

Read the format-specific guides for a YouTube to MP3 API or YouTube to MP4 API .

From API key to file

Create a key, send a request, poll progress, and review usage through one predictable workflow.

1

Create or open an API key

Sign in to the dashboard, copy the key, and keep billing tied to the same account.

2

Send the request

Use the documented REST or legacy-compatible endpoint with url, format, and the API key parameter.

3

Poll progress or consume the URL

Use progress_url or /ajax/progress.php. Below progress 1000 keep polling; at 1000 use download_url only when success is 1 or true, otherwise stop and show the error.

4

Review usage and balance

Track recent requests, coupon credits, top-ups, and payment callbacks from the dashboard.

Endpoint reference

Common endpoints preserved for REST, embedded widgets, and migration work.

GET /api/v2/download Streaming download response with a ready URL or progress URL.
GET /ajax/download.php Legacy-compatible download creation endpoint.
GET /ajax/progress.php Progress polling for download, subtitle, and transcript jobs.
GET /ajax/subtitles Subtitle and transcript job creation.
GET /api/button/ Embeddable button endpoint for downloader products.

Template downloads

Start with a React or Laravel template for Button, Card, or Widget API integrations.

Continue building

OpenAPI docs

Download YAML or JSON specs and inspect downloader, progress, and subtitle endpoints.

Read docs

Embed resources

Keep button, card, widget, and REST paths reachable for existing users and migrations.

View resources

Common questions

Where do examples run?

Use p.savenow.to for public API examples unless your dashboard shows a custom account hostname.

How do I add credit?

Open the dashboard, create a top-up payment, or redeem a coupon. Balance changes are shown in the account history.

Are old endpoints still supported?

Yes. The .php compatibility endpoints remain active for existing integrations and embedded clients.