Chosic APIchosic.com ↗
Search songs, find similar tracks with mood filters, look up artist profiles, and list 8,300+ genres from Chosic via a clean REST API.
What is the Chosic API?
The Chosic API exposes 4 endpoints covering song search, similar-song discovery, artist profiles, and a full genre catalogue of roughly 8,300 entries. The get_similar_songs endpoint accepts a Spotify track ID or a plain song title as the seed, then lets you filter results by audio attributes including energy, happiness, acousticness, and popularity — each on a 0–100 scale.
curl -X GET 'https://api.parse.bot/scraper/2d0c0106-75f6-4f45-918d-1633cfa4cf74/search_songs?limit=5&query=Bohemian+Rhapsody' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search for songs on Chosic. Matches against song titles and artist names. Returns up to `limit` results, each with a Spotify track ID, title, primary artist name, and thumbnail image URL. No pagination beyond the limit parameter.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return |
| queryrequired | string | Search keyword (song title, artist name, or both) |
{
"type": "object",
"fields": {
"songs": "array of song objects with id, title, artist, and image"
},
"sample": {
"data": {
"songs": [
{
"id": "7tFiyTwD0nx5a1eklYtX2J",
"image": "https://i.scdn.co/image/REDACTED_SECRET",
"title": "Bohemian Rhapsody - Remastered 2011",
"artist": "Queen"
}
]
},
"status": "success"
}
}About the Chosic API
Song Search and Similarity
The search_songs endpoint accepts a free-text query matched against song titles and artist names, returning an array of objects each containing a Spotify track id, title, artist, and image URL. Use the limit parameter to cap how many results come back; there is no offset or cursor-based pagination beyond that.
The get_similar_songs endpoint builds on search: supply a track_id directly, or let the API resolve a seed via song_title and optional artist_name. The response includes a seed_track_id confirming which track was used, plus a similar_songs array where each entry adds an album field on top of the basic title/artist/image set. Five optional integer filters — energy, happiness, acousticness, popularity, and danceability — let you skew results toward a target mood profile without post-processing on your end.
Artist Profiles
get_artist takes a 22-character Spotify artist ID and returns the Chosic artist page data: name, popularity (0–100), followers, image, and a genres array of lowercase genre-name strings drawn from the same vocabulary as the genre catalogue. The updated_date field (ISO YYYY-MM-DD) tells you when Chosic last refreshed the record, which matters for high-churn data like follower counts.
Genre Catalogue
list_genres returns all genres grouped under Chosic's 17 parent categories (Pop, Rock, Electronic, Hip Hop, Metal, Folk, Classical, Jazz, R&B, Country, Reggae, Latin, Easy Listening, Blues, New Age, Christian, and World). Each genre entry carries a slug (e.g. dance-pop) and a playlist_id pointing to Chosic's curated Spotify playlist for that genre, or null when none exists. Pass a parent_genre string to filter down to one group; matching is case-insensitive.
The Chosic API is a managed, monitored endpoint for chosic.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when chosic.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 chosic.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?+
- Build a 'more like this' feature using get_similar_songs with energy and happiness filters to match listener mood
- Populate an artist directory with genre tags, follower counts, and popularity scores from get_artist
- Auto-tag uploaded tracks by resolving genre slugs from list_genres and matching artist genre arrays
- Generate curated Spotify playlists per genre using the playlist_id field returned by list_genres
- Power a music search bar backed by search_songs returning Spotify IDs and thumbnail images
- Analyze genre distribution across an artist roster by aggregating genres arrays from multiple get_artist calls
- Filter similar-song recommendations by acousticness to separate acoustic and produced versions of a style
| 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.