Standard v1.1 compared to Twitter API v2

If you have been working with the standard v1.1 GET users/show and GET users/lookup, the goal of this guide is to help you understand the similarities and differences between the standard and Twitter API v2 user lookup endpoints.

  • Similarities
    • OAuth 1.0a User Context
    • Users per request limits
  • Differences
    • Endpoint URLs
    • Request parameters
    • New JSON format

       

Similarities

OAuth 1.0a User Context authentication method

The standard endpoint supports OAuth 1.0a User Context, while the new Twitter API v2 user lookup endpoints supports both OAuth 1.0a User Context and OAuth 2.0 Bearer Token. Therefore, if you were previously using one of the standard v1.1 user lookup endpoints, you can continue using the same authentication method if you migrate to the Twitter API v2 version. 

Depending on your authentication library/package of choice, Bearer Token authentication is probably the easiest way to get started and can be set with a simple request header. To learn how to generate a Bearer Token, see this OAuth 2.0 Bearer Token guide

Users per request limits

The standard v1.1 GET users/lookup endpoint allows you to specify 100 users per request. This also goes for the GET /users and GET /users/by endpoints. To specify a full 100 users, you will need to pass the ids (GET /users) parameter or the username (GET /users/by) parameter as a query parameter, and include the list of user IDs/usernames in a comma-separated list. 
 

Differences

Endpoint URLs

  • Standard v1.1 endpoints:
    • https://api.twitter.com/1.1/users/show (single-ID or username lookup)
    • https://api.twitter.com/1.1/users/lookup (multi-ID or username lookup)
  • Twitter API v2 endpoint:
    • https://api.twitter.com/2/users (multi-ID lookup)
    • https://api.twitter.com/2/users/:id (single-ID lookup)
    • https://api.twitter.com/2/users/by (multi-username lookup)
    • https://api.twitter.com/2/users/by/username/:username (single-username lookup)

 

Request parameters

The following standard v1.1 request parameters have equivalents in Twitter API v2:

Standard Twitter API v2
user_id ids
screen_name username


One of the biggest differences between standard v1.1 and Twitter API v2 endpoint versions is how you select which fields return in your payload. For the standard endpoints, there are several parameters that you could use to identify which fields or sets of fields would return in the payload, while the Twitter API v2 version simplifies these different parameters into fields and expansions

There are also a set of standard user lookup request parameters not supported in Twitter API v2:

Standard Comment
include_entities This parameter is used to remove the entities node from the Tweet payload.  It has been replaced with the additive fields and expansions functionality.

 

New JSON format

Twitter API v2 is introducing new JSON designs for the objects returned by the APIs, including Tweet and user objects.

  • At the JSON root level, the standard endpoints return user objects in a statuses array, while Twitter API v2 returns a data array. 
  • Instead of referring to Retweeted and Quoted "statuses", Twitter API v2 JSON refers to Retweeted and Quoted Tweets. Many legacy and deprecated fields, such as contributors and user.translator_type are being removed. 
  • Instead of using both favorites (in Tweet object) and favourites (in user object), Twitter API v2 uses the term like
  • Twitter is adopting the convention that JSON values with no value (for example, null) are not written to the payload. Tweet and user attributes are only included if they have a non-null values. 
     

In addition to the changes that we made to our new JSON format, we also introduced a new set of fields to the Tweet object including the following:

  • conversation_id
  • Two new annotations fields, including context and entities
  • Several new metrics fields 

Was this document helpful?

Thank you for the feedback. We’re really glad we could help!

Thank you for the feedback. How could we improve this document?

Thank you for the feedback. Your comments will help us improve our documents in the future.