Billboard Charts History Scraper avatar

Billboard Charts History Scraper

Pricing

Pay per event

Go to Apify Store
Billboard Charts History Scraper

Billboard Charts History Scraper

Scrape historical Billboard chart data — Hot 100, Billboard 200, Artist 100, genre charts, and more. Walk any date range by chart to get rank, title, artist, last week position, peak, and weeks on chart.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape historical and current Billboard chart data — Hot 100, Billboard 200, Artist 100, genre charts, and more. Specify a date range to collect full chart-run timelines, or omit dates to get the current week across all major charts.

What you get

Each record contains:

FieldTypeDescription
chartstringChart slug (e.g. hot-100, billboard-200)
chart_datestringWeek-ending date in YYYY-MM-DD format
rankintegerChart position (1 = #1)
titlestringSong or album title
artiststringArtist name(s)
last_weekintegerRank the prior week (null for new entries)
peak_positionintegerHighest chart position ever reached
weeks_on_chartintegerTotal weeks on this chart
is_newbooleanFirst week on the chart
is_reentrybooleanReturned after a gap
billboard_urlstringSource URL for this chart/date page

How to use

Current week (default)

Leave startDate and endDate empty. The actor fetches the current chart week for every chart in your charts list.

Historical back-fill

Set startDate and endDate to an ISO date range (e.g. 2024-01-01 to 2024-03-31). The actor walks every Saturday-ending chart week in that range — Billboard's native cadence.

Multi-chart run

Set charts to a list of slugs:

{
"charts": ["hot-100", "billboard-200", "artist-100", "country-songs", "latin-songs"],
"startDate": "2023-01-01",
"endDate": "2023-12-31"
}

This produces a full-year view across 5 charts (approximately 250 chart-week pages with 50 to 200 rows each).

Input parameters

ParameterTypeDefaultDescription
chartsstring[]Major chartsList of Billboard chart slugs to scrape. Leave empty for all 16 default major charts.
startDatestringCurrent weekStart date YYYY-MM-DD. Leave empty for current week only.
endDatestringCurrent weekEnd date YYYY-MM-DD. Defaults to current week if startDate is set.
maxItemsinteger0 (unlimited)Cap on total records collected.

Available chart slugs (selected)

SlugChart name
hot-100Billboard Hot 100
billboard-200Billboard 200 (albums)
artist-100Billboard Artist 100
streaming-songsStreaming Songs
radio-songsRadio Songs
digital-song-salesDigital Song Sales
country-songsHot Country Songs
latin-songsHot Latin Songs
rock-songsHot Rock Songs
rap-songHot Rap Songs
r-b-hip-hop-songsHot R&B/Hip-Hop Songs
adult-contemporaryAdult Contemporary
adult-pop-songsAdult Pop Airplay
hot-alternative-songsHot Alternative Songs

Billboard has 200+ chart slugs. Any slug from the charts navigation at billboard.com/charts/ will work.

Use cases

  • Music analytics — track chart trajectories, peak positions, and weeks-on-chart for any song or artist over any time range
  • Journalism and research — pull historical chart data for articles, features, or academic research
  • Artist history — reconstruct an artist's full chart-run timeline across all charts
  • Trend analysis — compare chart performance across genres and time periods
  • Database enrichment — join chart data with streaming, radio, or sales data for deeper analysis

Performance and cost

  • Each chart/date page: 200-800 ms fetch time, 50-200 rows extracted
  • A full current-week run across 16 default charts: approximately 15 seconds, 945 records
  • A full-year back-fill for Hot 100: 52 requests x 100 rows = 5,200 records
  • No proxy required — Billboard serves chart data to datacenter IPs

Notes

  • Billboard chart weeks end on Saturday. When you specify a date range, the actor snaps to the nearest Saturday and steps by 7 days.
  • If a requested date redirects (Billboard sometimes adjusts historical dates), the chart_date field reflects the actual chart returned.
  • The last_week field is null for new entries (is_new: true) and re-entries (is_reentry: true).