Sorry if I wasn't clear and I apologize fr any misunderstanding.
The rate limit is 150 API calls per user per hour, not per client. With that in mind, your application should be able to capture all the necessary data well under the limits for all of your users, especially if you are only capturing step data. I've listed a few use case scenarios for how to collect step data based on the examples you provided:
Get Daily Activity Summary - You can pull daily summary total metrics (such as steps), and also list activities recorded for a single data. If any activities were performed on the data being queried, it will also provide a summary of that activity and how many steps was recorded during that activity.
Get Activity Logs List - Returns a list of activities (up to 100) that the user recoded between a specific date range. The activities returned will provide a high level overview of the activity recorded that you might not see in the Daily Activity Summary endpoint (ie how the activity was recorded, if gps was present, etc).
Get Activity Timeseries - If you are only looking for step counts totals for X days, this would be the endpoint you want to use. Executing this endpoint once will allow you to retrieve step counts for up to 1095 days in a single request.
Note: If you need to see daily step counts and step counts recorded from activities separately, you'll need to do additional scripting for getting the difference in steps returned for activities and daily step totals in the Get Daily Activity Summary endpoint. For example, if the daily step count recorded shows 11k steps and the user performed a run that day with 3000 steps taken, you can determine that the user took 8k steps outside of activities.
... View more