There still seems to be an issue with pagination (or general data queries). I wrote a script to call the ā{address}/nft/transfersā endpoint, store the results and store the cursor and repeat until my local db has the same ātotalā as the moralis endpoint shows. This works (most of the time) but as I try to call the endpoint (hourly) to look for new entries, they donāt show in the results
When I initially ran the script it showed a final total of 333050 entries. I stored the cursor and setup the hourly cron. Within a day, the remote total was higher than my local total but the api results are empty using the last given cursor. See below. You can test this here using the cursor and endpoint below:
https://deep-index.moralis.io/api-docs/#/account/getNFTTransfers
The last cursor received:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJvcmRlciI6IkRFU0MiLCJvZmZzZXQiOjMzMzUwMCwibGltaXQiOjUwMCwidG9rZW5fYWRkcmVzcyI6IjB4NTBmNTQ3NDcyNGUwZWU0MmQ5YTRlNzExY2NmYjI3NTgwOWZkNmQ0YSIsInBhZ2UiOjY2Nywid2hlcmUiOnt9LCJrZXkiOiI5MDQ4OTM2LjEzNS4xMzUuMCIsImlhdCI6MTY1MTE2NDQxOX0.oJ4qlZ4vejZPF9gfuT58Z1vjH1jy_jfGhCjm_apn0fg
The Contract Address:
0x50f5474724e0ee42d9a4e711ccfb275809fd6d4a
array:6 [
ātotalā => 334981
āpageā => 667
āpage_sizeā => 500
ācursorā => āā
āresultā => []
āblock_existsā => true
]
You can see that it says page 667. We know that the max result set is 500 so 667 x 500 = 333500 but the total shown (above) is 334981.
Something appears to be wrong (still) with the moralis api cursor system.