geniURL v2's public instance now requires using the base path api.sv443.net/geniurl/v2/
All requests to api.sv443.net/geniurl/
will use the old version which will be deprecated soon.
Features:
- TODO: Added
?redirect
parameter for automatic HTTP redirection instead of returning a JSON response (#22)
Changes:
- Breaking: If no results are found, the API now responds with code 200 and
"error": false
instead of responding with code 400 and"error": true
. The"message"
prop was also removed.- If no results are found when using the
/search/top
route, the above still applies, but thetop
prop will also be set tonull
andall
will be an empty array in JSON or<all/>
in XML
- If no results are found when using the
- Breaking: Removed fuzzy filtering and
?disableFuzzy
and?threshold
parameters altogether (to maybe be added back in the future as an opt-in feature) (#24) - Reduced rate limit budget by 5, from 25 requests in 30 seconds to 20 requests in 30 seconds
- IP addresses are now hashed before being stored in the rate limiter cache in memory
Changes:
- Removed
?preferLang
parameter due to genius API not returning a song language anymore (#20) - Added temporary
?disableFuzzy
parameter to optionally disable fuzzy filtering since it's not as accurate as it should be
Fixes:
- Fixed errored response for /translations/:songId - it now sets matches to null and gives a different error message if the provided song ID is invalid (#18)
- Increased ratelimit budget from 5 requests in 15 seconds to 25 requests in 30 seconds
- Fixed inconsistent
error
property when no translations are found - Added support for preflight through an OPTIONS request
- Improved ratelimit header consistency
- Removed timestamp property to allow for better caching
- Made documentation more clear
- Added route
/translations/:songId
to receive info about a song's translation pages - Added route
/album/:songId
to get info about the album that the provided song is in - Added parameter
?preferLang=en
to always rank results of a certain language higher than the rest - geniURL will now replace inconsistent unicode characters in the properties
title
,fullTitle
, andartists
(#15)
- Added
?threshold
parameter to change the fuzzy search threshold from its default of 0.6 (#7) - Added support for fuzzy searching when using
?q
instead of?artist
and?song
(#8)
- Minor fixes
- Migrated code to TypeScript
- Added new metadata:
- release date
- featured artists
- images of artists
- lyrics language
- Added
?artist
and?song
parameters as an alternative to?q
for getting better search results through fuzzy filtering (#4) - Added
matches
property that's set to the number of results (0
if none were found, ornull
on error)
- Added XML format
- API now filters out invisible characters (#1)
- Improvements to reliability
- Added endpoints
/search
to search for the top result and the 10 best matches/search/top
to only search for the top result
- Added gzip and brotli encoding