songsterr.com APIsongsterr.com ↗
Access Songsterr guitar tab notation, song metadata, artist catalogs, and revision history via 7 structured endpoints. Search songs, fetch raw tab data, and more.
curl -X GET 'https://api.parse.bot/scraper/00e14379-6131-498c-a1ec-f1635d062d88/search_songs?query=Wonderwall' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for songs/tabs by query string. Returns an array of matching songs with track information.
| Param | Type | Description |
|---|---|---|
| size | integer | Maximum number of results to return. |
| queryrequired | string | Search query string (e.g. 'Wonderwall', 'Metallica'). |
| offset | integer | Offset for pagination (number of results to skip). |
{
"type": "object",
"fields": {
"data": "array of song objects, each containing songId, artistId, artist, title, hasChords, hasPlayer, tracks, defaultTrack, popularTrack"
},
"sample": {
"data": [
{
"title": "Wonderwall",
"artist": "Oasis",
"isJunk": false,
"songId": 2,
"tracks": [
{
"hash": "guitar_BjHerAr3",
"name": "Noel Gallagher | Takamine FP460SC | Lead Guitar",
"views": 114149,
"tuning": [
64,
59,
55
],
"difficulty": 2,
"instrument": "Acoustic Guitar (steel)",
"instrumentId": 25
}
],
"artistId": 2,
"hasChords": true,
"hasPlayer": true,
"defaultTrack": 3,
"popularTrack": 3,
"popularTrackBass": 6,
"popularTrackDrum": 13,
"popularTrackGuitar": 3,
"popularTrackVocals": 0
}
],
"status": "success"
}
}About the songsterr.com API
The Songsterr API exposes 7 endpoints covering song search, artist catalogs, tab notation, and revision history from Songsterr's tab library. The get_tab_data endpoint returns measure-level notation including tuning, capo, frets, strings, and individual beat data for a specific track. Combined with get_song_meta, which surfaces track lists, view counts, tags, and video references, the API gives developers structured access to both the metadata and the raw musical content of any song on the platform.
Search and Discovery
The search_songs endpoint accepts a query string and optional size and offset parameters, returning an array of song objects. Each result includes songId, artistId, artist, title, hasChords, hasPlayer, tracks, defaultTrack, and popularTrack. The get_popular_songs endpoint offers the same pagination controls and returns a records array alongside a more boolean so you can page through trending content without guessing whether additional results exist.
Song Metadata and Artist Catalogs
get_song_meta takes a song_id and returns a detailed object: revisionId, image (used as the image_hash input to get_tab_data), tracks, tags, views, videos, and favorites. The get_songs_by_artist endpoint accepts an artist_id — available from any search or metadata response — and returns all songs attributed to that artist in the same summary format as search results.
Tab Notation and Revision History
get_tab_data requires song_id, revision_id, image_hash, and a zero-based track_index. It returns a notation object with name, instrument, instrumentId, tuning, capo, frets, strings, and a measures array containing beat and note data. get_song_revisions returns the full edit history for a song, with each revision object including createdAt, author, description, tracksCount, and a rev field.
Convenience Endpoint
get_full_tab combines the metadata and notation fetch into a single call. Provide a song_id and optionally a track_index; if omitted, it defaults to the song's popularTrack value. The response nests the full meta object alongside the tab notation object, avoiding the need to chain two separate requests.
- Build a tab library browser that searches songs by name and displays track listings with chord and player availability flags.
- Generate artist discography pages using
get_songs_by_artistwith theartistIdfrom any search result. - Render interactive tab viewers by parsing the
measures, beats, and notes returned byget_tab_data. - Display trending songs in a music discovery feed using
get_popular_songswith cursor-based pagination viaoffsetand themoreflag. - Track edit history and contributor attribution for a specific song using
get_song_revisions. - Populate song detail pages with view counts, tags, linked videos, and favorites from
get_song_meta. - Support instrument-specific filtering in a practice app by inspecting the
instrumentandtuningfields from tab notation responses.
| 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 Songsterr have an official public developer API?+
What does `get_tab_data` return, and what inputs does it require?+
get_tab_data returns a notation object for one track of a song, including instrument, tuning, capo, frets, strings, and a measures array with beat and note detail. It requires four inputs: song_id, revision_id, and image_hash (both available from get_song_meta), and a zero-based track_index. If you want the most popular track without looking up the index, use get_full_tab instead, which defaults to the popularTrack value from metadata.Are audio files or playback streams included in the responses?+
get_song_meta includes a videos field with associated video references, and hasPlayer indicates whether a song has a player on Songsterr, but actual audio content is not part of any response. The API covers notation data, metadata, and revision history. You can fork it on Parse and revise to add any additional fields if Songsterr surfaces them elsewhere.Does the API cover user profiles, ratings, or community comments?+
How does pagination work across the search and popular song endpoints?+
search_songs and get_popular_songs both accept size (result count) and offset (number of results to skip) as optional integer parameters. get_popular_songs also returns a more boolean in its response, which tells you directly whether additional pages exist. search_songs does not include a more flag, so you should compare the returned array length against your requested size to determine whether to fetch the next page.