Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more
Hello,
I'm trying to build a rotine to get all pages of JSON Data Souce API.
The limit is 1000 results per page, if in the Page´s bottom is write " "hasMore": false " i means "there is no more pages." but it is "true" is the oposite.
How can we build a query for this JSON and append all in one document.
Query:
let
Fonte = Json.Document(Web.Contents("https://api.fakeurl.com/reports/0155?page=1&limit=1000&begin=18/02/2020&end=31/12/2020", [Headers=[Authorization="eyJ0eXAiOiJKV1QiLChbGciOiJGW-L48"]])),
data = Fonte[data],
report = data[report],
result = report[result]
(...)
Botton of JSON Result:
"Revenue": 4683.5,
"number": 8,
"ticket": 585.44,
"date": "2020-05-14",
"dateMonth": "14/5",
"dayname": "4"
}
],
"hasMore": false
}
}
}
It might be easier to approach this differently. Do the below in a single query.
1. Make a web call to get the total # of records with $count (or whatever the syntax is for your API)
2. Divide that by 1000 and round down
3. Make a list from 1 to the number in step 2 and convert list to table, change to text type and name it Page
4. Pass the Page value into the url string (either hard code it into an Add Custom column, or make a function)
5. Append all the tables
If this solution works for you, please mark it as the solution. Kudos are appreciated too. Please let me know if not.
Regards,
Pat
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
When did you say:
"Make a web call to get the total # of records with $count (or whatever the syntax is for your API)"
I didn't find this ...
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 4 | |
| 4 | |
| 2 | |
| 2 | |
| 1 |
| User | Count |
|---|---|
| 11 | |
| 11 | |
| 5 | |
| 4 | |
| 4 |