whosampled.com APIwhosampled.com ↗
Access WhoSampled data via API: search tracks and artists, retrieve sample connections, artist profiles, track details, and trending Hot Samples chart.
curl -X GET 'https://api.parse.bot/scraper/ce66773d-6622-4c56-a9ae-64dc0a37df1f/search?query=amen+break' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for artists and tracks by name. Returns top hit, matching artists, and matching tracks from WhoSampled.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword (artist or track name) |
{
"type": "object",
"fields": {
"tracks": "array of matching tracks, each with name and url",
"artists": "array of matching artists, each with name and url",
"top_hit": "object or null containing name and url of the top search result"
},
"sample": {
"data": {
"tracks": [
{
"url": "https://www.whosampled.com/Mandidextrous/That-Amen-Break/",
"name": "That Amen Break"
}
],
"artists": [
{
"url": "https://www.whosampled.com/Kanye-West/",
"name": "Kanye West"
}
],
"top_hit": {
"url": "https://www.whosampled.com/Kanye-West/",
"name": "Kanye West"
}
},
"status": "success"
}
}About the whosampled.com API
The WhoSampled API exposes 5 endpoints covering music sample connections, artist profiles, track metadata, and trending charts. The get_track_detail endpoint returns a full connections_summary array with sample, cover, and remix relationships — including the sampled track's name, artist, year, and tag. Use get_trending_samples to pull the current 24-hour Hot Samples chart without any input parameters.
Search and Artist Profiles
The search endpoint accepts a query string and returns three distinct result sets: a top_hit object (or null), an artists array, and a tracks array — each entry containing a name and url. The get_artist endpoint takes an artist_slug (e.g. 'Daft-Punk') and returns the artist's real_name, aliases, groups, and a stats_summary string summarizing their sample, cover, and remix counts on WhoSampled.
Track Details and Sample Connections
get_track_detail requires both an artist_slug and a track_slug that exactly matches the URL path on WhoSampled, including comma-encoded punctuation (e.g. 'Harder,-Better,-Faster,-Stronger'). It returns title, artist, album, year, and a connections_summary array. Each connection object carries section, name, artist, year, tag, and url fields — giving a complete picture of what a track sampled, what sampled it, and any cover or remix relationships.
Samples Used and Trending Charts
get_artist_samples_used returns a paginated list of tracks by an artist that incorporate samples. Each result includes a connections array with action, name, url, artist, year, and tag. An optional tag parameter filters connections by tag text, and a page parameter handles pagination. The get_trending_samples endpoint takes no inputs and returns the current Hot Samples chart as an array of objects with name and url fields reflecting the most-viewed sample connections in the last 24 hours.
Slug Format and Redirect Behavior
Both get_artist and get_track_detail depend on slugs that mirror WhoSampled's URL structure exactly. If a track_slug is malformed or incorrect, the source redirects to the artist page rather than a track page, which the API surfaces as an input_not_found-style error. Use the search endpoint first to retrieve correct url values, then extract slugs from those URLs to ensure accuracy.
- Build a music discovery tool that traces the sample lineage of any track using
connections_summaryfields - Populate an artist database with real name, aliases, group memberships, and sample stats from
get_artist - Monitor daily trending sample connections via
get_trending_samplesfor a music news or chart feed - Filter an artist's sampled works by genre or type using the
tagparameter inget_artist_samples_used - Construct a knowledge graph of producer influences by linking
connectionsacross multiple artist slugs - Validate or enrich a music metadata catalog with album name and release year from
get_track_detail - Power a 'Did you know this song sampled...' widget on a streaming or music blog platform
| 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 | 250 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 WhoSampled have an official developer API?+
What does `get_track_detail` return, and how is the `track_slug` formatted?+
title, artist, album, year, and a connections_summary array. Each connection includes section (e.g. 'Contains Samples Of'), name, artist, year, tag, and url. The track_slug must exactly replicate the URL path on WhoSampled, with punctuation preserved as commas — for example, 'Harder,-Better,-Faster,-Stronger'. An incorrect slug causes a redirect to the artist page rather than returning track data.Can I filter `get_artist_samples_used` by sample type?+
tag parameter filters the returned connections array by matching against tag text (e.g. filtering to only drum breaks or vocal samples). The page parameter handles pagination for artists with large catalogs.