When using the https://inventory.roblox.com/v1/users/{user_id}/assets/collectibles endpoint, the nextPageCursor in the response fails to advance to the actual next page sometimes, particularly for users with large inventories.
When the issue occurs, what seems to be happening typically is that the nextPageCursor will point to a mirrored copy of the inventory contents, and the subsequent nextPageCursor will point back to the previous cursor page contents, resulting in an infinite loop between those two cursor pages which continue to point to each other.
This issue also seems to be regional. Sometimes it will be reproducible in my live bot located in an Eastern US region, but won’t be reproducible in a Western region. However, it’s currently reproducible in both Eastern and Western US regions for me.
Repro
Using a tool such as Postman:
- Make a GET request to https://inventory.roblox.com/v1/users/1/assets/collectibles?sortOrder=Asc&limit=100
- Get the nextPageCursor from the response
- Make a GET request using the nextPageCursor as the cursor parameter like this https://inventory.roblox.com/v1/users/1/assets/collectibles?sortOrder=Asc&limit=100&cursor=21748508_1_7908489ec234896610fe5577fa3aac79
- Repeat until you observe the nextPageCursor begin repeating
Example Sequence
- https://inventory.roblox.com/v1/users/1/assets/collectibles?sortOrder=Asc&limit=100
- https://inventory.roblox.com/v1/users/1/assets/collectibles?sortOrder=Asc&limit=100&cursor=21748508_1_7908489ec234896610fe5577fa3aac79
- https://inventory.roblox.com/v1/users/1/assets/collectibles?sortOrder=Asc&limit=100&cursor=84137535_1_961fc7646d3ba245e9f944a3acc1edbf
- https://inventory.roblox.com/v1/users/1/assets/collectibles?sortOrder=Asc&limit=100&cursor=172361150_1_1aeae54058f30766d90ff92c7141e19c
- https://inventory.roblox.com/v1/users/1/assets/collectibles?sortOrder=Asc&limit=100&cursor=84137535_1_961fc7646d3ba245e9f944a3acc1edbf
- https://inventory.roblox.com/v1/users/1/assets/collectibles?sortOrder=Asc&limit=100&cursor=172361150_1_1aeae54058f30766d90ff92c7141e19c
Notice the nextPageCursor apparently cycles infinitely between 84137535_1_961fc7646d3ba245e9f944a3acc1edbf and 172361150_1_1aeae54058f30766d90ff92c7141e19c.