RE: Power BI Incremental Refresh
Before implementing incremental refresh I suggest to look at which APIs you are using. When using a Query API, you can aggregate data by implementing group-by, to match the granularity of your Power BI report(s). This reduces the size of the dataset. Next you can and should implement filters in Power BI, to not import what you don't need. So, remove all rows you don't need (aggregate, filter) and remove all columns you don't need.
Most out of the box APIs are page APIs and don't have any aggregation or filtering. Create and use custom Query APIs.
Then you can implement incremental refresh, for example using Dataflows:
Using incremental refresh with dataflows - Power Query | Microsoft Learn
Be aware this requires a Premium PBI license.
Many times I see Power BI reports importing ledger entries, without aggregating, without filters,... Then the data gets displayed in tables/matrixes, charts all grouped by certain fields. In those cases, you should import the data grouped (aggregated). This can reduce millions of rows to thousands of rows...