---
title: "Get lyrics from DB or plugins by song id"
method: GET
path: "/songs/{song_id}/lyrics"
tags: ["Songs", "Utilities"]
---

# Get lyrics from DB or plugins by song id

`GET /songs/{song_id}/lyrics`

Return Database lyrics or search with plugins by Song id

## Path parameters

- `song_id` string, required

## Query parameters

- `plugins` 0 | 1, required

## Response `200`

Lyrics/plugins response

- LyricsResponse — `plugin` is keyed by lyric source (`database` plus any lyric-retriever plugin that answered). When nothing answered it is serialised as an empty array, not an empty object.
  - `object_id` string, required
  - `object_type` string, required — The kind of object referenced, as a bare string. The set is intentionally open so a new media type is not a breaking change; values seen today include `song`, `album`, `artist`, `playlist`, `podcast`, `podcast_episode` and `video`.
  - `plugin` PluginMap, required

## Other responses

- `400` — HTTP 400 Bad Request (errors 4705, 4710).
- `401` — HTTP 401 Unauthorized (error 4701).
- `403` — HTTP 403 Forbidden (errors 4700, 4703, 4742).
- `404` — HTTP 404 Not Found (error 4704).
- `500` — HTTP 500 Internal Server Error (error 4702).

---

[API](https://skmtc.net/ampache/apis/ampache-rest-api.md) · [All operations](https://skmtc.net/ampache/apis/ampache-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ampache/ampache-rest-api/revisions/42d304fb6867/schema)
