Is there any API in Roku to download channel engagement reports based on a given date?
No, however you can schedule reporting to be emailed as mentioned in our analytics documentation here. Some channel partners will then use a script to automatically scrape the data from the emailed reporting. Hope that helps!
