Billboard Charts Scraper: Hot 100 & History
Pricing
from $10.00 / 1,000 chart entries
Billboard Charts Scraper: Hot 100 & History
Scrape Billboard charts: Hot 100, Billboard 200, Global 200 and 12 more, for the current week or any week back to 1958. Get rank, title, artist, last week, peak, weeks on chart and cover art. Export CSV, Excel, JSON, XML. No login or API key. $10 per 1,000 entries.
Pricing
from $10.00 / 1,000 chart entries
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Share
🎵 Billboard Charts Scraper: Hot 100 & History
Billboard Charts Scraper exports Billboard chart data from any chart on billboard.com (Hot 100, Billboard 200, Global 200, Canadian Hot 100, UK, Japan and about 250 more) for the current week, a list of dates or a start-to-end date range, with Hot 100 history back to 1958. Each row has rank, title, artist, last week, peak position, weeks on chart, position change, new-entry and re-entry flags and cover art. Export CSV, Excel, JSON or XML. No login, no API key. Priced at $10 per 1,000 chart entries, so a top-10 costs $0.10.
The Billboard Charts Scraper turns Billboard's weekly rankings into a dataset you can sort, join and chart: every chart position becomes one row. Checked on 2026-10-04: the Hot 100 for 2020-06-13 returned "Rockstar" by DaBaby Featuring Roddy Ricch at #1.
🎯 What does the Billboard Charts Scraper do?
- Scrapes the Billboard Hot 100 and any other chart you name, by slug (
canadian-hot-100,japan-hot-100) or by full chart URL. - Gets historical Billboard charts for listed dates (YYYY-MM-DD) or a start and end date range that steps week by week. Hot 100 history reaches back to 1958-08-04.
- Adds last week, peak position, weeks on chart and position change for every entry, plus NEW and RE-ENTRY flags.
- Lets you keep only the top 10, top 40 or full 100 (200 for the Billboard 200) per chart week.
- Optionally adds a chart week summary row: number 1 title and artist, entry count, new entries and re-entries.
- Has an only-new mode for scheduled runs: a weekly run returns just the new chart week, and skipped entries are not charged.
📋 What data can you extract from Billboard charts?
| Field | Description |
|---|---|
recordType, chart, chartName | chart-entry or chart-summary; chart slug such as hot-100; name from the page heading |
chartDate | Chart week date (current on all-time lists) |
rank, title, artist, artistUrl | Position, song or album title, artist as printed, Billboard artist page when linked |
lastWeek, peakPosition, weeksOnChart | Position last week (omitted for new entries and re-entries), best position, weeks on chart |
positionChange | Last week minus this week, positive means the entry climbed (omitted for new and re-entry rows) |
isNew, isReEntry | Yes or No flags |
imageUrl, url, scrapedAt | Cover art URL when shown, source chart page, UTC timestamp |
Fields Billboard does not show for a row are left out of that row instead of being filled with placeholders. Charts that have no weekly stats, such as all-time lists, omit lastWeek, peakPosition and weeksOnChart. Summary rows (optional) add numberOneTitle, numberOneArtist, entries, newEntries and reEntries, plus chartName. The schema has 22 data fields.
🧪 Sample output of the Billboard chart scraper
A row from a run with charts: ["hot-100"] and weeks: ["2020-06-13"] (abridged):
{"recordType": "chart-entry","chart": "hot-100","chartDate": "2020-06-13","rank": 1,"title": "Rockstar","artist": "DaBaby Featuring Roddy Ricch","lastWeek": 3,"peakPosition": 1,"weeksOnChart": 7,"positionChange": 2,"isNew": "No","scrapedAt": "2026-10-04T05:02:17.178Z"}
💰 How much does it cost to scrape Billboard charts?
Pay per event. You are charged only for rows delivered, never for failed or empty requests.
| Event | Price | When it is charged |
|---|---|---|
| Chart entry | $0.01 | One chart position row |
| Chart week summary | $0.015 | One optional summary row per chart week (off by default) |
Worked example: 1,000 chart entries at $0.01 each cost $10.00 (for instance ten full Hot 100 weeks), and adding a summary row for each of those ten weeks adds $0.15. A top-10 of one week costs $0.10, a full Hot 100 week costs $1.00, and a top-10 for each of 52 weeks costs $5.20. Error rows and failed runs are not charged, nor are entries skipped in only-new mode. Set a maximum cost per run and the actor stops cleanly. Free plan users get a 10-row preview.
🚀 How to scrape Billboard charts (3 steps)
- Open the actor and enter one or more chart slugs or chart URLs (the default is
hot-100). - Optionally add week dates or a From and To date range, leave them empty for the current week, and set positions per chart.
- Click Start, then download the dataset as CSV, Excel, JSON or XML.
⚙️ Input
| Field | Type | Meaning |
|---|---|---|
charts | list of text | Chart slugs or full chart URLs, default ["hot-100"]. A URL with a date reads that week. A slug is checked with ^[a-z0-9-]+$ |
weeks | list of text | Dates as YYYY-MM-DD; Billboard weeks end on Saturday and nearby dates resolve to that week; empty means the current week |
startDate | text, default empty | First chart week of a date range, YYYY-MM-DD |
endDate | text, default empty | Last chart week of the range; defaults to the latest chart when startDate is set. Future dates are capped at the current chart |
maxItems | integer | Total row cap across the run (free plan: 10) |
positionsPerChart | integer, default 100 | Positions kept per chart week (1 to 200) |
includeChartSummary | boolean, default false | Add one summary row per chart week |
onlyNew | boolean, default false | Skip entries an earlier run of the same search already returned |
stateKey | text, default empty | Optional label to keep several independent only-new monitors |
resetSeen | boolean, default false | Clear the stored seen list before the run |
The range steps 7 days from the first Saturday on or after startDate, merges with weeks, and is capped at 520 chart pages per run.
{"charts": ["canadian-hot-100"],"startDate": "2024-01-06","endDate": "2024-01-27","positionsPerChart": 5,"maxItems": 40,"includeChartSummary": true}
📦 Output
Rows go to the default dataset. If a slug does not exist (for example tiktok-billboard-top-50, which returns HTTP 404 on Billboard), you get one error row and a clear status message, and nothing is charged. A future date, a blocked request or an unreadable page also ends without charges.
📈 Billboard Charts Scraper vs alternatives
Competitor features and prices read on 2026-10-09.
| Capability | This actor | jungle_synthesizer | automation-lab |
|---|---|---|---|
| Charts covered | Any slug or URL | Any slug, 200+ | Any slug or URL |
| History depth | Hot 100 back to 1958 | Not stated | Not stated |
| Date range | Start and end dates | Start and end dates | Listed dates only |
| Summary row | Yes, optional | Not shown | Not shown |
| Fields | 22 | 11 | 12 |
| Only-new mode | Yes | Not shown | Not offered |
| Export | CSV, Excel, JSON, XML | Not listed | JSON, CSV, Excel, XML, RSS |
| Price per 1,000 | $10 | $1.00 plus start fee | From $0.46 (header) |
We are more expensive per row than these, and maximedupre/billboard ($0.90 per 1,000, URL input, date range, 11 to 12 fields) is cheaper too. What you get for the difference: a stated 1958 history depth, a summary row, only-new monitoring, a position cap so you pay for a top-10 only, derived positionChange and artistUrl, and no billing for error or empty rows. jungle_synthesizer also has a resume cursor that we do not. If you only need plain ranks, a cheaper listing may suit you better.
💡 Billboard chart data use cases
Music industry analytics on chart runs and peaks, journalism tables such as every number one of the 1990s, playlist planning from new-entry and position-change flags, and decades of weekly rankings as research data.
🔌 Run via API, schedule and integrations
Call it with the Apify API, for example with the JavaScript client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('recordsdata/billboard-charts-scraper').call({charts: ['hot-100'], weeks: ['2020-06-13'], positionsPerChart: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Billboard publishes new charts on Tuesdays, so a weekly Tuesday schedule with onlyNew on gets just the freshest week. Connect the dataset to Zapier, Make, n8n, Google Sheets or webhooks.
🤖 Billboard charts scraper MCP server for AI agents (Claude, Cursor, VS Code)
Connect any MCP client through the Apify MCP server with this URL:
https://mcp.apify.com?tools=RecordsData/billboard-charts-scraper
MCP client config:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=RecordsData/billboard-charts-scraper"}}}
Example agent prompt: "Use the Billboard charts scraper to get the top 10 of the Hot 100 for the weeks of 2020-06-13 and 2021-06-12, then tell me which songs appear in both and how many weeks each had been on the chart."
Choose this tool when an agent needs Billboard rankings, past or current, with movement fields (last week, peak, weeks on chart) as structured rows. It takes the same input as the actor (charts, weeks, startDate, endDate, positionsPerChart, maxItems); set positionsPerChart and maxItems to keep agent runs small and cheap.
⚖️ Is it legal to scrape Billboard charts?
The actor reads the public chart pages that anyone can open without logging in. Billboard's terms apply to how you reuse the data, so check them for commercial redistribution. This is an independent tool and is not affiliated with Billboard.
❓ Frequently asked questions
How do I export the Billboard Hot 100 to CSV or Excel?
Open the Billboard Charts Scraper, keep hot-100 in the Charts field and click Start. When the run finishes, open the dataset tab and download the rows as CSV, Excel, JSON or XML. Add dates in the Weeks field to export past weeks as well.
How far back do Billboard charts go?
The Billboard Charts Scraper can read the Hot 100 back to its first week, 1958-08-04. Other charts start on their own launch dates. A date before a chart's first week resolves to that first week, so check the chartDate field on each row to see which Billboard week you actually received.
Which Billboard charts are supported?
The Billboard Charts Scraper accepts any chart on billboard.com/charts, about 250 in total. Type the slug, such as hot-100, billboard-200 or japan-hot-100, or paste a full chart URL from billboard.com. Slugs that do not exist return one never-charged error row instead of a failed run.
Can I get only the top 10 from Billboard?
Yes. Set positionsPerChart to 10 in the Billboard Charts Scraper and it keeps only the first ten positions of every chart week. You are charged $0.01 per delivered Billboard chart entry, so a top-10 for one week costs $0.10, and a top-10 for each of 52 weeks costs $5.20.
How are new entries and re-entries shown in the Billboard data?
In the Billboard Charts Scraper output, the isNew and isReEntry fields are set to Yes or No on every chart-entry row. For a new entry or a re-entry the lastWeek field is left out of the row, because Billboard shows no previous position for it. Peak position and weeks on chart are still included when Billboard displays them.
What does the Billboard chart summary row add?
When you switch on includeChartSummary, the Billboard Charts Scraper adds one extra row per chart week with the number 1 title and artist, the entry count, new entries and re-entries. It is off by default and billed as its own event at $0.015 per Billboard chart week, in addition to the $0.01 chart entries.
Do I need an API key or login to scrape Billboard?
No. The Billboard Charts Scraper reads the public Billboard chart pages that anyone can open without an account, so you need no Billboard login and no Billboard API key. You only need an Apify account to run the actor, and the free plan returns a 10-row preview.
What if my date is not a Billboard chart Saturday?
Billboard chart weeks end on a Saturday. If you give the Billboard Charts Scraper a nearby date in the Weeks field, it resolves to the chart week that contains it, the same way the Billboard site does. The chartDate field on each output row shows the exact week date that was returned.
Why did I get 0 results from the Billboard Charts Scraper?
The most common cause is a date with no Billboard page, such as a date in the future, or a chart slug that does not exist on Billboard. A bad slug returns one error row with a clear message. When no chart rows can be read, the Billboard Charts Scraper ends the run with a clear message and charges nothing.
How many Billboard rows can one run return?
Paid plans can return up to 1,000,000 rows per Billboard Charts Scraper run, set with maxItems. A full year of Hot 100 weeks is 5,200 rows, and a date range run reads at most 520 chart pages. Free plan runs are limited to 10 rows. Set maxItems to control your maximum spend.
How do I scrape a date range of Billboard charts?
Set startDate and endDate in YYYY-MM-DD format. The Billboard Charts Scraper steps seven days from the first Saturday on or after the start date and reads one chart page per week and per chart, merging with any dates in weeks. Without an end date it runs up to the latest chart. A run is capped at 520 chart pages.
How do I get only new Billboard chart entries each week?
Switch on onlyNew and schedule the Billboard Charts Scraper weekly. It remembers the entries it already returned for the same search, kept in a key-value store named billboard-seen in your own Apify account, and returns only the new chart week. Skipped entries are not charged. Use stateKey for independent monitors and resetSeen to start over.
Can I paste a Billboard chart URL instead of a slug?
Yes. The Charts field takes full billboard.com chart URLs as well as slugs. If the URL contains a date, such as a Billboard 200 page for 2023-12-02, the Billboard Charts Scraper reads that week. Only billboard.com/charts addresses work, and a chart that does not exist returns one never-charged error row.
🎧 Want more music and ranking data?
- Deezer Scraper: tracks, artists, albums and charts from Deezer
- TikTok Scraper: where chart hits start
- F1 Racing Results Scraper: another deep historical ranking dataset
🆘 Support
Open an issue in the Issues tab of this actor, or write to contact.punkrecordsdata@gmail.com. Last updated: 2026-10-11