DJ Mag APIdjmag.com ↗
Access DJ Mag's Top 100 DJs and Clubs rankings, full article content, club profiles, and keyword search via 6 structured API endpoints.
What is the DJ Mag API?
The DJ Mag API provides structured access to djmag.com across 6 endpoints, covering the site's editorial content and annual ranking data. Use get_latest_news to pull paginated article teasers with titles, categories, and thumbnails, or get_top100_djs to retrieve the ranked list of the world's top 100 DJs for any available year. Each endpoint returns clean, typed fields ready for integration into dashboards, research tools, or music industry applications.
curl -X GET 'https://api.parse.bot/scraper/36a7d072-f334-4343-9262-b1128ecca21c/get_latest_news?page=0' \ -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 djmag-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.
from parse_apis.dj_mag_api import DJMag, ArticleSummary, Article, DJ, ClubSummary, Club
djmag = DJMag()
# Browse latest news articles
for article_summary in djmag.articlesummaries.list():
print(article_summary.title, article_summary.url, article_summary.category)
break
# Get full article detail from a summary
first_summary = djmag.articlesummary(url="https://djmag.com/news/nyege-nyege-launches-brussels-festival-mirror-world")
full_article = first_summary.details()
print(full_article.title, full_article.body, full_article.author)
# Search articles by keyword
for result in djmag.articlesummaries.search(query="techno"):
print(result.title, result.url, result.category)
break
# Get Top 100 DJs for a specific year
for dj in djmag.djs.list(year="2024"):
print(dj.rank, dj.name, dj.profile_url)
break
# Get Top 100 Clubs and drill into a profile
for club_summary in djmag.clubsummaries.list(year="2024"):
print(club_summary.rank, club_summary.name)
club_detail = club_summary.profile()
print(club_detail.name, club_detail.bio)
for link in club_detail.links:
print(link.text, link.href)
break
Fetch the latest news articles from djmag.com, paginated. Returns article teasers with title, URL, category, and thumbnail. Page 0 is the most recent. Each page returns approximately 15-20 articles.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed). |
{
"type": "object",
"fields": {
"page": "integer, the current page number",
"articles": "array of article teaser objects with title, url, category, thumbnail, and excerpt"
},
"sample": {
"data": {
"page": 0,
"articles": [
{
"url": "https://djmag.com/news/nyege-nyege-launches-brussels-festival-mirror-world",
"title": "Nyege Nyege launches Brussels festival, MIRROR WORLD",
"excerpt": "",
"category": "News",
"thumbnail": "https://djmag.com/sites/default/files/styles/djm_23_961x540_jpg/public/2026-06/Credit-NyegeNyegeFestival.jpg?itok=1WyKNrYH"
}
]
},
"status": "success"
}
}About the DJ Mag API
News and Article Endpoints
get_latest_news returns paginated article teasers from djmag.com, with each page yielding roughly 15–20 items including title, url, category, thumbnail, and excerpt. Pages are 0-indexed, with page 0 being the most recent content. To retrieve full article text, pass any url from those results into get_news_article, which returns the complete body, author, date, tags, inline links, emails, and a subtitle. The search_articles endpoint accepts a query string and returns matching article teasers in the same teaser shape — useful for filtering editorial coverage by artist name, genre, or event.
Rankings Endpoints
get_top100_djs and get_top100_clubs each accept an optional year parameter (e.g. '2024') and return ordered arrays of ranked entries. Each DJ object includes rank, name, and profile_url. Club objects follow the same shape. These endpoints cover DJ Mag's annual poll results, making it straightforward to compare rankings across years or detect movements in the list.
Club Profile Endpoint
get_top100_club_profile accepts a url from the clubs ranking results and returns structured club data: a bio string, an info object with venue-specific fields (keys vary by club), the club name, and an array of external links with text and href values pointing to social media and official websites. This endpoint is the deepest level of detail the API exposes for any individual venue.
The DJ Mag API is a managed, monitored endpoint for djmag.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when djmag.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 djmag.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 DJ Mag's Top 100 DJs rankings year-over-year by comparing
rankandnamefields across multipleget_top100_djsresponses. - Build a club discovery tool by pulling ranked clubs from
get_top100_clubsand enriching each entry with bio and social links fromget_top100_club_profile. - Monitor DJ Mag editorial coverage of a specific artist or label using
search_articleswith targeted keyword queries. - Aggregate the latest electronic music news into an RSS-style feed using
get_latest_newswith incremental page numbers. - Extract author bylines, tags, and publication dates from full articles via
get_news_articleto analyze editorial trends over time. - Collect social media profiles for top clubs by parsing the
linksarray returned inget_top100_club_profile. - Identify which DJ or club categories receive the most editorial coverage by cross-referencing
search_articlesresults withcategoryfields.
| 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.
Does DJ Mag offer an official developer API?+
What does get_news_article return beyond the article body?+
get_news_article returns the full body text along with author, date, subtitle, tags (an array of strings), links (inline hyperlinks with text and href), and any emails found in the article content. The url field echoes back the URL you submitted.How does pagination work in get_latest_news, and does search_articles support pagination too?+
get_latest_news is paginated via a 0-indexed page parameter, returning roughly 15–20 article teasers per page. search_articles is not paginated — it returns a single page of results for a given query. The API currently covers these two retrieval patterns. You can fork the API on Parse and revise it to add paginated search if your use case requires it.Does the API expose DJ profile pages, not just club profiles?+
get_top100_clubs entries can be expanded with get_top100_club_profile, but there is no equivalent endpoint for individual DJ profile pages — get_top100_djs returns only rank, name, and profile_url. You can fork the API on Parse and revise it to add a DJ profile endpoint using those URLs.How far back do the Top 100 rankings go?+
year parameter on both get_top100_djs and get_top100_clubs is optional and accepts values like '2024' or '2025'. Coverage depends on what DJ Mag has published at those URLs on djmag.com. Years for which DJ Mag has not published a rankings page will not return data.