@mattkrins Yes, you can use the Canvas API to do this. The API is located under Account Reports - Canvas LMS REST API Documentation The equivalent in the UI is to go to your account or subaccount, click Settings, then access the Reports tab to pull the reports.
You'll need to have the correct report name as reported by Canvas. I'm 99% sure the names are the same across all instances, so for example, under my district's instance, the SIS Exports is called "sis_export_csv" and then to specify the particular report, I would use the parameters.
If you need a Python example, you can find one here. What this code does is that it pulls a SIS export of courses, then modifies the file to associate blueprints with courses that don't have a blueprint already, then sends it back up as a SIS import. The lines in the code for the SIS export functionality is lines 21-43 🙂
Hope this helps!