REST API documentation for custom downloader products

REST API docs for video download, polling, auth, and OpenAPI workflows

Use this page for endpoint-level implementation: authenticate with an API key, create REST download jobs, poll status, and map responses to video, audio, subtitle, transcript, thumbnail, and metadata workflows.

Endpoint summary

Create, poll, deliver

GET
cURL
curl "https://p.savenow.to/ajax/download.php?format=mp4&url=VIDEO_URL&apikey=YOUR_API_KEY"

p.savenow.to is the default shared API host used in public examples. If your dashboard shows a custom API hostname, use that account-specific host instead.

Authentication
Use the same dashboard-issued API key on job requests: `apikey` for downloads and `api` for subtitles.
REST flow
Create a job, poll the progress endpoint, then consume the result.
OpenAPI
Use the interactive reference or raw spec for typed clients and QA.

REST implementation flow

This page explains endpoints, auth, polling, and spec access

The homepage covers product fit and pricing. This `/api` page is the implementation surface for developers who need request patterns, endpoint naming, polling behavior, and OpenAPI files.

Create download jobs

/ajax/download.php

GET

Submit a video URL, output format, and API key. The API returns a job identifier or immediate result details depending on availability.

cURL
curl "https://p.savenow.to/ajax/download.php?format=mp3&url=VIDEO_URL&apikey=YOUR_API_KEY"

p.savenow.to is the default shared API host used in public examples. If your dashboard shows a custom API hostname, use that account-specific host instead.

Create subtitle jobs

/ajax/subtitles

GET

Submit a video URL and API key, then add optional language and output format values to generate subtitle or transcript jobs that return a progress URL.

cURL
curl "https://p.savenow.to/ajax/subtitles?url=VIDEO_URL&api=YOUR_API_KEY&lang=en&format=vtt"

p.savenow.to is the default shared API host used in public examples. If your dashboard shows a custom API hostname, use that account-specific host instead.

Poll progress

/ajax/progress

GET

Poll with the job identifier until the response reports a completed download, a retryable state, or an error state your product can display.

cURL
curl "https://p.savenow.to/ajax/progress?id=JOB_ID"

p.savenow.to is the default shared API host used in public examples. If your dashboard shows a custom API hostname, use that account-specific host instead.

Accepted job

Create endpoints return the job identifier to poll

Use the returned id with the progress endpoint. Subtitle jobs may also include a progress_url for the same polling step.

{
  "success": true,
  "id": "a1b2c3d4e5",
  "progress_url": "https://p.savenow.to/ajax/progress?id=a1b2c3d4e5"
}

Completed progress

A ready job reports progress 1000 and exposes the file URL

Treat progress 1000 as complete, then read the download_url or text result your workflow requested.

{
  "success": 1,
  "progress": 1000,
  "download_url": "https://p.savenow.to/download/ready-file.mp4",
  "text": "Download ready"
}

Common error

Invalid keys or unsupported URLs return a clear failure shape

For create-endpoint errors, check success before using the id, then show the error and allow a corrected retry.

{
  "success": false,
  "error": "Invalid API key"
}

Auth and polling model

The REST API is built around API key auth and progress polling

Developers evaluating endpoints usually want implementation details, not a generic product pitch. These steps clarify the request model before you move into the full OpenAPI reference.

  1. 1. Authenticate requests

    Use one API key across download, subtitle, and progress endpoints

    Create an account, copy the API key from the dashboard, and include it as `apikey` on download jobs or `api` on subtitle jobs.

  2. 2. Start a REST job

    Send the source URL, output format, and optional workflow parameters

    The download endpoint is built for developer-controlled products that need stable request parameters instead of a hosted UI.

  3. 3. Poll endpoint status

    Check job progress until the media file or transcript is ready

    Handle processing, completion, and error states in your own app so users can retry or switch formats without leaving your product.

Supported formats and capabilities

Map one REST integration to multiple output types

Use one API key across audio, video, subtitle, transcript, thumbnail, and metadata jobs. Downloads send it as apikey, while subtitle and transcript jobs send the same key as api. Pricing stays tied to the output format and usage volume rather than separate developer accounts.

Audio

MP3, M4A, AAC, FLAC, OPUS, OGG, and WAV outputs.

Video

MP4 downloads from 360p through 8K when available.

Text

Subtitles and transcript jobs for supported videos.

Metadata

Titles, thumbnails, progress states, and result URLs.

Ready to test the REST API?

Create a key, read the docs, and start with one download job.