# \[WS\] Beatport.com by stevehero \[Release, Single Track & Artwork tagging\]

**URL:** https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568
**Category:** Web Sources Scripts
**Created:** [October 4, 2011, 9:07pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568 "2011-10-04T21:07:57Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [October 4, 2011, 9:07pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/1 "2011-10-04T21:07:57Z")

</div>

![](https://community.mp3tag.de/uploads/default/original/2X/7/70ed1acb53b41b25619aecb18c5697ff33929cee.png)

[![pngegg](https://community.mp3tag.de/uploads/default/original/3X/3/c/3cc8d77f922710fabaa971cb3f4f726a39c3500b.png)](https://revolut.me/stephen147)[![62977a08e01809629f113557](https://community.mp3tag.de/uploads/default/original/3X/2/b/2b7aa097c1959a11831140308a32021b1f6e5ba7.png)](https://paypal.me/3dit)

  
  
  

Mp3tag ver required `Mac ver 1.8.4 / Win ver 3.26 (or Newer)`  
Last updated `2024.10.08`  
Reading time `2 mins`  
Scripts download  
[beatport by stevehero v6.007 Scripts.zip](https://community.mp3tag.de/uploads/short-url/uO5kfE9rqviqb6HZbBFR6nBxfkZ.zip) (45.5 KB)

#### INSTALL + USE THE SCRIPTS

1. Download the `.zip` file above ([donate here](https://revolut.me/stephen147), for a 🍺 or three) and extract it to the `%appdata%\mp3tag\data\sources` directory. See [this post](https://community.mp3tag.de/t/freedb-and-web-sources/2748/3) for more info.

2. Load your files into the Mp3tag UI, select the files you want to process and hit Alt+S+S, then the letter O, K etc. See below for scripts with their corresponding keyboard shortcuts.

#### SCRIPTS AVAILABLE AND KEYBOARD SHORTCUTS

- `ARTW`O`RK Search by (Album)Artist + Release`
- `ARTWORK Search by Release`
- `RELEASE Direct by `B`EATPORT RELEASE ID`
- `RELEASE Direct by `W`ww(URL)`
- `RELEASE Search by `A`rtist`
- `RELEASE Search by `F`ilename`
- `RELEASE Search by (Album)Artist`
- `RELEASE Search by (Album)Artist + `R`elease`
- `RELEASE Search by (Album)Artist + Ti`T`le`
- `RELEASE Search by Dire`C`tory`
- `RELEASE Search by Relea`S`e`
- `RELEASE Search by Titl`E``
- `TRACK Direct by BEATPORT_TRACK_`U`RL`
- `TRACK Direct by BEATPORT_TRACK_I`D``
- `TRACK Search by (Albu`M`)Artist + Title`
- `TRACK Search by Artist + Title`
- `TRACK Search by Fi`L`ename`
- `TRACK Search by T`I`tle`
- `USER SETTIN`G`S`

#### ADDITIONAL ACTIONS (_OPTIONAL_)

- Download and extract [`Seperate fields and remove time check urls`](https://community.mp3tag.de/uploads/default/original/2X/4/45fe38c808c882a1f559953ff7e6c58f50606fb9.mta)`.mta` to `%appdata%\mp3tag\data\sources`.  
_This will separate the multi-fields and remove the `Time Check` field._

#### VERSION HISTORY

`Beatport by &stevehero vX.X_Version History.md` can be found inside the unzipped file.

#### WHAT FIELDS ARE OUTPUTTED

 ![sample output](https://community.mp3tag.de/uploads/default/original/2X/4/4eb821816cafc7fd11a473240720ed29029ba4ef.jpeg)

#### DISABLING FIELDS

Open the menu item \> Tag Sources \> Beatport by stevehero v6 \> USER SETTINGS.

#### EDITING THE SCRIPTS

Please download notepad++ and download [`steveheros Mp3tag Web Sources Language for Notpad++.zip 218`](https://community.mp3tag.de/uploads/default/original/1X/fcf7336150fbff20a9819fb9d014e38a220a27ef.zip)`.zip` wrote by me to enable much easier viewing than in normal notepad does out of the box. Google how to install it.

#### DISABLE TAGS IN THE TAG ADJUST INFO PANEL KEYBOARD SHORTCUTS

| | |
| --- | --- |
| Ctrl + A | Select all |
| Ctrl + Shift + A | Invert selection |
| Space | Enable / Disable selected items |
| Ctrl + E | Enable all |
| Ctrl + D | Disable all |

#### SPECIAL MENTIONS + A BIG THANK YOU

To @pone for his invaluable help and guidance throughout version 1 and also for the `TRACK/TOTALTRACKS` fix and not to forget @jaimz for the original code, which got me scripting and developing the code it to where it is now.  
@stevehero

## GAME OVER.... 🖤

* * *

Any amount will be appreciated via the donation link below. Also, please feel free to comment in the thread, and I'll be happy to help.

Consider donating by clicking the Revolut/PayPal icon below as a token of appreciation, rather than buying me a Guinness in a bar.

[![pp32](https://community.mp3tag.de/uploads/default/original/2X/2/2f360b8a0ffd0684d636ad2d22e3e89563141fc2.png)](https://revolut.me/stephen147) [![pp32](https://community.mp3tag.de/uploads/default/original/3X/d/6/d6084172898fc6c3da0dcb195a45f4f74e0f610d.png)](https://paypal.me/3dit)

---

<div class="post-metadata">

### Author: ![pone](https://community.mp3tag.de/user_avatar/community.mp3tag.de/pone/32/272_2.png) [@pone](https://community.mp3tag.de/u/pone)
#### Post date: [October 4, 2011, 9:42pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/2 "2011-10-04T21:42:57Z")

</div>

Nice to see the final version.  
Good work!

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [October 4, 2011, 10:12pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/3 "2011-10-04T22:12:56Z")

</div>

Thanks pone. Means a lot to hear you say that. :]

---

<div class="post-metadata">

### Author: ![chodorowicz](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/ed8c4c/32.png) [@chodorowicz](https://community.mp3tag.de/u/chodorowicz)
#### Post date: [October 11, 2011, 6:26pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/4 "2011-10-11T18:26:27Z")

</div>

Thanks a lot. Very useful and seems to work flawlessly!

---

<div class="post-metadata">

### Author: ![dumdidum](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/d/278dde/32.png) [@dumdidum](https://community.mp3tag.de/u/dumdidum)
#### Post date: [October 17, 2011, 3:24pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/5 "2011-10-17T15:24:19Z")

</div>

hey,

i just registered to say thanks. great work! it blows my mind what can be done with the web sources scripts API.

---

<div class="post-metadata">

### Author: ![Stomper](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/cc9497/32.png) [@Stomper](https://community.mp3tag.de/u/Stomper)
#### Post date: [October 17, 2011, 7:03pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/6 "2011-10-17T19:03:54Z")

</div>

Any chance of this little beauty pulling the Key information of tracks? Is it offered in the api?

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [October 17, 2011, 8:42pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/7 "2011-10-17T20:42:00Z")

</div>

**EDIT**
The script now offers BPM and INITIAL KEY parsing. See [starting post](https://community.mp3tag.de/t/12568/1).

---

<div class="post-metadata">

### Author: ![papo2](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/p/a88e4f/32.png) [@papo2](https://community.mp3tag.de/u/papo2)
#### Post date: [November 8, 2011, 12:52am UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/8 "2011-11-08T00:52:27Z")

</div>

For some reason, when I try to tag by URL, it says the following:

"Error connecting to server: [http://api.beatport.com"](http://api.beatport.com%22)

This is the URL of one of the songs I am trying to tag.

[http://www.beatport.com/track/so-much-love...lub-mix/2439233](http://www.beatport.com/track/so-much-love-original-club-mix/2439233)

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [November 9, 2011, 12:06am UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/9 "2011-11-09T00:06:02Z")

</div>

Your error relates to using the wrong URL to parse [beatport.com](http://beatport.com). Instead of using the track url use the release one such as [http://www.beatport.com/release/so-much-love/438196](http://www.beatport.com/release/so-much-love/438196) whereas track is like the url you posted relates to the individual track itself.

The script is not intended for individual tracks. The way I use it if there I have only one track from a release But in is to parse the album it relates too.

But in your case the track you are parsing is the only one on your realease.

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [November 17, 2011, 1:06am UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/10 "2011-11-17T01:06:12Z")

</div>

**UPDATE VERSION 1.1 OF 'BEATPORT.COM SCRIPTS BY STEVEHERO'**
1. added a search by title script.
2. added leading zeros to track and totaltracks.
3. added output of TRACK / TOTALTRACKS

See [this post](https://community.mp3tag.de/t/12568/1) for update.

---

<div class="post-metadata">

### Author: ![adrian.berger](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/b5e925/32.png) [@adrian.berger](https://community.mp3tag.de/u/adrian.berger)
#### Post date: [November 19, 2011, 11:18am UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/11 "2011-11-19T11:18:15Z")

</div>

> [@Papo](#):
>
> For some reason, when I try to tag by URL, it says the following:  
> "Error connecting to server: [http://api.beatport.com"](http://api.beatport.com")

Had the same problem and could fix it by applying the following changes to the source-files:

Change the line with

[AlbumUrl]=http://api.beatport.com/catalog/releases/detail?v=1.0&format=xml&id=

to

[AlbumUrl]=http://api.beatport.com

and then change

 regexpreplace "\>\s+\<" "\>\<"

```
findinline "<release"<!--fontc--></span><!--/fontc-->

```

 

to

  regexpreplace "\>\s+\<" "\>\<"

```
say "/catalog/releases/detail?v=1.0&format=xml&id="
findinline "<release"<!--fontc--></span><!--/fontc-->

```

 

Hope this helps

 

adrian

---

<div class="post-metadata">

### Author: ![privatewid](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/p/34f0e0/32.png) [@privatewid](https://community.mp3tag.de/u/privatewid)
#### Post date: [December 11, 2011, 7:02pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/12 "2011-12-11T19:02:59Z")

</div>

Firstly thanks stevehero, dano and pone for these fantastics scripts. I only discovered the web sources forum yesterday and I've been tagging using the scripts since.

Ok the problem I'm having is that I'm happy with the existing ARTIST fields of the releases I'm tagging using the Steve's beatport script so I've been trying to customise it slightly so that this field is skipped when it comes to tagging. Not having much look I'm afraid.

Firstly I tried commenting out, using #, the lines below but the script no longer works properly when I do this (attachment 1)

> # ARTIST findline "\<performer" unspace joinuntil "" regexpreplace "\>\s+\<" "\>\<" regexpreplace "]+\>([^\"]+)" "\<$1\>$2" outputto "Artist" sayregexp "(?\<=)[^\<]+" "\\\\" "" say "|" gotochar 1

I've also tried commenting out only the line that says...

> outputto "Artist"

... but that doesn't work correctly either (attachment 2). The GENRE field gets muddled up for want of a better word!

It's as if the script requries the artist field to be written. Can anyone help me with this?

Cheers,  
Pau.

 ![](https://community.mp3tag.de/uploads/default/original/2X/2/26d687a64cd02fae748c8ac6fdd8dbc3e32c3403.JPG)  

 ![](https://community.mp3tag.de/uploads/default/original/2X/2/21baa68f265f0aeea39aca806ead6868c2e9b778.JPG)

---

<div class="post-metadata">

### Author: ![pone](https://community.mp3tag.de/user_avatar/community.mp3tag.de/pone/32/272_2.png) [@pone](https://community.mp3tag.de/u/pone)
#### Post date: [December 11, 2011, 7:35pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/13 "2011-12-11T19:35:28Z")

</div>

_comment-out_ only the say... parts at the artist section:

```
#sayregexp "(?<=<Artist>)[^<]+" "\\\\" "</track>"
#say "|"

```

that should work.

or simply set artist to zero at the end of the script. or almost at the end, but before the "track fix" section, if you get a strange output at track and title.  
set "artist"

---

<div class="post-metadata">

### Author: ![privatewid](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/p/34f0e0/32.png) [@privatewid](https://community.mp3tag.de/u/privatewid)
#### Post date: [December 11, 2011, 9:29pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/14 "2011-12-11T21:29:58Z")

</div>

QUOTE (pone @ Dec 11 2011, 20:35) \<{POST\_SNAPBACK}\>

_comment-out_ only the say... parts at the artist section:

```
#sayregexp "(?<=<Artist>)[^<]+" "\\\\" "</track>"
#say "|"

```

that should work.

or simply set artist to zero at the end of the script. or almost at the end, but before the "track fix" section, if you get a strange output at track and title.

```
set "artist"<!--QuoteEnd--></div><!--QuoteEEnd-->

```

Thanks pone, that works great. I've also been playing around with the script and made some changes to prevent other fields being written and it's working really well

```
set "albumartist"
set "album artist"

```

Maybe you can help me with the issue I'm having with the DATE field? It's read in the script in the format MMDD whereas all my other previously tagged files are in DDMM format. Pone you helped me with this in [this](https://community.mp3tag.de/t/12786/2) topic but I'm lost at how the regular expression you gave me would work otuside the main program and in a script.

Many thanks,  
Paul

---

<div class="post-metadata">

### Author: ![pone](https://community.mp3tag.de/user_avatar/community.mp3tag.de/pone/32/272_2.png) [@pone](https://community.mp3tag.de/u/pone)
#### Post date: [December 11, 2011, 10:26pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/15 "2011-12-11T22:26:04Z")

</div>

> [@The Sheriff](#):
>
> Maybe you can help me with the issue I'm having with the DATE field? It's read in the script in the format MMDD whereas all my other previously tagged files are in DDMM format. Pone you helped me with this in [this](https://community.mp3tag.de/t/12786/2) topic but I'm lost at how the regular expression you gave me would work otuside the main program and in a script.

put this line

```
regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1-$3-$2"

```

after

```
findline "<dateReleased>"

```

at the DATE section.

**or**

change this

```
indinline "-"
sayuntil "-"
findinline "-"
sayuntil "</"

```

into this

```
findinline "-" 2
sayuntil "</"
findinline "-" -1
movechar -1
sayuntil "-"

```

at the DATE section

@ stevehero:  
I hope you don't mind me messing up your script 😉

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [December 11, 2011, 10:33pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/16 "2011-12-11T22:33:58Z")

</div>

> [@The Sheriff](#):
>
> Maybe you can help me with the issue I'm having with the DATE field? It's read in the script in the format MMDD......

To format the **DATE** in the format DDMM

Enter the following:

```
# DATE
outputto "date"
gotoline 1
findline "<dateReleased>"
findinline "<dateReleased>"
findinline "-"
findinline "-"
sayuntil "</"
gotochar 1
findline "<dateReleased>"
findinline "<dateReleased>"
findinline "-"
sayuntil "-"

```

Replacing:

```
# DATE
outputto "date"
gotoline 1
findline "<dateReleased>"
findinline "<dateReleased>"
findinline "-"
sayuntil "-"
findinline "-"
sayuntil "</"

```

**EDIT**  
@pone, not one little bit :] Just seen you posted. Its a cleaner method but both things do the same @The Sheriff.

---

<div class="post-metadata">

### Author: ![privatewid](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/p/34f0e0/32.png) [@privatewid](https://community.mp3tag.de/u/privatewid)
#### Post date: [December 11, 2011, 11:43pm UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/17 "2011-12-11T23:43:56Z")

</div>

QUOTE (pone @ Dec 11 2011, 23:26) \<{POST\_SNAPBACK}\>

put this line

```
regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1-$3-$2"

```

after

```
findline "<dateReleased>"

```

at the DATE section.

**or**

change this

```
indinline "-"
sayuntil "-"
findinline "-"
sayuntil "</"

```

into this

```
findinline "-" 2
sayuntil "</"
findinline "-" -1
movechar -1
sayuntil "-"

```

at the DATE section

@ stevehero:  
I hope you don't mind me messing up your script 😉

pone, you are a genius. Thanks again.

---

<div class="post-metadata">

### Author: ![garves](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/g/c89c15/32.png) [@garves](https://community.mp3tag.de/u/garves)
#### Post date: [January 2, 2012, 3:02am UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/18 "2012-01-02T03:02:15Z")

</div>

Beatport are now displaying the bpm and song Key info in the API..

Could you please add these tags into the next update of the script?

I've modified my .src files and I now get the bpm.  
but I'm struggling with the song key info. (I'm new to this)

thanks

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [January 2, 2012, 8:55am UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/19 "2012-01-02T08:55:37Z")

</div>

I've taken a quick look on my phone there and its seems they do have it in the API 🙂. This will be included in the next update of the script very soon as its the most requested feature from you guys.

Thanks for pointing that out garves.

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [January 7, 2012, 2:54am UTC](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568/20 "2012-01-07T02:54:26Z")

</div>

> [@garves](#):
>
> Beatport are now displaying the bpm and song Key info in the API..
> 
> Could you please add these tags into the next update of the script?...

I've been very busy (my apologies) so those looking for a quick fix to the BPM and INITIALKEY info. Heres goes.

The INITIALKEY tag is formatted as follows:  
C Minor  
C♯ Major  
A♭ Minor

I have tested the special character '♭' in traktor and it shows up. Any problems for now just find where it says '_replace "1" "♭"_' in the code below and change the '♭' to a 'b'.

**BTW Any suggestions as to how you would like this formatted please let me know. OR maybe its fine the way it is :]**

**Just so I can update the next version to how you guys like it**

 

Please place whats in _italics_ between whats in **bold** in the script, like so:  
**# \_LENGTH  
outputto "\_length"  
findline ""  
findinline "\>"  
sayuntil "\</"  
say "|"**  
_# BPM  
outputto "BPM"  
findline ""  
findinline "\>"  
sayuntil "\</"  
say "|"_

 
_# KEY_
 

_```
outputto "InitialKey"
findline "<trackKey>"
# LETTER	
moveline 2
findinline ">"
sayuntil "</"
# SHARP
moveline 1
replace "1" "♯"
findinline ">"
sayuntil "</"
# FLAT
moveline 1
replace "1" "♭"
findinline ">"
sayuntil "</"
# CHORD
moveline 1
replace "minor" "Minor"
replace "major" "Major"
findinline ">"
Say " "
sayuntil "</"
say "|"</i>_

_```_

 

**# GENRE  
outputto "Genre"  
findline "\<genre"**

[Next page](https://community.mp3tag.de/t/ws-beatport-com-by-stevehero-release-single-track-artwork-tagging/12568.md?page=2)
