Sourcelane

YouTube Music Charts Scraper

YouTube

Operated by Sourcelane✓ verified

Scrapes official YouTube Music charts (Top Songs, Top Artists, Top Music Videos, Trending Music Videos, Top Songs on Shorts) for the global chart and 68 country charts, supporting weekly, daily and live ("right now") periods with historical weekly coverage back to 2016–2019 and daily/Shorts history from Nov 2023. Produces one structured record per chart entry containing chart position metrics (current rank, previous rank, rank change, new-entry flag, weeks/days on chart), performance metrics (views for the chart period and percent change vs previous period), song/video metadata (title, artist names and knowledge‑graph IDs, video identifiers and URLs, music link, duration, release date, label, songwriting and production credits, thumbnail), channel/uploader metadata, and chart context (chart type, chart name, country, period, chart date). Chart sizes vary (up to ~100 entries; Shorts ~50; Trending ~30). No login or YouTube account required. Each chart × country is fetched as a single request; multi-chart, multi-country runs complete in seconds.

Verified Sep 28, 12:10 AM

$0.001

per chart entry

Up to 100 per call. Only pay for results returned; failed calls are refunded.

What people use it for

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.

Call it via Sourcelane

curl -X POST https://cool-puffin-608.convex.site/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"youtube-music-charts-scraper","params":{"charts":["topSongs","topArtists"]},"maxResults":10}'

Request params

FieldTypeRequiredDescription
chartsarrayoptionalWhich charts to scrape. Top Songs and Top Artists are weekly; Top Music Videos and Top Songs on Shorts are weekly or daily; Trending Music Videos is a live chart with no history.
countriesarrayoptionalTwo-letter country codes (e.g. us, gb, de, br, jp, in, mx) or "global" for the worldwide chart. Trending Music Videos is not published for global.
periodstringoptionalWeekly or daily chart. Daily is only published for Top Music Videos and Top Songs on Shorts; other charts fall back to weekly.
datestringoptionalYYYY-MM-DD. Leave empty for the latest chart. For weekly charts, returns the chart week that contains this date. Weekly Top Songs/Artists/Videos history goes back to 2016-2019 depending on country; daily and Shorts charts start in November 2023.
maxItemsPerChartintegeroptionalMaximum rows per chart and country. Charts have up to 100 entries (Shorts songs 50, trending videos 30). Set 0 for all.

Each result contains

FieldTypeDescription
chartTypestring—
chartNamestringChart
countrystring—
countryNamestringCountry
periodstringPeriod
chartDatestringChart date
rankintegerRank
previousRankintegerPrev. rank
rankChangeintegerChange
isNewEntryboolean—
periodsOnChartintegerPeriods on chart
titlestringTitle
artistsarray—
artistNamesstringArtists
viewsintegerViews
percentViewsChangenumberViews change %
videoIdnull—
urlstringURL
musicUrlnull—
channelIdstring—
channelNamestring—
channelUrlstring—
durationSecondsnull—
labelnull—
releaseDatenull—
songwritersnull—
producersnull—
thumbnailUrlstring—
entityIdstring—
chartUrlstring—
scrapedAtstring—

Use YouTube Music Charts Scraper from Claude, ChatGPT or Cursor

Pick your tool and connect in under a minute. Then just ask — for example: “Get the transcript of this video and turn it into a blog outline: <url>”

Connect Claude

Web, desktop and mobile. Paste one URL.

  1. 1Copy your personal connector URL
  2. 2In Claude open Settings → Connectors → Add custom connector
  3. 3Paste the URL and click Add — done
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://cool-puffin-608.convex.site/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "mcpServers": {
    "sourcelane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://cool-puffin-608.convex.site/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://cool-puffin-608.convex.site/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "servers": {
    "sourcelane": {
      "type": "http",
      "url": "https://cool-puffin-608.convex.site/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sourcelane-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sourcelane-key",
      "description": "Sourcelane agent key",
      "password": true
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://sourcelane-amber.vercel.app/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
curl -X POST https://cool-puffin-608.convex.site/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"youtube-music-charts-scraper","params":{"charts":["topSongs","topArtists"]},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://cool-puffin-608.convex.site/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "youtube-music-charts-scraper",
        "params": {"charts":["topSongs","topArtists"]},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…