Songsterr API

Songsterr API

Music

Allows you to search, get, and present songs and guitar, bass, and drums tabs and chords from the Songsterr database. Songsterr has an open Application Programming Interface (API for short). This means that anyone can write their own program to present public Songsterr data in new and different ways. The Songsterr API allows you to call methods that respond in REST style xml. We also support json and plist - just substitute ".xml" with ".json" or ".plist" Individual methods are detailed below.

Visit API🔁 Alternatives

🔑 How to use the Songsterr API (no key required)

Songsterr's public JSON endpoints need no registration at all.

  1. Search songs. GET https://www.songsterr.com/api/songs?pattern=nirvana returns matching songs with tab metadata as JSON.
  2. Filter the results. Each result includes song ID, title, artist, and available instrument tracks.
  3. Link to tabs. Use the song ID to deep-link users to the interactive tab player on songsterr.com.
  4. Cache politely. There's no published rate limit — keep request volume reasonable and cache results.
Try a live search →

📚 Documentation & Examples

Everything you need to integrate with Songsterr API

🚀 Quick Start Examples

Songsterr API Javascript Examplejavascript
// Songsterr API API Example
const response = await fetch('https://www.songsterr.com/a/wa/api/?ref=apilist.fun', {
    method: 'GET',
    headers: {
        'Content-Type': 'application/json'
    }
});

const data = await response.json();
console.log(data);

Accessing Songsterr's API with JavaScript

Songsterr provides a public API that allows developers to access their vast collection of guitar tabs, bass tabs, and drum tabs.

Here's an example of how to use the Songsterr API in JavaScript:

fetch('https://www.songsterr.com/a/wa/bestMatchForQueryStringPart?s=enter+sandman')
  .then(response => response.json())
  .then(data => console.log(data));

This example sends a request to the Songsterr API for the best match of the search query "enter sandman." The response data is returned in JSON format, which is logged to the console.

Here are some other examples of API requests:

Get a specific tab

fetch('https://www.songsterr.com/a/wa/bestMatchForQueryStringPart?s=enter+sandman')
  .then(response => response.json())
  .then(data => {
    const id = data[0].id;
    fetch(`https://www.songsterr.com/a/wa/view?r=${id}`)
      .then(response => response.text())
      .then(data => console.log(data));
  });

This example first retrieves the ID of the best match for the search query "enter sandman," then uses that ID to fetch the full tab data in HTML format.

Get a list of tabs by artist

fetch('https://www.songsterr.com/a/ra/songs/byartists.json?artists=metallica,led+zeppelin')
  .then(response => response.json())
  .then(data => console.log(data));

This example retrieves a list of tabs by the artists "Metallica" and "Led Zeppelin" in JSON format.

Search for tabs by keyword

fetch('https://www.songsterr.com/a/ra/songs.json?pattern=master+of+puppets')
  .then(response => response.json())
  .then(data => console.log(data));

This example searches for tabs that match the keyword "master of puppets" in JSON format.

These are just a few examples of what you can do with the Songsterr API. For more information on how to use the API, refer to the documentation at https://www.songsterr.com/a/wa/api/?ref=apilist.fun. Happy coding!

❓ Frequently Asked Questions

Is the Songsterr API free?

Yes — no API key, no signup, no cost. It returns JSON for song and tab search.

Can I get the actual tab notation via the Songsterr API?

The public API returns song/tab metadata and IDs for linking to Songsterr's player, not raw Guitar Pro files. For notation data, look at MuseScore or ultimate-guitar scraping alternatives (mind the licensing).

Explore More

Best Songsterr API alternatives (2026)Best Music APIs

Related APIs in Music