I have a few million rows of data to export. GA only lets you export 5,000 rows at a time.
What's an easy and free way to do this?
You divide a few million rows by 5000 rows at a time and you get the number of times you'd have to send your API requests.
You don't download all the data with one API request. You filter it by day/hour/minute or use api pagination.
The problem with their data api is not the number of rows at a time. The real problem is the maximum dimensions at a time. So be prepared to do some gluing. And no gluing will be possible if you haven't stored the client id in a custom dimension back when you gathered that data. Because Google doesn't want to give you the client ID in the reporting API.