Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
purple_banana
Frequent Visitor

Adding Timeout to a Web.Contents Dataflow query

I have the following query which works, however the API is very slow, and if I try to increase the date range it times out:

 

Json.Document(Web.Contents("https://<source>/api/v2/",[RelativePath="analytics-stream?startDate="
    & Date.ToText(RangeStart, "yyyy-MM-dd") & "&endDate=" & Date.ToText(RangeEnd, "yyyy-MM-dd")
    &"&code=01"]))
 
I think I should be able to add a timeout argument: e.g. "[Timeout=#duration(0, 0, 30, 0)]" - From research I thought it would go before the end parentheses, however no matter where I put it, the query subsequently fails;
 
Json.Document(Web.Contents("https://<source>/api/v2/",[RelativePath="analytics-stream?startDate=" & Date.ToText(RangeStart, "yyyy-MM-dd") & "&endDate=" & Date.ToText(RangeEnd, "yyyy-MM-dd")
    &"&code=01"],[Timeout=#duration(0, 0, 30, 0)]))
Error: 3 arguments were passed to a function which expects between 1 and 2
 
Json.Document(Web.Contents("https://<source>/api/v2/",[RelativePath="analytics-stream?startDate="
    & Date.ToText(RangeStart, "yyyy-MM-dd") & "&endDate=" & Date.ToText(RangeEnd, "yyyy-MM-dd")
    &"&code=01"]),[Timeout=#duration(0, 0, 30, 0)])
Error: We cannot convert a value of type Record to type Number

Json.Document(Web.Contents("https://<source>/api/v2/",[Timeout=#duration(0, 0, 30, 0)],[RelativePath="analytics-stream?startDate=" & Date.ToText(RangeStart, "yyyy-MM-dd") & "&endDate=" & Date.ToText(RangeEnd, "yyyy-MM-dd")
    &"&code=01"]))
Error: 3 arguments were passed to a function which expects between 1 and 2
 
Please can anyone help with how I should incorperate this argument to this query?
 
Many thanks
1 ACCEPTED SOLUTION
lbendlin
Super User
Super User

Json.Document(Web.Contents("https:///api/v2/",[RelativePath="analytics-stream?startDate=" & Date.ToText(RangeStart, "yyyy-MM-dd") & "&endDate=" & Date.ToText(RangeEnd, "yyyy-MM-dd") &"&code=01",Timeout=#duration(0, 0, 30, 0)]))

View solution in original post

2 REPLIES 2
lbendlin
Super User
Super User

Json.Document(Web.Contents("https:///api/v2/",[RelativePath="analytics-stream?startDate=" & Date.ToText(RangeStart, "yyyy-MM-dd") & "&endDate=" & Date.ToText(RangeEnd, "yyyy-MM-dd") &"&code=01",Timeout=#duration(0, 0, 30, 0)]))

**bleep** I was close 😂

 

Thank you!

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.