Can't send batch of requests to core.blockstack.org

#1
   const promisses = []
    for(let i=0;i<totalPages;i++){
      promisses.push(axios.get(`https://core.blockstack.org/v1/names?page=${i}`))
    }

    const allNamesResponse = await axios.all(promisses)
    let allNames = [] 
    allNamesResponse.forEach(res => {
      allNames = [...allNames, ...res.data]
    })

    let userPromisses = allNames.map((n) => axios.get(`https://core.blockstack.org/v1/users/${n}`))
    const userNamesResponse = await axios.all(userPromisses)

I got banned for some period of time ( You are being rate limited)

How to fetch all users information to know who is using my app ?

#2

The public node run by Blockstack PBC intentionally rate-limits remote hosts that try to scan the set of usernames like this. You will need to run your own node if you want to do this. Please see the instructions here to do so: https://github.com/blockstack/blockstack-core

You can also consider using a fork of theblockstats.com, whose code can be found here: https://github.com/vrepsys/blockstats. It will let you gather time-series data about your app’s usage.

#3

Shoud I run own bitcoin node for it ?

#4

If you want, but if you don’t, you can use the public ones we run (which your node will default to using).