# \[WS\] Genius (Lyrics)

**URL:** <https://community.mp3tag.de/t/ws-genius-lyrics/52933>\
**Category:** Web Sources Scripts\
**Created:** [April 22, 2021, 10:03am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933 "2021-04-22T10:03:55Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [August 9, 2025, 6:15am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/65 "2025-08-09T06:15:48Z")

</div>

If you get this error the search string probably is not correct for Genius.  
Have a look at the url which you see for this track on the genius-website and compare it to the search string that Mp3tag uses for search. You can correct that in Mp3tag manually.

You used the JSON-version. There are different remarks in this thread, but the JSON-version does not work for me. I get no results for lyrics. The HTML-Version works here.

---

<div class="post-metadata">

**Author:** ![Reason](https://community.mp3tag.de/user_avatar/community.mp3tag.de/reason/32/18761_2.png) [@Reason](https://community.mp3tag.de/u/Reason)\
**Post date:** [August 9, 2025, 4:03pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/66 "2025-08-09T16:03:41Z")

</div>

That was it, thank you. In my example I had the artist as “David Bowie, Nine Inch Nails” but [Genius.com](http://Genius.com) doesn’t have NIN included, so removing that from the search URL allowed the lyrics to be found.

---

<div class="post-metadata">

**Author:** ![yee](https://community.mp3tag.de/user_avatar/community.mp3tag.de/yee/32/21394_2.png) [@yee](https://community.mp3tag.de/u/yee)\
**Post date:** [November 18, 2025, 3:04am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/67 "2025-11-18T03:04:21Z")

</div>

same issue here, it seems that this plugin doesn’t support Mac

---

<div class="post-metadata">

**Author:** ![crackbit](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/a3d4f5/32.png) [@crackbit](https://community.mp3tag.de/u/crackbit)\
**Post date:** [December 3, 2025, 11:55pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/68 "2025-12-03T23:55:15Z")

</div>

First, thank you for this script! It works great generally, but I also ran into issues when running it on Mac.

**The Problem:** When the script attempts to generate the Genius URL, the regex engine on the Mac version fails to parse the complex "featuring/stripping" pattern in the `.src` file. Instead of a clean URL, it generates a URL containing the error message itself:

`https://genius.com/Artist-invalid-regular-expression-s-ft-feat-featuring-prod-remix-radio-s-s-lyrics`

**The Cause:** The issue lies in `Genius#Lyrics.src`. The regular expression used to remove "feat.", "prod.", and "remix" information from the title is too complex for the Mac implementation (specifically the nested character classes `[[({]`).

**The Solution:** I have rewritten the `.src` file to use a simplified regex that is compatible with Mac while still correctly stripping the necessary data to generate the correct slug.

Here is the fixed code for `Genius#Lyrics.src`:

[Genius#Lyrics.src](https://community.mp3tag.de/uploads/short-url/fQEiMbxpljng1JH1ERyw8pL0qmS.src) (1.3 KB)

**Technical Detail of the Fix:** I replaced the failing regex: `^(.+?)\s+[[({]?(?:ft\.?|feat\.?|featuring\.?|prod.?|remix.?|radio\.?)\s+(?:[^][(){}]+)[])}]?(\s+.+)?$`

With this Mac-safe version: `\s+[\(\[](?:ft|feat|featuring|prod|remix|radio).*`

I have tested this updated script with just a few songs for now, but wanted to share this in case it helps other Mac users!

---

<div class="post-metadata">

**Author:** ![crackbit](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/a3d4f5/32.png) [@crackbit](https://community.mp3tag.de/u/crackbit)\
**Post date:** [December 4, 2025, 12:22am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/69 "2025-12-04T00:22:24Z")

</div>

I also made personal adjustments to the script:

In my music library, featured artists are in the **artist tag** in the form of “Danny Brown feat. Jane Remover” or even “Danny Brown, Jane Remover”, **not the song tag**. This updated script now searches both the artist and song tags to remove the unnecessary information from the URL. And it works on Mac like the version above.

[Genius#Lyrics.src](https://community.mp3tag.de/uploads/short-url/nUpGy6BsxDmFPT9Schv5V9cC0Gf.src) (1.4 KB)

---

<div class="post-metadata">

**Author:** ![chero97](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/278dde/32.png) [@chero97](https://community.mp3tag.de/u/chero97)\
**Post date:** [January 28, 2026, 3:06pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/70 "2026-01-28T15:06:20Z")

</div>

I’ve run into the problem that the script doesn’t import the songwriter & producer credits anymore. Does somebody have a fix for this?

---

<div class="post-metadata">

**Author:** ![Arcane](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/858c86/32.png) [@Arcane](https://community.mp3tag.de/u/Arcane)\
**Post date:** [July 26, 2026, 9:07pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/71 "2026-07-26T21:07:36Z")

</div>

Hi @bugzero,  
thank you very much for this script. It is very useful.  
Though it didn't work reliably with Turkish names, so I have added some characters (ı, İ, ş and ğ) in `replace()` of the `Genius#Lyrics.src` file.

Tested, works. Would be nice if you could include it in the post.

[Genius#Lyrics.src](https://community.mp3tag.de/uploads/short-url/3vXhTQPle81yKr8fJjlNnHtOUj0.src) (2.1 KB)

---

<div class="post-metadata">

**Author:** ![Alisstor](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/ecc23a/32.png) [@Alisstor](https://community.mp3tag.de/u/Alisstor)\
**Post date:** [August 3, 2026, 7:28pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/72 "2026-08-03T19:28:59Z")

</div>

Hi, I've tried using this script but when I do, the lyrics come out without any line breaks, which is rather unreadable. Do you have any idea how to fix it ?

---

<div class="post-metadata">

**Author:** ![bugzero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/bugzero/32/10350_2.png) [@bugzero](https://community.mp3tag.de/u/bugzero)\
**Post date:** [August 4, 2026, 8:48am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/73 "2026-08-04T08:48:30Z")

</div>

You can go to Tag Sources -\> Genius -\> Settings and modify the 'Line Endig Type' By default LF (Linux) is selected because it is compatible with a big number of players, but if yours is not compatible you can modify it to CR+LF (Windows) or CR (Mac).

---

<div class="post-metadata">

**Author:** ![bugzero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/bugzero/32/10350_2.png) [@bugzero](https://community.mp3tag.de/u/bugzero)\
**Post date:** [August 4, 2026, 9:10am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/74 "2026-08-04T09:10:16Z")

</div>

Thanks I've added it to the script

---

<div class="post-metadata">

**Author:** ![bugzero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/bugzero/32/10350_2.png) [@bugzero](https://community.mp3tag.de/u/bugzero)\
**Post date:** [August 4, 2026, 9:10am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/75 "2026-08-04T09:10:54Z")

</div>

Thanks I've added your script as the MAC version in v0.53

---

<div class="post-metadata">

**Author:** ![Alisstor](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/ecc23a/32.png) [@Alisstor](https://community.mp3tag.de/u/Alisstor)\
**Post date:** [August 4, 2026, 2:41pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/76 "2026-08-04T14:41:07Z")

</div>

Thank you, that's perfect !

---

<div class="post-metadata">

**Author:** ![Arcane](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/858c86/32.png) [@Arcane](https://community.mp3tag.de/u/Arcane)\
**Post date:** [September 9, 2026, 9:05pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/77 "2026-09-09T21:05:18Z")

</div>

Hello @bugzero, since yesterday the plugin doesn't work anymore.

 ![image](https://community.mp3tag.de/uploads/default/original/3X/2/1/21adfa97613d0e16fc1d7838a6a22b575e00b243.png)

I tried multiple titles and tried it on Windows 10, but it's always the same.

[genius.com](http://genius.com) is accessible through the web browser (firefox 153.2.0esr). The links generated by the plugin ([https://genius.com/Rammstein-reise-reise-lyrics](https://genius.com/Rammstein-reise-reise-lyrics) in this case) are also accessible.

Could you please look into it? Thank you!

Edit: Nevermind, I was able to fix it with an LLM. The issue was that Genius swapped the attribute order in their `<meta>` tags. The script's regex expects `content="..."` to come **before** `property="og:..."`. Genius reversed the order (`property` first, `content` second) at some point. And since that first regex never matches, `<cover:start>` never gets inserted, `findinline` fails, and I get `<Error>`.

Just added these lines under the `Search optional tags` comment inside `Genius#Lyrics.inc`:

```auto
regexpreplace "<meta\s*property=\"og:image\"\s+content=\"([^\"]+?)\"\s*\/>" "<cover:start>$1<cover:end>"
regexpreplace "<meta\s*property=\"og:title\"\s+content=\"([^\"]+?)\"\s*\/>" "<title:start>$1<title:end>"
regexpreplace "<meta\s*property=\"og:url\"\s+content=\"([^\"]+?)\"\s*\/>" "<url:start>$1<url:end>"

```

I'd like to upload the file directly, but this platform doesn't let me upload it, telling me:

> Sorry, the file you are trying to upload is not authorized (authorized extensions: jpg, jpeg, png, gif, src, mte, mta, log, dmp, zip, rar, pdf, txt, rtf, mov, mp4).

---

<div class="post-metadata">

**Author:** ![bugzero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/bugzero/32/10350_2.png) [@bugzero](https://community.mp3tag.de/u/bugzero)\
**Post date:** [September 14, 2026, 6:04am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/78 "2026-09-14T06:04:16Z")

</div>

Like many other sites, [genius.com](http://genius.com) is now protected by a Cloudflare Tunnel, and the Web Source API is unable to access it. Perhaps @Florian can do something about it, but from the script, the only way to access it would be through a proxy.

---

<div class="post-metadata">

**Author:** ![Josh65](https://community.mp3tag.de/user_avatar/community.mp3tag.de/josh65/32/23601_2.png) [@Josh65](https://community.mp3tag.de/u/Josh65)\
**Post date:** [September 14, 2026, 1:59pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/79 "2026-09-14T13:59:35Z")

</div>

Is there a way to have the front cover replaced rather than adding a new one?

Also a way to pull track number shown above the release date.

---

<div class="post-metadata">

**Author:** ![descary0](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/d/7cd45c/32.png) [@descary0](https://community.mp3tag.de/u/descary0)\
**Post date:** [October 23, 2026, 3:14am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/80 "2026-10-23T03:14:22Z")

</div>

Since version 3.36.1-x64 is installed, I've not been able to download any lyrics from Genius site. I'm not sure if it comes from Genius site bug or from MP3tag.

See my command sequence:

Lyrics command:

 ![Lyrics commande](https://community.mp3tag.de/uploads/default/original/3X/8/4/84c8e612330b48a129bab7407628553d99a56c40.jpeg)

Lyrics prompt:

 ![Lyrics prompt](https://community.mp3tag.de/uploads/default/original/3X/1/f/1f3108af67485266d3180bedcdb8a461c5a9140d.png)

Lyrics result:

 ![Lyrics result](https://community.mp3tag.de/uploads/default/original/3X/9/a/9ad5915107472f9c9b4fa703ef08bd3429a9e7c3.png)

Somebody can help me?

Thanks,

---

<div class="post-metadata">

**Author:** ![descary0](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/d/7cd45c/32.png) [@descary0](https://community.mp3tag.de/u/descary0)\
**Post date:** [October 23, 2026, 2:29pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/81 "2026-10-23T14:29:45Z")

</div>

🥲

So if I understand, I would be able to access the web site lyrics from Genius by installing a personal or residential proxy on my own side?

---

<div class="post-metadata">

**Author:** ![dipa1234](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/d/dfb087/32.png) [@dipa1234](https://community.mp3tag.de/u/dipa1234)\
**Post date:** [November 7, 2026, 4:25pm UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/82 "2026-11-07T16:25:13Z")

</div>

Hello all. I am also getting 403 Forbidden error, using the latest plugin and mp3tag build for Windows. However the following tip is now working for me (got it via LLM), at least for the moment :

Open `Genius#Lyrics.src` on the `%APPDATA%\Mp3tag\data\sources\`

Add the following line:

[UserAgent]=1

**UPDATE:** Oops. It was a hasty conclusion. The tip overcomes the 403 error but the result is empty, exactly per descary0s comment. At least, I am able to open the actual Genius link but that's all. @bugzero By suggesting to use a proxy, did you mean the [mp3tagproxy application](https://community.mp3tag.de/t/mp3tag-proxy-fixes-cloudflare-403-for-beatport-traxsource-web-sources-windows/71557) from user [The\_Zhu](https://community.mp3tag.de/u/the_zhu)?

---

<div class="post-metadata">

**Author:** ![The\_Zhu](https://community.mp3tag.de/user_avatar/community.mp3tag.de/the_zhu/32/22820_2.png) [@The\_Zhu](https://community.mp3tag.de/u/The_Zhu)\
**Post date:** [November 10, 2026, 11:52am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/83 "2026-11-10T11:52:11Z")

</div>

@dipa1234 The proxy is made for Beatport and Traxsource, but I tried a Genius lyrics page through it and it came back complete, without the 403.

@bugzero so the proxy route you mentioned looks workable, at least for the page itself. If you want to try it with the script: with the proxy running, put `http://127.0.0.1:8787/` in front of each `genius.com` URL, so `https://genius.com/...` becomes `http://127.0.0.1:8787/https://genius.com/...`. I haven't tried that with the script itself, so whether it's worth it is your call.

---

<div class="post-metadata">

**Author:** ![johnemc](https://community.mp3tag.de/user_avatar/community.mp3tag.de/johnemc/32/12312_2.png) [@johnemc](https://community.mp3tag.de/u/johnemc)\
**Post date:** [November 11, 2026, 12:10am UTC](https://community.mp3tag.de/t/ws-genius-lyrics/52933/84 "2026-11-11T00:10:35Z")

</div>

This worked for me on Windows 11. Thanks @The_Zhu (and @bugzero)!

[Previous page](https://community.mp3tag.de/t/ws-genius-lyrics/52933.md?page=3)
