If it's an HDD as you said, you can try a tool like recuva: https://www.ccleaner.com/recuva, and if it's not enough, if you have knowedge in linux you can try foremost which is a forensics tool, it's gonna take more time but it's way better than recuva because of the way it works.
I'm just going to point to this blog post by a reputable data recovery company that tested spinrite and found that it "fixed" a bad sector by overwriting it with irrelevant data from elsewhere.
> You may have heard of the 3-2-1 backup strategy. It means having at least three copies of your data, two local (on-site) but on different media, and at least one copy off-site.