Work Identifier Codes

Is there a way to easily import these from ISWCnet? Some works can have a dozen+ rights society codes (from BMI, JASRAC, etc.) that would be extremely time consuming to put in normally, but they do have some value in archiving. I can’t find a userscript or website that lets you do this.

1 Like

I’ve got a userscript that adds a button on ISWCNet to copy the ISWC and work codes and bulk paste them into the work edit page onto MB. I’m still testing it, and the main reason I haven’t released it yet is that the UX is a bit iffy, but if I find some time I’ll release it in the coming days.


I see that, on ISWC Network, JASRAC codes are not formatted.
They are just 8 plain characters, which is not wrong as JASRAC describes their work code as being 8 digits (where the second digit is replaced by a letter, for foreign works).

But usually they are displayed with hyphens before the 4th and last digits:

They have no hyphens there, although, generally JASRAC work codes should be:

  • Japanese works: 111-1111-1
  • Non-Japanese works: 1A1-1111-1

@reosarevok, is there possibility to validate or to format work attributes?
Or to store a form (12345678) but then display with hyphens (123-4567-8)?

But without hyphens is correct, as they describe them as 8 digits (except second character is a letter for works from outside Japan).

An example of validation would be something like:


JASRAC isn’t the only one that’s formatted weirdly on ISWCNet. For ASCAP, they tend to add a bunch of leading zeroes which aren’t displayed in ASCAP’s own repertoire. There’s likely other examples too, but I can’t remember concrete ones.

Another thing that I’ve noticed while testing the userscript, is that sometimes ISWCNet lists multiple codes of the same agency for the same work. Can works store multiple codes of the same type? I could test this, but the test server is “being naughty” (502 errors).

There’s also a bunch of agencies in ISWCNet for which no attribute exists in MB. These are the ones I found so far during testing: “COTT”, “JACAP”, “SACIM”, “NICAUTOR”, “SGACEDOM”, “AACIMH”, “SPAC”, “AEI”, “SOBODAYCOM”.


That script sounds very helpful, I hope you share it with us soon.

It seems like MB might need some validation features for works in general. I have not tried, but it looks like you could put any arbitrary information in the ISWC box if you wanted to.

Those leading 0s are because these codes are x-amount of digits.
for example, if you have a 9 digit code - the first item you list would not be 1 because 1 is not 9 digits, it would be 000000001.

It’s sort of the basis for the Y2K hysteria - what happens when the 2 digit year resets from 99 to 00 (or 00 to 01).

The ISWC box doesn’t allow you to publish whatever you want, but it looks like the agency identifiers do.


Yeah, these were always meant for the few people dedicated enough to enter these, so we honestly didn’t really even consider needing validation. Not saying we shouldn’t eventually add it, but that will require, at least, figuring out what is the expected code for each agency, on top of actually writing the validating code. We kept finding IPIs which broke the validation we had (I think the shortest we found was 5 digits) so I expect this to also be an eternal work in progress :smiley:


Very nice! Makes adding these a breeze.

Two things: would it be possible to get it to work on the edit relationships page on a release (where you can add works after searching to see if an existing one fits) and would it be possible for it to automatically fill the work name box with the default ISWCnet name for a work if you don’t already have one filling that box?
edit: And I think you should add a link to the script itself in the edit note

Good points. I’ve just pushed a new version with support for the relationship editor, haven’t tested it too thoroughly it’s pretty much the same as any other create/edit page where works can be added after searching, so should be fine.

The title thing is also possible, I’ll see what I can do tomorrow/over the weekend. I guess you could go as far as adding writer credits too (possibly using the IPI codes rather than just names), but ISWCNet sometimes doesn’t contain the most accurate information for those.


I wonder if those multiple codes are even correct. For T-803.897.374-0 (Alle wollen Liebe) it lists
25786308-001 and 20215045-001

20215045 is clearly for that work. While 25786308 is for “KREISLERIANA OP. 16 - 3. SEHR AUFGEREGT”?!

Yeah that doesn’t seem right, but it’s a problem with ISWCNet itself. Version 2021.2.14 adds a warning for cases where ISWCNet has multiple codes for the same agency.

1 Like

I have gone through and looked at some of the works which were added to and “fixed”, it really looks good, very nice work. Guess I will need to start learning how to use userscript’s.

@selflessself Replying to you here to not spam the userscript announcement topic too much.

For everyone who wasn’t aware yet: The latest version of the work importer script adds code validation and formatting to all agency identifier types supported by MB right now. It’s still in an experimental phase, so it’s not enabled by default yet. In terms of formatting, it’ll remove leading zeroes, add the punctuation in the same way the code appears on the agency’s own repertory search (e.g., the dashes in JASRAC codes), and it’ll also attempt to remove suffixes added by ISWCNet to Latin American agency codes. If you find any problems, please let me know.

As for @selflessself’s question of adding a JASRAC importer, IIRC it shouldn’t be too difficult to add a new source to the script, so I’ll look into it. I think @jesus2099 has/had a JASRAC work importer already though.

Edited to add: I’ve just added a small new userscript to my repo to highlight such invalid or ill-formatted work codes: MB: Validate Work Codes. I’m only posting this here because probably only the hardcore work identifier editors will find this useful (or if you really like orange text). If you like colourful pages, install that script and check out this collection.


Nice. I didn’t know about that existing JASRAC script until now. I always feel like such a barbarian when I discover that I’ve been working without a useful one.

1 Like