Quick Start Guide
- Open UniversalDL and paste a URL into the download bar.
- Select your preferred quality and format.
- Click Download and save the file to your device.
https://youtube.com/watch?v=dQw4w9WgXcQ
https://www.tiktok.com/@user/video/1234567890
https://www.instagram.com/reel/XXXXXXXX/
No-Account Download
You can download without registering. Paste a URL on the download page and UniversalDL will analyze the content instantly. The free plan supports up to 1080p quality and small batch limits.
Create an Account
Create a free account to unlock download history, batch queues, and account settings. Pro users receive higher quality limits and API access.
Install Browser Extension
The extension adds a download button directly on supported pages. Click it to open UniversalDL with the URL pre-filled.
Mobile PWA Setup
Install the PWA from your browser menu. It works offline for queued downloads and integrates with the share sheet.
Single URL Download
Single downloads analyze the URL and show available qualities. Choose a format and click Download.
Batch Downloads
Batch mode accepts pasted URLs or a text file. The queue processes items in parallel and tracks each job separately.
Quality Selection
Quality choices depend on the source platform. Pro users can select 4K and 8K when available.
Format Selection
Choose MP4, MKV, WebM, MP3, FLAC, M4A, or WAV. Server side conversion uses FFmpeg for consistent results.
Subtitle Downloads
Select subtitle languages and choose soft embed or hard burn-in. UniversalDL supports srt, vtt, and ass.
Metadata and Chapters
Embed titles, artwork, and chapters into your media files so they stay organized in media libraries.
What Are Subscriptions
Subscriptions monitor channels for new content and download items automatically.
Adding a Channel
Paste the channel URL, choose a frequency, and save. UniversalDL will track new items.
Frequency Settings
Choose hourly, daily, or weekly checks based on how often the channel updates.
Managing Subscriptions
Pause, delete, or update subscriptions from your dashboard. Duplicate content is skipped automatically.
Authentication
API access requires a Pro plan. Generate a key in Settings → API Keys.
Authorization: Bearer YOUR_API_KEY_HERE
POST /api/v1/analyze
Analyze a URL and return available formats and qualities.
curl -X POST https://universaldl.onrender.com/api/v1/analyze \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://youtube.com/watch?v=dQw4w9WgXcQ"}'
{
"platform": "youtube",
"title": "Example",
"qualities": ["4K", "1080p", "720p"],
"formats": ["mp4", "mkv", "mp3"]
}
POST /api/v1/download
Start a download job.
curl -X POST https://universaldl.onrender.com/api/v1/download \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
"quality": "best",
"format": "mp4",
"subtitle_language": "en",
"subtitle_embed": false
}'
GET /api/v1/jobs/<job_id>
Poll the status of a download job. Status values include queued, analyzing, downloading, converting, complete, failed, and cancelled.
POST /api/v1/batch
Submit multiple URLs in one request. Use GET /api/v1/queue/<batch_id> to monitor status.
GET /api/v1/history
Query params: page, per_page, platform, status.
/api/v1/subscriptions
Use GET, POST, and DELETE to manage subscription monitors.
GET /api/v1/formats
Returns all supported formats for downloads.
GET /api/v1/platforms
Returns all supported platforms with status labels.
Error Responses
Standard error format includes error and message. Common codes: missing_api_key, invalid_api_key, limit_exceeded, quality_limit, batch_limit, pro_required, validation_error.
Rate Limits
| Endpoint | Limit |
|---|---|
| /api/v1/analyze | 60 per minute per API key |
| /api/v1/download | 200 per hour per API key |
| /api/v1/batch | 20 per hour per API key |
| All others | 300 per minute per API key |
Installing on Chrome
Open the Chrome Web Store link, click Add to Chrome, and pin the extension for easy access.
Installing on Firefox
Install from the Firefox Add-ons store and allow the minimal permissions.
Using the Extension
The extension detects supported pages and opens UniversalDL with the URL already filled in.
FAQ
Privacy and Security
UniversalDL uses encrypted sessions, CSRF protection, and bcrypt hashing. We never store media files or sell user data.
Billing Questions
Payments are processed by Razorpay in INR. Your Pro access lasts for the full paid period.