Your product team needs a working YouTube downloader this week, and you need to verify it end-to-end in Postman before you wire it into your backend. By the end of this guide, you’ll be able to authenticate with Zyla API Hub, hit the YouTube Download and Info API’s Download endpoint in Postman, and programmatically retrieve the job ID and thumbnail URL you can use to track and present progress to your users.
What the YouTube Download and Info API does
The YouTube Download and Info API provides a simple HTTP endpoint to kick off downloads for regular YouTube videos in specific formats (video resolutions or audio formats) and returns a short JSON with a unique download job ID, the video’s thumbnail image URL, and a progress URL. It’s commonly used in:
- Server-side workers that enqueue a conversion and poll for progress.
- Backend-for-frontend services that return a job ID to clients for UI updates.
- Internal tools that need a fast way to fetch a playable file in a specific format.
Notes you should plan for in your implementation:
- Audio download links expire after 2 hours.
- This endpoint supports downloading regular videos only.
Getting started on Zyla API Hub
Open the YouTube Download and Info API page on Zyla API Hub: YouTube Download and Info API. Click Subscribe (or Start Free Trial when available), then generate an API key. Billing is subscription + quota (not pay-per-call). The first API on Zyla typically offers a 7-day trial or 50 requests; there is no Free Plan. Check the API page for current access options and pricing.
If you don’t have an account yet, create one here: Register. You can explore other categories and APIs anytime on Zyla API Hub.
Endpoint you’ll test in Postman
The API exposes a single downloadable trigger endpoint you can invoke with the video URL and desired format.
Download (GET)
- Method: GET
- URL: https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download
- Auth: Authorization header with Bearer token
- Required query parameters:
- url (string): The YouTube video URL. Example: https://www.youtube.com/watch?v=aGSKrC7dGcY
- format (string): Desired output format.
Accepted values for the format parameter:
- Videos: 360p, 480p, 720p, 1080p, 1440p, 2160p
- Audios: mp3, m4a, flac, opus, wav
Notes:
- Audio download links expire after 2 hours.
- This endpoint supports downloading regular videos only.
Postman: step-by-step
1) Create a new request
In Postman, click New → HTTP Request. Set the method to GET.
2) Set the request URL
Paste the full endpoint with query parameters (you can either paste the encoded form or use the Params tab):
https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DaGSKrC7dGcY&format=720
If using the Params UI in Postman, add:
- Key:
url| Value:https://www.youtube.com/watch?v=aGSKrC7dGcY - Key:
format| Value:720
3) Add the Authorization header
Under Headers, add:
- Key:
Authorization - Value:
Bearer YOUR_API_KEY
Replace YOUR_API_KEY with the key from your Zyla account.
4) Send and inspect the response
Click Send. You should receive a JSON payload with fields you can use to track the job and show a preview image to the user.
Official cURL you can import into Postman
You can also import this exact cURL into Postman (File → Import → Raw text) to get a prefilled request:
curl -s -X GET "https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DaGSKrC7dGcY&format=720" \
-H "Authorization: Bearer YOUR_API_KEY"
Sample JSON response
{
"success": true,
"id": "2ec15939807689549d3f3115f168be6b9c868105",
"image": "https://i.ytimg.com/vi/aGSKrC7dGcY/hqdefault.jpg",
"progress_url": "https://youtube-api-progress-copy-development.up.railway.app/api/progress?id=2ec15939807689549d3f3115f168be6b9c868105"
}
Field meanings you’ll actually use:
- success: Boolean indicating the request was accepted.
- id: Unique job identifier for the initiated download.
- image: A thumbnail URL (useful for your UI while the download is in progress).
- progress_url: A URL you can use to track the job’s progress on your side.
Code example: JavaScript (Node.js)
This Node.js example calls the same endpoint, parses the JSON, and logs the fields you’ll wire into your job tracking and UI code. It uses only the documented URL and parameters.
import fetch from "node-fetch";
const API_KEY = process.env.ZYLA_API_KEY; // set YOUR_API_KEY in env
const videoUrl = "https://www.youtube.com/watch?v=aGSKrC7dGcY";
const format = "720"; // see list of supported values below
async function startDownload() {
const endpoint = "https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download";
const url = new URL(endpoint);
url.searchParams.set("url", videoUrl);
url.searchParams.set("format", format);
const res = await fetch(url.toString(), {
method: "GET",
headers: {
Authorization: `Bearer ${API_KEY}`
}
});
if (!res.ok) {
const text = await res.text();
throw new Error(`HTTP ${res.status}: ${text}`);
}
const data = await res.json();
// Expected fields per official sample:
// success, id, image, progress_url
console.log("Accepted:", data.success);
console.log("Job ID:", data.id);
console.log("Thumbnail:", data.image);
console.log("Progress URL:", data.progress_url);
// You can now persist data.id and data.progress_url to poll from a worker/UI.
}
startDownload().catch(err => {
console.error("Failed to start download:", err);
});
Supported format values:
- Video: 360p, 480p, 720p, 1080p, 1440p, 2160p
- Audio: mp3, m4a, flac, opus, wav
Implementation notes:
- Audio download links expire after 2 hours; plan your workflow accordingly.
- This endpoint supports regular videos only.
Real-world integration tips
- URL encoding: If you manually build the query string, ensure the YouTube URL is percent-encoded as shown in the cURL example. High-level clients (URL, Params tab in Postman) handle this for you.
- Auth handling: Keep the Authorization header as
Bearer YOUR_API_KEY. Do not send keys as query params. - Job tracking: Immediately persist the
idandprogress_urlin your datastore so workers or clients can poll and update the UI. - Format selection: Offer only the documented set to users. For video: 360p, 480p, 720p, 1080p, 1440p, 2160p. For audio: mp3, m4a, flac, opus, wav.
- Expiry-aware UX: If you surface audio links to end users, show time-sensitive messaging because links expire after 2 hours.
- Error surfaces: If you receive a non-2xx response, log both status and body for debugging (as shown in the JS example).
Using the API from AI agents via MCP
Every API on Zyla can be called from AI agents that support the Model Context Protocol (MCP). Point your MCP-compatible client (e.g., Claude Code, Cursor, Windsurf) to the MCP endpoint and provide your Zyla API key. See MCP details here: MCP. The same Authorization header applies: Bearer YOUR_API_KEY. Once the tool is configured, prompt the agent to invoke the Download endpoint with the url and format parameters to initiate a job and return the id, image, and progress_url.
Common workflows you can ship this week
- Backend API for “Download” button: Your service receives a YouTube URL, validates it, and calls the Download endpoint with a user-selected resolution or audio format. It returns the job
idandimageimmediately for a responsive UI. - Worker-based conversion: A background worker reads queued jobs, monitors
progress_url, and updates database state so your clients display progress to the user. - Audio-only flow: For podcasting tools or sound libraries, request audio formats (mp3, m4a, flac, opus, wav) and surface a reminder that links expire after 2 hours.
Recap: minimal fields you need to integrate
- Endpoint: GET https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download
- Headers: Authorization: Bearer YOUR_API_KEY
- Query params: url, format
- Response core fields: success, id, image, progress_url
Bookmark the API page for reference: YouTube Download and Info API on Zyla. Explore other ready-to-use APIs across categories on Zyla API Hub.
FAQ
Is there a free plan?
There is no Free Plan. Zyla uses a subscription + quota model. The first API typically offers a 7-day trial or 50 requests. Check the API page for current options.
Which formats can I request?
Video: 360p, 480p, 720p, 1080p, 1440p, 2160p. Audio: mp3, m4a, flac, opus, wav.
How do I authenticate?
Send the header Authorization: Bearer YOUR_API_KEY with each request.
Can I download live streams?
This endpoint supports downloading regular videos only.
Do download links expire?
Audio download links expire after 2 hours. Design your flow to fetch and consume them promptly.
Ready to test it in Postman and ship your integration? Create your account, subscribe to the API, and grab your key here: Register. Then open the YouTube Download and Info API page and run the Download endpoint as shown above.