integrations.sh
← all integrations

asuarez.dev – searchly

OpenAPI apis-guru media

Introduction

The SearchLy API provides similarity searching based on song lyrics.

Operations

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.

Endpoint

The API endpoint for the SearchLy API v1 is as follows:

https://searchly.asuarez.dev/api/v1

Motivation

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 , 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.

Homepage
https://api.apis.guru/v2/specs/asuarez.dev:searchly/1.0.json
Provider
asuarez.dev:searchly / searchly
OpenAPI version
3.0.1
Spec (JSON)
https://api.apis.guru/v2/specs/asuarez.dev/searchly/1.0/openapi.json
Spec (YAML)
https://api.apis.guru/v2/specs/asuarez.dev/searchly/1.0/openapi.yaml

Tools (5)

Extracted live via the executor SDK.

  • similarity.srcSearchlyApiV1ControllersSimilarityByContent

    Endpoint for an end-user client to search similarity by content.

    If you want to run the /similarity/by_content operation, you can do so via an HTTP POST command to the following URL:

    https://searchly.asuarez.dev/api/v1/similarity/by_content
  • similarity.srcSearchlyApiV1ControllersSimilarityBySong

    Endpoint for an end-user client to search similarity by song identifier.

    If you want to run the /similarity/by_song operation, you can do so via an HTTP GET command to the following URL:

    https://searchly.asuarez.dev/api/v1/similarity/by_song
  • song.srcSearchlyApiV1ControllersSongSearch

    Endpoint for an end-user client to search songs from the database given a String query.

    If you want to run the /song/search operation, you can do so via an HTTP GET command to the following URL:

    https://searchly.asuarez.dev/api/v1/song/search
  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools