Description | Standard v1.1 | X API v2 |
---|---|---|
Host domain | https://api.x.com | https://api.x.com |
Endpoint path | /1.1/search/tweets.json | /2/tweets/search/recent |
Authentication | OAuth 1.0a User Context OAuth 2.0 App-Only | OAuth 1.0a User Context OAuth 2.0 Authorization Code with PKCE OAuth 2.0 App-Only |
Timestamp format | YYYYMMDD | YYYY-MM-DDTHH:mm:ssZ ISO 8601 / RFC 3339 |
Returns Posts that are no older than | 7 days | 7 days |
HTTP methods supported | GET | GET |
Default request rate limits | 180 requests per 15 min with OAuth 1.0a User Context 450 requests per 15 min with OAuth 2.0 App-Only | Basic: 60 requests per 15 min with OAuth 2.0 App-Only 60 requests per 15 min with OAuth 1.0a User Context 60 requests per 15 min with OAuth 2.0 Authorization Code with PKCE Pro: 450 requests per 15 min with OAuth 2.0 App-Only 180 requests per 15 min with OAuth 1.0a User Context 180 requests per 15 min with OAuth 2.0 Authorization Code with PKCE |
Offers fully unwound URLs | ✔ | |
Maximum Posts per response (default) | 100 (15) | 100 (10) |
Post JSON format | Standard v1.1 format | X API v2 format (determined by fields and expansions request parameters, not backward-compatible with v1.1 formats) To learn more about how to migrate from the Standard v1.1 format to the X API v2 format, please visit our data formats migration guide. |
Supports selecting which fields return in the payload | ✔ | |
Supports requesting and receiving annotations | ✔ | |
Supports requesting specific metrics within Post object | ✔ | |
Supports the conversation_id operator and field | ✔ | |
Provides Post edit history | ✔ | ✔ |
JSON key name for Post data array | statuses | data |
JSON key name for pagination | search_metadata.next_results | meta.next_token |
Supports navigating archive by time range | ✔ | ✔ |
Time resolution of time-based requests | day | second |
Timezone | UTC | UTC |
Request parameters for navigating by time | until | start_time end_time |
Request parameters for navigating by Post ID | since_id max_id | since_id until_id |
Request parameter for pagination | Provides URL-encoded query | next_token |
Requires the use of credentials from a developer App associated with a Project | ✔ |
Description | Enterprise | X API v2 |
---|---|---|
Host domain | https://gnip-api.x.com | https://api.x.com |
Endpoint path | /search/fullarchive/accounts/:account_name/:label | /2/tweets/search/all |
Authentication | Basic auth | OAuth 2.0 App-Only |
Timestamp format | YYYYMMDDHHMM | YYYY-MM-DDTHH:mm:ssZ ISO 8601 / RFC 3339 |
Returns Posts that are no older than | The full archive since March 2006 | The full archive since March 2006 |
HTTP methods supported | GET POST | GET |
Default request rate limits | The per minute rate limit will vary by partner as specified in your contract. 20 requests per sec with Basic auth | 300 requests per 15 min with OAuth 2.0 App-Only 1 requests per 1 sec with OAuth 2.0 App-Only |
Offers fully unwound URLs | ✔ | ✔ |
Posts per response | Maximum: 500 Default: 100 | Maximum: 500 Default: 10 |
Post JSON format | Native Enriched or Activity Streams format | X API v2 format (determined by fields and expansions request parameters) |
Supports selecting which fields return in the payload | ✔ | |
Supports requesting and receiving annotations | ✔ | |
Supports requesting specific metrics within Post object | ✔ | |
Supports the conversation_id operator and field | ✔ | |
Provides Post edit history | ✔ | ✔ |
JSON key name for Post data array | results | data |
JSON key name for pagination | next | meta.next_token |
Time resolution of time-based requests | second | second |
Timezone | UTC | UTC |
Supports navigating archive by Post ID | ✔ | |
Request parameters for navigation by time | fromDate toDate | start_time end_time |
Request parameters for navigating by Post ID | since_id until_id | |
Request parameter for pagination | next_token | next_token |
Requires the use of credentials from a developer App associated with a Project that has Academic Research access | ✔ |
Search operator | Standard | Enterprise | v2 |
---|---|---|---|
keyword | Available q:keyword | Available | Basic & Pro |
emoji | Available q:😄 | Available | Basic & Pro |
“exact phrase” | Available | Available | Basic & Pro |
# | Available | Available | Basic & Pro |
$ | Available | Available | Pro |
@ | Available | Available | Basic & Pro |
from: | Available | Available | Basic & Pro |
to: | Available | Available | Basic & Pro |
url: | Available | Available | Basic & Pro |
retweets_of: | Available | Basic & Pro | |
context: | Basic & Pro | ||
entity: | Basic & Pro - Only available with recent search | ||
conversation_id: | Basic | ||
place: | Available | Pro | |
place_country: | Available | Pro | |
point_radius: | geocode parameter | Available | Pro |
bounding_box: | Available | Pro | |
is:retweet | filter:retweets | Available | Basic & Pro |
is:reply | Available | Basic & Pro | |
is:quote | Available | Basic & Pro | |
is:verified | Available | Basic & Pro | |
-is:nullcast | Available | Pro | |
has:hashtags | Available | Basic & Pro | |
has:cashtags | Available | Pro | |
has:links | filter:links | Available | Basic & Pro |
has:mentions | Available | Basic & Pro | |
has:media | filter:media | Available | Basic & Pro |
has:images | filter:images, filter:twimg | Available | Basic & Pro |
has:videos | filter:videos filter:native_video | Available | Basic & Pro |
has:geo | Available | Pro | |
lang: | lang - can be used as an operator or a parameter | Available | Basic & Pro |
has:profile_geo | Available | ||
profile_country | Available | ||
profile_locality | Available | ||
profile_region | Available | ||
proximity | Available | ||
:( | Available | ||
:) | Available | ||
? | Available | ||
filter:periscope | Available | ||
list: | Available | Pro | |
filter:replies | Available | ||
filter:pro_video | Available | ||
filter:social | Available | ||
filter:trusted | Available | ||
filter:follows | Available | ||
filter:has_engagement | Available | ||
include:antisocial | Available | ||
include:offensive_user | Available | ||
include:antisocial_offensive_user | Available | ||
include:sensitive_content | Available | ||
source: | Available | ||
min_replies: | Available | ||
min_retweets: | Available | ||
min_faves: | Available | ||
card_name: | Available | ||
card_domain: | Available |