Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Fitbit API Notice:exceeded the rate limit

ANSWERED
We received a notice from July 17th and sent the following questions but no replies.
So we hope to get any solutions from others in fitbit community by reminding the questions.
As shown in the Fitbit API , the rate limit for client & viewer is about 150 API requests per hour.
We are implementing some new functions this week for our app (Renobody) and we don't know how to check if it exceeds the above default the rate limit.
In details, at the first time of synchronizing data between mobile device and fitbit, latest two week-data need to be transferred from fitbit to mobile device.
Raw JSON data that time could be 50.000 steps(walking) per week in one transaction.
 
Anyway, due to some reasons we have been using the old fitbit OAuth 1.0a (api.fitbit.com). Does it relate to the rate limit?
 
Best Answer
0 Votes
1 BEST ANSWER

Accepted Solutions

Look at the Fitbit-Rate-Limit-* headers in the HTTP response. These are documented here.

View best answer in original post

Best Answer
7 REPLIES 7

Please see the rate limit documentation at https://dev.fitbit.com/docs/basics/#rate-limits

 

There is no difference in the rate limit between OAuth 1.0a and OAuth 2.0.

 

You can always see your remaining rate limit by looking at the rate limit headers in the API response.

Best Answer
0 Votes

Thank you for your reply.

How could I check the client rate limit or the number of API requests which have been sent?

My application aims to make GET request for activities' information like step, walking, running each time synchronizing fitbit account.

How could I check the limit of steps (or walk or run) could be sent before reaching the client rate limit?

 

Our oauthorization setting information is as following

.siteUrl = "https://api.fitbit.com/oauth"
.profile_json = "https://api.fitbit.com/1/user/-/profile.json"
.devices_json = "https://api.fitbit.com/1/user/-/devices.json"
.activities = "https://api.fitbit.com/1/user/-/activities/"
.limit.days = 14

If you have time could you check the above information

(oauth information like consumerKey and consumerSecret can be sent by private message)

Thank you and I am looking foward to hearing your reply.

 

 

Best Answer
0 Votes

Look at the Fitbit-Rate-Limit-* headers in the HTTP response. These are documented here.

Best Answer

The limit is imposed per user account per application. It's an implicit relationship, 1:1. So you could have many accounts and the same user could sign up on each account, and each relationship between account and user will each have their own separate limits.

 

As Jeremiah said:

 

Rate Limits

The Fitbit API has two separate rate limits on the number of calls an app can make. Both are hourly limits that reset at the start of the hour.

 

  • You can make 150 API requests per hour for each user that has authorized your application to access their data.
  • Your application can make 150 API requests per hour without a user access token and token secret. These types of API requests are for retrieving non-user data, such as Fitbit's general resources

 

Best Answer
0 Votes

@JeremiahFitbit wrote:

Look at the Fitbit-Rate-Limit-* headers in the HTTP response. These are documented here.


Thank you for you reply.

runscope should be used for debug HTTP response header?

https://dev.fitbit.com/docs/help/#debugging-with-runscope

Actually I would to capture the number of raw data (steps) so if there is any recommendation, please notice me.

 

 

Best Answer
0 Votes

Headers are part of the response. You should search for how your HTTP library exposes them to your application.

 

You can certainly use Runscope to inspect requests, but you don't need to use Runscope to figure out the rate limit in the response.

 

See the activity intraday time series for minute-by-minute step data.

Best Answer
0 Votes

Thank you for your support.

This helped me much.

I got my header response data that shows 'Fitbit-Rate-Limit*'

 

 

 

 

Best Answer
0 Votes