There are no public CSV and FTP APIs available in Kentico as far as I'm aware. But this is fine because these implementations can be easily found in Nuget. These are very good examples of using a package manager instead of relying on CMS. For CSV read/write operations we typically use CsvHelper and for FTP - FluentFtp.
And you are right, using a Scheduled Task for this would be a good practice.