Skip to main content

Get User Profile

me() retrieves the user profile on Android, iOS, and web. Image URLs use HTTPS by default. Pass secureResource: false to request HTTP URLs.

The response is as follows:

Promise<KakaoUser>

The KakaoUser type is defined as:

export type KakaoUser = {
id: number;
properties: Record<string, string>;
hasSignedUp?: boolean | null;
uuid?: string | null;
groupUserToken?: string | null;
email?: string | null;
name?: string | null;
nickname?: string | null;
profileImageUrl?: string | null;
thumbnailImageUrl?: string | null;
isDefaultImage?: boolean | null;
phoneNumber?: string | null;
ageRange?: string | null;
birthday?: string | null;
birthdayType?: string | null;
isLeapMonth?: boolean | null;
birthyear?: string | null;
gender?: string | null;
isEmailValid?: boolean | null;
isEmailVerified?: boolean | null;
isKorean?: boolean | null;
ageRangeNeedsAgreement?: boolean | null;
birthdayNeedsAgreement?: boolean | null;
birthyearNeedsAgreement?: boolean | null;
emailNeedsAgreement?: boolean | null;
genderNeedsAgreement?: boolean | null;
isKoreanNeedsAgreement?: boolean | null;
phoneNumberNeedsAgreement?: boolean | null;
profileNeedsAgreement?: boolean | null;
nameNeedsAgreement?: boolean | null;
profileImageNeedsAgreement?: boolean | null;
profileNicknameNeedsAgreement?: boolean | null;
legalName?: string | null;
legalNameNeedsAgreement?: boolean | null;
legalBirthDate?: string | null;
legalBirthDateNeedsAgreement?: boolean | null;
legalGender?: 'female' | 'male' | null;
legalGenderNeedsAgreement?: boolean | null;
connectedAt?: number | null;
synchedAt?: number | null;
};

Example​

me()

Age range, gender, and birthday type​

me() returns Kakao's string values across platforms. Availability requires the app's consent-item configuration and user consent.

FieldProvided values
ageRange0~9, 10~14, 15~19, 20~29, 30~39, 40~49, 50~59, 60~69, 70~79, 80~89, 90~
genderfemale or male
birthdayTypeSOLAR for solar birthdays or LUNAR for lunar birthdays

Android SDK unknown values map to null. Check both null and undefined for unavailable fields, for example with user.ageRange == null. birthdayType is distinct from the birthday date in birthday.

Profile metadata​

These fields use the same names on Android, iOS, and web. Values that Kakao does not provide are null; false remains a value rather than an absence marker.

FieldMeaningAvailability
isDefaultImagetrue means the default profile image; false means an image registered by the user.The user has consented to the profile image scope.
isLeapMonthWhether the birthday falls in a leap month.The user has consented to the birthday scope.
uuidThe user's own ID in KakaoTalk friend information, distinct from the service user ID in id.The app has KakaoTalk friends or messaging permission.

For example, user.isDefaultImage === false identifies an image registered by the user. null does not establish whether the image is a default. See the user information response for availability conditions.

Partner apps with prior approval from Kakao can retrieve identity-verified names, birth dates, and genders with me(). App permission and user consent are required. Values that Kakao does not provide are null. This information must not replace identity verification.

FieldMeaningFormat
legalNameIdentity-verified legal nameString
legalBirthDateIdentity-verified legal birth dateyyyyMMdd
legalGenderIdentity-verified legal genderfemale or male

Each corresponding NeedsAgreement flag indicates whether the information can be provided after user consent. true requires additional consent; false does not guarantee that the value is available. See partner user information for the requirements.

Group user token​

Apps in a Kakao group can compare groupUserToken from me() to identify the same user within that group. Android, iOS, and web return a string, or null when Kakao does not provide the value. Group app configuration requires approval from the Kakao Sync team.

The value can change when the group configuration changes, so do not use it as a permanent user ID. Use an access token to authenticate API requests. See group apps for the requirements.

Query options​

OptionTypeBehavior
secureResourcebooleanWhether image URLs use HTTPS. Defaults to true; false requests HTTP URLs.

Pass secureResource: false only when you need HTTP image URLs. This option changes the returned image URLs; the API request still uses HTTPS.

const user = await me({ secureResource: false });

Manual connection state​

hasSignedUp reports whether a user has completed connection to a manual connection app. false means pending, true means connected, and null means Kakao omitted the field. An omitted value in an automatic connection app does not mean the user is signed out.

Connect a pending user with manual signup.