Official Charts UK Singles & Albums Chart Scraper
FOR CREATORSEDUCATION
Official Charts UK Singles & Albums Chart Scraper
Scrape weekly chart data from the Official UK Charts — the UK's authoritative chart body. Retrieve current or historical chart positions for singles, albums, and genre/format charts with full position metadata: rank, artist, title, movement, peak position, and weeks on chart.
Features
- Scrapes any Official Charts chart: singles, albums, dance, indie, classical, and more (40+ charts available)
- Current week or full historical archive back to 1952 via dated archive URLs
- Captures rank, title, artist, movement (new / up / down / non-mover / re-entry), peak position, and weeks on chart
- Date-range walk: fetch multiple weeks in one run
- Respects maxItems limit for budget control
How it works
The actor uses a two-phase hierarchical crawl:
- Chart discovery — fetches the current chart page to identify the chart ID and most-recent published date
- Chart extraction — fetches weekly archive pages (
/charts/<slug>/YYYYMMDD/<chart-id>/) and extracts all 100 chart entries per page
Chart pages are server-rendered HTML; no browser automation required.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
charts |
array | ["singles-chart", "albums-chart"] |
List of chart slugs to scrape |
startDate |
string | (current week) | Earliest chart date to fetch, format YYYY-MM-DD |
endDate |
string | (current week) | Latest chart date to fetch, format YYYY-MM-DD |
maxItems |
integer | 15 | Maximum total records across all charts and weeks |
Available chart slugs (sample)
singles-chart, albums-chart, dance-singles-chart, dance-albums-chart, indie-singles-chart, indie-albums-chart, classical-chart, irish-singles-chart, irish-albums-chart, afrobeats-chart, country-artists-albums-chart, folk-albums-chart
Output schema
Each record contains:
| Field | Type | Description |
|---|---|---|
chart |
string | Chart slug (e.g. singles-chart) |
chart_date |
string | Chart week date (YYYY-MM-DD) |
rank |
integer | Chart position (1–100) |
title |
string | Track or album title |
artist |
string | Artist name |
last_week |
integer | Position last week (null for new entries) |
peak_position |
integer | All-time peak chart position |
weeks_on_chart |
integer | Number of weeks on the chart |
is_new |
boolean | True if this is a new entry this week |
movement |
string | new / re-entry / up / down / non-mover |
officialcharts_url |
string | URL to the song/album page on officialcharts.com |
Example output
{
"chart": "singles-chart",
"chart_date": "2026-05-22",
"rank": 1,
"title": "REIN ME IN",
"artist": "SAM FENDER & OLIVIA DEAN",
"label": null,
"last_week": 1,
"peak_position": 1,
"weeks_on_chart": 49,
"is_new": false,
"movement": "non-mover",
"officialcharts_url": "https://www.officialcharts.com/songs/sam-fender-rein-me-in/"
}
Use cases
- Music analytics and chart history research
- UK chart performance tracking for labels and artists
- Building UK chart datasets as a complement to Billboard US chart data
- Automated weekly chart monitoring
Notes
- Label information is not included — the Official Charts site requires JavaScript to load the expanded detail panel containing label data
- Charts publish weekly, generally on Fridays; the date navigator on each chart page reveals the most-recent published date
- Archive coverage depends on the chart; the main singles and albums charts have data back to 1952