API Reference

Search interface usage tips

• from:twittername
• keyword1 OR keyword2
• min_faves:2000
• min_retweets:2000
• filter:links
• filter:images
• until:YYYY-MM-DD
• since:YYYY-MM-DD
• near:location within:15mi


If you want to query a person's tweets over a long period of time, you can use the following command: from:elonmusk till:2024-09-24 since:2024-09-20


More complex “word” parameters

hold data long OR info retention tools OR archive information OR save results OR retain info lang:en since:2024-11-16 until:2024-11-23 filter:has_engagement -filter


ClassOperatorFinds Tweets…Eg:
Tweet contentnasa esa
(nasa esa)
Containing both "nasa" and "esa". Spaces are implicit AND. Brackets can be used to group individual words if using other operators.🔗
 nasa OR esaEither "nasa" or "esa". OR must be in uppercase.🔗
 "state of the art"The complete phrase "state of the art". Will also match "state-of-the-art". Also use quotes to prevent spelling correction.🔗
 "this is the * time this week"A complete phrase with a wildcard. * does not work outside of a quoted phrase or without spaces.🔗
 +radioooooForce a term to be included as-is. Useful to prevent spelling correction.🔗
 -love
-"live laugh love"
- is used for excluding "love". Also applies to quoted phrases and other operators.🔗
 #tgifA hashtag🔗
 $TWTRA cashtag, like hashtags but for stock symbols🔗
 What ?Question marks are matched🔗
 :) OR :(Some emoticons are matched, positive :) :-) :P :D or negative :-( :(🔗
 👀Emoji searches are also matched. Usually needs another operator to work.🔗
 url:google.comurls are tokenized and matched, works very well for subdomains and domains, not so well for long urls, depends on url. Youtube ids work well. Works for both shortened and canonical urls, eg: gu.com shortener for theguardian.com. When searching for Domains with hyphens in it, you have to replace the hyphen by an underscore (like url:t_mobile.com) but underscores _ are also tokenized out, and may not match🔗
 lang:enSearch for tweets in specified language, not always accurate, see the full list and special lang codes below.🔗
 
Usersfrom:userSent by a particular @username e.g. "dogs from:NASA"🔗
 to:userReplying to a particular @username🔗
 @userMentioning a particular @username. Combine with -from:username to get only mentions🔗
 list:715919216927322112
list:esa/astronauts
Tweets from members of this public list. Use the list ID from the API or with urls like twitter.com/i/lists/715919216927322112. List slug is for old list urls like twitter.com/esa/lists/astronauts. Cannot be negated, so you can't search for "not on list".🔗
 filter:verifiedFrom verified users🔗
 filter:blue_verifiedFrom "verified" users that paid $8 for Twitter Blue🔗
 filter:followsOnly from accounts you follow. Cannot be negated.🔗
 filter:social
filter:trusted
Only from algorithmically expanded network of accounts based your own follows and activities. Works on "Top" results not "Latest"🔗
 
Geonear:cityGeotagged in this place. Also supports Phrases, eg: near:"The Hague"🔗
 near:meNear where twitter thinks you are🔗
 within:radiusWithin specific radius of the "near" operator, to apply a limit. Can use km or mi. e.g. fire near:san-francisco within:10km🔗
 geocode:lat,long,radiusE.g., to get tweets 10km around twitters hq, use geocode:37.7764685,-122.4172004,10km🔗
 place:96683cc9126741d1Search tweets by Place Object ID eg: USA Place ID is 96683cc9126741d1🔗
 
Timesince:2021-12-31On or after (inclusive) a specified date. 4 digit year, 2 digit month, 2 digit day separated by - a dash.🔗
 until:2021-12-31Before (NOT inclusive) a specified date. Combine with a "since" operator for dates between.🔗
 since:2021-12-31_23:59:59_UTCOn or after (inclusive) a specified date and time in the specified timezone. 4 digit year, 2 digit month, 2 digit day separated by - dashes, an _ underscore separating the 24 hour clock format hours:minutes:seconds and timezone abbreviation.🔗
 until:2021-12-31_23:59:59_UTCBefore (NOT inclusive) a specified date and time in the specified timezone. Combine with a "since" operator for dates between.🔗
 since_time:1142974200On or after a specified unix timestamp in seconds. Combine with the "until" operator for dates between. Maybe easier to use than since_id below.🔗
 until_time:1142974215Before a specified unix timestamp in seconds. Combine with a "since" operator for dates between. Maybe easier to use than max_id below.🔗
 since_id:tweet_idAfter (NOT inclusive) a specified Snowflake ID (See Note) below)🔗
 max_id:tweet_idAt or before (inclusive) a specified Snowflake ID (see Note below)🔗
 within_time:2d
within_time:3h
within_time:5m
within_time:30s
Search within the last number of days, hours, minutes, or seconds🔗
 
Tweet Typefilter:nativeretweetsOnly retweets created using the retweet button. Works well combined with from: to show only retweets. Only works within the last 7-10 days or so.🔗
 include:nativeretweetsNative retweets are excluded by default. This shows them. In contrast to filter:, which shows only retweets, this includes retweets in addition to other tweets. Only works within the last 7-10 days or so.🔗
 filter:retweetsOld style retweets ("RT") + quoted tweets.🔗
 filter:repliesTweet is a reply to another Tweet. good for finding conversations, or threads if you add or remove to:user🔗
 filter:self_threadsOnly self-replies. Tweets that are part of a thread, not replies in other conversations.🔗
 conversation_id:tweet_idTweets that are part of a thread (direct replies and other replies)🔗
 filter:quoteContain Quote Tweets🔗
 quoted_tweet_id:tweet_idSearch for quotes of a specific tweet🔗
 quoted_user_id:user_idSearch for all quotes of a specific user, by numeric User ID (See Note below)🔗
 card_name:poll2choice_text_only
card_name:poll3choice_text_only
card_name:poll4choice_text_only
card_name:poll2choice_image
card_name:poll3choice_image
card_name:poll4choice_image
Tweets containing polls. For polls containing 2, 3, 4 choices, or image Polls.🔗
 
Engagementfilter:has_engagementHas some engagement (replies, likes, retweets). Can be negated to find tweets with no engagement. Note all of these are mutually exclusive with filter:nativeretweets or include:nativeretweets, as they apply to the retweet, not the original tweet, so they won't work as expected.🔗
 min_retweets:5A minimum number of Retweets. Counts seem to be approximate for larger (1000+) values.🔗
 min_faves:10A minimum number of Likes🔗
 min_replies:100A minimum number of replies🔗
 -min_retweets:500A maximum number of Retweets🔗
 -min_faves:500A maximum number of Likes🔗
 -min_replies:100A maximum number of replies🔗
 
Mediafilter:mediaAll media types.🔗
 filter:twimgNative Twitter images (pic.twitter.com links)🔗
 filter:imagesAll images.🔗
 filter:videosAll video types, including native Twitter video and external sources such as Youtube.🔗
 filter:periscopePeriscopes🔗
 filter:native_videoAll Twitter-owned video types (native video, vine, periscope)🔗
 filter:vineVines (RIP)🔗
 filter:consumer_videoTwitter native video only🔗
 filter:pro_videoTwitter pro video (Amplify) only🔗
 filter:spacesTwitter Spaces only🔗
 
More Filtersfilter:linksOnly containing some URL, includes media. use -filter:media for urls that aren't media🔗
 filter:mentionsContaining any sort of @mentions🔗
 filter:newsContaining link to a news story. Combine with a list operator to narrow the user set down further. Matches on a list of Domains (See Note for full list)🔗
 filter:safeExcluding NSFW content. Excludes content that users have marked as "Potentially Sensitive". Doesn't always guarantee SFW results.🔗
 filter:hashtagsOnly Tweets with Hashtags.🔗
 
App specificsource:client_nameSent from a specified client e.g. source:tweetdeck (See Note for common ones) eg: twitter_ads doesn't work on it's own, but does with another operator.🔗
 card_domain:pscp.tvMatches domain name in a Twitter Card. Mostly equivalent to url: operator.🔗
 card_url:pscp.tvMatches domain name in a Card, but with different results to card_domain.🔗
 card_name:audioTweets with a Player Card (Links to Audio sources, Spotify, Soundcloud etc.)🔗
 card_name:animated_gifTweets With GIFs🔗
 card_name:playerTweets with a Player Card🔗
 card_name:app
card_name:promo_image_app
Tweets with links to an App Card. promo_app does not work, promo_image_app is for an app link with a large image, usually posted in Ads.🔗
 card_name:summaryOnly Small image summary cards🔗
 card_name:summary_large_imageOnly large image Cards🔗
 card_name:promo_websiteLarger than summary_large_image, usually posted via Ads🔗
 card_name:promo_image_convo
card_name:promo_video_convo
Finds Conversational Ads cards.🔗
 card_name:3260518932:momentFinds Moments cards. 3260518932 is the user ID of @TwitterMoments, but the search finds moments for everyone, not that specific user.🔗