Spicy LyricsDocs

Attribution

Always display the provider. When source is Spicy Lyrics, also link the uploader and the maker. Those fields are absent for other sources; do not render empty attribution.

Using this API requires displaying attribution. What you display is conditional on the source field, so this cannot be hardcoded.

The rule

Always display the provider name. When source is spicy_lyrics, also link the uploader and the maker. Those fields are absent for other sources; do not render empty attribution.

That is the whole rule. The rest of this page is why, and what it looks like.

This is a binding condition, not a convention: section 6 of the Terms of Service makes this page part of the terms you accept when you create an account. Community syncs reach you under a licence from the people who made them, and credit is what they asked for in return.

Why it is conditional

Community syncs are made by people. The uploader and the maker are credited because they did the work — that credit is the point, not a formality. Those fields therefore exist only on community responses. Commercial sources have a provider and nothing else to credit.

A consumer who hardcodes attribution rendering gets it wrong in one of two directions, and both are bad:

  • Render uploader and maker unconditionally, and every non-community response shows an empty or broken credit line.
  • Render only the provider, and the people who made the sync you are showing get no credit at all.

Response shape per source

source: "spicy_lyrics"

{
	"Body": {
		"Type": "Syllable",
		"SongWriters": [
			"Stefani Joanne Angelina Germanotta",
			"Nādir Ḵayyāṭ"
		],
		"StartTime": 7.357,
		"Content": [...],
		"EndTime": 234.731,
		"id": "1QV6tiMFM6fSOKOGLMHYYg",
		"UploadAttribution": {
			"Uploader": {
				"id": "790942393255329803",
				"username": "spikerko",
				"avatar": "https://cdn.discordapp.com/avatars/790942393255329803/bb0b32161c04dc75bd06a39f13718a44.webp?size=256",
				"hasProfileBanner": true,
        "url": "https://spicylyrics.org/uid/790942393255329803"
			},
			"Maker": {
				"id": "816650334255579137",
				"username": "gc",
				"avatar": "https://cdn.discordapp.com/avatars/816650334255579137/03ec15a143788b3ba3f2549982c2b0ab.webp?size=256",
				"hasProfileBanner": false,
        "url": "https://spicylyrics.org/uid/816650334255579137"
			}
		},
		"source": "spicy_lyrics"
	},
	"Status": 200,
	"Type": "object"
}

Display: the provider, and the uploader, and the maker. Link them where a url is given.

source: "apple_music"

{
	"Body": {
		"Type": "Syllable",
		"SongWriters": [
			"Amala Zandile Dlamini",
			"Andrew Wells",
			"Anthony Rossomando",
			"Rachel Keen"
		],
		"StartTime": 1.358,
		"Content": [...],
    "EndTime": 228.888,
		"id": "7KNmIjcmGJIBrhP2s5Vioe",
		"source": "apple_music"
	},
	"Status": 200,
	"Type": "object"
}

Display: the provider only.

source: "spotify"

{
	"Body": {
      "Type": "Line",
      "StartTime": 10.81,
      "EndTime": 183.44,
      "id": "2WKGGQ6UmyUZGZgRJyEROB",
      "Content": [...],
      "source": "spotify"
	},
	"Status": 200,
	"Type": "object"
}

Display: the provider only.

Where it has to appear

Wherever the lyrics appear. If lyrics are on screen, the attribution for that response is on screen too (e.g. at the bottom), not on an about page, not in a tooltip nobody opens. It can be small and quiet. It cannot be absent.

On this page