An ISBN parsing library
if (ISBN.TryParse("9780753557525", out var isbn))
{
Console.WriteLine($"Publisher: {isbn.Publisher}, Article: {isbn.Article} (Group {isbn.Group}, {isbn.GroupName})");
}
> Publisher: 7535, Article: 5752 (Group 0, English language)
The implementation is mostly a port from https://github.com/inventaire/isbn3, and consumes the group information published in that repository.
ISBN groups and ranges data is kept up to date via dotnet-file sync from the isbn3 repository which in turn fetches isbn-international.org data.