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, 3:56 AM
$0.001
per chart entry
Up to 100 per call. Only pay for results returned; failed calls are refunded.
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
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://api.usesourcelane.com/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
| Field | Type | Required | Description |
|---|---|---|---|
charts | array | optional | Which 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. |
countries | array | optional | Two-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. |
period | string | optional | Weekly or daily chart. Daily is only published for Top Music Videos and Top Songs on Shorts; other charts fall back to weekly. |
date | string | optional | YYYY-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. |
maxItemsPerChart | integer | optional | Maximum rows per chart and country. Charts have up to 100 entries (Shorts songs 50, trending videos 30). Set 0 for all. |
Each result contains
| Field | Type | Description |
|---|---|---|
chartType | string | — |
chartName | string | Chart |
country | string | — |
countryName | string | Country |
period | string | Period |
chartDate | string | Chart date |
rank | integer | Rank |
previousRank | integer | Prev. rank |
rankChange | integer | Change |
isNewEntry | boolean | — |
periodsOnChart | integer | Periods on chart |
title | string | Title |
artists | array | — |
artistNames | string | Artists |
views | integer | Views |
percentViewsChange | number | Views change % |
videoId | null | — |
url | string | URL |
musicUrl | null | — |
channelId | string | — |
channelName | string | — |
channelUrl | string | — |
durationSeconds | null | — |
label | null | — |
releaseDate | null | — |
songwriters | null | — |
producers | null | — |
thumbnailUrl | string | — |
entityId | string | — |
chartUrl | string | — |
scrapedAt | string | — |
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.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/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}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/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"])—
0 reviews
Leave a review
Loading reviews…