The SearchLy API provides similarity searching based on song lyrics.
The API allows for the /similarity/by_song
operation, which allows clients to search the similarity for an existing song in the database. Also, the API has an additional /similarity/by_content
endpoint which allows clients to search similarity given a free String input through a JSON request body. Additional /song/search
operation is available for searching songs given a query String.
The API endpoint for the SearchLy API v1 is as follows:
https://searchly.asuarez.dev/api/v1
This project was built in order to create an API for searching similarities based on song lyrics. There are a lot of songs in the industry and most of them are talking about the same topic. What I wanted to prove with SearchLy was to estimate how similar are two songs between them based on the meaning of their lyrics.
SearchLy is using a database of 100k songs from AZLyrics, using this scraper, which is being updated periodically. Then, using word2vec and NMSLIB, it was possible to create an index where you can search similarities using the k-nearest neighbors (KNN) algorithm.
Note: I am currently using a micro-instance from DigitalOcean where the API is deployed, so you should expect a bad performance. However, if this API becomes popular I will deploy it in a bigger instance.
Use this page to mock SearchLy API v1 in your testing and development.
Run our mock API sample using the open source WireMock library, or in the free edition of WireMock Cloud. You'll have a working API server simulating the behavior of SearchLy API v1, which will allow you to keep building and testing even if the actual API you isn't currently available.