.nextPageCursor doesn't continue, returns the same string

I’m attempting to achieve a list of group members in a specific roleSetId, but it doesn’t seem to update the .nextPageCursor value - returning the string provided in the ?cursor= query. What’s the issue here?

It does print out the updated (once) variable, however, when I search the API, it does give me the rightful data, but the .nextPageCursor is the same, not nil, or different?

--[ Variables
local http = game:GetService("HttpService")
local url = "https://glitch.me/query"
local api = "groups.roblox.com"
local cursor = ""
--[ Setup
while true do
	print(cursor)
	local get = http:GetAsync(url..api.."/v1/groups/2788849/roles/18827352/users?limit=25&cursor="..cursor)
    --there's 54 members, but only returns 1 same page (25), not 3 (25, 25, 4)
	data = http:JSONDecode(get)
	print(data["data"]); print(cursor) --only 1, same page, and .nextPageCursor
	cursor = data.nextPageCursor
	if not cursor then break end --never breaks as it isn't nil, though, 3 pages should be printed before breaking
end

Seems like it’s mandatory to place ?cursor= in the first query when you’d want to get more pages - not at the end (after limit, sort). That’s possibly due to getting the limit on a page specified - otherwise, it’d get the first page if cursor hasn’t been implemented beforehand.