--- lang: en-US title: Info description: General information about all routes that are offered by geniURL's REST service --- ## Base URL I host a public instance on this base URL: ``` https://api.sv443.net/geniurl/v2/ ```
## Rate Limiting The public instance is rate limited to 20 requests within a 30 second timeframe. To know how many requests you have sent and are still able to send, refer to the following headers that are attached to each response: | Header Name | Description | | :---------------------- | :-------------------------------------------------------------------------------------------------------------- | | `Retry-After` | Number of seconds you need to wait until being able to send another request. | | `X-RateLimit-Reset` | An [ISO 8601 UTC timestamp](https://en.wikipedia.org/wiki/ISO_8601) indicating when you can send more requests. | | `X-RateLimit-Limit` | The total number of requests you can send per timeframe. | | `X-RateLimit-Remaining` | The requests you are still able to send in the current timeframe. |
## Errors All routes always return the properties `error` and `matches`, no matter what. They can be used to determine whether a response has succeeded (error = false, matches > 0), just didn't yield any results (error = false, matches = 0) or is errored (error = true, matches = null). Additionally, you can use the [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) to find out whether a request has succeeded or not.
## Compression All routes support gzip, deflate and brotli compression. If no compression support is provided via the `Accept-Encoding` header, the content will be transmitted uncompressed.
## Available routes These are the available routes: - [GET `/search`](./search#get-search) - Search for lyrics (multiple results) - [GET `/search/top`](./search#get-search-top) - Search for lyrics (only the top result) - [GET `/translations/:songId`](./translations) - Fetch lyrics translations - [GET `/album/:songId`](./album) - Fetch associated album