Traxsource APItraxsource.com ↗
Access Traxsource charts, track metadata, artist discographies, label catalogs, and search via a structured JSON API. 10 endpoints covering the full catalog.
What is the Traxsource API?
The Traxsource API gives developers structured access to the electronic music store's catalog across 10 endpoints — covering charts, track metadata, releases, artists, labels, and search. The get_track_detail endpoint returns BPM, musical key, genre, label, and DJ chart appearances for any individual track. Whether you're monitoring genre charts or building a label intelligence tool, the API surfaces the same catalog data available on Traxsource in a consistent JSON format.
curl -X GET 'https://api.parse.bot/scraper/14566d9b-cfe4-4533-94a8-986fdbaebf74/get_top100_tracks?genre_id=4' \ -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 traxsource-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.
"""Traxsource music discovery: charts, search, label profiles, and track details."""
from parse_apis.Traxsource_API import Traxsource, ContentType, Period, NotFound
client = Traxsource()
# Browse the Top 100 tracks chart filtered by genre
for track in client.charts.top_tracks(genre_id="13", limit=3):
print(track.title, track.artists[0].name, track.genre.name)
# Search for tracks by keyword
result = client.charts.search(term="funky", type=ContentType.TRACKS, limit=1).first()
if result:
print(result.title, result.duration, result.label.name)
# Browse recently added tracks filtered by period and genre
for added in client.charts.just_added(period=Period.TODAY, genre_id="4", limit=3):
print(added.title, added.release_date)
# Explore upcoming pre-orders filtered by genre
for preorder in client.charts.upcoming_releases(genre_id="13", limit=3):
print(preorder.title, preorder.release_date, preorder.genre.name)
# Fetch full track detail by ID and slug
try:
detail = client.tracks.get(track_id="14801234", slug="walking-on-a-dream-extended-mix")
print(detail.title, detail.bpm, detail.key, detail.duration)
except NotFound as exc:
print(f"Track unavailable: {exc}")
# Explore an artist's catalog via constructible Artist
artist = client.artist(id="908967")
for t in artist.tracks(slug="de-soffer", limit=3):
print(t.title, t.version, t.genre.name)
print("exercised: charts.top_tracks / charts.search / charts.just_added / charts.upcoming_releases / tracks.get / artist.tracks")
Returns the Traxsource Top 100 tracks chart, optionally filtered by genre. Each track includes title, artists, label, genre, duration, release date, and price. The chart is a single page of up to 100 items — no pagination parameter.
| Param | Type | Description |
|---|---|---|
| genre_id | string | Numeric genre ID to filter chart results (e.g. "4" for House, "13" for Deep House). Corresponds to IDs from the genre catalog. |
{
"type": "object",
"fields": {
"tracks": "array of track objects with track_id, title, version, duration, artists, label, genre, release_date, price, and url"
},
"sample": {
"data": {
"tracks": [
{
"url": "https://www.traxsource.com/track/14660532/that-funky-rhythm-extended-mix",
"genre": {
"url": "https://www.traxsource.com/genre/18/tech-house",
"name": "Tech House"
},
"label": {
"url": "https://www.traxsource.com/label/45256/black-box-underground",
"name": "Black Box Underground"
},
"price": "$1.99",
"title": "That Funky Rhythm",
"artists": [
{
"id": "24228",
"url": "https://www.traxsource.com/artist/24228/dj-pp",
"name": "DJ PP"
}
],
"version": "Extended Mix",
"duration": "5:30",
"title_id": "2785854",
"track_id": "14660532",
"release_date": "2026-05-29"
}
]
},
"status": "success"
}
}About the Traxsource API
Charts and Discovery
get_top100_tracks and get_top100_singles return the current Traxsource chart positions as a single page of up to 100 items each. Track objects include track_id, title, version, duration, artists, label, genre, release_date, price, and url. The singles chart adds a position field and uses a title_id identifier for releases. Neither chart endpoint accepts pagination or filter parameters — they reflect the live chart snapshot.
get_just_added surfaces recently added content with optional filtering by view (tracks or releases) and period (today, yesterday, 7d, 30d). Results paginate at up to 50 items per page. get_upcoming_releases covers pre-order tracks across the full catalog or scoped to a label when label_id and label_slug are supplied; this endpoint paginates at 10 items per page and returns an estimated total_results count when available.
Track, Release, and Artist Detail
get_track_detail requires both a track_id and slug (taken from the track's URL path) and returns the most complete track record in the API: bpm, key, duration, version, genre object, label object, and an artists array with per-artist id, name, and url. get_release_detail similarly requires title_id and slug, and returns the full track listing for a release alongside catalog_number and release_date.
get_artist_tracks accepts artist_id and slug and returns paginated tracks (50 per page) along with an artist bio string when one is available. get_label_details returns a label's track catalog (10 per page), a description, total_tracks estimate, and an upcoming array of the label's current pre-orders — regardless of which page of tracks is requested.
Search and Genre Catalog
search accepts a term plus optional type (tracks or releases) and page, returning up to 50 results per page. get_all_genres returns every genre available on Traxsource as a flat array of objects with id, slug, name, and url — useful for building genre-aware filters or mapping genre IDs to readable labels across other endpoint responses.
The Traxsource API is a managed, monitored endpoint for traxsource.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when traxsource.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 traxsource.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 genre chart movements using
get_top100_trackswith genre field filtering - Build a label monitoring dashboard using
get_label_detailsto watch new releases and pre-orders for specific labels - Enrich a DJ track database with BPM and key data via
get_track_detail - Monitor newly added electronic music by polling
get_just_addedwith thetodayperiod filter - Power a release lookup tool using
get_release_detailto retrieve full track listings and catalog numbers - Build artist discography pages by paginating
get_artist_tracksacross all pages for a givenartist_id - Seed a genre taxonomy using
get_all_genresto map genre IDs to slugs and display names
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Traxsource have an official developer API?+
What does `get_track_detail` return that the chart endpoints don't?+
get_track_detail returns bpm, musical key, and DJ chart appearances — fields not present in the get_top100_tracks or get_just_added responses. It requires both track_id and slug as inputs, which you can extract from any track's Traxsource URL.Are audio previews or streaming URLs included in track responses?+
url pointing to the Traxsource page and metadata fields like bpm, key, and duration. You can fork the API on Parse and revise it to add a preview URL field if the source exposes one.Can I retrieve a list of all releases for a specific label?+
get_label_details returns a label's track catalog paginated at 10 tracks per page, along with a total_tracks estimate and the label's current pre-orders in the upcoming array. Full release-level browsing (EP and album listings as distinct objects) is not a dedicated endpoint. You can fork the API on Parse and revise it to add a label releases listing endpoint.