Showing results for 
Search instead for 
Did you mean: 
Frequent Visitor

Web.Contents failed to get contents | (429): Data API call already in progress

Hello there! 


I've got a quite complex report that gets a good set of different fields. When I run a refresh on Power BI Desktop, it takes a while but works. After publishing to the service, refreshes (manual and scheduled) fail consistently with "Web.Contents failed to get contents (429): Data APi call already in progress...". I figured Power BI Service is pulling data parallel and tried reducing queries into one proxy query from which my other queries then get their fields. With this constellation there are just too many fields in this one query and the SQL analysis service gets stuck and never finishes. So not good either. Now, I've got it divided into 4 queries with 4 different API keys, thinking the API server will then recognise that it's separate queries and not throw the 429, but to no avail. How do I get Power BI service to not process in parallel and honour my configuration of serial processing as Power BI desktop does? Alternatively, how can I avoid SQL Analysis Service to get stuck with too many columns? Any other suggestions how to approach this? 


P.S.: On-demand request fails without error message (just an empty line) after 30 seconds from start time while scheduled refresh fails after 15-20 mins with the mentioned message (Web.Contents failed to get contents (429): Data API call already in progress). That's a bit strange, I think. 




Community Support
Community Support

Hi @jsteinigen ,


Sorry for that, We cannot reproduce the issue here and also not found an effective solution. We suggest you to open a ticket here for help if you are a pro user:


Support Ticket .gif


Best regards,

Community Support Team _ Dong Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Community Support Team _ Dong Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Well @v-lid-msft, that'll be happening in parallel. 


For now I had a closer look at the Web.Contents ManualStatusHandling option and think it should work to implement the wait-retry pattern for the 429 error. But saying that, I implemented it and get an error I cannot figure out.

I followed but now getting the error message:


"Expression.Error: The import Value.WaitFor matches no exports. Did you miss a module reference?"


My code for the query: 


Source = Csv.Document(
        waitForResult = Value.WaitFor((iteration) =>
                        result = Web.Contents("",[RelativePath="/api/v1/surveys/selfserve/...censored.../data?fields=uuid,age,gender,...censored...", 
                        buffered = Binary.Buffer(result),
                        status = Value.Metadata(result)[Response.Status],
                        actualResult = if status = 429 then null else buffered                    
                (iteration) => #duration(0,0,0,Number.Power(2, iteration)), 5)
            [Delimiter="	", Encoding=1252, QuoteStyle=QuoteStyle.None]),    
    #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true])
    #"Promoted Headers"


Any idea what I might be doing wrong and how to fix it? 


I am getting the same error, did you figure this out?

Helpful resources

Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Community Conference

Microsoft Power Platform Communities

Check out the Winners!


Create an end-to-end data and analytics solution

Learn how Power BI works with the latest Azure data and analytics innovations at the digital event with Microsoft CEO Satya Nadella.

Top Solution Authors
Top Kudoed Authors