Go to next page in List of Users?

I'm using Python and I'm able to get the first 500 users (which is the max according to the docs) but then how do I get the following 500, etc.. we have thousands!

This is what I have so far:


import requests

import json


url = 'https://api.domo.com/v1/users?limit=500'

headers = {'Content-type': 'application/json', 'Accept': 'application/json', 'Authorization': 'bearer token'}

r = requests.get(url, headers=headers)

json.loads(r.text)

Tagged:

Answers

  • MarkSnodgrass
    MarkSnodgrass Portland, Oregon 🥷

    Try adding offset to your parameter, such as:

    offset=499&limit=500

    **Make sure to <3 any users posts that helped you.
    **Please mark as accepted the ones who solved your issue.
  • GrantSmith
    GrantSmith Indiana 🥷

    Hi @KristiKovacs

    You need to utilize the skip url parameter to tell it how many users to skip. This is typical with API implementations to prevent requests consuming all the resources. It defaults to 0 if it's not supplied. Try a URL like:

    url = 'https://api.domo.com/v1/users?limit=500&skip=500'

    to get the next 500. (you may need to use offset instead of skip. The APIs aren't consistent in this case).

    What I'll do in my python scripts is to get the total number of users from the API call then divide that by the chunk size (limit variable) to get the total number of chunks / iterations and then loop through the number of chunks increasing the skip value by (chunk# * limit)



    **Was this post helpful? Click Agree or Like below**

    **Did this solve your problem? Accept it as a solution!**
  • KristiKovacs
    KristiKovacs ⚪️
    edited January 19

    Hi @MarkSnodgrass , that looks like it will work, but if I do offset=5000 (because I'm not sure of the exact amount of users) it returns nothing, and then it only gives me the last names starting with the letter V .

    Can you show me an example of how to use offset and get all the users

  • @MarkSnodgrass never mind,I got it! thank you for your help!