I'd like to build a service where a file from a FTP Server is downloaded as soon as it has been modified. It's always the same file name. I think of checking for the timestamp every few minutes but maybe there is a more elegant way to solve that?
Checking timestamp (or something very similar) is the only way you can do it with a generic the FTP protocol API.
Your particular FTP server may have better API for that, but we do not know anything about your FTP server.