Pay-as-you-go pricing

Pricing follows the existing API key balance and per-format billing model already used by this repository.

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"

Format-based costs

Audio, video, subtitle, and extended-duration jobs are charged according to the configured format pricing.

When credits are deducted

Credits are attached to API keys. Queued download and subtitle jobs are charged when the API accepts them and returns an id, before the file is ready. Streaming downloads, including /api/v2/download, are charged when the prepared file link is saved. Requests rejected before a job is accepted are not charged.

Custom accounts

Dashboard-hosted users can keep custom API hostnames and account-specific workflows.

Provider comparisons

If you are comparing Ultrathink, loader.to, RapidAPI, and direct YouTube download API pricing, use the dedicated migration pricing page before estimating balance.

Compare Ultrathink and loader.to API pricing

Provider selection

If the decision is broader than pricing, compare direct accounts, RapidAPI marketplace access, loader-compatible hosted endpoints, and generic SaaS selection criteria.

Compare provider paths

Pricing calculator

Choose an output format, request count, and duration to estimate wallet usage with the current pricing rules.

MP3

$0.0002 per request

M4A

$0.00015 per request

MP4 360p

$0.0002 per request

MP4 720p

$0.0002 per request

MP4 1080p

$0.0002 per request

MP4 1440

$0.0003 per request

AAC

$0.0002 per request

FLAC

$0.0002 per request

WAV

$0.0002 per request

MP4 4K

$0.00035 per request

MP4 8K

$0.00035 per request

Feature details

Audio examples

MP3 audio

$0.00020 per request with a 180 minute base duration.

M4A audio

$0.00015 per request for lower-cost high-volume flows.

Video examples

MP4 1080p

$0.00020 per request with a 180 minute base duration.

MP4 4K / 8K

$0.00035 per request with a 30 minute base duration.

Text outputs

VTT subtitles

$0.00010 per request without duration tiers.

SRT transcripts

$0.00010 per request for transcript workflows.

Important details

No subscription plan required

Create an API key for docs review and first-request testing, then add wallet balance when production usage starts.

Start with the free API key guide

Extended duration is explicit

Longer video jobs are estimated by output format, base duration, and additional duration blocks.

Compare migration costs

Use the Ultrathink and loader.to comparison page when replacing another YouTube API provider.

Open the pricing comparison

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

Am I charged if an accepted job fails later?

An accepted id is not a finished file. Queued download and subtitle jobs are charged when they are accepted, so a later failure can still use balance. Charges are not reversed automatically. A streaming download that fails before its file is prepared is not charged. Budget every accepted id as charged.

Which requests are not charged?

A request rejected before a job is accepted is not charged. Examples are "Not enough balance", invalid input, and no available worker. These responses do not return a job id.

What should I do when my client times out?

A client timeout does not cancel an accepted job. Keep the id and continue to poll its progress URL until progress reaches 1000. Do not send the same request again: a new request creates a new job and can be charged again.

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.