Billboard APIbillboard.com ↗
Access Billboard chart rankings, latest music news, and full article content via 5 endpoints. Query the Hot 100, Billboard 200, and more.
What is the Billboard API?
The Billboard.com API exposes 5 endpoints covering chart rankings, music news, and full article content from Billboard.com. Use get_chart to pull ranked entries with fields like rank, peak_position, weeks_on_chart, and trending_info for any named chart — from the Hot 100 to the Artist 100 — and search to query articles by keyword, category, and page across Billboard's editorial catalog.
curl -X GET 'https://api.parse.bot/scraper/246b493c-bfba-44e8-a7a0-54df700c24a7/get_chart?chart_name=hot-100' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace billboard-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Billboard SDK — bounded, re-runnable; every call capped."""
from parse_apis.billboard_api import Billboard, ChartName, ArticleSummary, NotFoundError
billboard = Billboard()
# Get the current Hot 100 chart using the ChartName enum
chart = billboard.charts.get(chart_name=ChartName.HOT_100)
print(chart.chart_name)
for entry in chart.items[:5]:
print(entry.rank, entry.title, entry.artist, entry.weeks_on_chart)
# Search for articles about an artist
for article_summary in billboard.articlesummaries.search(query="Drake", limit=5):
print(article_summary.title, article_summary.author, article_summary.date)
# Get the latest news, drill into the first result's full content
news_item = billboard.articlesummaries.latest(limit=1).first()
if news_item:
full_article = news_item.details()
print(full_article.title, full_article.author, full_article.content[:100])
# Fetch an article directly by URL
try:
article = billboard.articles.get(url="https://www.billboard.com/music/music-news/taylor-swift-reveals-third-fragrance-taylor-by-taylor-swift-1565046/")
print(article.title, article.author, article.date)
except NotFoundError as exc:
print(f"Article not found: {exc}")
print("exercised: charts.get / articlesummaries.search / articlesummaries.latest / details / articles.get")
Get Billboard chart data including song rankings, artists, and chart statistics. Supports any Billboard chart (e.g., hot-100, billboard-200, artist-100). Each entry includes rank, title, artist, last week position, peak position, weeks on chart, status (New, Re-Entry, or Stable), and trending info.
| Param | Type | Description |
|---|---|---|
| chart_name | string | Billboard chart identifier as it appears in the URL path (e.g., hot-100, billboard-200, artist-100). |
{
"type": "object",
"fields": {
"items": "array of chart entry objects with rank, title, artist, last_week, peak_position, weeks_on_chart, status, and trending_info",
"chart_name": "string, the chart identifier requested"
},
"sample": {
"data": {
"items": [
{
"rank": "1",
"title": "Hate That I Made You Love Me",
"artist": "Ariana Grande",
"status": "New",
"last_week": "-",
"peak_position": "1",
"trending_info": [],
"weeks_on_chart": "1"
},
{
"rank": "2",
"title": "Choosin' Texas",
"artist": "Ella Langley",
"status": "Stable",
"last_week": "2",
"peak_position": "1",
"trending_info": [],
"weeks_on_chart": "33"
}
],
"chart_name": "hot-100"
},
"status": "success"
}
}About the Billboard API
Chart Data
The get_chart endpoint accepts a chart_name parameter matching Billboard's URL path convention (e.g., hot-100, billboard-200, artist-100). Each entry in the returned items array includes rank, title, artist, last_week, peak_position, weeks_on_chart, status, and trending_info. This covers any Billboard chart accessible by name, so genre-specific and format-specific charts are reachable by the same endpoint.
News and Article Retrieval
get_latest_news returns articles sorted by publication date descending with pagination via page and limit parameters. Each result includes id, title, excerpt, author, date, categories, tags, link, and thumbnail. For targeted content discovery, search accepts a query string plus an optional category filter and sorts by relevance when a query is present, falling back to date order when it is not. Both endpoints expose total_pages and total_results for cursor-free pagination.
Full Article Content
get_article takes a full Billboard article URL and returns the complete content body alongside title, author, date, and the source url. For cases where the content type is unknown in advance, get_page_content accepts any Billboard URL and detects whether it resolves to a chart or an article, returning the appropriate structure — items and chart_name for charts, or title, author, date, content, and url for articles.
Coverage Notes
All five endpoints address publicly visible Billboard pages. Chart data reflects the current published rankings at time of request; historical weekly snapshots are not a separate endpoint. Article content covers the full body text of individual articles but does not include embedded multimedia transcripts or paywall-gated content.
The Billboard API is a managed, monitored endpoint for billboard.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when billboard.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official billboard.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track weekly Hot 100 position changes using rank, last_week, and peak_position fields
- Monitor which songs are new entries or re-entries via the status and trending_info fields
- Aggregate Billboard news headlines and excerpts for a music industry digest feed
- Search Billboard's archive by category to pull genre-specific editorial coverage
- Retrieve full article text for NLP analysis of music industry reporting trends
- Compare weeks_on_chart across multiple chart names to identify cross-format breakout artists
- Auto-detect page type with get_page_content when processing a mixed list of Billboard URLs
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.