# Billboard API
> Read the Billboard charts in real time — no key needed. Pull any chart ranked entry-by-entry: The Hot 100, The Billboard 200 (albums), Artist 100, the Billboard Global 200 and Global Excl. U.S., Streaming Songs, Radio Songs, Digital Song Sales, the TikTok Billboard Top 50 and the major genre charts (Country, Rock & Alternative, R&B/Hip-Hop, Rap, Dance/Electronic, Latin, Christian, Pop Airplay). Every entry carries its rank, title, artist, cover image, last-week position, peak position and weeks-on-chart. Pass ?date=YYYY-MM-DD to fetch any historical week going back decades (default: the latest published chart), and ?chart=<slug> to read any Billboard chart by its slug. Live data parsed from the public Billboard chart pages — no cache. 7 endpoints. Built for music dashboards, trend tracking, artist analytics, radio and label tooling. No upstream key, no cache.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/billboard-api/..."
```

## Pricing
- **Free** (Free) — 2,200 calls/Mo, 2 req/s
- **Starter** ($10/Mo) — 52,000 calls/Mo, 8 req/s
- **Pro** ($28/Mo) — 255,000 calls/Mo, 20 req/s
- **Mega** ($63/Mo) — 1,230,000 calls/Mo, 50 req/s

## Endpoints

### Charts

#### `GET /v1/artist-100` — Artist 100

**Parameters:**
- `date` (query, optional, string) — Chart week YYYY-MM-DD (default: latest)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/billboard-api/v1/artist-100"
```

**Response:**
```json
{
    "data": {
        "chart": "artist-100",
        "count": 100,
        "title": "Artist 100 — most popular artists",
        "entries": [
            {
                "rank": 1,
                "image": "https://charts-static.billboard.com/img/2009/12/drake-v3o-artistchart-ivu-180x180.jpg",
                "title": "Drake",
                "artist": "Drake",
                "last_week": 1,
                "peak_position": 1,
                "weeks_on_chart": 620
            },
            {
                "rank": 2,
                "image": "https://charts-static.billboard.com/img/1972/12/michael-jackson-y4h-artistchart-fuf-180x180.jpg",
                "title": "Michael Jackson",
                "artist": "Michael Jackson",
                "last_week": 2,
                "peak_position": 1,
                "weeks_on_chart": 532
            },
            {
                "rank": 3,
                "image": "https://charts-static.billboard.com/img/2018/01/morgan-wallen-eos-artistchart-g3r-180x180.jpg",
                "title": "Morgan Wallen",
                "artist": "Morgan Wallen",
                "last_week": 3,
                "peak_position": 1,
                "weeks_on_chart": 377
            },
            {
                "rank": 4,
                "image": "https://charts-static.billboard.com/img/2024/07/ellalangley-0yx-artistchart-r6e-180x180.jpg",
                "title": "Ella Langley",
                "artist": "Ella Langley",
                "last
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/billboard-200` — The Billboard 200 (albums)

**Parameters:**
- `date` (query, optional, string) — Chart week YYYY-MM-DD (default: latest)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/billboard-api/v1/billboard-200"
```

**Response:**
```json
{
    "data": {
        "chart": "billboard-200",
        "count": 200,
        "title": "The Billboard 200 — top albums",
        "entries": [
            {
                "rank": 1,
                "image": "https://charts-static.billboard.com/img/2026/05/drake-v3o-iceman-s2k-180x180.jpg",
                "title": "ICEMAN",
                "artist": "Drake",
                "last_week": 1,
                "peak_position": 1,
                "weeks_on_chart": 2
            },
            {
                "rank": 2,
                "image": "https://charts-static.billboard.com/img/2026/04/ellalangley-0yx-dandelion-1tg-180x180.jpg",
                "title": "Dandelion",
                "artist": "Ella Langley",
                "last_week": 5,
                "peak_position": 1,
                "weeks_on_chart": 7
            },
            {
                "rank": 3,
                "image": "https://charts-static.billboard.com/img/2026/05/noah-kahan-h8e-thegreatdivide-uy9-180x180.jpg",
                "title": "The Great Divide",
                "artist": "Noah Kahan",
                "last_week": 4,
                "peak_position": 1,
                "weeks_on_chart": 5
            },
            {
                "rank": 4,
                "image": "https://charts-static.billboard.com/img/2025/05/morgan-wallen-eos-imtheproblem-0k1-180x180.jpg",
                "title": "I'm The Problem",
                "artist": "Morgan Wallen",
                "last_week": 6,
       
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/chart` — Any chart by slug

**Parameters:**
- `chart` (query, required, string) — Billboard chart slug Example: `hot-100`
- `date` (query, optional, string) — Chart week YYYY-MM-DD (default: latest)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/billboard-api/v1/chart?chart=hot-100"
```

**Response:**
```json
{
    "data": {
        "chart": "hot-100",
        "count": 100,
        "title": "The Hot 100 — top songs across all genres",
        "entries": [
            {
                "rank": 1,
                "image": "https://charts-static.billboard.com/img/2009/04/drake-v3o-180x180.jpg",
                "title": "Janice STFU",
                "artist": "Drake",
                "last_week": 1,
                "peak_position": 1,
                "weeks_on_chart": 2
            },
            {
                "rank": 2,
                "image": "https://charts-static.billboard.com/img/2025/11/ellalangley-0yx-choosintexas-3s2-180x180.jpg",
                "title": "Choosin' Texas",
                "artist": "Ella Langley",
                "last_week": 5,
                "peak_position": 1,
                "weeks_on_chart": 32
            },
            {
                "rank": 3,
                "image": "https://charts-static.billboard.com/img/2023/06/ellalangley-yci-180x180.jpg",
                "title": "Be Her",
                "artist": "Ella Langley",
                "last_week": 14,
                "peak_position": 2,
                "weeks_on_chart": 15
            },
            {
                "rank": 4,
                "image": "https://charts-static.billboard.com/img/2009/04/drake-v3o-180x180.jpg",
                "title": "Shabang",
                "artist": "Drake",
                "last_week": 4,
                "peak_position": 4,
                "weeks_on_ch
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/global-200` — Billboard Global 200

**Parameters:**
- `date` (query, optional, string) — Chart week YYYY-MM-DD (default: latest)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/billboard-api/v1/global-200"
```

**Response:**
```json
{
    "data": {
        "chart": "billboard-global-200",
        "count": 200,
        "title": "Billboard Global 200",
        "entries": [
            {
                "rank": 1,
                "image": "https://charts-static.billboard.com/img/2009/04/drake-v3o-180x180.jpg",
                "title": "Janice STFU",
                "artist": "Drake",
                "last_week": 1,
                "peak_position": 1,
                "weeks_on_chart": 2
            },
            {
                "rank": 2,
                "image": "https://charts-static.billboard.com/img/2026/06/oliviarodrigo-3wl-thecure-gac-180x180.jpg",
                "title": "The Cure",
                "artist": "Olivia Rodrigo",
                "last_week": null,
                "peak_position": 2,
                "weeks_on_chart": 1
            },
            {
                "rank": 3,
                "image": "https://charts-static.billboard.com/img/2009/07/michael-jackson-y4h-billiejean-u1v-180x180.jpg",
                "title": "Billie Jean",
                "artist": "Michael Jackson",
                "last_week": 8,
                "peak_position": 1,
                "weeks_on_chart": 146
            },
            {
                "rank": 4,
                "image": "https://charts-static.billboard.com/img/2026/03/bts-jtk-swim-8po-180x180.jpg",
                "title": "Swim",
                "artist": "BTS",
                "last_week": 10,
                "peak_position": 1,
             
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/hot-100` — The Hot 100

**Parameters:**
- `date` (query, optional, string) — Chart week YYYY-MM-DD (default: latest)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/billboard-api/v1/hot-100"
```

**Response:**
```json
{
    "data": {
        "chart": "hot-100",
        "count": 100,
        "title": "The Hot 100 — top songs across all genres",
        "entries": [
            {
                "rank": 1,
                "image": "https://charts-static.billboard.com/img/2009/04/drake-v3o-180x180.jpg",
                "title": "Janice STFU",
                "artist": "Drake",
                "last_week": 1,
                "peak_position": 1,
                "weeks_on_chart": 2
            },
            {
                "rank": 2,
                "image": "https://charts-static.billboard.com/img/2025/11/ellalangley-0yx-choosintexas-3s2-180x180.jpg",
                "title": "Choosin' Texas",
                "artist": "Ella Langley",
                "last_week": 5,
                "peak_position": 1,
                "weeks_on_chart": 32
            },
            {
                "rank": 3,
                "image": "https://charts-static.billboard.com/img/2023/06/ellalangley-yci-180x180.jpg",
                "title": "Be Her",
                "artist": "Ella Langley",
                "last_week": 14,
                "peak_position": 2,
                "weeks_on_chart": 15
            },
            {
                "rank": 4,
                "image": "https://charts-static.billboard.com/img/2009/04/drake-v3o-180x180.jpg",
                "title": "Shabang",
                "artist": "Drake",
                "last_week": 4,
                "peak_position": 4,
                "weeks_on_ch
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/charts` — List known charts

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/billboard-api/v1/charts"
```

**Response:**
```json
{
    "data": {
        "note": "Any valid Billboard chart slug works via /v1/chart?chart=<slug>; this is a curated subset.",
        "count": 17,
        "charts": [
            {
                "slug": "hot-100",
                "title": "The Hot 100 — top songs across all genres"
            },
            {
                "slug": "billboard-200",
                "title": "The Billboard 200 — top albums"
            },
            {
                "slug": "artist-100",
                "title": "Artist 100 — most popular artists"
            },
            {
                "slug": "billboard-global-200",
                "title": "Billboard Global 200"
            },
            {
                "slug": "billboard-global-excl-us",
                "title": "Billboard Global Excl. U.S."
            },
            {
                "slug": "streaming-songs",
                "title": "Streaming Songs"
            },
            {
                "slug": "radio-songs",
                "title": "Radio Songs"
            },
            {
                "slug": "digital-song-sales",
                "title": "Digital Song Sales"
            },
            {
                "slug": "tiktok-billboard-top-50",
                "title": "TikTok Billboard Top 50"
            },
            {
                "slug": "country-songs",
                "title": "Hot Country Songs"
            },
            {
                "slug": "hot-rock-songs",
                "title": "Hot Ro
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/billboard-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "auth": "none upstream; this gateway requires x-api-key",
        "name": "Billboard API",
        "note": "Live chart data, no cache. Pass ?date=YYYY-MM-DD for any historical week (default: latest published chart). Entries carry rank, title, artist, image, last_week, peak_position and weeks_on_chart. For artist/album charts the title is the artist/album and artist may be null.",
        "source": "Billboard charts (billboard.com/charts) — public HTML, parsed live",
        "endpoints": 7
    },
    "meta": {
        "timestamp": "2026-06-02T16:53:13.818Z",
        "request_id": "ecdfaf81-2941-49cb-a6df-94823fbe3c55"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/billboard-api
OpenAPI spec: https://www.oanor.com/api/billboard-api/openapi.json
