textyl.co

Textyl: Music Services


Textyl is a music metadata provider made by Marcel Braun.

All requests to the API are free and do not require authentication.

Synchronized lyrics


The main feature provided is the /api/lyrics endpoint. It offers lyrics linked to time codes similar to apps like Musixmatch or Apple Music.

Endpoint: https://api.textyl.co/api/lyrics?q=<query>

The query parameter should ideally consist of song title + song name, e.g. "Power Ramz".

Example Request: https://api.textyl.co/api/lyrics?q=power%20ramz

Example Response:

[ { "seconds": 0, "lyrics": "Power, power, power" }, { "seconds": 3, "lyrics": "You don't got no sauce you're sour, sour, sour" }, { "seconds": 7, "lyrics": "Said I got the- I got the power, power, power" }, { "seconds": 12, "lyrics": "You ain't got no sauce you're sour, sour, sour" }, { "seconds": 17, "lyrics": "I got the- I got the power" } ]

The first request for lyrics for a song could take 1-2s for a response but after that, it gets cached and is then available in under 100ms the next time it's getting requested from the server.

If no lyrics are available for a song, the response will be empty with code 404 (Not Found).

Previously, the API returned a 204 status code but that has been replaced as most browsers won't load 204 responses.

Beat timings


Note: Beat timings are currently disabled & not available

This service also provides beat timings for a song. If you, for example, want to flash lights to the beat, use this.

Endpoint: https://api.textyl.co/api/onsets?q=<query>

The query parameter should ideally consist of song title + song name, e.g. "Power Ramz".

Example Request: https://api.textyl.co/api/onsets?q=power%20ramz

Example Response:

0.09,0.345,0.6,3.08,3.305,3.59,4.035,4.59,4.94,5.9,6.035,8.54,9.105,9.835,13.315,16.405,18.175

The first request for a song could take 5-10s for a response but after that, it gets cached and is then available in under 100ms the next time it's getting requested from the server.

If no timings are available for a song, the response will have status code 404 (Not Found).