Chosic APIchosic.com ↗
Search songs and discover similar tracks via the Chosic API. Filter by energy, happiness, acousticness, and popularity. Returns Spotify IDs, artists, and album art.
What is the Chosic API?
The Chosic API exposes 2 endpoints for music discovery: search for songs by title or artist, and retrieve similar tracks for any seed song. The get_similar_songs endpoint returns up to the requested number of recommendations with Spotify track IDs, artist names, album names, and thumbnail images, and accepts four audio-feature filters — energy, happiness, acousticness, and popularity — to shape the results toward a target mood or style.
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'
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 chosic-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.chosic_music_api import Chosic, Song, SimilarSong
chosic = Chosic()
# Search for songs by keyword
for song in chosic.songs.search(query="Bohemian Rhapsody"):
print(song.title, song.artist, song.id, song.image)
# Get similar songs from a found track with mood filtering
seed = next(iter(chosic.songs.search(query="Hotel California")))
for similar in seed.similar(energy=80, danceability=70):
print(similar.title, similar.artist, similar.album, similar.image)
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
The search_songs endpoint accepts a query string (song title, artist name, or a combination) and an optional limit integer. Each result in the returned songs array includes a Spotify-compatible id, a title, an artist string, and an image URL for the track thumbnail. This makes it straightforward to resolve a user-typed query into a concrete Spotify track ID for use in the similarity endpoint.
Similar Song Discovery
The get_similar_songs endpoint identifies tracks similar to a given seed. You can supply either a track_id (Spotify Track ID) directly, or let the API resolve the seed by passing song_title and optionally artist_name. The response includes a seed_track_id field confirming which track was used, alongside a similar_songs array where each object carries id, title, artist, album, and image.
Audio Feature Filtering
Four optional integer parameters (each on a 0–100 scale) let you bias results toward a specific character: energy controls perceived intensity, happiness maps to valence, acousticness targets instrument character, and popularity steers toward well-known or obscure tracks. These filters can be combined freely — for example, requesting low energy plus high acousticness surfaces mellow, acoustic-leaning recommendations without requiring manual playlist curation.
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 in a music app using get_similar_songs with a known Spotify track ID
- Populate a mood-based playlist by filtering similar songs by energy and happiness values
- Resolve user search queries to Spotify track IDs via search_songs before feeding them into recommendation logic
- Generate low-energy, high-acousticness playlists for focus or study apps
- Surface obscure tracks by setting a low popularity filter on get_similar_songs
- Pre-fill song autocomplete fields in a music tool using the search_songs title and artist fields
- Enrich a music catalog with album art URLs from the image field returned by both endpoints
| 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.