Open Source & Free Forever

YouTube Music API for Developers

Search songs, albums, artists, playlists and podcasts. Clean JSON responses. No auth required. Built with Cloudflare Workers.

Quick Start
# Search for songs
curl "https://ytm-api.vrma.dev/search?q=dil+dooba&type=songs"

Why YTM API?

Lightning Fast

Powered by Cloudflare Workers. Edge-deployed globally for sub-50ms responses.

🔓

No Auth Required

Just make a GET request. No API keys, no OAuth, no rate limits.

🎨

Clean JSON

No YouTube bloat. Get exactly what you need: titles, artists, durations, thumbnails.

🖼️

Image CDN

Album art served via our CDN. Variable quality presets from 60px to 1200px.

🎵

Full Coverage

Songs, albums, artists, playlists (featured & community), and podcasts.

🌐

CORS Enabled

Use directly from browser JavaScript. Perfect for web apps and SPAs.

API Endpoints

GET /search

Search YouTube Music for songs, albums, artists, playlists, or podcasts.

Parameter Type Description
q string Search query (required)
type string songs | albums | artists | playlists | featured_playlists | community_playlists | podcasts
Response (Songs)
{
  "query": "dil dooba",
  "type": "songs",
  "results": [
    {
      "videoId": "eG-cS13QWmM",
      "title": "DIL DOOBA",
      "artists": [
        {"name": "SONU NIGAM", "id": "UCsC4u-BJAd4OX1hJXtwXSOQ"}
      ],
      "album": {"name": "KHAKEE", "id": "MPREb_cHdo0SY8o5f"},
      "duration": "3:50",
      "plays": "145M plays",
      "thumbnail": "https://yt-music-images.w3abhishek.workers.dev/eG-cS13QWmM/cover/hq.png"
    }
  ]
}

🖼️ Image CDN

GET /{id}/cover/{quality}.{ext}

Get album/song/artist artwork by ID at variable quality.

Parameter Values Description
id string videoId (songs) or browseId (albums/artists)
quality xs|sm|md|lg|xl|hq|max 60px to 1200px
ext png|jpg|webp Image format
xs 60×60
sm 120×120
md 226×226
lg 400×400
xl 544×544
hq 800×800
max 1200×1200

Examples:

https://yt-music-images.w3abhishek.workers.dev/eG-cS13QWmM/cover/hq.png https://yt-music-images.w3abhishek.workers.dev/MPREb_cHdo0SY8o5f/cover/lg.jpg

API Playground

Try the API right here. No setup required.

Request URL: https://ytm-api.vrma.dev/search?q=dil+dooba&type=songs

Click "Search" to see results

// Results will appear here

Quick Start Guide

JavaScript / Fetch

const response = await fetch(
  'https://ytm-api.vrma.dev/search?q=arijit&type=songs'
);
const data = await response.json();
console.log(data.results);

Python / Requests

import requests

resp = requests.get(
    'https://ytm-api.vrma.dev/search',
    params={'q': 'arijit', 'type': 'songs'}
)
data = resp.json()
print(data['results'])

cURL

# Search for albums
curl "https://ytm-api.vrma.dev/search?q=khakee&type=albums"

# Get album art
curl "https://yt-music-images.w3abhishek.workers.dev/MPREb_cHdo0SY8o5f/cover/hq.png" -o cover.png

Response Types

Songs videoId, title, artists, album, duration, plays
Albums browseId, title, type, artists, year
Artists browseId, name, subscribers
Playlists browseId, title, author, trackCount