1. The phone has to be rooted. (It's not possible to recover files from a non-rooted phone). Rooting can overwrite some of the files you're trying to recover.
2.
DiskDigger undelete (root) works, but the free version only recovers photos, so you'd have to pay for it (it's a few bucks). Installing an app can also overwrite some of the files you're trying to recover.
3. Always keep backups of files you don't want to lose. A computer axiom that goes back to the days of mag tape storage is "any file not backed up is a file you don't need". I change that to "backed up to at least 2 destinations". Your computer, a thumb drive, a cloud account - we have many cheap or free choices these days.