https://www.mp3tag.de/en/ could be useful if your files are already uniformly named and if you're on Windows
If you just want correct metadata (no own adjustments), then getting it from the MusicBrainz database is probably easiest. You can use MusicBrainz Picard for that: https://picard.musicbrainz.org
It does also seem to have a scripting API. No idea how well that works, though.
I became obsessive with beets. It uses MusicBrainz IDs to sort all of the files. https://beets.io/
I do it in Winamp, but you probably just want a dedicated software like the other commenters proposed