Mirror of geniURL's source code https://github.com/Sv443/geniURL

Sv443 b6fd4bf9c2 remove /lyrics route 3 anos atrás
.vscode 19ee1deefa lyrics endpoint 3 anos atrás
src b6fd4bf9c2 remove /lyrics route 3 anos atrás
.editorconfig 23e612c426 base api done 3 anos atrás
.env.template 23e612c426 base api done 3 anos atrás
.eslintrc.js 23e612c426 base api done 3 anos atrás
.gitignore 19ee1deefa lyrics endpoint 3 anos atrás
LICENSE dacf5c5a41 Initial commit 3 anos atrás
README.md 19ee1deefa lyrics endpoint 3 anos atrás
package-lock.json 19ee1deefa lyrics endpoint 3 anos atrás
package.json 19ee1deefa lyrics endpoint 3 anos atrás

README.md

geniURL

Simple "REST proxy" for searching for lyrics on genius.com



Routes:

All routes support gzip and deflate compression.


GET /search?q=search_text

This endpoint gives you the top 10 results for a search query specified by search_text
The returned data contains various data like the lyrics website URL, song and thumbnail metadata and more (see below).

The search_text should contain both song and artist name(s) if possible (order doesn't matter, separate with a whitespace) Sometimes the song name alone might be enough but the results may vary.
If the search query contains special characters, they need to be percent/URL-encoded.


Successful response (click to view)
{
    "error": false,
    "top": {
        "url": "https://genius.com/Artist-1-song-name-lyrics",
        "path": "/Artist-1-song-name-lyrics",
        "meta": {
            "title": "Song Name",
            "fullTitle": "Song Name by Artist 1 (ft. Artist 2)",
            "artists": "Artist 1 (ft. Artist 2)",
            "primaryArtist": {
                "name": "Artist 1",
                "url": "https://genius.com/artists/Artist-1"
            }
        },
        "resources": {
            "thumbnail": "https://images.genius.com/8485557225af0345d2c550af8bae731b.300x300x1.png",
            "image": "https://images.genius.com/13d7b13ef827a9f007a5d24c115b9ebb.1000x1000x1.png"
        },
        "lyricsState": "complete",
        "id": 42069
    },
    "all": [
        /* 10 elements, same structure as "top", sorted best match first */
    ],
    "timestamp": 1234567890123
}


Errored response (click to view)
{
    "error": true,
    "message": "Something went wrong",
    "timestamp": 1234567890123
}




GET /lyrics?q=search_text

Use this endpoint to get the lyrics of a specified song and additionally all properties from the top result of the /search endpoint.

The search_text should contain both song and artist name(s) if possible (order doesn't matter, separate with a whitespace) Sometimes the song name alone might be enough but the results may vary.
If the search query contains special characters, they need to be percent/URL-encoded.

This feature is powered by this awesome scraper.


Successful response (click to view)
{
    "error": false,
    "lyrics": "[Verse 1]\nAyy ayy ayy\nYou know who it is ayy\n",
    "url": "https://genius.com/Artist-1-song-name-lyrics",
    "path": "/Artist-1-song-name-lyrics",
    "meta": {
        "title": "Song Name",
        "fullTitle": "Song Name by Artist 1 (ft. Artist 2)",
        "artists": "Artist 1 (ft. Artist 2)",
        "primaryArtist": {
            "name": "Artist 1",
            "url": "https://genius.com/artists/Artist-1"
        }
    },
    "resources": {
        "thumbnail": "https://images.genius.com/8485557225af0345d2c550af8bae731b.300x300x1.png",
        "image": "https://images.genius.com/13d7b13ef827a9f007a5d24c115b9ebb.1000x1000x1.png"
    },
    "lyricsState": "complete",
    "id": 42069,
    "timestamp": 1234567890123
}


Errored response (click to view)
{
    "error": true,
    "message": "Something went wrong",
    "timestamp": 1234567890123
}