Forum Discussion
Power BI Pro – Incremental Refresh Not Working with API-based Dataset
- 1 year ago
Hi Chikku,
Thank you for reaching out to the Microsoft Fabric Forum Community. Please consider below points:- Yes, Power BI Pro supports incremental refresh Premium isn’t required for Pro-level functionality.
- Yes, it can work with APIs if you embed date filters into the API call effectively doing manual query folding.
- Correct approach: create RangeStart/RangeEnd parameters → pass them into your API query (e.g: in Web.Contents) → filter using those parameters in the query → configure incremental refresh in Power BI Desktop → publish and schedule.
- If embedding isn’t possible, move data into a foldable source (e.g: Dataflow, Datamart, Azure SQL) first, then apply incremental refresh
Refer below official documentations:
If this information is helpful, please “Accept as solution” and give a "kudos" to assist other community members in resolving similar issues more efficiently.
Thank you. - 1 year ago
Hi Chikku
You're on the right path with setting up incremental refresh in Power BI, but there are a few important considerations and limitations, especially when using APIs and a Power BI Pro license. First, incremental refresh is only supported in Premium workspaces, so with a Power BI Pro license, even though you can define the refresh settings in Power BI Desktop, it won’t function as expected after publishing to the Service unless the dataset is hosted in a Premium (or Premium Per User - PPU) workspace. That’s likely the core reason your refresh isn’t working post-publish.
Secondly, incremental refresh relies on query folding, which allows Power BI to push date-based filters (like RangeStart and RangeEnd) back to the source system. If your API doesn’t support this — which is common for REST APIs — Power BI can’t effectively partition the data, and it ends up pulling the full dataset during every refresh.
To implement incremental refresh correctly with an API:
You need to ensure your query is foldable, meaning Power BI can dynamically construct the API request with parameters (e.g., appending ?startDate=xxx&endDate=xxx).
Structure your API call in Power Query so it explicitly uses the RangeStart and RangeEnd parameters to request data in slices.
Make sure the applied filter is directly on a datetime field and used early in the query steps (before transformations that might block folding).
As a workaround, if your API doesn't support folding, consider:
Using Power Automate or Azure Data Factory to pre-stage API data into a storage location like Azure SQL, SharePoint, or Data Lake.
Then, connect Power BI to that intermediate store (which does support folding), enabling proper incremental refresh.
Alternatively, use custom functions in Power Query to page through and slice API responses by date, but this approach won't technically count as incremental refresh and will still trigger full refresh behavior.
In summary, incremental refresh with an API requires Premium capacity and a foldable query. Without both, you'll need to either upgrade your workspace or change the architecture to include an intermediate storage layer that supports efficient querying and folding.
Hello Chikku,
Just checking in have you been able to resolve this issue? If so, it would be greatly appreciated if you could mark the most helpful reply accordingly. This helps other community members quickly find relevant solutions.
Please don’t forget to “Accept as Solution” and Give “Kudos” if the response was helpful.
Thank you.