PRODUCTION REST API · v1

Build downloads with YTSave

Resolve a public media URL, select an exact format, create an asynchronous job and hand the signed result to your user. The same bounded production pipeline powers the YTSave website.

YTSaveClientJSON sobre HTTPSTrabajos asíncronosCredenciales con alcance
01

Inicio rápido

YTSave handles API host by first identifying support-activated credentials. It follows with an assigned tenant endpoint and keeps a server-only call path in view.

URL del inquilinohttps://ytsave.app
AutenticaciónX-API-Key: ys_live_…
Perfil del clienteYTSaveClient
Versión de APIv1
# Available only after support activation
export YTSAVE_API_KEY="issued-after-review"

curl -X POST https://ytsave.app/v1/resolve \
  -H "X-API-Key: $YTSAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID"}'

To explain Credential safety, YTSave separates server-side secret storage from no client bundle embedding. An evidence record gives no public logs or repositories its own place.

02

Resolver un enlace

YTSave handles Resolve operation by first identifying source detection. It follows with formats from one submitted URL and keeps no invented outputs in view.

POST/v1/resolveAlcance: resolver
sobre el terrenoTipo deNecesariosDescripción de la actividad
urlURL HTTPSPágina de medios pública o autorizada a analizar.
tenantcadenaNoDominio de inquilino asignado. Por lo general, se omite.
{
  "success": true,
  "platform": "youtube",
  "title": "Example video",
  "formats": [
    {"id":"18","type":"video","quality":"360p","container":"mp4"}
  ],
  "cached": false
}

To explain Format identifier, YTSave separates the returned value unchanged from per-link availability. An evidence record gives no guessed quality label its own place.

03

Crear y seguir un trabajo de descarga

For Job creation, YTSave begins with asynchronous preparation. Its evidence record pairs that with a short HTTP request and ends with bounded worker execution.

POST/v1/jobsAlcance: empleos
sobre el terrenoTipo deNecesariosDescripción de la actividad
urlURL HTTPSLa misma fuente normalizada sometida a resolver.
format_idcadenaUn ID exacto de la respuesta de resolución.
tenantcadenaNoDominio de inquilino asignado. Por lo general, se omite.
curl -X POST https://ytsave.app/v1/jobs \
  -H "X-API-Key: $YTSAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID","format_id":"18"}'
1202 AceptadasSave job_id.
2Estado de la encuestaGET /v1/jobs/{job_id} with the same key.
3ListoAbra la URL de descarga firmada.
Situación actualSignificadoAcción del cliente
queuedAdmitido en la cola acotada.Encuesta de nuevo con retroceso.
extractingActualización de metadatos de origen o ruta.Continúa encuestando.
processingDescargar, remuxar o fusionar.Mostrar el progreso del servidor.
readyDescarga firmada está disponible.Envía la URL al usuario.
failedError estructurado de terminal.Read error_code. Retry only when advised.
expiredSe eliminó la salida temporal.Crea un nuevo trabajo.
curl https://ytsave.app/v1/jobs/JOB_ID \
  -H "X-API-Key: $YTSAVE_API_KEY"

YTSave makes Job polling easy to scan. The page starts with one-second initial wait, moves to capped backoff, and clearly states temporary signed delivery.

04

Errores predecibles

For Error contract, YTSave checks one non-2xx envelope before a support request ID. This evidence record also makes predictable client handling clear.

{
  "success": false,
  "error": {
    "code": "RATE_LIMITED",
    "category": "rate_limited",
    "message": "Too many requests. Please try again shortly.",
    "retryable": true,
    "details": {"retry_after_seconds": 20}
  },
  "request_id": "…"
}
HTTPSignificado típicoMedidas
400URL, cuerpo o formato no disponible no válido.Corrija la solicitud. Vuelva a resolver los formatos.
401Falta clave, no válida, caducada o con alcance incorrecto.Compruebe la credencial del lado del servidor.
403La directiva de inquilino o de origen rechazó la solicitud.No elude la política. Contacte con el soporte.
404Trabajo desconocido o caducado.Cree un nuevo trabajo si es apropiado.
429Se alcanzó el límite de solicitudes o trabajos activos.Honor retry_after_seconds.
503Cola/capacidad o upstream temporalmente no disponible.Vuelva a intentarlo con retroceso exponencial y fluctuación.
05

Contrato de explotación

YTSave issues an operational quota with each approval to safeguard the API consumer and upstream media services.

YTSave handles Schema access by first identifying activation before exploration. It follows with assigned authentication and keeps documented request shapes in view. Referencia de OpenAPI

ACCESO REVISADO POR EL OPERADOR

Request your API key

Document the API consumer, its monthly request estimate and supported platform requirements. YTSave reviews whether resolve, job submission or both are justified before issuing a once-visible key.

Request API access Las claves están limitadas al ámbito del inquilino, son revocables y se emiten a través del formulario de contacto.