ChartLyrics Lyric API

  • v1.0 Initial Release.
  • v1.1 Update, adding TrackId and TrackChecksum for future AddLyric function, Added new function SearchLyricDirect which returns the first lyric or trackId directly without having to make a second API call.
  • v1.2 Added AddLyric function and some minor improvements.

The ChartLyrics API supports both the SOAP and GET protocol. Allowing users to search for lyrics using the artist name, song title or lyric text as search query.

SOAP API (beta)

Our Simple Object Access Protocol Application Programming Interface is available to developers and end users who wish to use our database for their music project, website or application.

Calls to the API are done using SOAP 1.1 or 1.2. The WSDL Service Description file can be found on api.chartlyrics.com/apiv1.asmx?WSDL

For additional information please visit the API webpage. api.chartlyrics.com/apiv1.asmx and/or download example code using the SOAP web service from chartlyrics.codeplex.com

The API provides 3 functions. SearchLyric and SearchLyricsText to search the available lyric(s) and GetLyric to retrieve the lyric.

SearchLyric & SearchLyricText

Search for lyrics and return the lyricId and lyricChecksum for the GetLyric function. It has the following input parameters:

Input Tag description

For SearchLyric

  • <Artist> The artist name, maximum 75 characters.
  • <Song> The song title, maximum 125 characters.

For SearchLyricText

  • <lyricText> The lyric text to search, maximum 250 characters.

For SearchLyric at least an artist or song title is needed. For SearchLyricText at least one word is needed. Stop-words are removed from the search query, see the General section for the stop words.

Results from SearchLyric and SearchLyricText are the same and described below.

Output description

<SearchLyricResult>
    <TrackChecksum>string</TrackChecksum>
    <TrackId>int</TrackId>
    <LyricChecksum>string</LyricChecksum>
    <LyricId>int</LyricId>
    <SongUrl>string</SongUrl>
    <ArtistUrl>string</ArtistUrl>
    <Artist>string</Artist>
    <Song>string</Song>
    <SongRank>int</SongRank>
</SearchLyricResult>

Each call for artist and title combination can return a total of 25 possible songs orderd by ChartLyrics rank.

Output Tag description

  • <SearchLyricResult> There search results, there will can to up to 25 instances of this.
    • <TrackChecksum> Checksum required to add the lyric using the AddLyric function.
    • <TrackId> Id required to add the lyric using AddLyric function, The ID must match the Checksum. Returns a positive integer when there is no lyric available.
    • <LyricChecksum> Checksum required to retrieve the song using GetLyric function.
    • <LyricId> Id required to retrieve the song using GetLyric function, The ID must match the Checksum. Returns a positive integer when there is a lyric available.
    • <SongUrl> The URL of the song on the ChartLyrics website, If the lyric does not exist this will show the Add Lyric link. Please encourage users to visit our website to view/correct or add lyrics on the ChartLyrics website.
    • <ArtistUrl> The URL of the artist on the chartlyrics website.
    • <Song> The title of the song.
    • <SongRank> The ChartLyrics rank of the song on a 0 to 10 scale where 10 is the most popular.

GetLyric & SearchLyricDirect

  • GetLyric retreives the lyric using the lyricId and lyricChecksum.
  • SearchLyricDirect retreives the lyric using the artist and song.

Input Tag description

For GetLyric

  • <lyricId> The lyric ID.
  • <lyricCheckSum> The lyric Checksum.

Both lyricId and lyricCheckSum are required. If the checksum does not match the id and error message is returned.

For SearchLyricDirect

  • <Artist> The artist name, maximum 75 characters.
  • <Song> The song title, maximum 125 characters.

Both artist name and song title are needed. Stop-words are removed from the search query, see the General section for the stop words.

Results from GetLyric and SearchLyricDirect are the same and described below.

Output description

<GetLyricResult>
    <TrackChecksum>string</TrackChecksum>
    <TrackId>int</TrackId>
    <LyricChecksum>string</LyricChecksum>
    <LyricId>int</LyricId>
    <LyricSong>string</LyricSong>
    <LyricArtist>string</LyricArtist>
    <LyricUrl>string</LyricUrl>
    <LyricCovertArtUrl>string</LyricCovertArtUrl>
    <LyricRank>int</LyricRank>
    <LyricCorrectUrl>string</LyricCorrectUrl>
    <Lyric>string</Lyric>
</GetLyricResult>

Each call with valid input parameters will return 1 lyric result.

Output Tag description

  • <GetLyricResult> The lyric result, there will be always 1 instance of this.
    • <TrackChecksum> Checksum required to add the lyric using the AddLyric function.
    • <TrackId> Id required to add the lyric using AddLyric function, The ID must match the Checksum. Returns a positive integer when there is no lyric available.
    • <LyricChecksum> Checksum required to retrieve the song using GetLyric function.
    • <LyricId> Id required to retrieve the song using GetLyric function, The ID must match the Checksum. Returns a positive integer when there is a lyric available.
    • <LyricSong> The song title of the lyric.
    • <LyricArtist> The artist of the lyric.
    • <LyricCovertArtUrl> The URL of the lyric cover art, if available.
    • <LyricRank> The ranking of the lyric on a 0 to 10 scale where 10 is the most popular.
    • <LyricCorrectUrl> The URL of the song correction page on the chartlyrics website. Please encourage users to visit our website to view/correct or add lyrics on the ChartLyrics website.
    • <Lyric> The lyric of the song.

AddLyric

You can add lyrics to our database using this function.

Input Tag description

  • <trackId> The trackId provided by one of the lyric search functions.
  • <trackCheckSum> The trackCheckSum provided by one of the lyric search functions.
  • <lyric> The lyric to be added to our database.
  • <email> The email address of the submitter of the lyric.

All fields are required. If the checksum does not match the id and error message is returned.

Output description

Each call with valid input parameters will return a status.

HTTP GET API (beta)

We do also support the much simpler HTTP GET request and response. The requests are done using a HTTP GET request as explained below, the response will be the same as the SOAP output explained above.

General

Stopwords and characters

The following stop words and characters will not be used in the search string.

about, after, all, also, an, and, another, any, are, as, at, be, because, been, before, being, between, both, but, by, came, can, come, could, did, do, does, each, else, for, from, get, got, had, has, have, he, her, here, him, himself, his, how, if, in, into, is, it, its, just, like, make, many, me, might, more, most, much, must, my, never, no, now, of, on, only, or, other, our, out, over, re, said, same, see, should, since, so, some, still, such, take, than, that, the, their, them, then, there, these, they, this, those, through, to, too, under, up, use, very, want, was, way, we, well, were, what, when, where, which, while, who, will, with, would, you, your

( ) [ ] ' ! . : ; , " | ~ ? !

Terms of Use

By using the ChartLyrics APIs you agree to these terms of use.

APIs are provided "as is," without any promises or guarantees of any sort.

The ChartLyrics APIs are free for non-commercial use. If you are a non-commercial entity (eg. an individual) and you are not charging for your product, and the product has no other commercial purpose, then you can use the ChartLyrics APIs. Otherwise, you will require our written permission.

We require applications that make use of our APIs to encourage users to contribute to our free community, Allow your users to add lyrics, correct lyrics or visits to the lyrics page by using the links the APIs provide.

The ChartLyrics APIs are new, so we expect it to change over time. We will do our best to maintain backwards compatibility between releases, but incompatible changes may be required in the future.

Abuse or excessively frequent requests to ChartLyrics via the APIs may result in the temporary or permanent suspension of your access to the APIs. ChartLyrics, in its sole discretion, will determine abuse or excessive usage of the APIs.

ChartLyrics reserves the right at any time to modify or discontinue, temporarily or permanently, access to the APIs (or any part thereof) with or without notice.

The ChartLyrics APIs are in Beta. No guarantees, no promises.

We reserve the right to change these terms.

Questions?

If you still have any question please regarding the API please Contact Us.