Get Profile

The Get Profile endpoint returns a user's profile. The authenticated owner receives all values. Access to other user's profile is not available. If you wish to retrieve the profile information of the authenticated owner's friends, use the Get Friends API. Numerical values are returned in the unit system specified in the Accept-Language header.

Resource URL

GET https://api.fitbit.com/1/user/[user-id]/profile.json

user-idThe encoded ID of the user. Use "-" (dash) for current logged-in user.

Request Headers

Accept-LanguageoptionalThe measurement unit system to use for response values.

Example Response Format

{
    "user": {
        "aboutMe":<value>,
        "avatar":<value>,
        "avatar150":<value>,
        "city":<value>,
        "clockTimeDisplayFormat":<12hour|24hour>,
        "country":<value>,
        "dateOfBirth":"<value>,
        "displayName":<value>,
        "distanceUnit":<value>,
        "encodedId":<value>,
        "foodsLocale":<value>,
        "fullName":<value>,
        "gender":<FEMALE|MALE|NA>,
        "glucoseUnit":<value>,
        "height":<value>,
        "heightUnit":<value>,
        "locale":<value>,
        "memberSince":<value>,
        "offsetFromUTCMillis":<value>,
        "startDayOfWeek":<value>,
        "state":<value>,
        "strideLengthRunning":<value>,
        "strideLengthWalking":<value>,
        "timezone":<value>,
        "waterUnit":<value>,
        "weight":<value>,
        "weightUnit":<value>
    }
}

Considerations

  1. The field is present at all times. It contains one of the following:

  2. The user's fullName.

  3. A portion of user's email address before the at sign, "@". This is used in the case where the fullName field is empty.

  4. The Units fields (<glucoseUnit>, etc.) represent default unit settings of the user's Web UI. The field is also used as a default for all other body measurements (such as neck, bicep, etc.).

  5. The field indicates the local website version currently used (such as, en_US, en_GB, etc.).

Update Profile

The Update Profile endpoint updates a user's profile. Numerical values are accepted in the unit system specified in the Accept-Language header.

Resource URL

POST https://api.fitbit.com/1/user/[user-id]/profile.json

user-idThe encoded ID of the user. Use "-" (dash) for current logged-in user.

POST Parameters

genderoptionalMore accurately, sex; (MALE/FEMALE/NA)
birthdayoptionalDate of birth; in the format yyyy-MM-dd
heightoptionalHeight; in the format X.XX, in the unit system that corresponds to the Accept-Language header provided
aboutMeoptionalAbout Me string
fullnameoptionalFull name
countryoptionalCountry; two-character code
stateoptionalUS State; two-character code; valid only if country was or being set to US
cityoptionalCity
strideLengthWalkingoptionalWalking stride length; in the format X.XX, in the unit system that corresponds to the Accept-Language header provided
strideLengthRunningoptionalRunning stride length; in the format X.XX, in the unit system that corresponds to the Accept-Language header provided
weightUnitoptionalDefault weight unit on website (doesn't affect API); one of (en_US, en_GB, "any" for METRIC)
heightUnitoptionalDefault height/distance unit on website (doesn't affect API); one of (en_US, "any" for METRIC)
waterUnitoptionalDefault water unit on website (doesn't affect API); one of (en_US, "any" for METRIC)
glucoseUnitoptionalDefault glucose unit on website (doesn't affect API); one of (en_US, "any" for METRIC)
timezoneoptionalTimezone; in the format "America/Los_Angeles"
foodsLocaleoptionalFood Database Locale; in the format "xx_XX"
localeoptionalLocale of website (country/language); one of the locales, currently – (en_US, fr_FR, de_DE, es_ES, en_GB, en_AU, en_NZ, ja_JP)
localeLangoptionalLanguage; in the format "xx". You should specify either locale or both - localeLang and localeCountry (locale is higher priority).
localeCountryoptionalCountry; in the format "XX". You should specify either locale or both - localeLang and localeCountry (locale is higher priority).
startDayOfWeekoptionalStart day of the week; what day the week should start on. Either Sunday or Monday.
clockTimeDisplayFormatoptionalHow trackers with a clock should display the time. Either 12hour or 24hour.

Request Headers

Accept-LanguageoptionalThe measurement unit system to use for response values.

Example Response Format

{
    "user": {
        "aboutMe":<value>,
        "avatar":<value>,
        "avatar150":<value>,
        "city":<value>,
        "clockTimeDisplayFormat":<12hour|24hour>,
        "country":<value>,
        "dateOfBirth":"<value>,
        "displayName":<value>,
        "distanceUnit":<value>,
        "encodedId":<value>,
        "foodsLocale":<value>,
        "fullName":<value>,
        "gender":<FEMALE|MALE|NA>,
        "glucoseUnit":<value>,
        "height":<value>,
        "heightUnit":<value>,
        "locale":<value>,
        "memberSince":<value>,
        "offsetFromUTCMillis":<value>,
        "startDayOfWeek":<value>,
        "state":<value>,
        "strideLengthRunning":<value>,
        "strideLengthWalking":<value>,
        "timezone":<value>,
        "waterUnit":<value>,
        "weight":<value>,
        "weightUnit":<value>
    }
}

Get Badges

The Get Badges endpoint retrieves the user's badges in the format requested. Response includes all badges for the user as seen on the Fitbit website badge locker (both activity and weight related.) The endpoint returns weight and distance badges based on the user's unit profile preference as on the website.

Resource URL

GET https://api.fitbit.com/1/user/[user-id]/badges.json

user-idThe encoded ID of the user. Use "-" (dash) for current logged-in user.

Request Headers

Accept-LanguageoptionalThe measurement unit system to use for response values.

Example Response

{
    "badges":[
        {
            "badgeType":"DAILY_FLOORS",
            "dateTime":"2012-04-27",
            "image50px":"http://www.fitbit.com/images/dash/badge_daily_floors10.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_daily_floors10.png",
            "timesAchieved":3,
            "value":10
        },
        {
            "badgeType":"DAILY_FLOORS",
            "dateTime":"2012-04-27",
            "image50px":"http://www.fitbit.com/images/dash/badge_daily_floors25.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_daily_floors25.png",
            "timesAchieved":3,
            "value":25
        },
        {
            "badgeType":"DAILY_STEPS",
            "dateTime":"2012-04-27",
            "image50px":"http://www.fitbit.com/images/dash/badge_daily_steps5k.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_daily_steps5k.png",
            "timesAchieved":6,
            "value":5000
        },
        {
            "badgeType":"LIFETIME_KILOMETERS",
            "dateTime":"2011-09-26",
            "image50px":"http://www.fitbit.com/images/dash/badge_lifetime_kilometers50.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_lifetime_kilometers50.png",
            "timesAchieved":1,
            "unit":"KILOMETERS",
            "value":50
        },
        {
            "badgeType":"LIFETIME_FLOORS",
            "dateTime":"2011-09-27",
            "image50px":"http://www.fitbit.com/images/dash/badge_lifetime_floors500.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_lifetime_floors500.png",
            "name":"Helicopter",
            "timesAchieved":1,
            "value":500
        }
        {
            "badgeType":"GOAL_BASED_WEIGHT_LOSS_POUNDS",
            "dateTime":"2012-06-21",
            "image50px":"http://www.fitbit.com/images/dash/badge_weight_finish.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_weight_finish.png",
            "timesAchieved":1,
            "value":1
        },
        {
            "badgeType":"LIFETIME_LOSS_POUNDS",
            "dateTime":"2012-05-23",
            "image50px":"http://www.fitbit.com/images/dash/badge_lifetime_weight_teal.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_lifetime_weight_teal.png",
            "timesAchieved":1,
            "unit":"POUNDS",
            "value":-10
        },
        {
            "badgeType":"GOAL_BASED_WEIGHT_LOSS_ACHIEVEMENT",
            "dateTime":"2012-06-21",
            "image50px":"http://www.fitbit.com/images/dash/badge_weight_finish.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_weight_finish.png",
            "timesAchieved":1,
            "value":1
        }
    ]
}