YouTube to MP4 API

Convert YouTube URLs to MP4 outputs through the Video Download API backend.

First request

GET

Use the shared API host unless the dashboard shows an account-specific hostname.

curl "https://p.savenow.to/ajax/download.php?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DK1Pu75yJUOE&format=720&apikey=YOUR_API_KEY&add_info=1&allow_extended_duration=0&no_merge=0"

MP4 quality workflow

Create a YouTube to MP4 request by sending a URL, API key, and MP4 quality value such as 360, 720, 1080, 1440, mp44k for MP4 4K, or mp48k for MP4 8K to the public download endpoint.

Duration handling

Configured duration limits are 180 minutes for 360p, 720p, 1080p, and 1440p MP4 requests, and 30 minutes for MP4 4K and MP4 8K requests before extended-duration pricing is needed.

Progress polling

The download response returns an id and progress_url. Poll /ajax/progress.php with that id. Progress below 1000 is pending regardless of success; at 1000, use download_url only when success is 1 or true and the URL is non-empty. Otherwise stop and surface text or message.

Pricing context

Estimate MP4 costs by quality and duration before sending production volume.

Review MP4 pricing

Feature details

MP4 quality values

Standard MP4 qualities

Use 360, 720, 1080, or 1440 when the integration needs a merged MP4 file at a predictable quality level.

High-resolution MP4

Use mp44k for MP4 4K or mp48k for MP4 8K, and confirm the source video actually has that quality available.

Copyable cURL examples

Start with the 720p request, then change only the format value after the first progress polling test succeeds.

Long-video controls

Default rejection

Videos beyond the configured base duration are rejected unless allow_extended_duration=1 is sent and the API key permits extended duration.

Cost guardrail

Use max_duration with extended-duration requests to reject videos above your chosen length cap.

Separate streams

Set no_merge=1 only when your app wants the separate audio and video files instead of a merged MP4.

Parameters

format=360 MP4 360p Low-bandwidth MP4 output with the default 180 minute configured base duration.
format=720 MP4 720p Balanced MP4 quality for common product previews, archives, and downloader workflows.
format=1080 MP4 1080p Full HD MP4 output using the same download and progress polling contract.
format=1440 MP4 1440p Higher-resolution MP4 output with the configured 180 minute base duration.
format=mp44k / mp48k High resolution Use mp44k for MP4 4K and mp48k for MP4 8K. These requests use the higher-resolution pricing tier and a 30 minute configured base duration.
allow_extended_duration=1 Optional Permit jobs beyond the configured base duration when the API key allows extended duration; longer jobs can apply duration multipliers.
max_duration Optional Cap accepted video length in minutes when allow_extended_duration=1 is used.
no_merge=1 Optional Return separate audio and video streams in a zip instead of one merged MP4 file.

Request examples

720p MP4 request

bash
curl "https://p.savenow.to/ajax/download.php?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DK1Pu75yJUOE&format=720&apikey=YOUR_API_KEY&add_info=1&allow_extended_duration=0&no_merge=0"

1080p MP4 request

bash
curl "https://p.savenow.to/ajax/download.php?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DK1Pu75yJUOE&format=1080&apikey=YOUR_API_KEY&add_info=1&allow_extended_duration=0&no_merge=0"

MP4 4K extended-duration request

bash
curl "https://p.savenow.to/ajax/download.php?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DK1Pu75yJUOE&format=mp44k&apikey=YOUR_API_KEY&allow_extended_duration=1&max_duration=240&no_merge=0"

Important details

Read the REST contract

Use the docs for exact download, progress, parameter, and response examples before moving MP4 traffic.

Open REST docs

Estimate before scale

Compare 720p, 1080p, 1440p, MP4 4K, and MP4 8K pricing with your expected video lengths.

Open pricing

Create a production key

Use the dashboard key flow when you are ready to run authenticated MP4 download requests.

Get API key

Related guides

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.