X API v2 adds email retrieval with OAuth 2.0, plus profile banner and connection status fields
What changed
On April 3, 2025 X added email address retrieval with OAuth 2.0 to API v2: the users.email scope covers the authenticated user's email, which the data dictionary lists as the confirmed_email user field. Earlier, X added the connection_status user field on January 16, 2024, and the ability to get profile image and cover picture URLs on June 17, 2024.
What it means
Apps that sign users in with X over OAuth 2.0 can request the user's confirmed email, and user lookups can return profile image and banner URLs and the relationship to the authenticated user.
Who is affected
Developers of tools that use Sign in with X, show connected account profiles, or check follow and block relationships.
What to do by 3 Apr 2025
Request the users.email scope and the confirmed_email user field to read the signed-in user's email; request profile_image_url, profile_banner_url and connection_status as user fields where needed.
What this means for you
When you sign in to an app with your X account, the app can now ask for your email address, but only if you agree on the X permission screen. Apps can also show your profile picture and banner, and see whether you follow, block or mute an account. Check the permission screen if you'd rather not share your email.
The details
- Email (April 3, 2025): email address retrieval works with OAuth 2.0 in API v2. The OAuth 2.0 scopes table lists
users.email("Email from an authenticated user"), and the data dictionary listsconfirmed_emailas a user field holding "the confirmed email of the authenticated user". - Profile images (June 17, 2024): X added the ability to get the profile image and cover picture URL through API v2. The data dictionary documents
profile_image_urlandprofile_banner_urlas user fields. - Relationship (January 16, 2024):
connection_statusis an array describing the relation between the authenticating user and the user looked up, such as following, followed, follow request sent, follow request received, blocking and muting. - How to request: add the fields to
user.fields. Email also needs theusers.emailscope granted during the OAuth 2.0 flow.
What to do next
- Business owners: Nothing.
- Marketers and agencies: Nothing.
- Developers: Ask for
users.emailonly if you need the email, and useprofile_banner_urlandconnection_statusinstead of scraping or extra lookups.
Primary sources
- X Developer Platform: Changelog (Apr 3, 2025)
- X Developer Platform: Changelog (Jun 17, 2024)
- X Developer Platform: Changelog (Jan 16, 2024)
- X Developer Platform: OAuth 2.0 authorization code flow with PKCE
- X Developer Platform: Data dictionary
Get an email when a new API change is added
Follow new entries with the RSS feed. Each platform also has its own feed, for example X or Meta.