I need to:
1. call REST APIs (with Authorization HTTP header) and get JSON (arrays of objects), also parent-child endpoints (parent has IDs of child objects) -- nested loops
2. paginate using the Link HTTP response header, observe rate limits (HTTP response headers, to avoid 429 errors) and concurrency limits
3. (nice to have) select certain fields from the JSON object; also, data can be "L-shaped" (not every record has the same fields)
4. export to CSV
Open source, cross-platform would be good. Needs to be easy for not-very-technical end users to use.