Installation

In [1]:
# From your Jupyter notebook
!pip install osometweet

# From the command line
# pip install osometweet
Requirement already satisfied: osometweet in /Users/matthewdeverna/anaconda3/lib/python3.7/site-packages (0.4)
Requirement already satisfied: requests>=2.24.0 in /Users/matthewdeverna/anaconda3/lib/python3.7/site-packages (from osometweet) (2.25.1)
Requirement already satisfied: requests-oauthlib>=1.3.0 in /Users/matthewdeverna/anaconda3/lib/python3.7/site-packages (from osometweet) (1.3.0)
Requirement already satisfied: certifi>=2017.4.17 in /Users/matthewdeverna/anaconda3/lib/python3.7/site-packages (from requests>=2.24.0->osometweet) (2019.11.28)
Requirement already satisfied: idna<3,>=2.5 in /Users/matthewdeverna/anaconda3/lib/python3.7/site-packages (from requests>=2.24.0->osometweet) (2.8)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /Users/matthewdeverna/anaconda3/lib/python3.7/site-packages (from requests>=2.24.0->osometweet) (1.25.8)
Requirement already satisfied: chardet<5,>=3.0.2 in /Users/matthewdeverna/anaconda3/lib/python3.7/site-packages (from requests>=2.24.0->osometweet) (3.0.4)
Requirement already satisfied: oauthlib>=3.0.0 in /Users/matthewdeverna/anaconda3/lib/python3.7/site-packages (from requests-oauthlib>=1.3.0->osometweet) (3.1.0)

Quick start

In [2]:
import osometweet
import os

# Initialize the OSoMeTweet object
# bearer_token = "YOUR_TWITTER_BEARER_TOKEN"
bearer_token = os.environ.get("TWITTER_BEARER_TOKEN")

oauth2 = osometweet.OAuth2(bearer_token=bearer_token)
ot = osometweet.OsomeTweet(oauth2)

# Set some test IDs (these are Twitter's own accounts)
ids2find = ["2244994945", "6253282"]

# Call the function with these ids as input
response = ot.user_lookup_ids(user_ids=ids2find)
print(response["data"])
[{'id': '2244994945', 'name': 'Twitter Dev', 'username': 'TwitterDev'}, {'id': '6253282', 'name': 'Twitter API', 'username': 'TwitterAPI'}]

Authorization

OAuth1a (user-context)

In [3]:
import osometweet

api_key = os.environ.get("TWITTER_API_KEY")
api_key_secret = os.environ.get("TWITTER_API_KEY_SECRET")
access_token = os.environ.get("TWITTER_ACCESS_TOKEN")
access_token_secret = os.environ.get("TWITTER_ACCESS_TOKEN_SECRET")

oauth1a = osometweet.OAuth1a(
    api_key=api_key,
    api_key_secret=api_key_secret,
    access_token=access_token,
    access_token_secret=access_token_secret
)
oauth1a
Out[3]:
<osometweet.oauth.OAuth1a at 0x7fed1fb92d50>

OAuth2 (app-context aka w. bearer token)

In [4]:
bearer_token = os.environ.get("TWITTER_BEARER_TOKEN")
oauth2 = osometweet.OAuth2(
    bearer_token=bearer_token,
    manage_rate_limits=True
)
oauth2
Out[4]:
<osometweet.oauth.OAuth2 at 0x7fed1f7dedd0>
In [5]:
oauth2._manage_rate_limits
Out[5]:
True

Endpoints

Tweet Lookup

In [6]:
tweet_ids = ['1323314485705297926', '1328838299419627525']

# Fetch the tweets information
response = ot.tweet_lookup(tweet_ids)
print(response["data"])
[{'id': '1323314485705297926', 'text': 'breathe'}, {'id': '1328838299419627525', 'text': 'some of you hating...\n\nbut we see you Fleeting 🧐'}]

User Lookup

with ids

In [7]:
# Set some test IDs (these are Twitter's own accounts)
ids2find = ["2244994945", "6253282"]

# Call the function with these ids
response = ot.user_lookup_ids(ids2find)
print(response["data"])
[{'id': '2244994945', 'name': 'Twitter Dev', 'username': 'TwitterDev'}, {'id': '6253282', 'name': 'Twitter API', 'username': 'TwitterAPI'}]

with usernames

In [8]:
# Set some test IDs (these are Twitter's own accounts)
usernames2find = ["TwitterDev", "TwitterAPI"]

# Call the function with these ids
response = ot.user_lookup_usernames(usernames2find)
print(response["data"])
[{'id': '2244994945', 'name': 'Twitter Dev', 'username': 'TwitterDev'}, {'id': '6253282', 'name': 'Twitter API', 'username': 'TwitterAPI'}]

Timelines

User

We call the function to get @jack's (jack dorsey's) 10 most recent tweets

The endpoint only supports user id, so we pass the id of @jack to the method

In [9]:
response = ot.get_tweet_timeline('12')
response["data"]
Out[9]:
[{'id': '1433451623762862083',
  'text': 'RT @esthercrawford: Today we’re introducing @SuperFollows, a way for the people driving the conversations on Twitter to earn money from the…'},
 {'id': '1433062066424778752', 'text': '@gladstein @bernard_parah Def'},
 {'id': '1432685230280806411', 'text': 'https://t.co/z52l4EtBvk'},
 {'id': '1432418872171249665',
  'text': 'Love music? Help design a music app: https://t.co/2Naj9ImEXe'},
 {'id': '1432137059666378755',
  'text': 'Grateful for @elonmusk &amp; @SpaceX ❤️ https://t.co/1s4TqV3IdH'},
 {'id': '1431636712078336002', 'text': '@alee Nah'},
 {'id': '1431460418086752257', 'text': 'https://t.co/khIRWPZ9SC'},
 {'id': '1431378268167577608', 'text': '@bisq_network Def! Cc:@brockm'},
 {'id': '1431377752549171209',
  'text': '@evankaloudis I love bisq! Many lessons to learn from it.'},
 {'id': '1431377414362386437', 'text': '@mdudas Thanks, Mike'}]

Mentions

In [10]:
response = ot.get_mentions_timeline('12')
response["data"]
Out[10]:
[{'id': '1433810474274000899',
  'text': 'helo jack. @jack.@awarahgard  u closed his account. why... this is a wrong decession. he is a. politically tweeper. hr never absued any one and he is good motivational speker. so i insist restore his account immediately.'},
 {'id': '1433810442443542529',
  'text': '@awarahgard @Urta_teer @jack @TwitterSupport شکریہ'},
 {'id': '1433810409971126279',
  'text': '@Urta_teer @qazi_athar @jack @TwitterSupport @awarahgard جیک کو پتا تھا کہ سقراط کے بعد بقراط بھی سفارش کرے گا اس لۓ اس نے جلدی جلدی اکاٶنٹ بحال کردیا😊😊'},
 {'id': '1433810398881333254',
  'text': '@jack are you in mood of doing prank on me literally nothing in notification got at least 10-12 times https://t.co/HheyUGNHj5'},
 {'id': '1433810347043983381',
  'text': '@Mutahar_Naji @MAddahri @jack هههههه جاك فضحهم بس قل المشكلة بالملعون الي يسافر من محافظة لمحافظة منشان يحضر خطبة جمعة'},
 {'id': '1433810313602797598',
  'text': '@spencerdjblake Organization* @jack when is that edit button coming?'},
 {'id': '1433810309660114954',
  'text': 'ava twitter : maki\nava ig : raven\nava wa : kosong\nwallpaper chat : marvel\nava line: cwe gt gtau sp\nhomescreen : avengers\nlockscreen : tameng capt america sm palu thor\n\n@jack @Twitter https://t.co/1AZZscoPi4'},
 {'id': '1433810248083574794',
  'text': '@qazi_athar @Urta_teer @jack @TwitterSupport کر دیا سرکار'},
 {'id': '1433810109424099329',
  'text': "@ReadYouForFree @SenTedCruz @jack KB I have achieved victory!  @SenTedCruz somehow convinced @jack to suspend the account!\n\nThank you Sen Cruz!  And @jack let's continue to make Twitter a place free from vile racist slurs."}]

Specifying the number of tweets returned

Often we need much more data than Twitter returns in one request. We can request up to 100 tweets at a time using the max_results parameter. This has large implications with respect to query limits (i.e. how many tweets you can get with the same number of requests). Here is an example:

Call the function to get jack's 100 most recent followers

In [11]:
response = ot.get_tweet_timeline('12', max_results=100)
In [12]:
print(f"Now we have {len(response['data'])} tweets.")
print("~~~~~~~~~~~~~~~~~~~~~~")
response["data"]
Now we have 100 tweets.
~~~~~~~~~~~~~~~~~~~~~~
Out[12]:
[{'id': '1433451623762862083',
  'text': 'RT @esthercrawford: Today we’re introducing @SuperFollows, a way for the people driving the conversations on Twitter to earn money from the…'},
 {'id': '1433062066424778752', 'text': '@gladstein @bernard_parah Def'},
 {'id': '1432685230280806411', 'text': 'https://t.co/z52l4EtBvk'},
 {'id': '1432418872171249665',
  'text': 'Love music? Help design a music app: https://t.co/2Naj9ImEXe'},
 {'id': '1432137059666378755',
  'text': 'Grateful for @elonmusk &amp; @SpaceX ❤️ https://t.co/1s4TqV3IdH'},
 {'id': '1431636712078336002', 'text': '@alee Nah'},
 {'id': '1431460418086752257', 'text': 'https://t.co/khIRWPZ9SC'},
 {'id': '1431378268167577608', 'text': '@bisq_network Def! Cc:@brockm'},
 {'id': '1431377752549171209',
  'text': '@evankaloudis I love bisq! Many lessons to learn from it.'},
 {'id': '1431377414362386437', 'text': '@mdudas Thanks, Mike'},
 {'id': '1431337475344109571', 'text': '@edgett 🙏🏼🙏🏼🌅'},
 {'id': '1431323561982054401', 'text': '@deppilf This makes Square better'},
 {'id': '1431321683856605192', 'text': '* @TBD54566975'},
 {'id': '1431320761474617344',
  'text': 'We’ve determined @TDB54566975’s direction: help us build an open platform to create a decentralized exchange for #Bitcoin https://t.co/jHYWHy1qmu'},
 {'id': '1431089692070588419', 'text': '◽️◼️◽️'},
 {'id': '1431086396849197058',
  'text': 'RT @babykeem: 🍿 https://t.co/uPbzhPhooJ'},
 {'id': '1431038438854348806',
  'text': 'RT @TwitterSpaces: we want to help people creating cool Spaces make $$$. today, some Hosts will be able create Ticketed Spaces! \n\nwe’re exp…'},
 {'id': '1431036949251436545', 'text': '@jsngr 💯'},
 {'id': '1430643584835936256',
  'text': 'RT @babykeem: https://t.co/kFQlmtsFbx'},
 {'id': '1430604132793163785',
  'text': 'RT @theestallion: Dropping 🔥hot🔥 finance tips with @CashApp https://t.co/VMcaSdbvy1'},
 {'id': '1430510044702023682', 'text': '@nedsegal @Twitter 🙏🏼'},
 {'id': '1430362750438547460', 'text': 'Wow https://t.co/23yOVXNV1h'},
 {'id': '1429801502302932999',
  'text': "RT @gersonmartinez: #ElSalvador's Bitcoin Law goes into effect on September 7th and president @nayibbukele just made some important announc…"},
 {'id': '1428892316685774852', 'text': '696767'},
 {'id': '1428799228793561093', 'text': '@GarrettMcManus You missed a spot'},
 {'id': '1428798671039123458',
  'text': 'RT @ElliottWilson: Label Focus: TDE https://t.co/TzdGMEglEq #TIDAL 🏆 https://t.co/9Cd4fDiHFa'},
 {'id': '1428768382107668486', 'text': '❤️❤️❤️ https://t.co/jBKElYj1Zc'},
 {'id': '1428677369439657999',
  'text': "RT @TIDAL: Aaliyah's album 'One in a Million' has arrived on TIDAL.\n\nhttps://t.co/WFzbmSNqce https://t.co/B2ka0L2Ic8"},
 {'id': '1428542163051327488', 'text': '@jonst0kes No.'},
 {'id': '1428535494472781824',
  'text': '@AndrewDARMACAP @VitalikButerin Take him where?'},
 {'id': '1428374449263308803',
  'text': 'RT @revue: It’s here 🧡\n\nToday, we’re starting to test a feature that allows people to subscribe to your Revue newsletter directly from your…'},
 {'id': '1428165182442848266', 'text': '💯 https://t.co/iiKTKRsy16'},
 {'id': '1428070384574681092',
  'text': 'RT @TwitterDev: All systems go! Help shape the future of Twitter Spaces with the new Spaces endpoints. ✨\n\nhttps://t.co/IloBIxYGbX https://t…'},
 {'id': '1427758005685211139',
  'text': '@austin_rief Rough day? Cheers, jack 🦶'},
 {'id': '1427677133221113862', 'text': '@ODELL 💯'},
 {'id': '1427665251848306697',
  'text': '@neha @orionwl @fanquake Great milestone'},
 {'id': '1427664937862717441',
  'text': '@kitt_andrew @compass_mining I’m trying mining with @compass_mining too…'},
 {'id': '1427381191741788166',
  'text': '@BdGBertdeGroot @nvk @theBLOCKCLOCK @Coinkite Magic hour 🌅'},
 {'id': '1427342601208975362', 'text': '@Mood4Eva98 👋'},
 {'id': '1427333226348040197',
  'text': 'RT @Snowden: There has been one constant across twenty years of occupation: the government lying to the people.'},
 {'id': '1427331429671833606',
  'text': '@lsanger New project? This is our first and only lead. \n\nIt maybe “contrary” today, but won’t be in future. \n\nAnd don’t trust us. That’s the entire point.'},
 {'id': '1427330357976776711',
  'text': "RT @TIDAL: Beyoncé's full discography has arrived on TIDAL in Master Quality.\n\nhttps://t.co/J5wPRbss75 https://t.co/XcueqY4oxP"},
 {'id': '1427321206575964160',
  'text': 'RT @mmasnick: I know a lot of people have thought that nothing has been happening with Twitter @bluesky initiative, but there has been a lo…'},
 {'id': '1427316025008271367',
  'text': 'RT @bluesky: Welcome Jay! \n\nInterested in building the future of social media with us? Keep an eye out for opportunities to join the bluesk…'},
 {'id': '1427315839666118662',
  'text': 'Jay will be leading @bluesky!\n\nAnother step towards decentralizing Twitter and social media. \n\nNow we can move much faster, and through code. https://t.co/9RLR4Je8GE'},
 {'id': '1427311516370472960',
  'text': 'RT @mtaibbi: The look of genuine shock on the faces of people like Tony Blinken this weekend should tell people around the world something…'},
 {'id': '1427033274094923778',
  'text': 'RT @LaserHodl: #Bitcoin is like a vast public corridor of clear lockboxes with coin slots. \n\nSats can be put in boxes regardless of who hol…'},
 {'id': '1427029245520384003',
  'text': "RT @BrianLockhart: If you're new to this #Bitcoin twittering thing, you may not have heard of @janeygak before - solid bitcoiner, developer…"},
 {'id': '1427024780973289475',
  'text': '@matthewramsden @lightningnodl @ODELL Thank you Matthew!'},
 {'id': '1427000143006556160',
  'text': "RT @revolttv: ‘I say self-made meanin' I designed myself’ 🏁🏁 #LLNH https://t.co/wVUJaLZ97A"},
 {'id': '1426987255579791366',
  'text': '@lightningnodl @matthewramsden @ODELL This is great but doesn’t seem to update height in real time?'},
 {'id': '1426923878803193856',
  'text': 'RT @TIDAL: R&amp;B Brunch. \n\nA playlist curated by @nas. \n\nhttps://t.co/hUltQUuAvC https://t.co/u9rsnKSHRh'},
 {'id': '1426907312250310658',
  'text': 'RT @TIDAL: Happy birthday, Nip.\n\nThe Marathon Continues. https://t.co/B6FPvhXreu'},
 {'id': '1426892980749848579', 'text': '#wtfhappenedin1971'},
 {'id': '1426890384660172806',
  'text': 'RT @Just2Bueno: Leave it to Nipsey to explain Bitcoin in a way you can understand\n\n https://t.co/YJmgMsmUGs'},
 {'id': '1426881255711330309',
  'text': 'Curated by @NipseyHussle: The Marathon Continues\n\n https://t.co/bwt32jVLRE'},
 {'id': '1426723570755985412',
  'text': 'has anyone made a blockclock-like iOS widget?'},
 {'id': '1426721627283329024', 'text': '@LaserHodl OG'},
 {'id': '1426703331448217600',
  'text': '@howardlindzon @seyitaylor @davewiner Quality over quantity'},
 {'id': '1426702616315273218',
  'text': '@howardlindzon @seyitaylor @davewiner You need a hug Howard?'},
 {'id': '1426694400558698504',
  'text': '@seyitaylor @davewiner @howardlindzon True. But we are fixing.'},
 {'id': '1426534154343174145', 'text': '@ireaderinokun @SenWarren Thank you!'},
 {'id': '1426531677334085632',
  'text': 'RT @ireaderinokun: @jack @SenWarren Hey Jack! Just to clarify, the stat the article is quoting is from a study of max 4k Nigerians who say…'},
 {'id': '1426526014126108673',
  'text': 'RT @ODELL: “The Cuban people are tired,” he said. “They want a better life.”\n\n“The system isn’t working,” Cruz said, “so people are turning…'},
 {'id': '1426521682538344451',
  'text': 'Wow: “32 percent of Nigerians own Bitcoin, the highest percentage in the world.” 🇳🇬 \n\nOpen letter to @SenWarren:\nhttps://t.co/Dl11yxRKyQ'},
 {'id': '1426349690879102980', 'text': 'https://t.co/LOWVNVrBex'},
 {'id': '1426334393400954884',
  'text': "RT @adam3us: it's a pretty phenomenal story. mind boggling really, that an anonymous protocol developer will at some point become the riche…"},
 {'id': '1426327234093195269', 'text': '@APompliano Pretty much'},
 {'id': '1426320221133025282',
  'text': 'RT @Snowden: The Taliban retaking Afghanistan in a matter of weeks as September 11th nears is a tragic symbol of the last decades.\n\nOur gov…'},
 {'id': '1426317349062418441', 'text': '@clarkmoody @jokoono Same'},
 {'id': '1426293267306536969',
  'text': '@samkazemian You’re sitting on it too long, Sam'},
 {'id': '1426292988892885002', 'text': '@elonmusk ❤️\u200d🔥'},
 {'id': '1426283430652829699',
  'text': 'Agree! A nym will have the greatest impact. https://t.co/mhk8577BfT'},
 {'id': '1426224296586842113', 'text': '@LegalDaVinci Not easy enough yet'},
 {'id': '1426223669718700041', 'text': '🙏 https://t.co/j1N6dInxI0'},
 {'id': '1426002869585592330',
  'text': '@garrytan @thetrocro $mystery to the moon'},
 {'id': '1426001843998576645',
  'text': '@Suhail @garrytan Elon and Satoshi were both super into Windows?!'},
 {'id': '1426000451074408450',
  'text': '@timothy_skim @garrytan Def not in it for the money (I intend to give all mine away). I’m in it to help fix the money.'},
 {'id': '1425997832201424911',
  'text': '@samkazemian @IOHK_Charles @APompliano Not trolling'},
 {'id': '1425992871723905026',
  'text': '@tharogueone1 @BrainHarrington @FranBoll11 @cory_eth @santisiri I always have to'},
 {'id': '1425992534619299845',
  'text': '@Thekkiidd @dogeofcoin @cory_eth @santisiri Not focused on lightning for NFT. Lightning to enable a currency for the internet.'},
 {'id': '1425992128602288129',
  'text': '@CryptoSeaOtter @satoshiattorney @seyitaylor I agree with the spirit of NFTs. And I never said anything about Bitcoin and NFTs'},
 {'id': '1425991659859451910',
  'text': '@paulmillr @Chelsea_FC369 @MiguelCervera @iamDCinvestor @mdudas True bluesky has taken a long time. We decided to do research before hiring lead, all is public. Lead announcement next week. This is going to take time, as we said. \n\nThe icons you mention were bought. It’s an ad product.'},
 {'id': '1425975707105116170',
  'text': '@Chelsea_FC369 @MiguelCervera @iamDCinvestor @mdudas Nah. Working to decentralize both.'},
 {'id': '1425975471259455492',
  'text': '@Viaware1 @AllisonReichel @APompliano What OS version?'},
 {'id': '1425970753212665862',
  'text': '@AllisonReichel @APompliano False https://t.co/yBeaU0Dd3l'},
 {'id': '1425969744256065543',
  'text': '@MiguelCervera @iamDCinvestor @mdudas As have you on Bitcoin ;) decentralization isn’t an end goal tho, it’s just one method of fixing the money.'},
 {'id': '1425967906806976514',
  'text': '@satoshiattorney @seyitaylor Not fighting your project. Was agreeing it wasn’t a good idea.'},
 {'id': '1425967199186038791',
  'text': '@pt @seyitaylor I don’t believe any one company should “own” the NFT space.'},
 {'id': '1425966846709223424',
  'text': '@dogeofcoin @cory_eth @santisiri It has value to lots of people. Just not what I’m focused on.'},
 {'id': '1425966622771191811',
  'text': '@FranBoll11 @cory_eth @santisiri Focus on one thing isn’t hate of the others. I’ve made my concerns known about others in comparison to Bitcoin. Key ones are founding principles, security, and centralization.'},
 {'id': '1425965990538584065',
  'text': '@MiguelCervera @iamDCinvestor @mdudas A stretch to say I’m fixed on it'},
 {'id': '1425963920272068613',
  'text': '@iamDCinvestor @mdudas Focusing on the principles and structure behind any currency is what matters. Hence, for me, Bitcoin.'},
 {'id': '1425947869568282624', 'text': '⚡️ https://t.co/8jujGNdAig'},
 {'id': '1425926717663809539',
  'text': '@cory_eth @santisiri Disrupting “Big Tech” is exactly what’s needed and what I want.\n\nNo one technology alone will do that though.'},
 {'id': '1425920029158166529',
  'text': 'RT @openculture: Carl Sagan Predicts the Decline of America\n\nUnable to Know "What’s True," We Will Slide, "Without Noticing, Back into Supe…'},
 {'id': '1425916582329528325',
  'text': '@iamDCinvestor @mdudas I’m focused on a native currency for the internet. That is all.'},
 {'id': '1425893910728036359',
  'text': '@seyitaylor Agreed.\n\nEvery account on Twitter being able to link to a Lightning wallet however…'},
 {'id': '1425875791850745872',
  'text': '@lizzo @iamcardib All thanks to the team'},
 {'id': '1425630267843268609', 'text': '@udiWertheimer @0xTed Damn new font'}]

Pagination

For each user ID, Twitter allows you to request up to 3,200 of the most recent tweets, and up to 800 of the most recent tweets mentioning a user. Since you can only request (at most) 100 tweets at a time, you will need to utilize the pagination_token returned in the meta-data of the response. For example, to get the 200 most recent tweets you can do the following...

In [13]:
response = ot.get_tweet_timeline('12', max_results=100)
response.keys()
Out[13]:
dict_keys(['data', 'meta'])
In [14]:
response["meta"]
Out[14]:
{'oldest_id': '1425630267843268609',
 'newest_id': '1433451623762862083',
 'result_count': 100,
 'next_token': '7140dibdnow9c7btw3z1m9c5vrskql7r1toy2bp4fgoqh'}
In [15]:
response_2 = ot.get_tweet_timeline(
    '12',
    pagination_token=response['meta']['next_token'],
    max_results = 100
)
response_2["meta"]
Out[15]:
{'oldest_id': '1418586795944685571',
 'newest_id': '1425629448834109443',
 'result_count': 100,
 'next_token': '7140dibdnow9c7btw3z17a43twp6n4imm94kknd657ygh',
 'previous_token': '77qpymm88g5h9vqkluod2ouilb8cn6vm5e31n0a7seq7n'}
In [16]:
response_2["data"]
Out[16]:
[{'id': '1425629448834109443',
  'text': '@0xTed @udiWertheimer There are no coincidences'},
 {'id': '1425614093243846657',
  'text': 'I used @getvicarious to create and sync a list of all accounts I’m following, set that list to be reverse chron, named it “Latest” and pinned it, and now I can quickly swipe between ranked (algorithm) and all tweets as they happen\n\n(inspired by an idea from team) https://t.co/ZfSg9pGeds'},
 {'id': '1425611177095204867',
  'text': '@teamikon12 @zackvoell Might be your shift key'},
 {'id': '1425610297465786369', 'text': '@C40LF @sodadecounty @DocDre Sorry'},
 {'id': '1425610015155572737',
  'text': '@sodadecounty @DocDre We started wack'},
 {'id': '1425607896113496069',
  'text': 'RT @PeterChawaga: Of all the insight surfaced in this report, I was most struck by how widespread use of Bitcoin already seems to be in Cub…'},
 {'id': '1425563489121230849', 'text': '@zackvoell Bitcoin fixes this'},
 {'id': '1425504341243449348',
  'text': 'RT @StewYorkCity: The energy is crazy! TAP IN! https://t.co/dgrxvJaKfk'},
 {'id': '1425466730873331714', 'text': '@kim_yle @TwitterSpaces @linukxxx ❤️'},
 {'id': '1425445801732546568',
  'text': '@sethforprivacy @optoutpod Eventually!'},
 {'id': '1425439030724923401',
  'text': "RT @LynAldenContact: I wrote an article about bitcoin's scaling pattern and energy usage:\nhttps://t.co/0m0RGXQ7E8"},
 {'id': '1425436742887383051',
  'text': '@sethforprivacy I’m supportive of your work, and here to learn.'},
 {'id': '1425253336677298176', 'text': '@Niklauzi @jeetsidhu_ @MuunWallet No'},
 {'id': '1425253253076422661',
  'text': '@x52872395 @jeetsidhu_ @MuunWallet Their security model is very well thought out and intuitive'},
 {'id': '1425253125229776898',
  'text': '@sikakanotna @jeetsidhu_ @MuunWallet @CashApp Step by step'},
 {'id': '1425251187528437761',
  'text': '@jchervinsky @CitizenBitcoin @julie_stitzel @CashApp Julie is great'},
 {'id': '1425241521809416197',
  'text': '@jeetsidhu_ @MuunWallet Peace of mind and effortless lightning transactions'},
 {'id': '1425191267097616392',
  'text': 'This is great https://t.co/XOoyTiddhR'},
 {'id': '1425135155933597697', 'text': 'day 0'},
 {'id': '1425095397190639621', 'text': 'https://t.co/bMUdd0VUyG'},
 {'id': '1424892165952581636', 'text': 'Facts https://t.co/8lTfZPBAYj'},
 {'id': '1424884963195883528',
  'text': 'RT @jillrgunter: The fact that anyone can just see this is wild'},
 {'id': '1424854924194729984',
  'text': '#Bitcoin will unite a deeply divided country.\n\n(and eventually: world)'},
 {'id': '1424851113061273603', 'text': 'This https://t.co/AFsVAeablT'},
 {'id': '1424848151127617551',
  'text': 'RT @RepTomEmmer: I, along with bipartisan Blockchain Caucus co-chairs @RepDarrenSoto, @RepDavid, and @RepBillFoster sent a letter to every…'},
 {'id': '1424844906233802755',
  'text': 'RT @jchervinsky: We need to have a longer conversation about why Congress is delegating its legislative power to unnamed, unelected officia…'},
 {'id': '1424841714833952770',
  'text': 'RT @pourteaux: .@SenShelby choosing bombs over bitcoin proves why we need bitcoin to win'},
 {'id': '1424836399426150402', 'text': '💯 https://t.co/4wcgah2F4X'},
 {'id': '1424834311438622725',
  'text': 'RT @BitcoinMagazine: They killed the amendment for more military spending.\n\nPathetic.'},
 {'id': '1424834022975361029', 'text': 'Broke https://t.co/mxl1pixEWA'},
 {'id': '1424833524746555392',
  'text': 'Second attempt to save falls again to desire for more military spending'},
 {'id': '1424832150155694082',
  'text': 'RT @elidourado: SNAFU on the Senate floor right now on the crypto amendment. Shelby and Sanders fighting it out over defense spending and k…'},
 {'id': '1424831787633680386',
  'text': 'Amendment killed to get more military spending.\n\nWow.'},
 {'id': '1424789485406068739',
  'text': 'Critical we protect Lightning⚡️ and other scalability solutions for #Bitcoin. Routers or node operators aren’t brokers. Thanks @senrobportman @SenToomey for clarifying this, and @RonWyden @SenLummis @MarkWarner @SenatorSinema for improving language to get to a better place.'},
 {'id': '1424726942906036231', 'text': '@AnselLindner Zoom out'},
 {'id': '1424513825748000773',
  'text': 'RT @milessuter: It’s *so* crazy that this is how legislation is made in DC.\n\nThese are incredibly complex, technical and impactful issues.…'},
 {'id': '1424501928071999492',
  'text': 'RT @abesutherland: I just published: The proposal to regulate digital asset transactions like in-person physical currency receipts should b…'},
 {'id': '1424439124518490116',
  'text': 'RT @milessuter: A better solution for governments trying to (impossibly) mandate DEXs to submit 1099’s on users to ensure tax inflows, woul…'},
 {'id': '1424437920803479553',
  'text': 'RT @moneyball: This would be infinitely more effective for the IRS to collect taxes and the government to legitimately score revenue for th…'},
 {'id': '1424437052821680128', 'text': 'https://t.co/QwLlOj0aqK'},
 {'id': '1424411286725701646',
  'text': '@samarsingla @APompliano Nah. Bitcoin doesn’t need presidents.'},
 {'id': '1424370103601270785',
  'text': 'RT @TIDAL: Watch The Throne: 10 years later. https://t.co/BPR5f1yrf8'},
 {'id': '1424369951926784002',
  'text': '@aaakkmm @TeamKanyeDaily @kanyewest Yes and it was amazing'},
 {'id': '1424232957808623616',
  'text': 'RT @TheNBPA: Introducing the new NBPA President, @CJMcCollum \n\nAs voted by the players, CJ McCollum was elected as the new President of the…'},
 {'id': '1424220904331038722',
  'text': 'And…this is unlikely and maybe against the creative process…but it would be incredible if @kanyewest put out #DONDA as it is now and continued to update it until he feels it’s “finished”…so we can all witness the work evolve in real time.'},
 {'id': '1424219731721166848',
  'text': 'Thank you for the work thus far, and thank you for the consideration.'},
 {'id': '1424219730643140610',
  'text': 'If you feel this doesn’t go far enough, I’d argue that this at least gets you to 90% of goal. For the remaining 10% of edge cases, let’s make a proper well-informed law through committee hearings with witnesses on both sides of the debate.'},
 {'id': '1424219728642465799',
  'text': 'If we can’t strike the entire provision so we can have proper hearings and deliberation, then let’s simplify the definition of broker to what really matters: where digital assets are exchanged for fiat currency.\n\nBroker = Fiat-to-Crypto Exchange.'},
 {'id': '1424219726838960131',
  'text': 'Forcing reporting rules on Americans who develop software and hardware, who mine and secure the network, or who run nodes to build resilience and efficiencies, is an impossible ask that will only drive development and operation of this critical technology outside the US.'},
 {'id': '1424219725626814465',
  'text': 'To @RonWyden, @SenLummis, @SenToomey, @MarkWarner, @SenRobPortman, @SenatorSinema, @TedCruz, respective staff &amp; everyone who’s worked on the Infrastructure Bill “Crypto Tax Reporting” provision: thank you for your work to get this right.\n\nMay we offer a workable simplification?'},
 {'id': '1424040909587558408',
  'text': 'RT @CharFadirepo: Expanding the #bitcoin narrative is really important to me.\n\nSo I’d like to host a @TwitterSpaces on “#Bitcoin in #Nigeri…'},
 {'id': '1424040645782646784',
  'text': 'RT @jerrybrito: Senator Warner has revised his proposed amendment! It no longer limit the “validator” exception to proof-of-work. I think h…'},
 {'id': '1424028975752486922',
  'text': 'RT @jchervinsky: The Senate is back in session.\n\nA cloture vote to end debate on the infrastructure bill is expected ~ 12 pm ET. If it pass…'},
 {'id': '1424011960169947138',
  'text': 'This bill has so many issues. And the @MarkWarner amendment makes it worse, especially for open source developers. \n\nAnd no rationale has been provided…only rumors. https://t.co/cMAMk2TuBX'},
 {'id': '1423771357347778562', 'text': 'RT @rmbrgn: filter:spaces 👀'},
 {'id': '1423735636830392321', 'text': '🇯🇲 https://t.co/UngQDLuwTU'},
 {'id': '1423643089491664900',
  'text': "RT @saylordotorg: Don't miss this! 10am EDT today on @TwitterSpaces w/ @michael_saylor &amp; @saifedean overviewing our new course on Austrian…"},
 {'id': '1423497915918655490',
  'text': 'RT @clarkmoody: Best infrastructure move the US could make right now:\n\nStrategic Hashpower Reserve\n\n#Bitcoin'},
 {'id': '1423494902663503872', 'text': '💯 https://t.co/65mEpIrAMA'},
 {'id': '1423492597671137282', 'text': 'Wow'},
 {'id': '1423480665631301635',
  'text': 'RT @SenLummis: The Wyden-Lummis-Toomey amendment is simple. It clarifies in law what most of us already believe—that validators of distribu…'},
 {'id': '1423478464334663682',
  'text': "RT @brockm: Whatever your views on one consensus mechanism over the other, this is just bad lawmaking and anti-innovation. It's bad lawmaki…"},
 {'id': '1423435305839960069',
  'text': 'Help us build a non-custodial hardware wallet for hundreds of millions of people. All in the public, all open-source. ⚡️#Bitcoin https://t.co/AovrWjMYvZ'},
 {'id': '1423433130665463809', 'text': '💯 https://t.co/hAAHNrdYxm'},
 {'id': '1423384367506894848',
  'text': "RT @DocumentingBTC: Africa's peer-to-peer #Bitcoin volume is making new all-time highs—nothing can stop the innovative and driven youth fro…"},
 {'id': '1423339534662709251',
  'text': 'It’s taken a damn long time but we’re almost there https://t.co/TuVshfaLBe'},
 {'id': '1423020593109250055',
  'text': 'RT @fightfortheftr: 🚨 #Cryptocurency Red Alert 🚨\n\nThere is a #Crypto provision hidden in a must-pass bill that will allow mass-surveillance…'},
 {'id': '1422980472871792643',
  'text': 'Thank you @SenLummis @RonWyden and @SenToomey! https://t.co/HknIZyD5QZ'},
 {'id': '1422731570063028232', 'text': '@NeerajKA Create another'},
 {'id': '1422698103359033349',
  'text': "RT @SenLummis: More to come but we're proud of the work we've been able to do with @RonWyden to responsibly address digital assets in the B…"},
 {'id': '1422693698152931328',
  'text': 'That other cash register company getting into Bitcoin https://t.co/ggqMTQ5Bde'},
 {'id': '1422667000950706187',
  'text': 'We support @SenToomey and @RonWyden’s effort to amend the provision. The infrastructure bill’s current tax reporting language would put unworkable requirements on #Bitcoin node runners, developers, and miners. This is the way: https://t.co/n3OWAig0ty'},
 {'id': '1422614355305193473',
  'text': '❤️\u200d🔥 #Bitcoin https://t.co/RTYUYmkVTN'},
 {'id': '1422378114668273675',
  'text': 'RT @MsHodl: If you aren’t holding your own keys, you don’t own #Bitcoin \n\nYou should fix that.'},
 {'id': '1422376324228866048', 'text': '@sthenc Agree'},
 {'id': '1422363783784239107',
  'text': '@PythiaR @TrungTPhan Hardest part has been finding orgs with a small staff. Working to move faster now.'},
 {'id': '1422330850222485507', 'text': '@greg16676935420 NaN'},
 {'id': '1422284343964278790', 'text': 'RT @AmritaAhuja: 💯'},
 {'id': '1422218115094560768', 'text': '@MrHodl facts'},
 {'id': '1422209576041078785',
  'text': 'Bitcoin is Bitcoin.\n\n(and that’s all it needs to be)'},
 {'id': '1422023502111051777', 'text': '@heartbreakbrett Facts'},
 {'id': '1421956095141154818',
  'text': 'RT @Square: Today, we announced our plans to acquire @afterpay_au to advance our shared mission of economic empowerment. Together, we’re ai…'},
 {'id': '1421955381325139974',
  'text': 'Afterpay + Square! https://t.co/4UVDOtyI8a'},
 {'id': '1421929472593473537',
  'text': "RT @CharFadirepo: Nigeria is #bitcoin's most elegant use case to date. \n\n#Bitcoin solutions in entitled Western countries are the least int…"},
 {'id': '1421908174022582275', 'text': '@sveinol @nvk time is difficult…'},
 {'id': '1421885896882851843',
  'text': 'RT @nvk: If you enjoyed playing with Wasabi and wants to try something a little more technical but really cool, check out https://t.co/0azb…'},
 {'id': '1421847846073032705',
  'text': 'RT @clarkmoody: Happy Bitcoin Independence Day 🎉\n\n"The UASF episode illustrates the difficulty of changing Bitcoin without widespread conse…'},
 {'id': '1421656974920454149',
  'text': 'RT @BTC_Archive: Nigeria is now second only to the US for #Bitcoin trading. - Paxful'},
 {'id': '1421628781341691908', 'text': 'https://t.co/E0UA6vPZkK'},
 {'id': '1421484054042578946',
  'text': 'RT @TheBlueMatt: TIL Square is hiring software engineering and business leads for the Bitcoin hardware wallet. If you wanna work with a kil…'},
 {'id': '1421268051169890311',
  'text': "RT @RoninDojoUI: I'm sure someone told you that #bitcoin mining at home is unprofitable for the average bitcoiner. They are wrong\n\nStart he…"},
 {'id': '1421174066849931265',
  'text': 'Introducing Twitter’s first algorithmic bias bounty challenge https://t.co/hjpMv0UCqd'},
 {'id': '1420871608844099590',
  'text': '@paid_network @Diditaihuttu @Twitter All of those were paid for. Except Bitcoin.'},
 {'id': '1420574249492877316',
  'text': '1992: the internet will be like Snow Crash\n2021: the facebook will be like Snow Crash'},
 {'id': '1420466144297852930', 'text': 'https://t.co/iTWtqwdqPj'},
 {'id': '1420420887677911043',
  'text': 'RT @boo: VERY excited to announce that we’ve launched our Shop Module pilot test  🛒  Read more here (1/8)  https://t.co/wkgX9ayy36'},
 {'id': '1419815703230693381',
  'text': 'RT @blankbreaks: ͏͏\n͏\n͏\n\n͏ ͏\n͏\n͏\n\n͏\n͏ ͏\n͏\n͏\n\n͏\n͏ ͏\n͏\n͏\n\n͏\n͏ ͏\n͏\n͏\n\n͏ ͏\n͏\n͏\n\n͏\n͏ ͏ ͏\n͏\n͏\n\n͏ ͏\n͏\n͏\n\n͏\n͏ ͏\n͏\n͏\n\n͏ ͏\n͏\n͏\n\n͏ ͏\n͏\n͏\n\n͏\n͏ ͏\n͏\n͏\n\n͏…'},
 {'id': '1418645572463046658', 'text': '@GarrettMcManus Good tweet'},
 {'id': '1418631587885993984', 'text': '@MrHodl @nic__carter Oura is great'},
 {'id': '1418586795944685571', 'text': '@igb Explains a few things'}]

Follows

Followers

In [17]:
# Call the function to get "jack"'s 100 most recent followers
# The endpoint only supports user id, we pass the id of @jack to the method
response = ot.get_followers('12')
response["data"]
Out[17]:
[{'id': '1317092879274135558',
  'name': 'NNNNNNOK',
  'username': 'Narumol66634904'},
 {'id': '980016811008757761',
  'name': 'Hrithik poojary',
  'username': 'PoojariHrithik'},
 {'id': '1432046689024724995',
  'name': 'T. S. Legosit',
  'username': 'TSLegosit'},
 {'id': '1272540872211456001',
  'name': 'Infusecooking 🇮🇳🚩',
  'username': 'infusecooking'},
 {'id': '1334773407389540353', 'name': 'yangyi', 'username': 'yangyi23995794'},
 {'id': '1433808490984660994',
  'name': 'Sp Choudhary',
  'username': 'Spchoudhary4449'},
 {'id': '891512365786685440',
  'name': 'Deverick',
  'username': 'deverickapollo'},
 {'id': '1276771879521574913',
  'name': 'Peter Stavros',
  'username': 'petestavros'},
 {'id': '461207247',
  'name': 'Carlos García Acosta',
  'username': 'acarlosgarcia'},
 {'id': '1432203260098580482',
  'name': 'BitcoinDefi China',
  'username': 'baii_a'},
 {'id': '281813376', 'name': 'Tracy Bracken', 'username': 'Tracy_Bracken'},
 {'id': '1429663345804603394',
  'name': 'Madigamedichaithu Reddy',
  'username': 'Madigamedichai1'},
 {'id': '515475757', 'name': 'Ritim', 'username': 'Ritimresmi'},
 {'id': '172119247', 'name': 'Vini Simoni', 'username': 'vsimoni_'},
 {'id': '1214079068208893952',
  'name': 'Khalique Ahmad',
  'username': 'Khalique96'},
 {'id': '3862078402', 'name': 'Hammed_abiodun', 'username': 'ranchodassuarez'},
 {'id': '945958668394225664', 'name': 'ROSEMARY', 'username': 'rozmartynz'},
 {'id': '1433805730214289413',
  'name': 'Oliver Gauci',
  'username': 'OliverGauci'},
 {'id': '1385669082893017091',
  'name': 'Vancity NFT',
  'username': 'VancityNft'},
 {'id': '3308438220', 'name': 'PQToan', 'username': 'GaBeo95'},
 {'id': '1387159394622783489',
  'name': 'Marina Pitirimowa',
  'username': 'pitirimowa_m'},
 {'id': '2892605885', 'name': 'Thorben D.', 'username': 'Thorben_3r'},
 {'id': '1099128770383044609', 'name': '.', 'username': 'RealZanaty'},
 {'id': '881002460', 'name': 'B', 'username': 'BHC000'},
 {'id': '614228534',
  'name': 'v̶̺̟̞̫͙̖͐͒̎͘͜ͅȩ̴̭͉͈̗̞̞͔͉̄r̵̢͎̹̝̪̟̓̾̇̈́̓̈́͜ỏ̵̭̺͆̂̕͠',
  'username': 'vero_o0o'},
 {'id': '15084509', 'name': 'Albert Sanchez', 'username': 'OuFeRRaT'},
 {'id': '1397051171358003202',
  'name': 'Mr Intergalactic',
  'username': 'MrIntergalax'},
 {'id': '1433802709094764570',
  'name': 'Progress Bar Bitcoin',
  'username': 'ProgressBarBTC'},
 {'id': '1341040214', 'name': 'Jack', 'username': 'jack_9765'},
 {'id': '481135319', 'name': 'Rickie Malaba', 'username': 'rjmalaba'},
 {'id': '1424366777249648641',
  'name': 'car advisor',
  'username': 'caradvisor6'},
 {'id': '3020724285', 'name': 'Kaan Çiloğlu', 'username': 'ciloglu_kaan'},
 {'id': '1433802131442573319', 'name': 'Van ta', 'username': 'Vanta54009573'},
 {'id': '1381366944029376515', 'name': 'Tempus', 'username': 'TempusGT'},
 {'id': '1206692143487692800',
  'name': 'JoJo †',
  'username': 'JojosBizarreA11'},
 {'id': '1052948569462886401',
  'name': 'RAZOR CRYPTO',
  'username': 'Infinityraz'},
 {'id': '1417069571362721795',
  'name': 'Cameliyaparker',
  'username': 'Muskan03647514'},
 {'id': '1410968742381723648',
  'name': 'Natnael Alelgne',
  'username': 'alelgne_natnael'},
 {'id': '1004761379067351040',
  'name': 'KwesiArthur⭐Official⭐',
  'username': 'KwesiArthurOff1'},
 {'id': '1214108148304236544', 'name': 'lalita', 'username': 'lalita12073228'},
 {'id': '272470463', 'name': 'Paula Messi', 'username': 'paulamariarm'},
 {'id': '1086988153196503040',
  'name': '🌼PeppermintZ🏳️\u200d🌈',
  'username': 'purepeppermintz'},
 {'id': '1433799953936179213',
  'name': 'Lucas Passos',
  'username': 'lucasjps1999'},
 {'id': '1433797101415239684',
  'name': 'Ruthenie Smith',
  'username': 'RuthenieS'},
 {'id': '1431005456361742337', 'name': 'PapiCoin', 'username': 'papioncoin'},
 {'id': '1273281957426860032', 'name': 'guilherme', 'username': '_guiguiwp'},
 {'id': '1423683441263095808', 'name': 'Mel Javier', 'username': 'MelJavier4'},
 {'id': '1965371749', 'name': 'Santino K', 'username': 'sonnyk87'},
 {'id': '1433798774556614657',
  'name': 'Adinew Abebe',
  'username': 'AdinewAbebe3'},
 {'id': '1384797184097464321',
  'name': 'maciuscrunchwhilebhope',
  'username': 'maciuscrunchwh1'},
 {'id': '721340210185764864', 'name': 'Vihanga', 'username': 'vihanga01'},
 {'id': '1244246191589789696', 'name': 'alvs', 'username': 'alvarosegura_95'},
 {'id': '1040546986120962048',
  'name': 'Jens Kongsgaard',
  'username': 'KongsgaardJens'},
 {'id': '1433798941850705920', 'name': 'emre', 'username': 'emreenoorr'},
 {'id': '1372226668006375431',
  'name': 'Cesar Parra',
  'username': 'cparralondono'},
 {'id': '1369721755745542146',
  'name': 'The Jester',
  'username': 'thejester_the'},
 {'id': '1423042924598730754',
  'name': "what's happening to our world!!!!",
  'username': 'FReconty'},
 {'id': '1119300308818022401', 'name': 'Snowygate', 'username': 'snowygates'},
 {'id': '558624929', 'name': 'Hep Çevir Abi', 'username': 'Hep_Cevir_Abi'},
 {'id': '1430526701574918149',
  'name': 'ขนิษฐา เย็นรัมย์',
  'username': 'QC98LnUnFk9ECvu'},
 {'id': '1359810589254684672',
  'name': 'Paint Art NFT',
  'username': 'PaintArtNFT'},
 {'id': '1296772580104237056',
  'name': 'Rohit kumar',
  'username': 'Rohitku56782082'},
 {'id': '805897183446732801', 'name': 'd', 'username': 'davidgmald'},
 {'id': '4908810099', 'name': 'Илья Афанасьев', 'username': 'iIya_afanasiev'},
 {'id': '1433796897769132032',
  'name': 'Abdulkariiiiim',
  'username': 'abdulkariiiiim'},
 {'id': '1415334731428683777',
  'name': 'Ethanol',
  'username': 'Ethanol44527118'},
 {'id': '265009676', 'name': 'Clayton Murtle', 'username': 'Claym7373'},
 {'id': '1433795512461787138', 'name': 'Box', 'username': 'boxedan'},
 {'id': '460165373', 'name': 'arijit das', 'username': 'arijitdasrider'},
 {'id': '1433787960592269312', 'name': 'ChoSun.₿TC', 'username': 'chosun_btc'},
 {'id': '1354666148067831811',
  'name': 'WUMBO INVESTMENT GROUP',
  'username': 'yawhalecum'},
 {'id': '1319348585226358784',
  'name': "Trader Lee's",
  'username': 'TraderLees1'},
 {'id': '3296112428', 'name': "O'Plérou ✻𓅠", 'username': 'OPlerou'},
 {'id': '956616194', 'name': 'Charles Bukowski', 'username': 'ScotchonRye'},
 {'id': '298716228', 'name': 'TheCC', 'username': 'thecc28'},
 {'id': '1430540004741189634',
  'name': 'CryptoReach Trading Signals',
  'username': 'CryptoReachNet'},
 {'id': '1432664373584089088', 'name': 'S Hemmati', 'username': 'SHemmati7'},
 {'id': '1433789611365605379', 'name': 'Busino', 'username': 'Busino7'},
 {'id': '1368577632447602688', 'name': 'NT Blank', 'username': 'BlankNt'},
 {'id': '52977032', 'name': 'Abhinav Kaul', 'username': 'Abhinavkaul'},
 {'id': '284648147', 'name': 'Kevin Millard', 'username': 'BouncingBallKaz'},
 {'id': '35580098', 'name': 'Haley Esparza', 'username': 'haleykesparza'},
 {'id': '1426170461193392132',
  'name': 'Crypto Capital',
  'username': 'CryptoCapital42'},
 {'id': '1387728734258561033',
  'name': 'JimCrypto3000',
  'username': 'Jimcrypto3000'},
 {'id': '1047577420788903936',
  'name': 'Rodica Ciubuc',
  'username': 'RodicaCiubuc'},
 {'id': '1340273573303226369',
  'name': 'Sakib chowdhury',
  'username': 'Sakibch67440872'},
 {'id': '1217090100787666944',
  'name': 'Alexander',
  'username': 'HarkovAlexander'},
 {'id': '723268309462986752', 'name': 'Hzolo', 'username': 'hachemidahel'},
 {'id': '1009824794089525254',
  'name': 'VoodooLobster',
  'username': 'voodoolobster19'},
 {'id': '1433073397009829896',
  'name': 'Nguyễn Quốc',
  'username': 'kenttnek2308'},
 {'id': '1379014818619826176',
  'name': 'Raju Jartarkar',
  'username': 'JartarkarRaju'},
 {'id': '921883361609691141', 'name': 'Othmane', 'username': 'SeraLoL_'},
 {'id': '1320045896466190341',
  'name': 'QueenBee',
  'username': 'QueenBeeRavion'},
 {'id': '1433512201042726914',
  'name': 'Abraham Jacobs',
  'username': 'Abrahamonly1'},
 {'id': '1424060113720020994',
  'name': 'Dancing_Corvids',
  'username': 'CorvidsDancing'},
 {'id': '2985196041', 'name': 'SN', 'username': 'crushnik1'},
 {'id': '1433788248631906307', 'name': 'Oj St', 'username': 'OjSt3'},
 {'id': '1432856929458610177', 'name': 'ecoeltd', 'username': 'ecoeltd1'},
 {'id': '1394849084133892098', 'name': 'at', 'username': 'at20443478'},
 {'id': '1433788729374789637',
  'name': 'Hassen Mohammad',
  'username': 'DrHassenMohamm1'}]

Following

In [18]:
# Call the function to get the 100 most recent accounts that jack followed
response = ot.get_following('12')
response["data"]
Out[18]:
[{'id': '35580098', 'name': 'Haley Esparza', 'username': 'haleykesparza'},
 {'id': '82542317', 'name': 'Daphne Keller', 'username': 'daphnehk'},
 {'id': '410875968', 'name': 'Stephen DeLorme', 'username': 'StephenDeLorme'},
 {'id': '19433528', 'name': 'Aaliyah', 'username': 'AaliyahHaughton'},
 {'id': '1088489186821394432',
  'name': 'MONOGRAM',
  'username': 'monogramcompany'},
 {'id': '1193474189371543554',
  'name': '₿itcoin Q+A',
  'username': 'BitcoinQ_A'},
 {'id': '1237445215335723008',
  'name': 'FOUNDATION DEVICES',
  'username': 'FOUNDATIONdvcs'},
 {'id': '4131418094', 'name': 'Pablo Picasso', 'username': 'pablocubist'},
 {'id': '20535066', 'name': 'magicseaweed', 'username': 'magicseaweed'},
 {'id': '819808061556523009',
  'name': 'Jean-Michel Basquiat',
  'username': 'artistbasquiat'},
 {'id': '358333822', 'name': 'Loonardo Joe Vinci', 'username': 'wasthatawolf'},
 {'id': '14628341', 'name': 'Dmitry ButΞrin', 'username': 'BlockGeekDima'},
 {'id': '62079598', 'name': 'SADE', 'username': 'SadeAyodele'},
 {'id': '997471671723483136',
  'name': 'Whit Gibbs 🧭',
  'username': 'BitcoinBroski'},
 {'id': '255151550', 'name': 'Lauren Lyons', 'username': 'Laur_Ly'},
 {'id': '16158749', 'name': 'Daniel Ƀrrr', 'username': 'csuwildcat'},
 {'id': '256949275',
  'name': 'MUSIC ICON THE-DREAM',
  'username': 'TheKingDream'},
 {'id': '1296419020334342144',
  'name': "Surfin'Bitcoin",
  'username': 'SurfinBitcoin'},
 {'id': '441115772', 'name': 'TakeOff', 'username': '1YoungTakeoff'},
 {'id': '389524718', 'name': 'bibi janey', 'username': 'janeygak'},
 {'id': '310709509', 'name': 'SHATTA WALE', 'username': 'shattawalegh'},
 {'id': '2957060303', 'name': 'Steve Barbour', 'username': 'SGBarbour'},
 {'id': '18213426', 'name': 'Gigi ☣️☯️', 'username': 'dergigi'},
 {'id': '1205276177666994177',
  'name': 'Liquid Network',
  'username': 'Liquid_BTC'},
 {'id': '2714960622', 'name': 'Ire Aderinokun', 'username': 'ireaderinokun'},
 {'id': '98170221', 'name': 'Mula', 'username': 'YoungMoneySite'},
 {'id': '1418506398',
  'name': 'Erich J. García Cruz ⚡',
  'username': 'ErichGarciaCruz'},
 {'id': '47346306', 'name': 'Beautyon', 'username': 'Beautyon_'},
 {'id': '14253911', 'name': 'wakaflocka.eth', 'username': 'mikedemarais'},
 {'id': '26667715', 'name': 'Sebastian \U0001f7e9', 'username': 'theStack'},
 {'id': '42927636', 'name': 'Bob Marley', 'username': 'bobmarley'},
 {'id': '57893062', 'name': 'Julian Marley', 'username': 'JulianMarley'},
 {'id': '1274491960019939328',
  'name': 'LaserHodl 🛰✨',
  'username': 'LaserHodl'},
 {'id': '2222133757',
  'name': 'paddington & mia khalifa stan account',
  'username': 'adriyoung'},
 {'id': '47155116', 'name': 'Danny Diekroeger', 'username': 'dannydiekroeger'},
 {'id': '15833470', 'name': 'FAB 5 FREDDY', 'username': 'FABNEWYORK'},
 {'id': '1615557272', 'name': 'Ben Hunt', 'username': 'EpsilonTheory'},
 {'id': '964180836307349505', 'name': 'openoms', 'username': 'openoms'},
 {'id': '1293897127', 'name': 'Aarika Rhodes 🍎🦉🧢', 'username': 'AarikaRhodes'},
 {'id': '291490266', 'name': 'Seth For Privacy', 'username': 'sethforprivacy'},
 {'id': '66165992', 'name': '…:::', 'username': 'jonatack'},
 {'id': '14401698', 'name': 'Gene Simmons', 'username': 'genesimmons'},
 {'id': '26175505', 'name': 'Angie Beyince', 'username': 'AngieBeyince'},
 {'id': '1347632898917203970',
  'name': 'Things That Changed The Internet',
  'username': 'ShapedInternet'},
 {'id': '823766058909761536',
  'name': 'Lyn Alden',
  'username': 'LynAldenContact'},
 {'id': '104721619', 'name': 'Brandon Land', 'username': 'BrandonLand_'},
 {'id': '1093621758631051264', 'name': 'Zeus', 'username': 'ZeusLN'},
 {'id': '1072307787894419456',
  'name': 'Compass Mining 🧭',
  'username': 'compass_mining'},
 {'id': '27599092', 'name': 'WorldOfRusty⚡', 'username': 'WorldofRusty'},
 {'id': '3429950987',
  'name': 'World of Engineering',
  'username': 'engineers_feed'},
 {'id': '1189487223642697728',
  'name': 'Great Women of Mathematics',
  'username': 'GWOMaths'},
 {'id': '941674227895357440',
  'name': 'Satoshi Nakamoto Bot',
  'username': 'NakamotoQuotes'},
 {'id': '1285394159277346818', 'name': 'patrick', 'username': 'fullylivep'},
 {'id': '3386380067', 'name': 'MM. 🇩🇴', 'username': 'meldotmel'},
 {'id': '473605749', 'name': 'Zoe Isabella Kravitz', 'username': 'ZoeKravitz'},
 {'id': '1268009264401932288', 'name': 'Max Guise', 'username': 'max_guise'},
 {'id': '4383631', 'name': 'Christoph Ono', 'username': 'GBKS'},
 {'id': '78683448', 'name': 'Bret Weinstein', 'username': 'BretWeinstein'},
 {'id': '599699814', 'name': 'Cragin Godley', 'username': 'CraginGodley'},
 {'id': '18770237', 'name': 'Tim Vanderham', 'username': 'vanderham'},
 {'id': '15940473', 'name': 'evan auerbach', 'username': 'evboogie'},
 {'id': '1149006278116687874',
  'name': 'Craig Warmke',
  'username': 'craigwarmke'},
 {'id': '379400685',
  'name': 'Jeremy Rubin | BIP-119 CTV utxos.org',
  'username': 'JeremyRubin'},
 {'id': '1231006274038517760',
  'name': 'El Sultán ₿itcoin ⚡️🛰 🇳🇬 🇸🇻 🇧🇷 🇻🇪',
  'username': 'elsultanbitcoin'},
 {'id': '1410362675444424707',
  'name': 'William Knight',
  'username': 'william__knight'},
 {'id': '158610400', 'name': 'Austin Rief ☕️', 'username': 'austin_rief'},
 {'id': '392655047', 'name': 'Nick Molnar', 'username': 'nmolnar'},
 {'id': '4416456732',
  'name': 'Andrew D. Huberman, Ph.D.',
  'username': 'hubermanlab'},
 {'id': '2687132389', 'name': 'Afterpay AU', 'username': 'afterpay_au'},
 {'id': '796925683763212288',
  'name': 'Italo Ferreira',
  'username': 'italoferreira'},
 {'id': '1007669285194485761',
  'name': 'Wasabi Wallet',
  'username': 'wasabiwallet'},
 {'id': '395674143', 'name': 'Evan Greer', 'username': 'evan_greer'},
 {'id': '215831743', 'name': 'Tim McElroy', 'username': 'tmcel'},
 {'id': '16359535', 'name': 'david friedberg', 'username': 'friedberg'},
 {'id': '1090068803562684419',
  'name': 'Wealth Theory ™',
  'username': 'Wealth_Theory'},
 {'id': '1387786133216579587',
  'name': 'Pierre Rochard',
  'username': 'pierre_rochard'},
 {'id': '14665424', 'name': 'Kelly Sims', 'username': 'kellylsims'},
 {'id': '703581570',
  'name': 'ABB FIA Formula E World Championship',
  'username': 'FIAFormulaE'},
 {'id': '1334873526558466055',
  'name': 'Rewina AgameAF',
  'username': 'RewinaHagerna'},
 {'id': '942572540274155521', 'name': 'Rahwa', 'username': 'rahweeta'},
 {'id': '288319138', 'name': 'Young Guru', 'username': 'Young_Guru'},
 {'id': '19038529', 'name': 'Dhruv Bansal', 'username': 'dhruvbansal'},
 {'id': '2240058816', 'name': 'Bull Bitcoin 🇨🇦', 'username': 'BullBitcoin_'},
 {'id': '294380360', 'name': 'Bobby BP Portis', 'username': 'BPortistime'},
 {'id': '2516844961', 'name': 'Yassine Elmandjra', 'username': 'yassineARK'},
 {'id': '1548523850', 'name': 'Lenny S', 'username': 'kodaklens'},
 {'id': '204995942', 'name': 'Anita Baker', 'username': 'IAMANITABAKER'},
 {'id': '1407566890688339970',
  'name': 'Summer of Bitcoin',
  'username': 'summerofbitcoin'},
 {'id': '65978455', 'name': 'Paloma 🕊', 'username': 'awaremoma'},
 {'id': '1200501133652840449', 'name': 'Stakwork', 'username': 'stakwork'},
 {'id': '24278900', 'name': 'Busta Rhymes', 'username': 'BustaRhymes'},
 {'id': '1415791588798779393', 'name': 'TBD', 'username': 'TBD54566975'},
 {'id': '15328287', 'name': 'Kanishk Parashar', 'username': 'feather_flyer'},
 {'id': '31193001', 'name': 'Emily', 'username': 'emilycchiu'},
 {'id': '217029628', 'name': 'Holly Branson', 'username': 'HollyBranson'},
 {'id': '305967569', 'name': 'Mark Phillips', 'username': 'SupremeDreams_1'},
 {'id': '1399602010824052738',
  'name': 'Svetski PhD BroSc',
  'username': 'GhostofSvetski'},
 {'id': '6112332', 'name': 'Fidji Simo', 'username': 'fidjissimo'},
 {'id': '2704681687',
  'name': 'Ethical Skeptic ☀',
  'username': 'EthicalSkeptic'},
 {'id': '101682244', 'name': 'Ryan', 'username': 'ryanmbudd'}]

Specifiy the number of results

Up to 1000!

In [19]:
# Call the function to get "jack"'s 1000 most recent followers
response = ot.get_followers('12', max_results=1000)
In [20]:
response["meta"]
Out[20]:
{'result_count': 999, 'next_token': 'MA15I9C3HQT1EZZZ'}
In [21]:
print(f"Now we have {len(response['data'])} accounts.")
print("~~~~~~~~~~~~~~~~~~~~~~")
response["data"]
Now we have 999 accounts.
~~~~~~~~~~~~~~~~~~~~~~
Out[21]:
[{'id': '1317092879274135558',
  'name': 'NNNNNNOK',
  'username': 'Narumol66634904'},
 {'id': '980016811008757761',
  'name': 'Hrithik poojary',
  'username': 'PoojariHrithik'},
 {'id': '1432046689024724995',
  'name': 'T. S. Legosit',
  'username': 'TSLegosit'},
 {'id': '1272540872211456001',
  'name': 'Infusecooking 🇮🇳🚩',
  'username': 'infusecooking'},
 {'id': '1334773407389540353', 'name': 'yangyi', 'username': 'yangyi23995794'},
 {'id': '1433808490984660994',
  'name': 'Sp Choudhary',
  'username': 'Spchoudhary4449'},
 {'id': '891512365786685440',
  'name': 'Deverick',
  'username': 'deverickapollo'},
 {'id': '1276771879521574913',
  'name': 'Peter Stavros',
  'username': 'petestavros'},
 {'id': '461207247',
  'name': 'Carlos García Acosta',
  'username': 'acarlosgarcia'},
 {'id': '1432203260098580482',
  'name': 'BitcoinDefi China',
  'username': 'baii_a'},
 {'id': '281813376', 'name': 'Tracy Bracken', 'username': 'Tracy_Bracken'},
 {'id': '1429663345804603394',
  'name': 'Madigamedichaithu Reddy',
  'username': 'Madigamedichai1'},
 {'id': '515475757', 'name': 'Ritim', 'username': 'Ritimresmi'},
 {'id': '172119247', 'name': 'Vini Simoni', 'username': 'vsimoni_'},
 {'id': '1214079068208893952',
  'name': 'Khalique Ahmad',
  'username': 'Khalique96'},
 {'id': '3862078402', 'name': 'Hammed_abiodun', 'username': 'ranchodassuarez'},
 {'id': '945958668394225664', 'name': 'ROSEMARY', 'username': 'rozmartynz'},
 {'id': '1433805730214289413',
  'name': 'Oliver Gauci',
  'username': 'OliverGauci'},
 {'id': '1385669082893017091',
  'name': 'Vancity NFT',
  'username': 'VancityNft'},
 {'id': '3308438220', 'name': 'PQToan', 'username': 'GaBeo95'},
 {'id': '1387159394622783489',
  'name': 'Marina Pitirimowa',
  'username': 'pitirimowa_m'},
 {'id': '2892605885', 'name': 'Thorben D.', 'username': 'Thorben_3r'},
 {'id': '1099128770383044609', 'name': '.', 'username': 'RealZanaty'},
 {'id': '881002460', 'name': 'B', 'username': 'BHC000'},
 {'id': '614228534',
  'name': 'v̶̺̟̞̫͙̖͐͒̎͘͜ͅȩ̴̭͉͈̗̞̞͔͉̄r̵̢͎̹̝̪̟̓̾̇̈́̓̈́͜ỏ̵̭̺͆̂̕͠',
  'username': 'vero_o0o'},
 {'id': '15084509', 'name': 'Albert Sanchez', 'username': 'OuFeRRaT'},
 {'id': '1397051171358003202',
  'name': 'Mr Intergalactic',
  'username': 'MrIntergalax'},
 {'id': '1433802709094764570',
  'name': 'Progress Bar Bitcoin',
  'username': 'ProgressBarBTC'},
 {'id': '1341040214', 'name': 'Jack', 'username': 'jack_9765'},
 {'id': '481135319', 'name': 'Rickie Malaba', 'username': 'rjmalaba'},
 {'id': '1424366777249648641',
  'name': 'car advisor',
  'username': 'caradvisor6'},
 {'id': '3020724285', 'name': 'Kaan Çiloğlu', 'username': 'ciloglu_kaan'},
 {'id': '1433802131442573319', 'name': 'Van ta', 'username': 'Vanta54009573'},
 {'id': '1381366944029376515', 'name': 'Tempus', 'username': 'TempusGT'},
 {'id': '1206692143487692800',
  'name': 'JoJo †',
  'username': 'JojosBizarreA11'},
 {'id': '1052948569462886401',
  'name': 'RAZOR CRYPTO',
  'username': 'Infinityraz'},
 {'id': '1417069571362721795',
  'name': 'Cameliyaparker',
  'username': 'Muskan03647514'},
 {'id': '1410968742381723648',
  'name': 'Natnael Alelgne',
  'username': 'alelgne_natnael'},
 {'id': '1004761379067351040',
  'name': 'KwesiArthur⭐Official⭐',
  'username': 'KwesiArthurOff1'},
 {'id': '1214108148304236544', 'name': 'lalita', 'username': 'lalita12073228'},
 {'id': '272470463', 'name': 'Paula Messi', 'username': 'paulamariarm'},
 {'id': '1086988153196503040',
  'name': '🌼PeppermintZ🏳️\u200d🌈',
  'username': 'purepeppermintz'},
 {'id': '1433799953936179213',
  'name': 'Lucas Passos',
  'username': 'lucasjps1999'},
 {'id': '1433797101415239684',
  'name': 'Ruthenie Smith',
  'username': 'RuthenieS'},
 {'id': '1431005456361742337', 'name': 'PapiCoin', 'username': 'papioncoin'},
 {'id': '1273281957426860032', 'name': 'guilherme', 'username': '_guiguiwp'},
 {'id': '1423683441263095808', 'name': 'Mel Javier', 'username': 'MelJavier4'},
 {'id': '1965371749', 'name': 'Santino K', 'username': 'sonnyk87'},
 {'id': '1433798774556614657',
  'name': 'Adinew Abebe',
  'username': 'AdinewAbebe3'},
 {'id': '1384797184097464321',
  'name': 'maciuscrunchwhilebhope',
  'username': 'maciuscrunchwh1'},
 {'id': '721340210185764864', 'name': 'Vihanga', 'username': 'vihanga01'},
 {'id': '1244246191589789696', 'name': 'alvs', 'username': 'alvarosegura_95'},
 {'id': '1040546986120962048',
  'name': 'Jens Kongsgaard',
  'username': 'KongsgaardJens'},
 {'id': '1433798941850705920', 'name': 'emre', 'username': 'emreenoorr'},
 {'id': '1372226668006375431',
  'name': 'Cesar Parra',
  'username': 'cparralondono'},
 {'id': '1369721755745542146',
  'name': 'The Jester',
  'username': 'thejester_the'},
 {'id': '1423042924598730754',
  'name': "what's happening to our world!!!!",
  'username': 'FReconty'},
 {'id': '1119300308818022401', 'name': 'Snowygate', 'username': 'snowygates'},
 {'id': '558624929', 'name': 'Hep Çevir Abi', 'username': 'Hep_Cevir_Abi'},
 {'id': '1430526701574918149',
  'name': 'ขนิษฐา เย็นรัมย์',
  'username': 'QC98LnUnFk9ECvu'},
 {'id': '1359810589254684672',
  'name': 'Paint Art NFT',
  'username': 'PaintArtNFT'},
 {'id': '1296772580104237056',
  'name': 'Rohit kumar',
  'username': 'Rohitku56782082'},
 {'id': '805897183446732801', 'name': 'd', 'username': 'davidgmald'},
 {'id': '4908810099', 'name': 'Илья Афанасьев', 'username': 'iIya_afanasiev'},
 {'id': '1433796897769132032',
  'name': 'Abdulkariiiiim',
  'username': 'abdulkariiiiim'},
 {'id': '1415334731428683777',
  'name': 'Ethanol',
  'username': 'Ethanol44527118'},
 {'id': '265009676', 'name': 'Clayton Murtle', 'username': 'Claym7373'},
 {'id': '1433795512461787138', 'name': 'Box', 'username': 'boxedan'},
 {'id': '460165373', 'name': 'arijit das', 'username': 'arijitdasrider'},
 {'id': '1433787960592269312', 'name': 'ChoSun.₿TC', 'username': 'chosun_btc'},
 {'id': '1354666148067831811',
  'name': 'WUMBO INVESTMENT GROUP',
  'username': 'yawhalecum'},
 {'id': '1319348585226358784',
  'name': "Trader Lee's",
  'username': 'TraderLees1'},
 {'id': '3296112428', 'name': "O'Plérou ✻𓅠", 'username': 'OPlerou'},
 {'id': '956616194', 'name': 'Charles Bukowski', 'username': 'ScotchonRye'},
 {'id': '298716228', 'name': 'TheCC', 'username': 'thecc28'},
 {'id': '1430540004741189634',
  'name': 'CryptoReach Trading Signals',
  'username': 'CryptoReachNet'},
 {'id': '1432664373584089088', 'name': 'S Hemmati', 'username': 'SHemmati7'},
 {'id': '1433789611365605379', 'name': 'Busino', 'username': 'Busino7'},
 {'id': '1368577632447602688', 'name': 'NT Blank', 'username': 'BlankNt'},
 {'id': '52977032', 'name': 'Abhinav Kaul', 'username': 'Abhinavkaul'},
 {'id': '284648147', 'name': 'Kevin Millard', 'username': 'BouncingBallKaz'},
 {'id': '35580098', 'name': 'Haley Esparza', 'username': 'haleykesparza'},
 {'id': '1426170461193392132',
  'name': 'Crypto Capital',
  'username': 'CryptoCapital42'},
 {'id': '1387728734258561033',
  'name': 'JimCrypto3000',
  'username': 'Jimcrypto3000'},
 {'id': '1047577420788903936',
  'name': 'Rodica Ciubuc',
  'username': 'RodicaCiubuc'},
 {'id': '1340273573303226369',
  'name': 'Sakib chowdhury',
  'username': 'Sakibch67440872'},
 {'id': '1217090100787666944',
  'name': 'Alexander',
  'username': 'HarkovAlexander'},
 {'id': '723268309462986752', 'name': 'Hzolo', 'username': 'hachemidahel'},
 {'id': '1009824794089525254',
  'name': 'VoodooLobster',
  'username': 'voodoolobster19'},
 {'id': '1433073397009829896',
  'name': 'Nguyễn Quốc',
  'username': 'kenttnek2308'},
 {'id': '1379014818619826176',
  'name': 'Raju Jartarkar',
  'username': 'JartarkarRaju'},
 {'id': '921883361609691141', 'name': 'Othmane', 'username': 'SeraLoL_'},
 {'id': '1320045896466190341',
  'name': 'QueenBee',
  'username': 'QueenBeeRavion'},
 {'id': '1433512201042726914',
  'name': 'Abraham Jacobs',
  'username': 'Abrahamonly1'},
 {'id': '1424060113720020994',
  'name': 'Dancing_Corvids',
  'username': 'CorvidsDancing'},
 {'id': '2985196041', 'name': 'SN', 'username': 'crushnik1'},
 {'id': '1433788248631906307', 'name': 'Oj St', 'username': 'OjSt3'},
 {'id': '1432856929458610177', 'name': 'ecoeltd', 'username': 'ecoeltd1'},
 {'id': '1394849084133892098', 'name': 'at', 'username': 'at20443478'},
 {'id': '1433788729374789637',
  'name': 'Hassen Mohammad',
  'username': 'DrHassenMohamm1'},
 {'id': '711741149929562112', 'name': 'Tho Lam', 'username': 'LPT9919'},
 {'id': '1355369547025567744', 'name': 'adelin', 'username': 'adelin20336234'},
 {'id': '1433723227919036426',
  'name': 'David World',
  'username': 'DavidWorld18'},
 {'id': '732548872342503424',
  'name': 'Sergey Chirikov',
  'username': 'serezha_krut'},
 {'id': '1361145400292478977', 'name': 'digitracom', 'username': 'digitracom'},
 {'id': '1432275957008719876',
  'name': 'kalediscope',
  'username': 'kalediscope4'},
 {'id': '1157811611912081408',
  'name': 'PRINCE ARTHUR AKAKPO',
  'username': 'AkakpoArthur'},
 {'id': '1089626902569017344',
  'name': '🌈NASEEM AHMAD',
  'username': 'Naseem_edu'},
 {'id': '542712838', 'name': 'rblue', 'username': 'rbflash23'},
 {'id': '532516535', 'name': 'Marc Barbarà', 'username': 'marcpeke'},
 {'id': '1145574036581302272', 'name': '~IDA', 'username': 'DanielIbisagba'},
 {'id': '1419179472230645763',
  'name': '🐳👉🏻100% dΞgen | 🐳',
  'username': 'SignataWhale'},
 {'id': '1433785639800016898', 'name': 'sven', 'username': 'ProcessSW'},
 {'id': '259284896', 'name': 'Kb Killa Beats', 'username': 'kb_killabeats'},
 {'id': '856286369395740672',
  'name': 'Josh Smith',
  'username': 'jcsmith808080'},
 {'id': '2802121284', 'name': 'Rasha alsady', 'username': 'c480a3aa3be04a6'},
 {'id': '1433784980413587458',
  'name': 'Blackmarchet',
  'username': 'blackmarchet'},
 {'id': '1381729391349207041',
  'name': 'CreationChemist',
  'username': 'ChemistCreation'},
 {'id': '954835615', 'name': 'HoneyBee', 'username': 'djskutt'},
 {'id': '1073581453533986816',
  'name': 'Ronald Angom',
  'username': 'RonaldAngom'},
 {'id': '6065352', 'name': 'Richard Frost', 'username': 'rfrost'},
 {'id': '1433784967625166871',
  'name': 'Tegegne yenew',
  'username': 'TegegneYenew'},
 {'id': '1065490382211805184', 'name': 'hieu', 'username': 'hieu46438201'},
 {'id': '86307930', 'name': 'bkajul', 'username': 'bkajul'},
 {'id': '1433783825453273112',
  'name': 'Nigerian Founder',
  'username': 'NigeriaFounder'},
 {'id': '1433784090126389250',
  'name': 'Mohan Somachandra',
  'username': 'Mohanthusitha'},
 {'id': '1431840814167048195', 'name': 'snoopearn', 'username': 'snoopbit'},
 {'id': '1110891650639953920',
  'name': 'Siarhei Nedbainik',
  'username': 'nedbainik'},
 {'id': '906053812263149568',
  'name': 'Scott Martin',
  'username': 'CryptoGuiri'},
 {'id': '72299743', 'name': 'arnolfibus', 'username': 'arnolfibus'},
 {'id': '1433782473578582019',
  'name': 'Shekar Paravada',
  'username': 'ParavadaShekar'},
 {'id': '1270427490784284672', 'name': 'Eki', 'username': 'goliveoneki'},
 {'id': '1433410344953782274', 'name': 'NIU SHUANG', 'username': 'niushuang8'},
 {'id': '970404694895091712', 'name': 'José María', 'username': '_chchema26'},
 {'id': '746265397934985217', 'name': '二手彭于晏', 'username': 'superlee549'},
 {'id': '1102348915314176001', 'name': 'Anagh', 'username': 'AnaghSFDO_NGO'},
 {'id': '924207810023321606',
  'name': 'Nur Nahian Ringgit',
  'username': 'mr_nnr'},
 {'id': '1419230340929961985',
  'name': 'Allen Thompson',
  'username': 'Th48510052Allen'},
 {'id': '1433524305623662592',
  'name': 'Charlotte Voelkel',
  'username': 'CharlyVoelkel'},
 {'id': '1247410718078574594', 'name': 'patrick jr', 'username': 'patoh_jnr'},
 {'id': '1433777825597870085', 'name': 'Edi Morozov', 'username': 'Edi_pump'},
 {'id': '1259702779372662785',
  'name': 'Rocketnumberfive',
  'username': 'RocketnumberV'},
 {'id': '717670070089027584',
  'name': 'Oleg Papayan',
  'username': 'OlegPapayan'},
 {'id': '1433780967169273857',
  'name': 'Ethereum',
  'username': 'Ethereu77808072'},
 {'id': '1433598675457036289',
  'name': 'CHAR 😶\u200d🌫️',
  'username': 'charhood'},
 {'id': '1413515184061120518',
  'name': 'The Apostate (you/yourmom)',
  'username': 'the__apostate'},
 {'id': '1386883713468878855',
  'name': 'ARPHY ARMANY',
  'username': 'Arphyfundz'},
 {'id': '1433740036479102976',
  'name': 'Sizapp',
  'username': 'Sizapp_official'},
 {'id': '1433762716309770240', 'name': 'RE/FI RN', 'username': 'REFIRN2'},
 {'id': '1432787253793787905', 'name': 'Monsif Ch', 'username': 'MonsifCh1'},
 {'id': '953992188207255554', 'name': 'Олег Жучкин', 'username': 'oleg720011'},
 {'id': '1429340570980425732', 'name': 'مارماسک', 'username': 'Azars999'},
 {'id': '1429484866068914176', 'name': 'mint222', 'username': 'mint22212'},
 {'id': '1433778767495942146',
  'name': 'andualemgashaw336@gmail.com',
  'username': 'andualemgashaw3'},
 {'id': '1433778837507264523', 'name': 'Александр', 'username': 'polkofnick'},
 {'id': '375458218', 'name': 'Martin', 'username': 'martinminvielle'},
 {'id': '846375881782235136', 'name': 'praveer', 'username': 'Prav_4'},
 {'id': '104460995',
  'name': 'Allsopp & Allsopp',
  'username': 'Allsopp_Allsopp'},
 {'id': '1230190187411574784', 'name': 'Vunja Bei', 'username': 'vunja_bei'},
 {'id': '1392493325744214019', 'name': 'feez', 'username': 'feez43293391'},
 {'id': '72226515', 'name': 'Positive Thinking', 'username': 'su_lekmas'},
 {'id': '128828050', 'name': 'xushans', 'username': 'xushans'},
 {'id': '1433772763974676480',
  'name': 'Nathan griggs',
  'username': 'Nathangriggs12'},
 {'id': '1001552469334413312', 'name': 'Ira Autrey', 'username': 'AutreyIra'},
 {'id': '426699345', 'name': 'Phodiso', 'username': 'PhodisoMAT'},
 {'id': '1433776424956186627',
  'name': 'Antonio troncone',
  'username': 'Antoniotroncon8'},
 {'id': '1264076379093700609',
  'name': 'Pirzada Hammad Zakori',
  'username': 'Pirzadahammadz2'},
 {'id': '1433472183628713989',
  'name': 'CryptoPunkBerlin',
  'username': 'punk_berlin'},
 {'id': '865028125', 'name': 'José Mariano', 'username': 'roguenwarrior'},
 {'id': '1207255707977965568',
  'name': 'jaycee_kennedy',
  'username': 'KennedyOkoro7'},
 {'id': '1349588926730821633', 'name': 'mal', 'username': 'TensaiMalek'},
 {'id': '808240762223730688',
  'name': '#FarmersProtest',
  'username': 'Dharamvirgaat'},
 {'id': '732191548503412736', 'name': 'chris 🚀✨', 'username': 'chooks97'},
 {'id': '1371888726360621056',
  'name': 'Arsalan Javed',
  'username': 'Arsalan5740'},
 {'id': '1433773854472638469',
  'name': 'John Register',
  'username': 'accregister96'},
 {'id': '3246813929', 'name': 'Josh Renken', 'username': 'renkokenko'},
 {'id': '1424994833173827585', 'name': 'Aydin', 'username': 'Aydin_islam0'},
 {'id': '1336896397833084928',
  'name': 'Glasses Girl ♌🇿🇲',
  'username': 'glasses__girl'},
 {'id': '1125872170666741761',
  'name': 'nkweto chileshe',
  'username': 'NkwetoMukuka'},
 {'id': '1433773996298866689', 'name': 'IRFAN PATHAN', 'username': 'irfy1214'},
 {'id': '539988091', 'name': 'Pervi! 😋', 'username': 'Pervertodx'},
 {'id': '1245091512456810499',
  'name': 'Bensulaiman M..',
  'username': 'Bensulaiman2'},
 {'id': '1407381725219594247', 'name': 'Sajbahrami', 'username': 'Sajbahrami'},
 {'id': '1760949656', 'name': 'Aaयुsh', 'username': 'aayushdeep1'},
 {'id': '3147401477', 'name': 'Chris Voscak', 'username': 'chucky_at'},
 {'id': '1423291070264221701',
  'name': 'Ankur Chaudhary',
  'username': 'AnkurCh28343443'},
 {'id': '1329662860633501700', 'name': 'Tibebe', 'username': 'Tibebe1234'},
 {'id': '1382142274738470916', 'name': 'Sonny Cao', 'username': 'SonnyCao4'},
 {'id': '1432820179461935107', 'name': '....', 'username': '____imran__'},
 {'id': '709957356', 'name': 'Kay Molefi', 'username': 'Msskay_2011'},
 {'id': '3119450968',
  'name': 'Alessandro Scipione',
  'username': 'AlexScipione'},
 {'id': '1433770270578421762', 'name': 'Renata', 'username': 'Renata48698633'},
 {'id': '1433773818892283911', 'name': 'J S LOL', 'username': 'JSLOL5'},
 {'id': '956849730570502144', 'name': 'Lowkee', 'username': 'lowkeeofficial'},
 {'id': '1388607398135230464', 'name': 'BrainNFT', 'username': 'BrainNFT'},
 {'id': '1433768150395498496',
  'name': 'cryptoranch',
  'username': 'cryptoranch4'},
 {'id': '1433767677852540946',
  'name': 'Laila Yabahddou',
  'username': 'YabahddouL'},
 {'id': '1433769931972259840',
  'name': 'Matt Sanders',
  'username': 'MSanders691'},
 {'id': '983837540653371394',
  'name': 'Deb Merlino',
  'username': 'debmerlino55'},
 {'id': '1433768786717462528',
  'name': 'Crypto_Rich',
  'username': 'CryptoR05326031'},
 {'id': '1433771086588547072', 'name': 'carlo', 'username': 'carlo96950243'},
 {'id': '193290032', 'name': 'Franswag', 'username': 'sertinator'},
 {'id': '1307375807120183296',
  'name': 'Leonida Petrai',
  'username': 'LeonidaPetrai'},
 {'id': '935886804028243969',
  'name': 'Wendy Lou Who🌊Vote Blue In 2022🌊🌊🌊🌊🌊🌊',
  'username': 'WendyLouWho11'},
 {'id': '1425791756021518341',
  'name': 'Paul Adrien CUNY',
  'username': 'PaulAdrienCUNY'},
 {'id': '1433768235875328044',
  'name': 'Meseret Melesse',
  'username': 'MeseretMelesse2'},
 {'id': '1416390061034180609', 'name': 'فَندُق', 'username': '_fandogh_'},
 {'id': '743651759172747264',
  'name': 'المستشار الشخصي',
  'username': 'mstshar62'},
 {'id': '1431355252046024710',
  'name': 'Caroline Jatto',
  'username': 'CarolineJatto'},
 {'id': '1357467479484858369',
  'name': 'Jack Of All Trades',
  'username': 'j_ofall_trades'},
 {'id': '1433757863558668308',
  'name': 'Ansha Yimam',
  'username': 'AnshaYimam'},
 {'id': '1414449364475461632', 'name': 'Holy Sarah', 'username': 'HolySarah6'},
 {'id': '934825100154691584',
  'name': 'oscar de la villa',
  'username': 'oscardelavilla3'},
 {'id': '871444497414148096',
  'name': 'اياد الحمداني',
  'username': 'ayadalhmadany69'},
 {'id': '1040953125434269697',
  'name': 'Emrahlfc',
  'username': 'Emrah75947354'},
 {'id': '310285295', 'name': 'Marcos', 'username': 'marq_os'},
 {'id': '1250723581773963264', 'name': 'mousraw', 'username': 'mousraw'},
 {'id': '1255984148579303424',
  'name': 'Francesca 🍺🌹',
  'username': 'fran_rams5480'},
 {'id': '1433765784078061578', 'name': 'Sanvar', 'username': 'Sanvar91211923'},
 {'id': '1433766482647810049',
  'name': 'Mindvesthor',
  'username': 'mindvestthor'},
 {'id': '1294531707849367553', 'name': 'Dennis', 'username': 'Th470Kirito'},
 {'id': '100075492', 'name': 'Azura Walker', 'username': 'AzuraW'},
 {'id': '1137334324028616705', 'name': '人イイ', 'username': 'vKSw7XLB1BDo9ma'},
 {'id': '1433763877804728345',
  'name': 'Onemillionup',
  'username': 'onemillionup'},
 {'id': '1387651857871523841',
  'name': 'StefanLenkic',
  'username': 'LenkicStefan'},
 {'id': '1433721876581289987',
  'name': 'tammada Saman',
  'username': 'Samata693'},
 {'id': '1357896132014166017', 'name': 'Ajay', 'username': 'Ajay17009250'},
 {'id': '767438344909361152', 'name': 'Samet Avcı', 'username': 'asabi_mudur'},
 {'id': '1433757119749185542',
  'name': 'Turan Kutlucan',
  'username': 'TuranKutlucan'},
 {'id': '24486842', 'name': 'Khashyar Darvich', 'username': 'Khashyar'},
 {'id': '1371805905663229952', 'name': 'Kkool', 'username': 'KkoolX'},
 {'id': '1433653092600492037',
  'name': 'Mohamed',
  'username': 'Mohamed20791199'},
 {'id': '1361305690913005571',
  'name': 'Happiness Omijie',
  'username': 'OmijieHappiness'},
 {'id': '1369975357269553156',
  'name': 'Bassiatu Simeonette Coker',
  'username': 'BassiatuC'},
 {'id': '485815739', 'name': 'maki', 'username': 'TeferaMack'},
 {'id': '1428148236015964160', 'name': 'Yen', 'username': 'Yen81108471'},
 {'id': '1433759880645599239',
  'name': 'crystalPanda',
  'username': 'crystalPandaNFT'},
 {'id': '1029592227037814784',
  'name': 'Sir Dan™️ 🇰🇪',
  'username': 'sir_dannie7'},
 {'id': '1432716642300186633', 'name': 'nade', 'username': 'nadeprov'},
 {'id': '1393814711259570177', 'name': 'Cureee', 'username': 'Cureee3'},
 {'id': '725605709451251712',
  'name': 'Black Queen',
  'username': 'Somebodyskidsis'},
 {'id': '1409567484538130442',
  'name': 'salma belhour',
  'username': 'belhour_salma'},
 {'id': '1433730701585567755', 'name': 'Corini', 'username': 'Corini_'},
 {'id': '1248501096424693760', 'name': 'REZA', 'username': 'rezagheyasi'},
 {'id': '1149072818761433088', 'name': 'Daimarukun', 'username': 'daimaruda'},
 {'id': '4827902139', 'name': 'MishaSER | DVPN', 'username': 'TheXataM'},
 {'id': '908436433471500288', 'name': 'lucky', 'username': 'luckysupreme1'},
 {'id': '1427559197823180806',
  'name': 'ministerofcrypto',
  'username': 'cryptozalp'},
 {'id': '1433762081040371712', 'name': 'carlo', 'username': 'carlo08052251'},
 {'id': '1319683118870265857', 'name': 'CoinStag', 'username': 'coin_stag'},
 {'id': '975243635527577600', 'name': 'maco', 'username': 'maco05636886'},
 {'id': '138710322', 'name': 'Jane Jin', 'username': 'janejinc'},
 {'id': '1433713912747368448',
  'name': 'Sigimo Woreda Communication',
  'username': 'SigimoC'},
 {'id': '1433760956539101185',
  'name': 'TheNomadTroll',
  'username': 'NomadTroll'},
 {'id': '765994668605730816', 'name': 'Elyamoun', 'username': 'Elyamoun2'},
 {'id': '1433657625145581569', 'name': 'ນຸກ', 'username': 'Nouk12884846'},
 {'id': '1359945991848292353', 'name': 'Ammar', 'username': 'Ammar72293499'},
 {'id': '91774161', 'name': 'Robin Giles Ribera', 'username': 'RobinSagan'},
 {'id': '1430486041719283713',
  'name': 'Panthera Leo',
  'username': 'Peter79655596'},
 {'id': '1262131091416195073',
  'name': 'NationalTreasure🌍🇿🇲🦅',
  'username': 'JBsuniverse1'},
 {'id': '1374645451052478471', 'name': 'Hosein', 'username': 'Hosein09843798'},
 {'id': '92614947', 'name': 'Roberta Vecchio', 'username': 'robivecchio'},
 {'id': '1433233223207854082',
  'name': 'MTU wa WATU🇰🇪',
  'username': 'Massawe69030566'},
 {'id': '4829247845',
  'name': 'Ataou Adegbola Sanni',
  'username': 'AtaouAdegbola'},
 {'id': '1140007734399516672',
  'name': 'SANJEEV KUMAR',
  'username': 'SANJEEV32312400'},
 {'id': '1243444493778440192',
  'name': 'Crypto Charts',
  'username': 'CryptoCharts21'},
 {'id': '1704522829', 'name': 'teechelsea', 'username': 'teechelsea1'},
 {'id': '604558760', 'name': 'Nick Walsh', 'username': 'nick__walsh'},
 {'id': '955521452517699584', 'name': 'Hasib', 'username': 'croco0099'},
 {'id': '1433756371409723399', 'name': 'Abelha', 'username': 'Abelha38698394'},
 {'id': '1433754603468648454',
  'name': 'sourav Deshpande',
  'username': 'souravDeshpand1'},
 {'id': '1176097786707791872',
  'name': 'Harsh Dwivedi',
  'username': 'HarshDw52119516'},
 {'id': '69748559', 'name': '𝗴𝗲𝗺𝗽𝗶𝗹 𝗶𝗺𝘂𝗱', 'username': '7sohee'},
 {'id': '1215804568069533697',
  'name': 'Nguyễn Hữu Phước MMO',
  'username': 'MakeMon42864106'},
 {'id': '1432639201586003972',
  'name': 'Wesley Greene',
  'username': 'WesleyG58786881'},
 {'id': '2969923169', 'name': 'On7yInC7eve7and', 'username': 'oic_kickz'},
 {'id': '54572336', 'name': 'Vladislav Kovalev', 'username': 'Oren_Light'},
 {'id': '1433751914949271558',
  'name': 'NeedleHunter',
  'username': 'needle_hunter'},
 {'id': '58276254',
  'name': 'Augusto Chirico 💻',
  'username': 'augusto_chirico'},
 {'id': '1251474035168419842',
  'name': 'Lloyd Walker',
  'username': '2072champion'},
 {'id': '812991224265195520', 'name': 'Mansi', 'username': 'mansi235235'},
 {'id': '1313417162757935106',
  'name': 'anonemonie',
  'username': 'anonemonie_'},
 {'id': '1392335357912313866', 'name': 'Dũng Kent', 'username': 'DngKent4'},
 {'id': '1283114461776228352', 'name': 'Mrbehnam', 'username': 'Mrbehnam1'},
 {'id': '1433746183806197766', 'name': 'Rei Ni', 'username': 'Dirtyc466'},
 {'id': '1427349847946907676', 'name': 'TeamSync', 'username': 'TeamSyncHQ'},
 {'id': '1429454889122471936',
  'name': 'Emre Yavuz',
  'username': 'EmreYavuz3407'},
 {'id': '1424355735568277505', 'name': 'Faisu Musk', 'username': 'Faisumusk'},
 {'id': '1433747750038872075',
  'name': 'Naveen kumar DM',
  'username': 'NaveenkumarDM12'},
 {'id': '1433740867777355787', 'name': 'Picma', 'username': 'Picma_Artistt'},
 {'id': '1399385790883508225', 'name': 'igtlkv', 'username': 'igtlkv'},
 {'id': '1227148970', 'name': 'kritisisi', 'username': 'kritisisi'},
 {'id': '823419959703457792', 'name': 'Igor Veselov', 'username': '_igorves'},
 {'id': '1350091548994666502', 'name': 'Savith Yuk', 'username': 'SavithYuk'},
 {'id': '1371738307554652164', 'name': 'Holoholder', 'username': 'HoloHolder'},
 {'id': '225056723', 'name': 'Khalid Hafiz', 'username': 'khalid_hafiz'},
 {'id': '871993947274563585', 'name': 'Anup KR.', 'username': 'dream_anup'},
 {'id': '806774860672159745',
  'name': 'Daniele Bruschi',
  'username': 'dbruschi77'},
 {'id': '1952032548', 'name': 'Eugene Mironets', 'username': 'EugeneMironets'},
 {'id': '1433676719718764544', 'name': 'Somebob', 'username': 'Somebob_'},
 {'id': '1149572211428085760', 'name': 'TB.Kh.991', 'username': 'MrTran2810'},
 {'id': '1389196233101676546',
  'name': '-OghYanous-',
  'username': 'Somayyeh18_'},
 {'id': '37805711', 'name': 'Mark Crawford', 'username': 'm_crawfy'},
 {'id': '898187622555807744', 'name': 'Mark Manu', 'username': 'markmanu81'},
 {'id': '1433744866442424321', 'name': 'Ömer Akkuş', 'username': 'omer101020'},
 {'id': '1318594679684857857', 'name': 'GEZGİN', 'username': 'Mekan22814775'},
 {'id': '1373299651630178311',
  'name': 'The Bao 🏃\u200d♂️',
  'username': 'thebao_dev'},
 {'id': '1433746816667987968', 'name': 'Tazlabs', 'username': 'tazlabs'},
 {'id': '120973774', 'name': 'Chef Luis Marin', 'username': 'Chef_LuisMarin'},
 {'id': '838780732218671104',
  'name': 'Agustina Gonzalez',
  'username': '180agus360'},
 {'id': '1433745704770441218',
  'name': 'Josephine Church',
  'username': 'Josephine2069'},
 {'id': '1432926253703651328', 'name': 'T shirt', 'username': 'Tshirt913413'},
 {'id': '1428269638253629448', 'name': '김매례', 'username': 'irMWrHK8pNEgYek'},
 {'id': '1433531581864554504', 'name': 'Mmetra', 'username': 'Mmetra1'},
 {'id': '1433741003350028309', 'name': 'Sergey', 'username': 'liveindune'},
 {'id': '1433744715120271368', 'name': 'Boss Man', 'username': 'Boss_Man455'},
 {'id': '859286753617772544',
  'name': 'SmolCatshit',
  'username': 'TheCryptoHerald'},
 {'id': '1432502685077409794', 'name': 'NamHai', 'username': 'NamHai47969273'},
 {'id': '1139897364515213312', 'name': 'Ployhold', 'username': 'ployhodl'},
 {'id': '1132936687783251969', 'name': 'zhangq400', 'username': 'zhangq400'},
 {'id': '1418498859735605248', 'name': 'Fazel', 'username': 'Fazelzabihian'},
 {'id': '1433743148119908362',
  'name': 'Legase kumsa',
  'username': 'Legasekumsa2'},
 {'id': '99387361', 'name': 'Namik Karakoc', 'username': 'AvatarNamyk'},
 {'id': '1433742727573905410', 'name': 'Roqqu Pay', 'username': 'RoqquPay5'},
 {'id': '3312244570', 'name': 'Hakan Yıldırım', 'username': 'hakanylrm'},
 {'id': '866268540722192385',
  'name': 'مُحَمَّد طَاھِر',
  'username': 'tahir_fmd'},
 {'id': '1374007230018752512',
  'name': 'Swayam Singh',
  'username': 'SwayamS61844548'},
 {'id': '783205525068451840',
  'name': 'Mortyletsgo',
  'username': 'Mortyletsgo'},
 {'id': '170640251', 'name': 'dennis shade', 'username': 'dennisdyallo'},
 {'id': '1433742072612155393',
  'name': 'Er_Dan.eth',
  'username': 'Ninja_Er_Dan'},
 {'id': '1243070359248801793',
  'name': 'Norri DZ🇵🇸🇩🇿 عبد النور بريبش',
  'username': 'norridz20'},
 {'id': '1433741418422423555', 'name': '壮壮', 'username': 's6reSL1X3L4o2tb'},
 {'id': '1159070192682655744', 'name': '...', 'username': 'remcicek1'},
 {'id': '1433495742451261441',
  'name': 'Md Shahid Hossain',
  'username': 'dmktShahid'},
 {'id': '1433739633335042048', 'name': 'Raf', 'username': 'FarLea13'},
 {'id': '1375749034451865601', 'name': 'Ilya', 'username': 'Ilya09871760'},
 {'id': '1433396523446964228', 'name': 'Bishop', 'username': 'Bishop33583382'},
 {'id': '1370070490325393411',
  'name': 'Crypto Delaney',
  'username': 'jkdelaney73'},
 {'id': '2370761309', 'name': 'yasin720p', 'username': 'ysnbardakci'},
 {'id': '1179553986044669953', 'name': 'Ridvan', 'username': 'AbdulRidvan'},
 {'id': '1433154005857935365', 'name': 'Buğra', 'username': 'scalper____'},
 {'id': '88908398', 'name': 'im_suganthan', 'username': 'im_suganthn'},
 {'id': '1433738959713017857', 'name': '𝖈𝖗𝖊𝖆𝖒❤️🐶', 'username': 'cream3466'},
 {'id': '985822109476839424',
  'name': 'CryptoValues',
  'username': 'Cryptovalues_EU'},
 {'id': '1155600088607023104', 'name': 'DeLostEdu™', 'username': 'DeLostEdu'},
 {'id': '1433728649946148864', 'name': 'Worku D', 'username': 'WorkuD3'},
 {'id': '52463169', 'name': 'Atılım', 'username': 'underecow'},
 {'id': '1433736510419972100', 'name': 'MAERD1999', 'username': 'maerd1999'},
 {'id': '2679309036', 'name': 'Hieu Nguyen', 'username': 'hieuteo03'},
 {'id': '1390603188223553537', 'name': 'God Mode 💊', 'username': '0xgodmode'},
 {'id': '1355103787531333632', 'name': 'hasan', 'username': 'hasan89275397'},
 {'id': '1396096373569822721', 'name': 'lux_viridi', 'username': 'luxviridi1'},
 {'id': '871643400856064000',
  'name': 'Eshaguptafans',
  'username': 'ThilinaTmax'},
 {'id': '1423341292126281730', 'name': 'Murad Ahmed', 'username': 'murad1831'},
 {'id': '1433729684601147392',
  'name': 'Financial Markets',
  'username': 'Finance108'},
 {'id': '752548260770971648',
  'name': 'SİNAN HAZNEDAR🌐',
  'username': 'MengesSinan'},
 {'id': '1377718203627958276',
  'name': 'Craig Peckett',
  'username': 'CraigPeckett'},
 {'id': '1378297356358139913', 'name': 'Jackson', 'username': 'SEA_ZP'},
 {'id': '3258709579', 'name': 'ごぼ天うどん(宇宙人👾勇者👑)', 'username': 'Regardeleciel1'},
 {'id': '1050541534435794944', 'name': 'John', 'username': 'John75972777'},
 {'id': '750255181741391872',
  'name': 'Crypto Barney',
  'username': 'SRobbo91NFT'},
 {'id': '1415322330302144524',
  'name': 'Michael A Turner',
  'username': 'Mikeaturne8A'},
 {'id': '1433724127643381763', 'name': 'CryptoCino', 'username': 'CinoCrypto'},
 {'id': '14513395', 'name': 'Fabio C. Negrao', 'username': 'fabionegrao'},
 {'id': '1386717825600036867',
  'name': '564157',
  'username': 'yyBc2IhrzSVklFi'},
 {'id': '1433734464933437442',
  'name': 'Surafel',
  'username': 'Surafel06243065'},
 {'id': '1433733621634912258',
  'name': 'Chu You Chia',
  'username': 'curatingChurros'},
 {'id': '1433733169249800192', 'name': 'mp', 'username': 'mp_2859'},
 {'id': '1326108145140166656',
  'name': 'Suzin Jahmi',
  'username': 'MalikSuzin'},
 {'id': '2373412059', 'name': 'dyadka', 'username': 'vip_azat'},
 {'id': '1186555905854316544',
  'name': 'Muhammet',
  'username': 'IfeelLikePablo7'},
 {'id': '1426474092362932227', 'name': 'Vishnu', 'username': 'Vishnu98171653'},
 {'id': '1433722698077593607',
  'name': 'CEGR Nam Nguyen',
  'username': 'CegrNam'},
 {'id': '1269102347990564866',
  'name': 'Nauman Kausar',
  'username': 'NaumanKausar'},
 {'id': '1433721372295925762', 'name': 'Benadm', 'username': 'Benadm91'},
 {'id': '1370568325944721414', 'name': 'TheOldApe', 'username': 'TheOldApe'},
 {'id': '1425975023009861637', 'name': 'Nabeth D', 'username': 'd_nabeth'},
 {'id': '1413089628089982976',
  'name': 'General',
  'username': 'General25708769'},
 {'id': '1176858108053901313', 'name': 'Kroyalty', 'username': 'Royaltykibe'},
 {'id': '2289454562',
  'name': 'Raymond Temisaren',
  'username': 'UfuomaAtsiangbe'},
 {'id': '2199553788', 'name': 'alan', 'username': 'alanbeeby'},
 {'id': '212066120', 'name': 'Alex', 'username': 'AlexLowdin'},
 {'id': '1433729262226452502',
  'name': 'iWealth Crypt',
  'username': 'IwealthC'},
 {'id': '1181782039370051586',
  'name': 'Ade Designer',
  'username': 'DesignerAde'},
 {'id': '1430840443751723014', 'name': 'the mallu', 'username': 'the0mallu'},
 {'id': '1331328232113795073',
  'name': '💰Stacks💰 💪🏽Richie💪🏽',
  'username': 'StacksRichie1'},
 {'id': '784687068765102080', 'name': 'Cryptic', 'username': 'invaderi7'},
 {'id': '585401496',
  'name': 'kaushal krrishan',
  'username': 'KaushalKrrishan'},
 {'id': '1432724959055515665',
  'name': 'Elago Joseph',
  'username': 'ElagoJoseph2'},
 {'id': '1402882198651420673', 'name': 'R1do', 'username': 'marylenkof'},
 {'id': '1433729694994739205', 'name': 'Manuel', 'username': 'ManKrem'},
 {'id': '37759147', 'name': 'Llewellyn Daniels', 'username': 'llewdaniels'},
 {'id': '1236690704929370113',
  'name': 'ChefFivem',
  'username': 'anthony_arial0'},
 {'id': '1080404066839207936', 'name': 'ATMACA 53', 'username': 'Hzr99556816'},
 {'id': '1317404945277161473',
  'name': 'Anthony Ejike',
  'username': 'ANTHONYEJIKE15'},
 {'id': '1433729930731397121', 'name': 'Telman', 'username': 'Telman17410499'},
 {'id': '1137122639095484416', 'name': 'wrong tears', 'username': 'ikthatidk'},
 {'id': '1433729469622202399', 'name': 'Saqib Raza', 'username': 'saqibr422'},
 {'id': '533287051', 'name': 'King X', 'username': 'varyokiseyokvar'},
 {'id': '914705644275617792', 'name': 'Demir', 'username': 'VoidScar'},
 {'id': '1348350115241742342',
  'name': 'RoZh A. HaMa',
  'username': 'rozh_hama'},
 {'id': '1172025136679129088', 'name': 'atilla', 'username': 'fahrenait2020'},
 {'id': '1417738915', 'name': '張以芃', 'username': 'donny75035'},
 {'id': '2899272090', 'name': 'Aaquib jawed', 'username': '6b7fd8e83519421'},
 {'id': '452864135', 'name': 'RAJAMOHAMED.A', 'username': 'RAJAMOHAMEDA1'},
 {'id': '2881135637',
  'name': 'Margarita Tsvyatkova',
  'username': 'MargaritaTsv'},
 {'id': '1409962750026072071', 'name': 'Memet.0049', 'username': '0049Memet'},
 {'id': '1218168067139784716',
  'name': 'MAZI🔥OKWUCHUKWUKA🦅',
  'username': 'Igboamaefu'},
 {'id': '1392969645162999811',
  'name': 'Mustafa Ekinci 🔺',
  'username': 'ekincimstf'},
 {'id': '303943534', 'name': 'Ozan Gülay', 'username': 'ozangulay'},
 {'id': '289893644', 'name': 'Kstazic', 'username': 'kstazic'},
 {'id': '1024048229053358082', 'name': 'Samet', 'username': 'sametttozenn'},
 {'id': '1873072045', 'name': 'Burak', 'username': 'burakmoralli'},
 {'id': '1400027390924005377',
  'name': 'anna smokeye',
  'username': 'ana2145235105'},
 {'id': '1433726018964107268',
  'name': 'Charlotte Laflamme',
  'username': 'CharlotteLafla1'},
 {'id': '236928224', 'name': 'Onur', 'username': 'onurbkts'},
 {'id': '3307412621', 'name': 'Arslan', 'username': 'EnesArslan6116'},
 {'id': '3041241153', 'name': 'Mustafa BEY', 'username': 'Emir_mstf'},
 {'id': '95231655', 'name': 'Caglar Guclu', 'username': 'CaglarGuclu'},
 {'id': '1389892221407842304',
  'name': 'Süleyman tkk',
  'username': 'Olurolurgider07'},
 {'id': '835867093753020416', 'name': 'BI', 'username': 'BerfinIcke'},
 {'id': '843620161', 'name': 'Ramazan Okumuş', 'username': 'RamazanOkms'},
 {'id': '1154464033556353025', 'name': 'ArÎ', 'username': 'MirBey85793279'},
 {'id': '161987654', 'name': 'Mustafa Akyol', 'username': 'mustienglish1'},
 {'id': '1420485610289123328', 'name': 'Mike B', 'username': 'bizwaldoo'},
 {'id': '1418169083028152323',
  'name': 'BlackTurtle',
  'username': 'Black_Turtle_Tx'},
 {'id': '1433724944513384454', 'name': '$PETRO', 'username': 'petro__crypto'},
 {'id': '1418290562403340291', 'name': 'Murat', 'username': 'Murat01134258'},
 {'id': '1433723548644880401', 'name': 'gamnft', 'username': 'gamnft'},
 {'id': '1432948594806513667', 'name': 'Alyona', 'username': 'Alyona_R21'},
 {'id': '1430931992', 'name': 'Ali Eren', 'username': 'blimpshady'},
 {'id': '910771826434985984', 'name': 'LinaE', 'username': 'linaemal'},
 {'id': '1433723510082449414',
  'name': 'crypto friend',
  'username': 'cryptofriend777'},
 {'id': '120183915', 'name': 'Prantera', 'username': 'F_Prantera'},
 {'id': '1433168171721273347', 'name': 'DΞFiChΞ', 'username': 'defi_che'},
 {'id': '1406332017327984644',
  'name': 'Perfect betüş',
  'username': 'mybadfate'},
 {'id': '858755266828836865',
  'name': 'Nick Trudgen',
  'username': 'nicktrudgen'},
 {'id': '1433713774104621060',
  'name': 'Mr. Jazzy Cloud',
  'username': 'MrJazzyCloudOne'},
 {'id': '382624706', 'name': 'ugurgozubuyuk', 'username': 'Tvltter56154577'},
 {'id': '1410303474747822081',
  'name': 'Babak baharloo',
  'username': 'FEBsbm1hoWN5NK6'},
 {'id': '1293935827643281408', 'name': 'Gamma', 'username': 'tesla_news'},
 {'id': '1433410476877041667',
  'name': 'Zion Metaverse',
  'username': 'thezionverse'},
 {'id': '964877878503596032',
  'name': 'İbrahim SABE',
  'username': 'ibrahimsabe0'},
 {'id': '738775968127541249', 'name': 'Latifa', 'username': 'latifa_har'},
 {'id': '172606732', 'name': 'Takeda', 'username': 'takeda_yep'},
 {'id': '1240832083158802434',
  'name': 'yoshisatoshi',
  'username': 'da1percent'},
 {'id': '910773432387809283', 'name': 'ZorteZorte', 'username': 'zorteyou'},
 {'id': '781766684', 'name': 'aakashpgandhi', 'username': 'aakashpgandhi'},
 {'id': '1311820472330354688', 'name': 'Nweke', 'username': 'Nweke52081588'},
 {'id': '1358602845734400000', 'name': '슴둥이', 'username': 'qp1mkdaqfT7Lgtu'},
 {'id': '1360245350074875908', 'name': 'Kiarash Lak', 'username': 'KiaLak12'},
 {'id': '2608233669',
  'name': 'Alexander Männel',
  'username': 'AlexanderMannel'},
 {'id': '1359541763124330503',
  'name': 'Sikander Ali',
  'username': 'Sikande97979527'},
 {'id': '313195363', 'name': 'Gimmy_09', 'username': 'Gimmy_lo_09'},
 {'id': '1385250444092530688', 'name': 'ستایش', 'username': '_souldark_FK'},
 {'id': '1396139937909649409',
  'name': 'Simman Kumar',
  'username': 'kumar_simman'},
 {'id': '1406150549750358021', 'name': 'Sarib', 'username': 'Sarib16634957'},
 {'id': '1433623686125391876',
  'name': 'Yab Yab',
  'username': 'YabYab04058855'},
 {'id': '1433718894422802432', 'name': 'Cryp a cryp', 'username': 'cryp_a'},
 {'id': '1054971752089030656',
  'name': 'huangtao.eth',
  'username': 'TaoHuan70686014'},
 {'id': '1366310302174879745', 'name': 'Serhaty83', 'username': 'serhaty83'},
 {'id': '910773402088230912', 'name': 'Moon Mean', 'username': 'moonmanmean'},
 {'id': '1419462229863305216', 'name': 'nova', 'username': 'Investor1Nova'},
 {'id': '1148707055601160192', 'name': 'Vaveyla', 'username': 'vaveyla666'},
 {'id': '1427632682616467458',
  'name': 'Amir D_H',
  'username': 'AmirDH47604756'},
 {'id': '211239602', 'name': 'Jibotean Radu', 'username': 'jibotean2002'},
 {'id': '1401919952672608257', 'name': 'S604', 'username': 'S6045'},
 {'id': '1428358359976058895',
  'name': 'Satoshi Nakamota',
  'username': 'Satoshi22404048'},
 {'id': '1333634263678283776',
  'name': 'Bikash Ranjan Mohanty',
  'username': 'BikashR47222497'},
 {'id': '1297538407673954304',
  'name': 'Ganesh Ethirajan',
  'username': 'EthirajanGanesh'},
 {'id': '1388104385327034372',
  'name': 'Jiranuwat_june',
  'username': 'jiranuwat_june'},
 {'id': '1408845729590923271',
  'name': 'free coin send elon musk',
  'username': 'freecoinsendel1'},
 {'id': '1401943076071874567', 'name': 'Sahil', 'username': 'Sahil87708138'},
 {'id': '1161571490149437440',
  'name': 'krishna raaz',
  'username': 'sbokrishnaraaz0'},
 {'id': '326906587', 'name': 'Anandsagar Tanna', 'username': 'AnandsagarT'},
 {'id': '1385457086373535749',
  'name': 'Mukaram',
  'username': 'Mukaram45628258'},
 {'id': '1351502505050472451',
  'name': 'CryptoChained',
  'username': 'ChainedCrypto'},
 {'id': '1395230842713083906',
  'name': 'Jenny Pham',
  'username': 'jennypham25'},
 {'id': '2939222834', 'name': 'Balibeach27', 'username': 'Balibeach227'},
 {'id': '1353030152683474945',
  'name': 'ᶜʰⁱᵏᵃʲⁱ🇳🇬',
  'username': 'Faruktijjani9'},
 {'id': '1320847284347785222',
  'name': 'HidayatRoghani Crypto Enthusiast',
  'username': 'HidayatRGN'},
 {'id': '1429725124631072770',
  'name': 'Tharindu Bandara',
  'username': 'Tharind68311346'},
 {'id': '1426465011338207235', 'name': 'Ao', 'username': 'Ao00710242'},
 {'id': '1431507484653625347',
  'name': 'mesut karahan',
  'username': 'mesutka33153890'},
 {'id': '1291862810243276804',
  'name': 'Officialfred',
  'username': 'Officialfred15'},
 {'id': '1242857122079129602',
  'name': 'Aykırı Mühendis',
  'username': 'AykMuhendis'},
 {'id': '1946361523', 'name': 'Skrr skrr Zoom zoom', 'username': 'LghtnDrkss'},
 {'id': '1240369170811846658', 'name': 'Tyson Zero', 'username': 'ZeroTyson'},
 {'id': '1430869958267916290',
  'name': 'Badgirl69',
  'username': 'Badgirl52311208'},
 {'id': '1131564809454084105', 'name': 'şemsi', 'username': 'semsipasasi'},
 {'id': '1201251398106730501', 'name': 'عبد القادر', 'username': 'AlaniDebe'},
 {'id': '41041026', 'name': 'Norman Chamorro', 'username': 'normanchamorro'},
 {'id': '1325599907089145856', 'name': 'Nick', 'username': 'Nick95615041'},
 {'id': '1433713613777211393',
  'name': 'Money Hunting',
  'username': 'moneyhuntingg'},
 {'id': '1432665982498217987', 'name': 'X', 'username': 'SpongePants123'},
 {'id': '1428480234479816705', 'name': 'Ali Dora', 'username': 'alidoravia'},
 {'id': '395938320', 'name': 'saket', 'username': 'saketsaurat'},
 {'id': '2592296068', 'name': 'multiplecolt2', 'username': 'multiplecolt2'},
 {'id': '2479774292', 'name': 'Sidharth Mohanty', 'username': 'shutup_siD'},
 {'id': '1433709357124964370', 'name': 'Iammohsen', 'username': 'Iammohsen3'},
 {'id': '3371485219', 'name': 'yodababa', 'username': 'Shinmacbookair'},
 {'id': '1392491176394170376', 'name': 'ab jeng', 'username': 'oneclaysoil'},
 {'id': '1433684304085798922',
  'name': 'Leandro tomasi',
  'username': 'letomasi'},
 {'id': '801178191448645632',
  'name': 'Alek Olsen',
  'username': 'chvrliebrown1'},
 {'id': '1529324946', 'name': 'aldo h', 'username': 'aldo316h'},
 {'id': '738104809', 'name': '٠٠:٠٠', 'username': 'rodiALabdali'},
 {'id': '1433711082237878272',
  'name': 'Asreena 1470',
  'username': 'asreena_1470'},
 {'id': '1430126017306263557', 'name': 'Saguy🎀', 'username': 'saguyxbb1a'},
 {'id': '786748182797496320', 'name': 'JP', 'username': 'khanahuna'},
 {'id': '1289612920075190273',
  'name': 'Yonatan Bardan',
  'username': 'BardanYonatan'},
 {'id': '1433238795936227329', 'name': 'Kader', 'username': 'Mystoza'},
 {'id': '1410444843193712646', 'name': 'Ilfat', 'username': 'Ilfat88463472'},
 {'id': '1192167685230145536', 'name': 'Fury 🇹🇿', 'username': 'fury_tz'},
 {'id': '886145299860701184', 'name': 'Joyce', 'username': 'Joyce77126739'},
 {'id': '1380138375575863297',
  'name': 'NeverTakeAnL(M3lo4Life)',
  'username': 'KnickerHacker'},
 {'id': '1433709735044268037', 'name': 'Crypto Owl', 'username': 'CryptOwl24'},
 {'id': '1433520259433213963', 'name': 'Yusuf', 'username': 'Yusuf94216576'},
 {'id': '1422141002245148683',
  'name': 'Ravivarman',
  'username': 'RaviVarman_'},
 {'id': '1259648112097767425', 'name': 'Perry Wu', 'username': 'PerryWu2001'},
 {'id': '1433709331782852609', 'name': '.', 'username': 'Jackhello1234'},
 {'id': '1433708248524148740', 'name': 'Mr.Giem', 'username': 'Mr_Giem'},
 {'id': '1422151830557978632',
  'name': 'Hamza khan',
  'username': 'Hamzakhan914934'},
 {'id': '1646266693', 'name': 'Wesley', 'username': 'WIXY26'},
 {'id': '1433389635720384517', 'name': 'Real OG', 'username': 'RealOGcrypto'},
 {'id': '1213547004158046208', 'name': 'SIMP', 'username': 'iamteerawat'},
 {'id': '1417208617707589642',
  'name': 'Aman Yadav',
  'username': 'AmanYad07621733'},
 {'id': '2584062815', 'name': 'Jamie Fraser', 'username': 'tulkinghornjnr'},
 {'id': '1433707210924773404', 'name': 'Ajsjsj', 'username': 'cehoj62742'},
 {'id': '1416366240717737988', 'name': 'Liz', 'username': 'Liz52272440'},
 {'id': '1150744179284144128', 'name': 'JM Velasco', 'username': 'JMizzVel'},
 {'id': '1423927150592266241', 'name': 'MrXyle', 'username': 'MrXylee'},
 {'id': '1433698586517286914', 'name': 'baby', 'username': 'thelastbornII'},
 {'id': '1545616015', 'name': 'fikobalkan', 'username': 'fikobalkan'},
 {'id': '173029995', 'name': 'Konstantin Kovalev', 'username': 'mister_hello'},
 {'id': '1566452906', 'name': 'Wpeng Ftgy', 'username': 'PrimeOneM'},
 {'id': '225475144', 'name': 'Crustano', 'username': 'Cardanobb'},
 {'id': '1309416680913883136',
  'name': '⚓️Makano Takeko ⚓️',
  'username': 'MakanoTakeko'},
 {'id': '1419938998215139328',
  'name': 'Eva Mihkelson',
  'username': 'evamihkson'},
 {'id': '3279466621', 'name': 'majid zolfi', 'username': 'majidzolfi20'},
 {'id': '1429849671749365762',
  'name': 'Mani Beniwal',
  'username': 'ManiBeniwal6'},
 {'id': '58038068', 'name': '.', 'username': 'Pitso_M_'},
 {'id': '915694248003080196', 'name': 'امیر', 'username': 'shantimannn'},
 {'id': '1427653771', 'name': 'kumar chandan', 'username': 'peopleofindian'},
 {'id': '940916085863444480', 'name': 'Missy Shine', 'username': 'KafuiShine'},
 {'id': '1432285199879053313', 'name': 'Rhema', 'username': 'lilrhex'},
 {'id': '1417786761074429952', 'name': 'IA', 'username': 'IA97942358'},
 {'id': '1433702041927438360',
  'name': 'COOLER YAFET',
  'username': 'yafet_cooler'},
 {'id': '1433570588405088259', 'name': 'Edward Lee', 'username': 'EddyLee94'},
 {'id': '1358417258373140489', 'name': 'максим', 'username': 'maxgol95'},
 {'id': '150688898', 'name': 'Ghannam', 'username': 'RawanGhannam'},
 {'id': '1423554793029648385',
  'name': 'Luca Cipullo',
  'username': 'cipullo_luca'},
 {'id': '408667030', 'name': 'Michael Rinus', 'username': 'michaelrinus'},
 {'id': '48324338', 'name': 'Keschet', 'username': 'keschet'},
 {'id': '1355589048669249536',
  'name': 'Perimetral_Protection_freak',
  'username': 'FreakPerimetral'},
 {'id': '1345117282356387840', 'name': '🐍', 'username': 'Cobrafn4'},
 {'id': '1433697905978732544', 'name': '♡HaBen♡', 'username': 'HaBen253811'},
 {'id': '1425338065279602690', 'name': 'blake', 'username': 'blake69265651'},
 {'id': '1153583262045999104', 'name': 'DeXioReQ', 'username': 'DeXioReQ1'},
 {'id': '2195036186', 'name': 'Florian Voutzinos', 'username': 'voutzinos'},
 {'id': '865934401267531776', 'name': 'D', 'username': 'D34749713'},
 {'id': '1327710752472526848',
  'name': 'Twenty-Seven Pockets',
  'username': '27_Pockets'},
 {'id': '1433696957197864979',
  'name': 'DC Universe',
  'username': 'dcuniverse001'},
 {'id': '1281631174494793730',
  'name': 'Tohungkong',
  'username': 'Tohungkong4'},
 {'id': '1419934188439019532',
  'name': 'Jsanderscrypto',
  'username': 'jsanderscrypto'},
 {'id': '1265682806426021891',
  'name': 'Ω™fřëešøûł',
  'username': 'abefeomooba'},
 {'id': '111692754', 'name': 'Sammy Goncalves', 'username': 'gpsamj'},
 {'id': '3323006933', 'name': 'Onurcnr', 'username': 'onurn03'},
 {'id': '25935223', 'name': 'Nicole', 'username': 'cryptyfx'},
 {'id': '1154355199349145600', 'name': 'Edison', 'username': 'EddieYan6'},
 {'id': '1377796532209074177', 'name': 'Mike', 'username': 'Christian__DYOR'},
 {'id': '729187016919896064',
  'name': 'Akshay R S 🌈',
  'username': 'akshay_r_s'},
 {'id': '1372847369109262337', 'name': 'Uvento', 'username': 'Azat56119055'},
 {'id': '2346218977', 'name': 'rit.zdepth', 'username': 'RitZdepth'},
 {'id': '149260484', 'name': 'David Korben', 'username': 'davidkorben'},
 {'id': '1381703156611088388', 'name': 'Kate', 'username': 'Kate62216894'},
 {'id': '247155537', 'name': 'ياسر 🧜🏼\u200d♂️', 'username': 'Abumn9ur'},
 {'id': '143805082', 'name': 'Eren', 'username': 'yeneren'},
 {'id': '1373610585934462976', 'name': 'urbanboi_vonke', 'username': 'UVonke'},
 {'id': '1321139773948375040', 'name': 'miu', 'username': 'miu43095964'},
 {'id': '714834895797948416',
  'name': 'Mats Engeringh',
  'username': 'mats_engeringh'},
 {'id': '1410267144969916426', 'name': 'Oleh', 'username': 'Oleh73329454'},
 {'id': '2883782554', 'name': 'Цырегма Цыбенова', 'username': 'TsTsybenova'},
 {'id': '1433689901757702146',
  'name': 'Abhishek',
  'username': 'AbhishekROR25'},
 {'id': '1359688435036876800',
  'name': 'Gurpreet Singh',
  'username': 'Gurpree11788736'},
 {'id': '1376444860140560385',
  'name': 'Juan Carlos',
  'username': 'Juanka_mrt'},
 {'id': '1217113435537924097',
  'name': 'Nhat RiO',
  'username': 'DANGNha82295346'},
 {'id': '1432967239427297280',
  'name': 'PW Steinberg',
  'username': 'steinberg_pw'},
 {'id': '750743588313661440',
  'name': '⭕️RIGIN🅰️L',
  'username': 'originalsuper06'},
 {'id': '2304588485', 'name': 'Stefano De Nichilo', 'username': 'Sdenec'},
 {'id': '738796946345889792', 'name': 'Adrian Radu', 'username': 'Wolfraggen'},
 {'id': '1411169035652321280', 'name': 'SAIDI ♚', 'username': 'Saidi365'},
 {'id': '969068872312741888', 'name': 'Vishal', 'username': 'Vish_official_6'},
 {'id': '485469397', 'name': 'Trevhol', 'username': 'Trevhol'},
 {'id': '1101503783127797760', 'name': 'Ajay', 'username': 'Ajay64981122'},
 {'id': '1430854337543159809',
  'name': 'Николай',
  'username': 'imnjqpDF69raDii'},
 {'id': '1265928690744975360',
  'name': 'openeyestruth',
  'username': 'meaahk_72_10468'},
 {'id': '1433687114676273154',
  'name': 'Unity Family Farms',
  'username': 'unity_farms'},
 {'id': '1411593811797626880', 'name': 'Nrewq', 'username': 'Nrewq9'},
 {'id': '1432973095183257605', 'name': 'Петр', 'username': 'PetrLO47'},
 {'id': '896606798848839680', 'name': 'NeoGeoSan', 'username': 'NeoGeoSan1'},
 {'id': '1400752105946714114', 'name': 'sagar', 'username': 'sagar29463474'},
 {'id': '1405080738525958144',
  'name': 'cynthia panim',
  'username': 'PanimCynthia'},
 {'id': '1432279259251306498', 'name': 'i coin', 'username': 'icoin19'},
 {'id': '44551272', 'name': 'wsz33', 'username': 'wsz33'},
 {'id': '1394648213898948612',
  'name': 'Kaung Myat Min',
  'username': 'kaungmyatmin95'},
 {'id': '1146540020079177734', 'name': 'syg', 'username': 'saygibrahim33'},
 {'id': '1431031352707764225', 'name': 'Amine 💰', 'username': 'Aminecdb'},
 {'id': '1266700323864764416',
  'name': 'Prasanna Rapala',
  'username': 'PrasannaRapala'},
 {'id': '1433552110239559681', 'name': 'Kvz', 'username': 'Kvz06717067'},
 {'id': '1433682473976664069',
  'name': 'RITIK MOHANIA',
  'username': 'MohaniaRitik'},
 {'id': '1433683950040346624',
  'name': 'David Manzenko',
  'username': 'deemanz777'},
 {'id': '54385949', 'name': 'Rita', 'username': 'Caimanwindforev'},
 {'id': '1433635511042674710', 'name': 'Atul Kumar', 'username': 'BoozyAtul'},
 {'id': '1433684055266971648', 'name': 'B Pra', 'username': 'B_Pra262'},
 {'id': '2417811221',
  'name': 'umeh collins micheal',
  'username': 'umeh_micheal'},
 {'id': '2896128882', 'name': 'Irwinloh', 'username': 'irwinlohirwin'},
 {'id': '1433680874613223439', 'name': 'Shamew Dire', 'username': 'ShamewD'},
 {'id': '3191615853', 'name': 'Knickkung', 'username': 'Phunyapat1'},
 {'id': '1354424862983380995', 'name': 'Pugazh', 'username': 'Pugazh88671894'},
 {'id': '1433681827223375873',
  'name': 'ACHYUTANANDA BISWAL',
  'username': 'ACHYUTANANDABI'},
 {'id': '2940041547', 'name': 'danisastre15', 'username': 'danisastre15'},
 {'id': '1095348819154354176',
  'name': 'Krish Jariwala',
  'username': 'krish_jariwala_'},
 {'id': '1418831649333252109', 'name': 'Bin', 'username': 'Bin12027741'},
 {'id': '1433677553458458690', 'name': 'Elmer Croz', 'username': 'CrozElmer'},
 {'id': '1105101359534108677',
  'name': '___----___----___----___----___----___---',
  'username': 'oki_fadhila'},
 {'id': '1432956861502820352',
  'name': 'Elon Musk',
  'username': 'elonmusk1222'},
 {'id': '309594122', 'name': 'Out of home', 'username': 'OApo'},
 {'id': '1358722066778882048', 'name': 'b_lav ⚡', 'username': 'ibot_007'},
 {'id': '1396787253825966083',
  'name': 'Med Abdelaziz',
  'username': 'MedAbdelaziz9'},
 {'id': '1433678830049407017', 'name': 'Riaka', 'username': 'Riaka110102'},
 {'id': '248951737', 'name': 'Finn Meeks', 'username': 'tfmeeks22'},
 {'id': '784029594', 'name': 'Ngo Xuan Thuc', 'username': 'thuc900'},
 {'id': '1160209699981148162',
  'name': 'Stepway_Energy',
  'username': 'EnergyStepway'},
 {'id': '32426044', 'name': 'avant garden', 'username': 'art_kantata'},
 {'id': '1359068161719422979', 'name': 'LuukMhu', 'username': 'MhuLuuk'},
 {'id': '1433677137374941188', 'name': 'Petertann', 'username': 'Petertann8'},
 {'id': '1433061902129582082', 'name': 'haianh', 'username': 'haianh2021'},
 {'id': '1433676021778329607',
  'name': 'Saeed Moradi',
  'username': 'Saemor32884023'},
 {'id': '839210402315649028', 'name': 'AUSGEBUCHT', 'username': '_AUSGEBUCHT'},
 {'id': '1403424384996544515', 'name': 'Sté 🍷', 'username': 'Stemartinez2'},
 {'id': '1383808439147585540', 'name': 'Lê Anh', 'username': 'LAnh69588978'},
 {'id': '1432987210173845510', 'name': 'Bgo', 'username': 'Bgo46036110'},
 {'id': '1249365520249278467', 'name': 'InMyThought', 'username': 'CIMT11'},
 {'id': '1433357398123687939', 'name': 'Yash Saraf', 'username': 'YashS1147'},
 {'id': '1392105680320884738',
  'name': 'Nafees Farrukhabadi',
  'username': 'NFarrukhabadi'},
 {'id': '601692803', 'name': 'Federico Vidal', 'username': 'FedericoVidalFe'},
 {'id': '767350092768481280', 'name': 'Sky', 'username': 'Sky28762568'},
 {'id': '1296486722914656266', 'name': 'عّـبير', 'username': 'lllUOll'},
 {'id': '100511561', 'name': 'صبحونه با چایی داغ', 'username': 'sobhoone'},
 {'id': '1433530901837725703', 'name': 'Andrew', 'username': 'AB33478'},
 {'id': '2482246659', 'name': 'Loli', 'username': 'lvlagreca'},
 {'id': '1428466485228417029', 'name': 'Chris', 'username': 'Chris_whoop'},
 {'id': '1428131868994637826', 'name': 'Y', 'username': 'Y35358644'},
 {'id': '1433664187574616067',
  'name': 'Moh Ampri Rosid',
  'username': 'MohAmpri'},
 {'id': '1249177707734347776',
  'name': 'moleque da sep',
  'username': 'jhonsueto'},
 {'id': '1357764784402358277',
  'name': 'Mohammed',
  'username': 'Mohamme67406856'},
 {'id': '49317479', 'name': 'A Shrimp 🦐 with Brain 🧠', 'username': 'ibasba46'},
 {'id': '1337293063408979969', 'name': 'ناصر', 'username': '17y_z'},
 {'id': '1403846369434030086', 'name': 'Queen', 'username': 'QueenCrypto69'},
 {'id': '3432053908', 'name': 'Adrian', 'username': 'boaviagems'},
 {'id': '1160466828633759744',
  'name': 'Chris Robinson',
  'username': 'ChrisRo37341289'},
 {'id': '1432873651829817354',
  'name': 'Arun kumar Sikarwar',
  'username': 'arunksikarwar'},
 {'id': '1232597579214532609',
  'name': 'Computer Club',
  'username': 'computerclub90'},
 {'id': '1144968234', 'name': 'CommonArtisan', 'username': 'CommonArtisan'},
 {'id': '4553388618', 'name': 'Sean Barnes', 'username': 'sbarnes1997'},
 {'id': '1291175670312079360',
  'name': 'xiaoxiaodehuai',
  'username': 'xiaoxiaodehuai'},
 {'id': '1411767984', 'name': 'ashok aj', 'username': 'ashok89724841'},
 {'id': '1428116284592443394', 'name': 'Cj', 'username': 'Cj35786051'},
 {'id': '584146175', 'name': 'Satish', 'username': 'Satish4society'},
 {'id': '1433669694758825998',
  'name': 'Talgat Khamitov',
  'username': 'KhamitovTalgat'},
 {'id': '2810393622', 'name': 'Miss Katiey Marie', 'username': 'MissKatiey'},
 {'id': '1428961968384315394',
  'name': 'Andrzej Wiech',
  'username': 'wiech_andrzej'},
 {'id': '1395465230273155075', 'name': 'Pali J', 'username': 'The_Place101'},
 {'id': '1432378810394202117',
  'name': '✘ Cocoa Butter’s Deputy 🌟\uea00',
  'username': 'CocoaButterGH_'},
 {'id': '1432945848653160448',
  'name': 'Simone Daniele',
  'username': 'The_Pyto'},
 {'id': '1389234073764196353',
  'name': 'Santosh Srivastava',
  'username': 'Santosh23052688'},
 {'id': '1433644735525101577', 'name': 'KSS883', 'username': 'KSS883'},
 {'id': '1433667232241004548', 'name': 'Vanja Nedic', 'username': 'VakiNedic'},
 {'id': '618010517', 'name': 'Whereispooh', 'username': 'whereisthepooh'},
 {'id': '1397729922219536388', 'name': '최재근', 'username': 'N2dfJodKOkOEJMG'},
 {'id': '2699640637',
  'name': 'Michael Brown Jr.',
  'username': 'the_Mikebrown'},
 {'id': '716282582963453953', 'name': 'Salvo', 'username': 'salvoN83'},
 {'id': '1091030178296414209',
  'name': 'Unnamed21',
  'username': 'paulbadila21'},
 {'id': '1433587416107872261',
  'name': 'DaddyDiscoNFT',
  'username': 'nft_disco'},
 {'id': '1269049001199853568',
  'name': 'Jasonnel \uea00',
  'username': 'JasonnelYT'},
 {'id': '1346666635269009410',
  'name': 'Pawankumar C',
  'username': 'PawankumarC5'},
 {'id': '1433664249113587735', 'name': '₿', 'username': 'cryptofr13nd'},
 {'id': '1427323952481771540',
  'name': 'Raghavendra Udayagiri',
  'username': 'UdayKatz'},
 {'id': '919119072884752384',
  'name': '𝒢𝒶𝒷𝓇𝒾ℯ𝓁 𝒲𝒽𝒾𝓉ℯ 𝒯ℯ𝓃𝓂𝒶 💍',
  'username': 'white___Angel__'},
 {'id': '1431917568089104386',
  'name': 'Msizilamula@gmail.com',
  'username': 'msizilamula'},
 {'id': '1433174378355769348',
  'name': 'Simon Adameit',
  'username': 'SimonAdameit'},
 {'id': '1204350271440277504',
  'name': 'hacıdarthvaderabi',
  'username': 'simsek30'},
 {'id': '1433660270111444996',
  'name': 'Đặng quốc công',
  'username': 'quoccong777'},
 {'id': '2773240565', 'name': 'Yıldız Güray', 'username': 'kurabiyefirinim'},
 {'id': '1274019656378888193',
  'name': 'Prashant',
  'username': 'Prashantaryan89'},
 {'id': '1433661611240087553',
  'name': 'Normal person',
  'username': 'nuttyputty69'},
 {'id': '1220845854967443463',
  'name': 'Antonio Riccelli',
  'username': 'AntonioRiccell1'},
 {'id': '57393223', 'name': 'Mojo Kumaarr', 'username': 'mojokumaarr'},
 {'id': '14162576', 'name': 'Ionut Ciucanu', 'username': 'ciucanu'},
 {'id': '1403508473258602503', 'name': 'Mask', 'username': 'Mask77824862'},
 {'id': '1163756847653720066',
  'name': 'Cryptorobin21',
  'username': 'cryptorobin21'},
 {'id': '918434275493527553', 'name': '陈涛', 'username': 'CN_peoplesoft'},
 {'id': '1394972694613872644', 'name': 'Judy', 'username': 'judybebe1'},
 {'id': '1362588975517495297', 'name': 'Ardhi', 'username': 'AmanahVest'},
 {'id': '500789430', 'name': 'Ariyo Arinsa Putra', 'username': 'ariyoap'},
 {'id': '29947704', 'name': 'Radhika Mathur', 'username': 'Radhika82'},
 {'id': '1393668026487119872',
  'name': 'SanjuThakur',
  'username': 'SanjuTh74981901'},
 {'id': '1135936720032034818', 'name': 'Anupan J.', 'username': 'AnupanJ1'},
 {'id': '1317024536655638528',
  'name': 'Ming M. Angelina',
  'username': 'MingAngelina'},
 {'id': '764340759650635776',
  'name': 'Lucious Wong',
  'username': 'Lucious_Wong'},
 {'id': '1396235578425978883', 'name': 'Art Nab', 'username': 'nab_art'},
 {'id': '14827323', 'name': 'Andrew Houlihan', 'username': 'houli'},
 {'id': '1405150618201718787',
  'name': 'sirawit',
  'username': 'sirawit33641016'},
 {'id': '908350187944402944',
  'name': 'user not found',
  'username': 'lerkudar'},
 {'id': '1359455174687875072',
  'name': 'Stewart Apple',
  'username': 'StewartApple2'},
 {'id': '1433658001605283843', 'name': 'Space X', 'username': 'Jha_M_K1'},
 {'id': '1432963099355750401', 'name': 'Yauheni', 'username': 'Yauheni_Kar'},
 {'id': '1433655214943326211', 'name': 'Mayur', 'username': 'Mayur41663214'},
 {'id': '1433654451441750016', 'name': 'no fara', 'username': 'nofara8'},
 {'id': '1118383696434933766', 'name': 'ੴSANDHUੴ', 'username': 'sandhuINC'},
 {'id': '1433653456913543168',
  'name': 'Eric Wilson',
  'username': 'robotic_trader1'},
 {'id': '1430912650569912326', 'name': 'Mün Mann', 'username': 'munmanBTC'},
 {'id': '266200137', 'name': 'Andrew Meister', 'username': 'andmeist'},
 {'id': '2939446475', 'name': 'Pep', 'username': '_emmaj__'},
 {'id': '884057886967693312', 'name': 'Amer', 'username': 'AmerSyed1618'},
 {'id': '1270971959652651008', 'name': 'λlyx', 'username': 'M1ssingNumb3r'},
 {'id': '1429725418521731074', 'name': 'lilin', 'username': 'lilin66933377'},
 {'id': '957920647270797313',
  'name': 'Khanji Creations',
  'username': 'KhanjiCreations'},
 {'id': '149455293', 'name': 'Rifat Celik Turk', 'username': 'Celiturk'},
 {'id': '954443870573441025', 'name': 'obverse', 'username': '0bverse'},
 {'id': '943148336223342593',
  'name': 'Carlos Alberto',
  'username': 'Carlos71099'},
 {'id': '1401427631271153665',
  'name': 'Luong Ngoc Truong',
  'username': 'LuongNgocTruon1'},
 {'id': '1433646644369580032', 'name': 'you진', 'username': 'you72859148'},
 {'id': '1423058118758502405', 'name': 'Диана', 'username': 'Bikoy96'},
 {'id': '1432008601330073603', 'name': 'Inghua', 'username': 'Inghua7'},
 {'id': '1335395445971906566', 'name': 'tamanabas', 'username': 'taman_abas'},
 {'id': '1427245012568399881', 'name': 'Borja', 'username': 'sirbo4303'},
 {'id': '1270321147050176513', 'name': 'Shou Gunshop', 'username': 'SGunshop'},
 {'id': '1433650486784114688',
  'name': 'Kailash Raju',
  'username': 'KailashRaju7'},
 {'id': '267805343', 'name': 'Hassan Hamdi', 'username': 'HassansARTs'},
 {'id': '751702540761243649', 'name': 'BenMilo', 'username': 'LucCongMBS'},
 {'id': '1433646777287118853',
  'name': 'Jeff Marks',
  'username': 'mar18232651'},
 {'id': '1433649214442016776',
  'name': 'Kevin Liao',
  'username': 'KevinLiaocheer'},
 {'id': '831503661004161024',
  'name': 'SUNNY RAJ',
  'username': 'SUNNYRA42906438'},
 {'id': '1380787069455319044',
  'name': 'Mohammadreza Karimi',
  'username': 'Mohammadrezamkl'},
 {'id': '2889084585', 'name': 'Eddy Naets', 'username': 'EddyNaets'},
 {'id': '1433648054876315649',
  'name': 'Atif Ali',
  'username': 'AtifAli04326461'},
 {'id': '1433592965138575360', 'name': 'boomrfrens', 'username': 'boomrfrens'},
 {'id': '1627793186', 'name': 'Gizem Güreşen', 'username': 'iamgizemguresen'},
 {'id': '1371071470827356161',
  'name': 'The last survivor of hope',
  'username': 'PartnerInCrimeO'},
 {'id': '50001759', 'name': 'Adn Al', 'username': 'MAdnaneAlaoui'},
 {'id': '1433648080897945608', 'name': 'SolOrcs', 'username': 'SolOrcs'},
 {'id': '1098338208', 'name': 'Fırat AKSOY', 'username': '7Aksoy7'},
 {'id': '1432986046258630659', 'name': 'R-Zoldyck', 'username': 'RZoldyck_09'},
 {'id': '1433645944260767753', 'name': 'Mosby1025', 'username': 'mosby1025'},
 {'id': '399423621', 'name': 'Chungus Mungus', 'username': 'KrabbyPatty666'},
 {'id': '1401561926853791744', 'name': 'Kirann', 'username': 'Kirann98197947'},
 {'id': '170066361', 'name': 'Chicα Frαses ™', 'username': 'Bellaitali'},
 {'id': '1622683506', 'name': 'david raper', 'username': 'davidraper4'},
 {'id': '1431128374936682505', 'name': 'HM Murdock', 'username': 'murdock_hm'},
 {'id': '1296041410039291904',
  'name': 'Leah Riccardelli',
  'username': 'LeahRiccardelli'},
 {'id': '1433643237714104322', 'name': 'Samiwal', 'username': 'Samiwal4'},
 {'id': '980200298286235648',
  'name': 'Trishia matthews',
  'username': 'Trishiamatthew1'},
 {'id': '1401929191226970116',
  'name': 'Gangsta lookin ass',
  'username': 'SpoonbobSwag'},
 {'id': '1012560784579125248',
  'name': 'Saurabh Sharma',
  'username': 'Saurabh_blogg'},
 {'id': '1294630772',
  'name': 'Charn lll (to the moon)',
  'username': 'nott_an'},
 {'id': '1013625003164819456', 'name': 'amlan', 'username': 'amlan601'},
 {'id': '1429840627383115781',
  'name': 'Charles Darwin',
  'username': 'nietzsche1682'},
 {'id': '411622674', 'name': 'amcreatv', 'username': 'amcreatv'},
 {'id': '1351879547243823106',
  'name': 'Jim Mas',
  'username': 'iu4q0uhGjGQRNDu'},
 {'id': '1399173703892541442',
  'name': 'Abhishek Kumar',
  'username': 'Abhishe15850757'},
 {'id': '355089075', 'name': 'SlutTeamSix', 'username': 'SlutTeamSix'},
 {'id': '1433638875239436288',
  'name': 'Miranda',
  'username': 'Miranda17751881'},
 {'id': '481662167', 'name': '∞', 'username': 'mxv'},
 {'id': '1433434486713192451',
  'name': 'Phương Hoàng Đức',
  'username': 'PhuongHoangDuc'},
 {'id': '2362377115', 'name': 'Ahmed Raza', 'username': 'ahmedraza739'},
 {'id': '1371189623196618755',
  'name': 'hcantu.sofia@gmail.com',
  'username': 'sofiaenchanclas'},
 {'id': '1431691233001345030',
  'name': 'Lynn Randall',
  'username': 'oiledmachine2'},
 {'id': '753695638701928448', 'name': 'Jamo', 'username': 'JamisonRoy21'},
 {'id': '52264969', 'name': 'David A. Reyes', 'username': 'dkings13'},
 {'id': '973271235424550912', 'name': 'Muneeb', 'username': 'muneebdnsh'},
 {'id': '1475679366', 'name': 'Zafer ALTINKAYA', 'username': 'AzaferA'},
 {'id': '1225097083624910849', 'name': 'F#ck盲信', 'username': 'jam_poco'},
 {'id': '58241463', 'name': 'smh', 'username': 'corytomkinson'},
 {'id': '1340849871767650306',
  'name': 'El Tío de la Guitarra',
  'username': 'eltiodelaguitar'},
 {'id': '3306025198', 'name': 'Nikogol777', 'username': 'Nikogol777'},
 {'id': '1232011447187709953',
  'name': 'Homosapien Ascendant',
  'username': 'sapienascendant'},
 {'id': '1426014849172049920', 'name': 'Rahul', 'username': 'ETH_Rahul'},
 {'id': '2503881605', 'name': 'Cumhur Akdogan', 'username': 'AkdoganCumhur'},
 {'id': '1301108737659207681', 'name': 'FayoFidel', 'username': 'FayoFidel'},
 {'id': '1427594990654418944', 'name': 'etotran', 'username': 'etotran369'},
 {'id': '1400586033079754752', 'name': 'Everi', 'username': 'EveriWW'},
 {'id': '1431588603587543044',
  'name': 'C hsiu-chien',
  'username': 'Chsiuchien1'},
 {'id': '1433632827501809692', 'name': 'Salman', 'username': 'salm1n_tweets'},
 {'id': '1408097699824549891', 'name': 'tumur', 'username': 'tumur89581292'},
 {'id': '1401651134226386944',
  'name': 'Charles Vallis',
  'username': 'CharlesVallis'},
 {'id': '1224879583473868806', 'name': 'Kristina', 'username': '_KristinaPak'},
 {'id': '1141017906', 'name': 'Crypty girl', 'username': 'Nicolecrypty'},
 {'id': '1391437469283934210',
  'name': 'José Manzanarez',
  'username': 'JoseManz10'},
 {'id': '58118735', 'name': 'Amador', 'username': 'aruservero84'},
 {'id': '1342885264117534720',
  'name': 'Anthony Katwan',
  'username': 'katwan_anthony'},
 {'id': '1433630252010549254', 'name': 'Slowshi', 'username': 'iamSlowshi'},
 {'id': '17936408', 'name': 'Dennis', 'username': 'djwang05'},
 {'id': '830534931423956992', 'name': 'Arthur', 'username': 'Arty_Lee12'},
 {'id': '2288569982', 'name': 'Rohit Bhota', 'username': 'rohitbhota'},
 {'id': '2692670736', 'name': 'ricardo morales', 'username': 'Noxide3D'},
 {'id': '1407937859521236992',
  'name': 'beautiful SHIBA INU',
  'username': 'vladlen89056623'},
 {'id': '1433619860970430464', 'name': 'Jed', 'username': 'jedisjee'},
 {'id': '1422459559818444801', 'name': 'Nithin T M', 'username': 'nithinstm'},
 {'id': '1052177614742401025', 'name': 'Sebas', 'username': 'Sebas74256392'},
 {'id': '605829151', 'name': 'agustín', 'username': 'agusbalestra_'},
 {'id': '1405795104984424451',
  'name': 'Sansani Reporter',
  'username': 'SansaniReporTur'},
 {'id': '1413912260850900992',
  'name': 'SAFE AND REAL INVESTORS',
  'username': 'REAL_INVESTORS2'},
 {'id': '729594092', 'name': 'Bachelor19', 'username': 'SyahrulSiam'},
 {'id': '1145279074098536449',
  'name': 'Limit lagi\U0001f972',
  'username': 'DheraPuspita1'},
 {'id': '1433576052757090308',
  'name': 'Star Road Labs',
  'username': 'StarRoadLabs'},
 {'id': '2784560244', 'name': 'Cristian Sanchez', 'username': 'shlump_mode'},
 {'id': '1433539291884539907',
  'name': 'Jorge Ruvalcaba',
  'username': 'JorgeRu30042747'},
 {'id': '1069030448339267585',
  'name': 'Roceiro',
  'username': 'Carneir26381801'},
 {'id': '1320562494600077312',
  'name': 'YURIDIA MAGAÑA',
  'username': 'yuridia_magana'},
 {'id': '1387355353889771520',
  'name': '📁 𝐂∶\\𝐔𝐬𝐞𝐫𝐬\\𝐂𝐡𝐨𝐠𝐢',
  'username': 'chogiowo'},
 {'id': '1308093147793285120',
  'name': 'Dean Bakes ⚡️',
  'username': 'dean_bakes'},
 {'id': '1183171613744869381',
  'name': 'Andrew Banonis',
  'username': 'andrewbanonis'},
 {'id': '1221353729254924288',
  'name': 'Cheeky Arts Fest',
  'username': 'CheekyArtsFest'},
 {'id': '1414360901956771842',
  'name': 'Tanjiro',
  'username': 'Tanjiro_Nezukoo'},
 {'id': '1426266549510361089',
  'name': 'Elon + Crypto',
  'username': 'ElonCryptoB'},
 {'id': '1212201874809507841',
  'name': 'Michael',
  'username': 'Michael89784716'},
 {'id': '1175691442452254720', 'name': 'vivi', 'username': 'yinannanyi'},
 {'id': '1412935121334845442',
  'name': 'Nba_Fortitude',
  'username': 'FortitudeNba'},
 {'id': '747445899664756736',
  'name': 'ungespritzt-spritzfreudig 💉💦',
  'username': 'flanky64'},
 {'id': '1433621623433793541', 'name': 'Stef', 'username': 'VikingStef'},
 {'id': '1355002240734359552',
  'name': 'changhanvit',
  'username': 'changhanvit'},
 {'id': '1433621313747292163',
  'name': 'Yessica',
  'username': 'Yessica95633555'},
 {'id': '166584732', 'name': 'Chris', 'username': 'CDodson_'},
 {'id': '1419442364796391425',
  'name': 'O.Edison.E',
  'username': 'dreallollipop'},
 {'id': '1433618525264961538',
  'name': 'Daysi Martinez',
  'username': 'dephymartz'},
 {'id': '1392372749285216258',
  'name': 'Ahmed Khan',
  'username': 'AhmedKh90338925'},
 {'id': '409078182', 'name': '比特币使命', 'username': 'madiobruce'},
 {'id': '1252682020188303360', 'name': 'AAA', 'username': 'cvadad'},
 {'id': '914749232', 'name': 'Flor', 'username': 'florguev'},
 {'id': '1433614910089535497',
  'name': 'vitaliks bastard pet',
  'username': 'Crypt0Llama'},
 {'id': '1518604304', 'name': 'Jefferson Murdoch', 'username': 'murdochje'},
 {'id': '1051487005094408193', 'name': 'dadita', 'username': 'dadit2a28'},
 {'id': '1387983073', 'name': 'N V', 'username': 'nikit_ta23'},
 {'id': '1174277923945295872', 'name': 'Sferus', 'username': 'hipersferus'},
 {'id': '319906272', 'name': 'pata liberati', 'username': 'pataliberati'},
 {'id': '4525372995', 'name': 'Andrevalesani •', 'username': 'andrevalesani'},
 {'id': '18741055', 'name': 'Joshua Nafman', 'username': 'jnafman'},
 {'id': '2969369840', 'name': 'Shubh Badonia', 'username': 'ShubhBadonia'},
 {'id': '1433477813928009731',
  'name': 'Daddy Richard 😍',
  'username': '8ritneyspears'},
 {'id': '2847550754',
  'name': 'Kartik Titarmare',
  'username': 'TitarmareKartik'},
 {'id': '1362567924586700803', 'name': 'jo', 'username': 'cilokfreestyle'},
 {'id': '47236301', 'name': 'Pat Galante', 'username': 'MetsMan4life'},
 {'id': '1433612496938569728',
  'name': 'Pablo Marrero',
  'username': 'cortarmeeldedo'},
 {'id': '23214975', 'name': 'Anthony Thompson', 'username': 'vercasson'},
 {'id': '1433586001595625488', 'name': 'dhils', 'username': 'Lawfeysun'},
 {'id': '2657838880', 'name': 'Sagar Tathode', 'username': 'SagarTathode'},
 {'id': '3340185821', 'name': 'Nicolas', 'username': 'Nico_Seia'},
 {'id': '74453726',
  'name': 'Ray #VataVision #410',
  'username': 'bMDore_elevata'},
 {'id': '1282189835575259139', 'name': 'Aashay', 'username': '__aashay__'},
 {'id': '1235698210989056000',
  'name': 'Canadian Hodl',
  'username': 'Johnny00269243'},
 {'id': '1418406811481214981',
  'name': 'เว็ปสุ่มอย่ารักเราตอนเรานอนได้มั้ย',
  'username': 'imyourpraaix'},
 {'id': '1433609546837028864', 'name': 'David Hanlon', 'username': 'DaveH88'},
 {'id': '59663', 'name': 'Brian Sloane', 'username': 'BrianSloane'},
 {'id': '1214725656862281729', 'name': 'Toàn Võ', 'username': 'TonV58378367'},
 {'id': '1430321347456999425', 'name': 'Roukiin', 'username': 'Roukiin234'},
 {'id': '1433608062191824919',
  'name': 'Jihoon LEE',
  'username': 'JihoonL85469878'},
 {'id': '1420828788808552449', 'name': 'Ter S', 'username': 'STer51688'},
 {'id': '1433610349438070791',
  'name': 'Trần Lê Thuận',
  'username': 'ThuanATH'},
 {'id': '1285596090050514944',
  'name': '/frame-perfect\\🐰',
  'username': 'frameperfected'},
 {'id': '1430325606718349314', 'name': '3bzfx', 'username': '3bzfx'},
 {'id': '1073959386056409088',
  'name': 'Eurei Tate',
  'username': 'evilkitten00'},
 {'id': '1298359991745814528', 'name': 'jeff', 'username': 'jeff03636262'},
 {'id': '58028738', 'name': 'Ray Cronise', 'username': 'RayCronise'},
 {'id': '1433607978649677828', 'name': '정좌빈', 'username': 'RICHSFTL'},
 {'id': '1432759887826669572', 'name': 'Jamil B', 'username': 'Mr_JamilBrown'},
 {'id': '1430556880338923522',
  'name': 'Bot Ross Art',
  'username': 'BotRossArt'},
 {'id': '1367213949830098944', 'name': 'DEAUSKI', 'username': 'wasrondeauski'},
 {'id': '1414283005', 'name': 'joecyvas', 'username': 'Jcyvas21'},
 {'id': '1433596360520052736',
  'name': 'Savage Drops 👉🏼 Follow New Account 👍🏻',
  'username': 'SavageDrops'},
 {'id': '555521706', 'name': 'JRC', 'username': 'JustinRChandra'},
 {'id': '2215206487', 'name': 'Saurabh Sutone', 'username': 'SaurabhSutone'},
 {'id': '1433608453310799876',
  'name': "*What'sGoingOn*",
  'username': 'DogeGirl77721'},
 {'id': '1425385834811990016',
  'name': 'johnny riko',
  'username': 'riko_johnny'},
 {'id': '1306773496513441792', 'name': 'pangzw', 'username': 'pangzw2'},
 {'id': '3540769280', 'name': '𝙲𝚕𝚢𝚍𝚎 𝙱𝚊𝚛𝚛𝚘𝚠', 'username': 'Gundum_STP'},
 {'id': '728041337950330881', 'name': 'Mark Rose', 'username': 'MRose455'},
 {'id': '1398822134638518274', 'name': 'ANA', 'username': 'ChiangraiE'},
 {'id': '1433562736282251265',
  'name': 'Straight Out The Kitchen Podcast',
  'username': 'StraightOutThe5'},
 {'id': '1427468925768405001', 'name': 'Meliknees', 'username': 'meliknees'},
 {'id': '1433122506433499142', 'name': 'BTCGoTo', 'username': 'BTCGoTo'},
 {'id': '1427493010447560709',
  'name': 'matthew',
  'username': 'matthew90329962'},
 {'id': '1427906782970613765',
  'name': 'suraa promchart',
  'username': 'PromchartSuraa'},
 {'id': '859905984', 'name': 'Graham', 'username': 'somerealfatcat'},
 {'id': '1433551310050127875',
  'name': 'Don Skylar⛓',
  'username': 'Don_Skylar23'},
 {'id': '1316316015463026693',
  'name': 'Thananon Triamchanchai',
  'username': 'TTriamchanchai'},
 {'id': '1322449579971768320', 'name': '🍀Esen🍀', 'username': 'esenziewin'},
 {'id': '1433606017447653394', 'name': '서동욱', 'username': 'ehddnr3988'},
 {'id': '1409784335062892548',
  'name': '🍀나는 빅윈🍀72h',
  'username': 'bigwinplease713'},
 {'id': '1433604580974030869', 'name': 'Ladypants', 'username': 'Ladypants__'},
 {'id': '2730946738', 'name': 'IZA๖ۣۜN4MI', 'username': 'NamTr10'},
 {'id': '981923066530881536',
  'name': 'Long Le',
  'username': 'anhkhoa03042018'},
 {'id': '1426996350030393356', 'name': 'جہد مسلسل', 'username': 'Anzerbaig1'},
 {'id': '1433601328681349121',
  'name': 'kajal negi',
  'username': 'kajalne11253422'},
 {'id': '1124819742', 'name': 'EGM', 'username': 'edvgm_egm'},
 {'id': '1239935474845679616',
  'name': 'Apl Shankar',
  'username': 'AplShankar'},
 {'id': '1295222294416166912',
  'name': 'Crypto Josh',
  'username': 'CryptoJosh8'},
 {'id': '1433251641034035208', 'name': 'YJ', 'username': 'YJ89572291'},
 {'id': '1373264971946156033', 'name': 'Ivan', 'username': 'Ivan25768342'},
 {'id': '103009063', 'name': 'Soumyapratim Bera', 'username': 'spb089'},
 {'id': '2458500128', 'name': 'Qin Tu', 'username': 'QinTu7'},
 {'id': '1427708916620840964', 'name': 'Bodi', 'username': 'Jack66939641'},
 {'id': '1421319610406670338',
  'name': 'donna strickland',
  'username': 'donnast07652265'},
 {'id': '1429691936617615361', 'name': 'M.PS', 'username': 'm_ps39673734'},
 {'id': '272515358', 'name': 'Leonardo Inhan', 'username': 'leonardoinhan'},
 {'id': '1373721251525632005',
  'name': 'David Wahba de Castro',
  'username': 'WahbaDe'},
 {'id': '1433596392392388614',
  'name': 'Bryce Mulholand',
  'username': 'BryceMulholand'},
 {'id': '2327324574', 'name': 'Noto', 'username': 'coolnoto'},
 {'id': '1135626043',
  'name': 'Alyssa Osenbruck',
  'username': 'AlyssaOsenbruck'},
 {'id': '1386541434224840711',
  'name': 'gael villa',
  'username': 'gaelvil76963363'},
 {'id': '1394119357064691714',
  'name': 'MadDawgWouzy',
  'username': 'Safemoonsxm'},
 {'id': '1433598118495285265',
  'name': 'Nathan Halliday',
  'username': 'Nathan_Zipmex'},
 {'id': '1367125722091778049', 'name': 'naiive', 'username': 'naiiveclub'},
 {'id': '1271725489619709954', 'name': '𐍅ᵣ𝖌𝝥⊙𝒂ʰ', 'username': 'GloryboyJAXIN'},
 {'id': '1372614900166623234', 'name': '🇰🇼', 'username': 'ri11ix'},
 {'id': '126083714', 'name': 'Victricio', 'username': 'daus_siagian'},
 {'id': '1433596153182949382',
  'name': 'JRTrading',
  'username': 'JRTrading941'},
 {'id': '14224386', 'name': 'moneyeyed', 'username': 'mohitsonika'},
 {'id': '1432066280199163911', 'name': 'MsYudiyudi', 'username': 'MsYudiyudi'},
 {'id': '1433589452677558273',
  'name': 'Olawale Sellassie Onashokun',
  'username': 'Omo_iya_ghana'},
 {'id': '1302501171408457728', 'name': 'MrMeteor', 'username': 'MrMeteor6'},
 {'id': '1423463670697299974',
  'name': 'Oscar Cherro',
  'username': 'oscarcherro'},
 {'id': '3048243518', 'name': 'Rahul', 'username': 'awaramizaaz'},
 {'id': '1158857892776333312',
  'name': '🍒🌸Aѕιαи Dσℓℓ🌸🍒',
  'username': 'VALKYRIE_PUBGM'},
 {'id': '1433587025060507649', 'name': 'DONIA', 'username': 'Donia_XXL'},
 {'id': '715197349', 'name': 'jumurah', 'username': 'jumurah'},
 {'id': '1433512724990857231',
  'name': 'Proof of Wealth NFT',
  'username': 'proofofwealth'},
 {'id': '1410258227804135424',
  'name': 'PABLOFINCASSO',
  'username': 'Jjjjjj202020201'},
 {'id': '127960241', 'name': 'Hector Espinoza', 'username': 'HECTORRESPINOZA'},
 {'id': '374199196', 'name': 'Aaron Mark', 'username': 'R0NMacKay'},
 {'id': '1433592451403550720', 'name': 'Syed3.0', 'username': 'SyedWeb3'},
 {'id': '396074805', 'name': 'graeme', 'username': 'deepseafishface'},
 {'id': '146448495', 'name': 'かきつぶ/柿沼博基', 'username': 'kakinotane1202'},
 {'id': '1422675047324475393',
  'name': 'Opinions_topics',
  'username': 'TopicsOpinions'},
 {'id': '1433591130499731468', 'name': 'BonTemps', 'username': 'BonTempBon'},
 {'id': '1433583489010515968',
  'name': 'Der Caramel Kuchen',
  'username': 'CaheCarmelCake'},
 {'id': '1225800033297162241', 'name': 'Phase B', 'username': 'NansenRero'},
 {'id': '1424163936719540225',
  'name': 'Heisbinladen',
  'username': 'Heisbinladen1'},
 {'id': '1433590408366497792',
  'name': '0xfelix.eth',
  'username': '0xfelix_eth'},
 {'id': '1433590749841473544',
  'name': 'Double_A',
  'username': 'DoubleA34955346'},
 {'id': '1410676395567685634', 'name': '🦇🔊', 'username': 'saint_ether'},
 {'id': '42548116', 'name': 'gaston', 'username': 'gaston9'},
 {'id': '1354662163550498816',
  'name': 'Mistercrypto 🐂',
  'username': 'therealmrcrypto'},
 {'id': '2929656424',
  'name': 'Hamur kafayim🏳️\u200d🌈',
  'username': 'HamurKafa'},
 {'id': '1392709879870099457', 'name': 'leazero71', 'username': 'leazero71'},
 {'id': '1421234106139123713',
  'name': 'Charif Belkessam . ⵛⴰⵔⵉⴼ ⴱⴻⵍⵇⴻⵙⴰⵎ',
  'username': 'CharifBelkessam'},
 {'id': '924365740248985600', 'name': 'vijay', 'username': 'vijays204'},
 {'id': '1671397340', 'name': 'Ty', 'username': 'TylertheInnov8r'},
 {'id': '1389573854503309315',
  'name': 'Nahim Silva',
  'username': 'Nahim_Silva369'},
 {'id': '3032597462', 'name': 'pav💔', 'username': 'pavlemio'},
 {'id': '1407580908828303363', 'name': 'UCJIN', 'username': 'UCJIN2'},
 {'id': '1398811026401935360',
  'name': 'Jessica Friedman',
  'username': 'jessfriedmn'},
 {'id': '1382853333522788356', 'name': 'Ben', 'username': 'hypermetaverse'},
 {'id': '1263567899966521354',
  'name': 'GoodGameGold #bsc #heco',
  'username': 'goodgamegold'},
 {'id': '2937613910', 'name': 'Tyler Zed', 'username': 'realTylerZed'},
 {'id': '1091756156849176584', 'name': '~OJM~', 'username': 'marvel2509'},
 {'id': '1407248929746419713', 'name': 'NFTARI', 'username': 'nftari'},
 {'id': '2363567294', 'name': '박철희', 'username': 'bakagape1'},
 {'id': '1408752751731896325',
  'name': 'Jesse Hawkeswood',
  'username': 'hawkeswoodj'},
 {'id': '1421330107998904326', 'name': 'Cole', 'username': 'baileyeilish0'},
 {'id': '1433582787177680901',
  'name': 'Jean Sampaio',
  'username': 'Jeanenglish_'},
 {'id': '1065156396054921216',
  'name': "boyfriend to potiphar's wife🇳🇬",
  'username': 'juststeve___55'},
 {'id': '202149130',
  'name': 'Toni Galván Heras',
  'username': 'tonigalvanheras'},
 {'id': '181547600', 'name': 'Khairul26', 'username': 'KhairulHUDAirun'},
 {'id': '1003451688420823040', 'name': 'Giorge', 'username': 'Giorge14154372'},
 {'id': '1433582423451713545',
  'name': 'Richard Morris',
  'username': 'MorrisH10381928'},
 {'id': '1428121382811049987',
  'name': 'Rhonda McNutt',
  'username': 'RhondaMcNutt1'},
 {'id': '1357488145344786432', 'name': '권영석', 'username': 'MbqVCNfsJFLG4RS'},
 {'id': '1356409493672886276',
  'name': 'BelfortPedro',
  'username': 'BelfortPedro94'},
 {'id': '1386866637299724295', 'name': 'Mike', 'username': 'Mike71731833'},
 {'id': '1418478322250563584', 'name': 'TOP DAWG', 'username': 'topdawg361'},
 {'id': '1152235891', 'name': 'Matt Vincent', 'username': 'Nolimitz84'},
 {'id': '1363840129283088387',
  'name': 'Hassouna Elsafy🇪🇬🇵🇸',
  'username': 'hassoun17391011'},
 {'id': '1373931246275817475',
  'name': '山ハッカー/Mountain Hacker',
  'username': 'keiok11'},
 {'id': '1404971213462638593', 'name': 'ً', 'username': 'w7lill'},
 {'id': '29700545', 'name': 'Bian Mathew', 'username': 'bianmathew'},
 {'id': '17859282', 'name': 'Phyllis Khare', 'username': 'PhyllisKhare'},
 {'id': '1377257203619483651',
  'name': 'Deji Rules',
  'username': 'dejirules46'},
 {'id': '1159266493164609537',
  'name': 'Mohamed Salah',
  'username': 'salah_mohamed34'},
 {'id': '170528343', 'name': 'Jeff', 'username': 'MMJpatient150FL'},
 {'id': '70504454', 'name': 'Todor Tsarkov', 'username': 'RealDeath'},
 {'id': '2511128803', 'name': 'Max Damage', 'username': 'MaxDamageBG'},
 {'id': '1420908726345625603', 'name': 'Aiver', 'username': 'Aiver49567839'},
 {'id': '1285722713030565890',
  'name': 'The Leo Project',
  'username': 'TheLeoProject1'},
 {'id': '1000265803462144001',
  'name': '🎗 🐷 tox #TECHNOSUPPORT 🐷 🎗',
  'username': 'n3k0t0x'},
 {'id': '1428520959959396352', 'name': 'Mainly', 'username': 'Mainly07509745'},
 {'id': '2719983590', 'name': 'Journey', 'username': 'rjour71691'},
 {'id': '1433576916754251783',
  'name': 'CryptoPapa',
  'username': 'CryptoPapaH'},
 {'id': '2935752581',
  'name': 'IcelandHotSpots',
  'username': 'IcelandHotSpots'}]

Pagination

In [22]:
# Call the function to get "jack"'s 1,000 most recent followers
response = ot.get_followers('12', max_results = 1000)
response.keys()
Out[22]:
dict_keys(['data', 'meta'])
In [23]:
response["meta"]
Out[23]:
{'result_count': 999, 'next_token': 'MA15I9C3HQT1EZZZ'}
In [24]:
# Call the function again to get another 1,000 followers:
response_2 = ot.get_followers(
    '12',
    pagination_token=response['meta']['next_token'], 
    max_results = 1000
)
response_2["meta"]
Out[24]:
{'result_count': 1000,
 'next_token': '167J7O1EBUT1EZZZ',
 'previous_token': 'SB4RA7JUE52UGZZZ'}

Streaming

Twitter offers two different streaming endpoints to gather tweets in real-time:

  1. Filtered stream : The filtered stream endpoint enables developers to filter the real-time stream of public Tweets.
    • There are also filtered stream endpoints that enable you to create and manage matching rules, and apply those rules to filter a stream of real-time Tweets that will return matching public Tweets. For example, you can request all tweets which include the word "politics" or some other string.
  2. Sampled stream : The sampled stream endpoint delivers a roughly 1% random sample of publicly available Tweets in real-time.

Note: The streaming endpoints cannot be used with the Rate Limit Manager tool. Thus, during authorization the manage_rate_limits parameter must be set to False. See Adding filter rules for an example.

Contents

Filtered streaming

There are three different osometweet methods that will help you stream real-time filtered public tweets.

Type osometweet method Purpose Twitter endpoint
Streaming filtered_stream Connect to the stream GET /2/tweets/search/stream
Management set_filtered_stream_rule Add or delete rules from your stream POST /2/tweets/search/stream/rules
Management get_filtered_stream_rule Retrieve your stream's rules GET /2/tweets/search/stream/rules

To utilize the filtered_stream endpoint, we must first understand how to manage the matching rules. Matching rules are the criteria we provide to Twitter to tell them what we want them to give us.

For example, if we wanted only tweets that contain specific keywords - for example, "coronavirus" or "indiana" - we would need to create matching rules that tells Twitter to do exactly that. Here is what that looks like.

Adding filter rules

To add filter rules, we use the set_filtered_stream_rule method.

In [25]:
oauth2 = osometweet.OAuth2(
    bearer_token=bearer_token,
    manage_rate_limits=False    # <~~~ Must be set to False!!
)
ot = osometweet.OsomeTweet(oauth2)

# Add streaming rules
rules = [{"value": "coronavirus", "tag": "all coronavirus tweets"},
         {"value": "indiana", "tag": "all indiana tweets"}]
add_rules = {"add": rules}

response = ot.set_filtered_stream_rule(rules=add_rules) #<~~~ Where the magic happens!

print("API response from adding two rules:\n")
response
API response from adding two rules:

Out[25]:
{'data': [{'value': 'coronavirus',
   'tag': 'all coronavirus tweets',
   'id': '1433810556222377985'},
  {'value': 'indiana',
   'tag': 'all indiana tweets',
   'id': '1433810556222377986'}],
 'meta': {'sent': '2021-09-03T15:14:11.675Z',
  'summary': {'created': 2, 'not_created': 0, 'valid': 2, 'invalid': 0}}}

Understand adding filter rules

We highly recommend you check out Twitter's own documentation on how to build a rule. Also, see Building High Quality Filters for a more in depth review.

Nonetheless, we provide a basic explanation of how adding rules works and their structure to get you up and running.

Rules are added based on a list of dictionaries with the keys: value and tag. Each dictionary in that list makes up one rule where the keys represent the below...

  • value : The matching criteria
    • Twitter returns tweets that match this value's input. See the links above to learn about the different ways to match tweets.
  • tag : A label for the matching rule in that dictionary
    • This doesn't affect the actual tweets that are returned, however, if you have many rules, creating simple tags can be helpful should you want to find and delete specific rules (see Deleting filter rules for more information on this).

So the endpoint takes in something like the below (which you can see we created above in the Adding filter rules section).

{'add': [
    {'value': 'coronavirus', 'tag': 'all coronavirus tweets'},
    {'value': 'indiana', 'tag': 'all indiana tweets'}
]}

The top-level key add tells Twitter that we are adding rules and feeds the list as input of what to add.

Retrieving filter rules

Now, if we wanted to check that the rules added during the Adding filter rules section are actually there, we can use the get_filtered_stream_rule method.

We can do this like so...

In [26]:
current_rules = ot.get_filtered_stream_rule()
print("API response when retrieving current rules:\n")
current_rules
API response when retrieving current rules:

Out[26]:
{'data': [{'id': '1433810556222377985',
   'value': 'coronavirus',
   'tag': 'all coronavirus tweets'},
  {'id': '1433810556222377986',
   'value': 'indiana',
   'tag': 'all indiana tweets'}],
 'meta': {'sent': '2021-09-03T15:14:11.935Z'}}

We can see here, that our rules are included under the data key. The value and tag keys are included exactly as we passed them and each rule also includes a unique identifier key id.

Note, these ids will be unique each time you create these rules - i.e., that is if you add the rule which matches "coronavirus", it will create a unique value for id. If you then delete all of your rules and recreate that exact same rule, the value for id will not be the same.

Connecting to the filtered stream endpoint

Now that we have successfully added some matching rules, and we are confident they are there, we can connect to the streaming endpoint and begin gathering tweets. Here is how we do that...

In [27]:
import json

# Returns a generator
stream = ot.filtered_stream()

# Because we have a generator, we iterate over each tweet
num_tweets = 0
for tweet in stream.iter_lines():

    # Then, we read the json `tweet` object as a dictionary and select the `data`
    # Note: if it's not there for some reason, this line returns `None`...
    data = json.loads(tweet).get("data")

    # ... but if we do find data, we can then print each tweet
    if data:
        print(data)
        num_tweets +=1
    
    # Break after receiving 10 tweets
    if num_tweets > 10:
        break
{'id': '1433810534353326085', 'text': '@UnityNewsNet @stokie23 They can F off!!'}
{'id': '1433810536404226051', 'text': "@539th @INFN_ @istsupsan Nella fascia 10-19 anni, i decessi per Covid-19 risultano 16.\nNessun decesso per questa fascia d'età nella prima ondata.\n\nImportante sottolineare come anche i giovani possano morire di Covid-19, sia con il coronavirus originale che con varianti.\n\nNon e' una novità della Delta. https://t.co/Og0RUzRD36"}
{'id': '1433810535351455748', 'text': 'RT @Chequeado: Las vacunas contra el coronavirus no están hechas de fetos humanos.\n\nTe contamos qué son las líneas celulares en estas ilust…'}
{'id': '1433810534642733065', 'text': 'Alta tasa de vacunación en población protege a menores de la covid, dice\xa0EEUU https://t.co/nUmMQ89Qwu'}
{'id': '1433810535347261443', 'text': 'RT @EntrelineasNoOf: Escenas del CORONAVIRUS https://t.co/nKN4yXbjz8'}
{'id': '1433810539512205321', 'text': 'RT @latinus_us: Cierra escuela en Edomex tras caso de #COVID19; “no hubo contacto con alumnos”, asegura Educación estatal. #Coronavirus\n#La…'}
{'id': '1433810541001183234', 'text': '@SaturdayStar These poor guys should stop this recycling nonsense and just dish out billions of Baht in #PPE tenders for the political elite. Show dem #ANC!'}
{'id': '1433810540086837252', 'text': "RT @saraart4: @Mandrinvienne @GillesWell Ecoutez bien le scientiste l'immunité collective est impossible avec un vaccin qui mute, se recomb…"}
{'id': '1433810539373793310', 'text': "@franceinfo Et c'est la même politique que dans l'EN. Les élèves et les enseignants cas contacts, s'ils sont vaccinés, ne seront pas  considérés comme tels."}
{'id': '1433810541672292358', 'text': 'RT @AdrianBarbon: Tal y como anuncié ayer, Asturias ha alcanzado un nuevo hito: más del 80% de nuestra población tiene la pauta completa de…'}
{'id': '1433810543815561231', 'text': "@Life_Disrupted When did they say they were stopping testing, I'm sure it was soon?\n\nMaybe it's 50k🤷🏻\u200d♂️"}

Deleting filter rules

To delete filter rules, we use the set_filtered_stream_rule method again.

To delete rules, we need to provide a list of the id's for each rule that we'd like to delete. So if we have a current_rules object that represents the above dictionary, we can collect all of the tweet ids into a list with the below line.

In [28]:
current_rules = ot.get_filtered_stream_rule()
current_rules
Out[28]:
{'data': [{'id': '1433810556222377985',
   'value': 'coronavirus',
   'tag': 'all coronavirus tweets'},
  {'id': '1433810556222377986',
   'value': 'indiana',
   'tag': 'all indiana tweets'}],
 'meta': {'sent': '2021-09-03T15:14:18.125Z'}}
In [29]:
all_rule_ids = [rule["id"] for rule in current_rules["data"]]
all_rule_ids
Out[29]:
['1433810556222377985', '1433810556222377986']
In [30]:
delete_rule = {'delete': {'ids':all_rule_ids}}
ot.set_filtered_stream_rule(rules=delete_rule)
Out[30]:
{'meta': {'sent': '2021-09-03T15:14:19.637Z',
  'summary': {'deleted': 2, 'not_deleted': 0}}}

Notice that we needed to embed the list of ids inside of a dictionary prior to passing it to the method. Just like adding filter rules, the first key of this dictionary tells Twitter what action it should be doing - i.e., delete tells Twitter to remove rules, based on the list of ids provided.

Sampled streaming

We can access the sampled streaming endpoint with the sampled_stream method.

Connecting to the sampled stream endpoint

As this endpoint doesn't take any matching criteria and simply returns a general 1% sample, there is much less to think about and we can begin collecting tweets from the sampled stream in the following way...

In [31]:
# Returns a generator
stream = ot.sampled_stream()

# Because we have a generator, we iterate over each tweet
num_tweets = 0
for tweet in stream.iter_lines():
    
    # Then, we read the json `tweet` object as a dictionary and select the `data`
    # Note: if it's not there for some reason, this line returns `None`...
    data = json.loads(tweet).get("data")

    # ... but if we do find data, we can then print each tweet
    if data:
        print(data)
        num_tweets += 1
        
    # Break after receiving 10 tweets
    if num_tweets > 10:
        break
{'id': '1433810566678671370', 'text': "@ExiIedVanity You're out but the fight continues!\n\nGo to https://t.co/SlqznnIDUL for more info."}
{'id': '1433810566674468866', 'text': "RT @kstargift: [Candidate 2] #StrayKids' #BangChan\n\nCrowdfund a Birthday ad for him!\n▶https://t.co/idAnsAZ3iY\n\nIdol with the most crowdfund…"}
{'id': '1433810566657626116', 'text': 'RT @hourlyeonbin: a reminder that yeonjun carried soobin to his bed when they were trainees :( https://t.co/WwQrHax44K'}
{'id': '1433810570852065283', 'text': 'No me reconozco jajaja'}
{'id': '1433810570843656231', 'text': '@LukaDicksMeDown @_FootballFilms_ No, falcuhave the best RB room. Got good dudes at all 3 levels'}
{'id': '1433810570864697345', 'text': '@tkools88 @DivaDelux Sex cells 🧐'}
{'id': '1433810570868822038', 'text': '@vascaindio elas tao melhorzinha não fala assim delas'}
{'id': '1433810570860433449', 'text': 'MAÇI ALIRSAK GRUPTA ULUYORUZ'}
{'id': '1433810570856304648', 'text': '@egoinasis Heyecandan götğm tutuştu'}
{'id': '1433810566682918913', 'text': 'me tryna spin like mj https://t.co/dC16xS09jH'}
{'id': '1433810566653497346', 'text': 'Aasawahin po. https://t.co/8nK7H6RXww'}

In [32]:
ot.search(query="grumpy cat")
Out[32]:
{'data': [{'id': '1433809762563596293',
   'text': 'RT @i__am_sha: Grumpy Cat Not Happy About Having His Hair Cut. https://t.co/KCURvVY6Qt'},
  {'id': '1433809215332683801',
   'text': 'RT @stansLPS: Nobody wants to feel the wrath of grumpy cat or a grumpy fellow employee! Refill the paper! #GrumpyCat #FridayFunny #Woodstoc…'},
  {'id': '1433807009317588992',
   'text': 'Nobody wants to feel the wrath of grumpy cat or a grumpy fellow employee! Refill the paper! #GrumpyCat #FridayFunny #WoodstockIL #StansLPS #Ricoh #Canon #Lexmark #Toshiba #Refill #Paper #Printing https://t.co/ToZEhrdfXo'},
  {'id': '1433804034473824267',
   'text': 'Check out this listing I just added to my #Poshmark closet: Gund Grumpy Cat Plush Toy. https://t.co/Hv9yYG7pSy #shopmycloset @poshmarkapp'},
  {'id': '1433803872347115524',
   'text': 'I got reminded Grumpy Cat passed away and now I am sad'},
  {'id': '1433803185676750848',
   'text': "RT @G4ME_123: #Luckae with cat diluc because I'm obsessed with his grumpy expression https://t.co/2RJWgO3x3S"},
  {'id': '1433801432042512389',
   'text': 'RT @KB_AlterAccount: Hahaha omg he would be a grumpy cat \nI think he would hate the birthday celebrations. Ipek would be upset that he was…'},
  {'id': '1433796919462174722',
   'text': 'How did Grumpy Cat know?\n#migraine #spoonie https://t.co/aIChfIZf86'},
  {'id': '1433793495559516165',
   'text': "@DamienDennehy I've been referred to as 'Grumpy Cat' multiple times."},
  {'id': '1433792731101347842',
   'text': "RT @CheschireBacon: Finally decided on a name for him: \nIndigo.\nGrumpy cat man, I'm thinking on him being a innkeeper of sorts. https://t.c…"}],
 'meta': {'newest_id': '1433809762563596293',
  'oldest_id': '1433792731101347842',
  'result_count': 10,
  'next_token': 'b26v89c19zqg8o3fpdp7idnkh942k1hxjypo9ow07m6pp'}}
In [33]:
help(ot.search)
Help on method search in module osometweet.api:

search(query: str = None, everything: bool = False, fields: osometweet.fields.ObjectFields = None, expansions: osometweet.expansions.TweetExpansions = None, full_archive_search: bool = False, **kwargs) -> dict method of osometweet.api.OsomeTweet instance
    Return tweets matching a search query. Use either the Recent Search or
    Full Archive Search endpoints via full_archive_search parameter.
    
    Recent Search: search tweets from the past 7 days
        - Reference: https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-recent
    Full Archive Search (Academic product track only!): search the complete
        history of public Tweets.
        - Reference: https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-all
    
    How to Build a Query:
        - Reference: https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query
    
    Parameters:
    ----------
    - query: (str) - One query for matching Tweets.
        Recent Search query limit = 512
        Full Archive query limit = 1024
    - everything: (bool) - if True, return all fields and expansions.
        (default = False)
    - fields: (ObjectFields) - additional fields to return. (default =
        None)
    - expansions: (ExpansionsObject) - Expansions enable requests to
        expand an ID into a full object in the response. (default = None)
    - full_archive_search (bool): True = use Full Archive Search endpoint
        (Academic Track only). False = use Recent Search endpoint.
    - kwargs - for optional arguments like "start_time", "end_time" and
        "next_token"
    
    Available kwargs:
    ----------
    - end_time (date (ISO 8601)): Used with `start_time`. The newest,
        most recent UTC timestamp to which the Tweets will be provided.
        Timestamp is in second granularity and is exclusive (for example,
        12:00:01 excludes the first second of the minute). If used without
        `start_time`, Tweets from 30 days before `end_time` will be
        returned by default. If not specified, `end_time` will default to
        [now - 30 seconds].
    - max_results (int) : The maximum number of search results to be
        returned by a request. A number between 10 and the system limit
        (currently 500). By default, a request response will return 10
        results.
    - next_token (str) :  This parameter is used to move to the next 'page'
        of results, based on the value of the `next_token` in the response.
        (E.g., after executing `response = search()`, `next_token` can be
        found with `response["meta"]["next_token"]` - which should then be
        passed to the search method)
    - since_id (str) : Returns results with a Tweet ID greater than (for
        example, more recent than) the specified ID. The ID specified is
        exclusive and responses will not include it. If included with the
        same request as a start_time parameter, only since_id will be used.
    - start_time (date ISO 8601) : The oldest UTC timestamp from which the
        Tweets will be provided. Timestamp is in second granularity and is
        inclusive (for example, 12:00:01 includes the first second of the
        minute). By default, a request will return Tweets from up to 30
        days ago if you do not include this parameter.
    - until_id (str) : Returns results with a Tweet ID less than (that is,
        older than) the specified ID. Used with since_id. The ID specified
        is exclusive and responses will not include it.
    
    Operators:
    ----------
    
    Standalone (can be used on their own):
        - keyword
        - emoji
        - #
        - @
        - $ (Academic research only)
        - from:
        - to:
        - url:
        - retweets_of:
        - context:
        - entitiy:
        - conversation_id:
        - place: (Academic research only)
        - place_country: (Academic research only)
        - point_radius: (Academic research only)
        - bounding_box: (Academic research only)
    
    Conjuction (must be used with standalone operators):
        - is:retweet
        - is:quote
        - is:verified
        - -is:nullcast (Academic research only)
        - has:hashtags
        - has:cashtags (Academic research only)
        - has:links
        - has:mentions
        - has:media
        - has:images
        - has:videos
        - has:geo (Academic research only)
        - lang:
    
    Returns:
        - dict
    
    Raises:
        - Exception
        - ValueError

In [34]:
from osometweet.utils import convert_date_to_iso

start = convert_date_to_iso("2020-01-01")
end = convert_date_to_iso("2020-02-01")

print(start)
2020-01-01T00:00:00Z
In [35]:
response = ot.search(
    query="grumpy cat",
    start_time=start,
    end_time=end,
    full_archive_search=True,
    max_results=10,
    everything=True
)
response
Out[35]:
{'data': [{'lang': 'en',
   'text': '@RealGrumpyCat \nRIP Grumpy Cat',
   'created_at': '2020-01-31T23:50:49.000Z',
   'public_metrics': {'retweet_count': 0,
    'reply_count': 0,
    'like_count': 0,
    'quote_count': 0},
   'source': 'Twitter Web App',
   'author_id': '1216520433815691265',
   'reply_settings': 'everyone',
   'id': '1223393226805125120',
   'in_reply_to_user_id': '860237030',
   'entities': {'mentions': [{'start': 0,
      'end': 14,
      'username': 'RealGrumpyCat',
      'id': '860237030'}]},
   'conversation_id': '1223393226805125120',
   'possibly_sensitive': False},
  {'lang': 'en',
   'entities': {'urls': [{'start': 83,
      'end': 106,
      'url': 'https://t.co/bOc5WvSzmC',
      'expanded_url': 'https://abcn.ws/2vzagss',
      'display_url': 'abcn.ws/2vzagss',
      'status': 200,
      'unwound_url': 'https://abcnews.go.com/US/worlds-worst-cat-adoption-north-carolina-animal-shelter/story?id=68459793&cid=social_twitter_abcn'}],
    'mentions': [{'start': 3, 'end': 7, 'username': 'ABC', 'id': '28785486'}]},
   'text': 'RT @ABC: A grumpy cat dubbed the "World\'s Worst" has found herself a happy family. https://t.co/bOc5WvSzmC',
   'created_at': '2020-01-31T23:42:08.000Z',
   'public_metrics': {'retweet_count': 32,
    'reply_count': 0,
    'like_count': 0,
    'quote_count': 0},
   'source': 'Twitter for Android',
   'author_id': '613642580',
   'reply_settings': 'everyone',
   'id': '1223391043594473475',
   'referenced_tweets': [{'type': 'retweeted', 'id': '1223272233977765889'}],
   'context_annotations': [{'domain': {'id': '45',
      'name': 'Brand Vertical',
      'description': 'Top level entities that describe a Brands industry'},
     'entity': {'id': '781974597310615553', 'name': 'Entertainment'}},
    {'domain': {'id': '46',
      'name': 'Brand Category',
      'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
     'entity': {'id': '781974596157181956', 'name': 'Online Site'}},
    {'domain': {'id': '46',
      'name': 'Brand Category',
      'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
     'entity': {'id': '781974597105094656', 'name': 'TV/Movies Related'}},
    {'domain': {'id': '47',
      'name': 'Brand',
      'description': 'Brands and Companies'},
     'entity': {'id': '1065650820518051840',
      'name': 'ABC News',
      'description': 'ABC News'}}],
   'conversation_id': '1223391043594473475',
   'possibly_sensitive': False},
  {'lang': 'en',
   'entities': {'urls': [{'start': 76,
      'end': 99,
      'url': 'https://t.co/IweUWp0KwX',
      'expanded_url': 'https://currently.att.yahoo.com/att/meet-meow-meow-grumpy-cat-053315952.html?soc_src=social-sh&soc_trk=tw',
      'display_url': 'currently.att.yahoo.com/att/meet-meow-…'}],
    'mentions': [{'start': 104,
      'end': 110,
      'username': 'Yahoo',
      'id': '19380829'}]},
   'text': 'Meet ‘Meow Meow’, the new grumpy cat that’s even angrier than her precursor https://t.co/IweUWp0KwX via @Yahoo',
   'created_at': '2020-01-31T23:41:26.000Z',
   'public_metrics': {'retweet_count': 0,
    'reply_count': 0,
    'like_count': 0,
    'quote_count': 0},
   'source': 'Twitter Web Client',
   'author_id': '785597240',
   'reply_settings': 'everyone',
   'id': '1223390865609187329',
   'context_annotations': [{'domain': {'id': '46',
      'name': 'Brand Category',
      'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
     'entity': {'id': '781974596752842752', 'name': 'Services'}},
    {'domain': {'id': '47',
      'name': 'Brand',
      'description': 'Brands and Companies'},
     'entity': {'id': '10027474933', 'name': 'Yahoo!'}}],
   'conversation_id': '1223390865609187329',
   'possibly_sensitive': False},
  {'lang': 'en',
   'entities': {'urls': [{'start': 77,
      'end': 100,
      'url': 'https://t.co/IoffHdc7kv',
      'expanded_url': 'https://twitter.com/emm_elou/status/1223387577329377280/photo/1',
      'display_url': 'pic.twitter.com/IoffHdc7kv'},
     {'start': 77,
      'end': 100,
      'url': 'https://t.co/IoffHdc7kv',
      'expanded_url': 'https://twitter.com/emm_elou/status/1223387577329377280/photo/1',
      'display_url': 'pic.twitter.com/IoffHdc7kv'},
     {'start': 77,
      'end': 100,
      'url': 'https://t.co/IoffHdc7kv',
      'expanded_url': 'https://twitter.com/emm_elou/status/1223387577329377280/photo/1',
      'display_url': 'pic.twitter.com/IoffHdc7kv'},
     {'start': 77,
      'end': 100,
      'url': 'https://t.co/IoffHdc7kv',
      'expanded_url': 'https://twitter.com/emm_elou/status/1223387577329377280/photo/1',
      'display_url': 'pic.twitter.com/IoffHdc7kv'},
     {'start': 101,
      'end': 124,
      'url': 'https://t.co/q1D6t4LtJQ',
      'expanded_url': 'https://twitter.com/Dumbfuckingass/status/1221363875016298496',
      'display_url': 'twitter.com/Dumbfuckingass…'}]},
   'text': 'I was grumpy bc of work when I made these, but then I came home to my cat so https://t.co/IoffHdc7kv https://t.co/q1D6t4LtJQ',
   'created_at': '2020-01-31T23:28:22.000Z',
   'public_metrics': {'retweet_count': 0,
    'reply_count': 3,
    'like_count': 8,
    'quote_count': 1},
   'source': 'Twitter Web App',
   'author_id': '2943472298',
   'reply_settings': 'everyone',
   'id': '1223387577329377280',
   'referenced_tweets': [{'type': 'quoted', 'id': '1221363875016298496'}],
   'attachments': {'media_keys': ['3_1223387560283602944',
     '3_1223387560283688963',
     '3_1223387560321462277',
     '3_1223387560287907842']},
   'context_annotations': [{'domain': {'id': '65',
      'name': 'Interests and Hobbies Vertical',
      'description': 'Top level interests and hobbies groupings, like Food or Travel'},
     'entity': {'id': '852262932607926273',
      'name': 'Pets',
      'description': 'Pets'}},
    {'domain': {'id': '30',
      'name': 'Entities [Entity Service]',
      'description': 'Entity Service top level domain, every item that is in Entity Service should be in this domain'},
     'entity': {'id': '852263859209478144',
      'name': 'Cats',
      'description': 'Cats'}}],
   'conversation_id': '1223387577329377280',
   'possibly_sensitive': False},
  {'lang': 'en',
   'text': 'I accidentally fell asleep and my grumpy cat who’s not that affectionate fell asleep between my legs. But when I wake up she nopes off the bed. LET ME LOVE YOU, I KNOW YOU LOVE ME!',
   'created_at': '2020-01-31T23:21:44.000Z',
   'public_metrics': {'retweet_count': 0,
    'reply_count': 0,
    'like_count': 0,
    'quote_count': 0},
   'source': 'Twitter for iPhone',
   'author_id': '1042475571039485952',
   'reply_settings': 'everyone',
   'id': '1223385907459346432',
   'conversation_id': '1223385907459346432',
   'possibly_sensitive': False},
  {'lang': 'en',
   'text': '@ChaosRonny Grumpy cat 😎',
   'created_at': '2020-01-31T23:19:21.000Z',
   'public_metrics': {'retweet_count': 0,
    'reply_count': 1,
    'like_count': 1,
    'quote_count': 0},
   'source': 'Twitter for Android',
   'author_id': '1030592330397560836',
   'reply_settings': 'everyone',
   'id': '1223385308701523969',
   'in_reply_to_user_id': '917436663156105217',
   'referenced_tweets': [{'type': 'replied_to', 'id': '1223279067031576581'}],
   'entities': {'mentions': [{'start': 0,
      'end': 11,
      'username': 'ChaosRonny',
      'id': '917436663156105217'}]},
   'conversation_id': '1223279067031576581',
   'possibly_sensitive': False},
  {'lang': 'en',
   'text': '@RWTrollPatrol @RepSwalwell @realDonaldTrump @LindseyGrahamSC And in other news, @AdamSchiff reported he has uncovered even more evidence of collusion after a holding a seance with the spirits of Grumpy Cat and Harambe. This will be an exclusive on @CNN later tonight. Be sure to tune in.',
   'created_at': '2020-01-31T22:57:31.000Z',
   'public_metrics': {'retweet_count': 0,
    'reply_count': 0,
    'like_count': 0,
    'quote_count': 0},
   'source': 'Twitter for iPhone',
   'author_id': '56475108',
   'reply_settings': 'everyone',
   'id': '1223379813790076928',
   'in_reply_to_user_id': '715617989656051712',
   'referenced_tweets': [{'type': 'replied_to', 'id': '1222913243791818752'}],
   'entities': {'mentions': [{'start': 0,
      'end': 14,
      'username': 'RWTrollPatrol',
      'id': '715617989656051712'},
     {'start': 15, 'end': 27, 'username': 'RepSwalwell', 'id': '942156122'},
     {'start': 28, 'end': 44, 'username': 'realDonaldTrump', 'id': '25073877'},
     {'start': 45,
      'end': 61,
      'username': 'LindseyGrahamSC',
      'id': '432895323'},
     {'start': 81, 'end': 92, 'username': 'AdamSchiff', 'id': '133028836'},
     {'start': 249, 'end': 253, 'username': 'CNN', 'id': '759251'}],
    'annotations': [{'start': 196,
      'end': 205,
      'probability': 0.606,
      'type': 'Other',
      'normalized_text': 'Grumpy Cat'},
     {'start': 211,
      'end': 217,
      'probability': 0.3855,
      'type': 'Person',
      'normalized_text': 'Harambe'}]},
   'context_annotations': [{'domain': {'id': '10',
      'name': 'Person',
      'description': 'Named people in the world like Nelson Mandela'},
     'entity': {'id': '799022225751871488',
      'name': 'Donald Trump',
      'description': 'US President Donald Trump'}},
    {'domain': {'id': '10',
      'name': 'Person',
      'description': 'Named people in the world like Nelson Mandela'},
     'entity': {'id': '940606231609147393',
      'name': 'Eric Swalwell',
      'description': 'US Representative Eric Swalwell (CA-15)'}},
    {'domain': {'id': '35',
      'name': 'Politician',
      'description': 'Politicians in the world, like Joe Biden'},
     'entity': {'id': '799022225751871488',
      'name': 'Donald Trump',
      'description': 'US President Donald Trump'}},
    {'domain': {'id': '35',
      'name': 'Politician',
      'description': 'Politicians in the world, like Joe Biden'},
     'entity': {'id': '940606231609147393',
      'name': 'Eric Swalwell',
      'description': 'US Representative Eric Swalwell (CA-15)'}},
    {'domain': {'id': '10',
      'name': 'Person',
      'description': 'Named people in the world like Nelson Mandela'},
     'entity': {'id': '10038636953',
      'name': 'Lindsey Graham',
      'description': 'Senator Lindsey Graham (SC)'}},
    {'domain': {'id': '35',
      'name': 'Politician',
      'description': 'Politicians in the world, like Joe Biden'},
     'entity': {'id': '10038636953',
      'name': 'Lindsey Graham',
      'description': 'Senator Lindsey Graham (SC)'}},
    {'domain': {'id': '45',
      'name': 'Brand Vertical',
      'description': 'Top level entities that describe a Brands industry'},
     'entity': {'id': '781974597310615553', 'name': 'Entertainment'}},
    {'domain': {'id': '46',
      'name': 'Brand Category',
      'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
     'entity': {'id': '781974597105094656', 'name': 'TV/Movies Related'}},
    {'domain': {'id': '47',
      'name': 'Brand',
      'description': 'Brands and Companies'},
     'entity': {'id': '10040667043', 'name': 'CNN'}}],
   'conversation_id': '1222887607073492993',
   'possibly_sensitive': False},
  {'lang': 'en',
   'entities': {'urls': [{'start': 63,
      'end': 86,
      'url': 'https://t.co/KCURvVY6Qt',
      'expanded_url': 'https://twitter.com/iamshatwo/status/1205661695806525441/video/1',
      'display_url': 'pic.twitter.com/KCURvVY6Qt'}]},
   'text': 'RT @iamshatwo: Grumpy Cat Not Happy About Having His Hair Cut. https://t.co/KCURvVY6Qt',
   'created_at': '2020-01-31T22:56:31.000Z',
   'public_metrics': {'retweet_count': 2119,
    'reply_count': 0,
    'like_count': 0,
    'quote_count': 0},
   'source': 'Twitter Web App',
   'author_id': '1143501985557049345',
   'reply_settings': 'everyone',
   'id': '1223379560747565057',
   'referenced_tweets': [{'type': 'retweeted', 'id': '1205661695806525441'}],
   'attachments': {'media_keys': ['7_1205660998037843968']},
   'conversation_id': '1223379560747565057',
   'possibly_sensitive': False},
  {'lang': 'en',
   'text': '@amandamull I am become Grumpy Cat, destroyer of worlds',
   'created_at': '2020-01-31T22:54:54.000Z',
   'public_metrics': {'retweet_count': 0,
    'reply_count': 0,
    'like_count': 3,
    'quote_count': 0},
   'source': 'Twitter Web Client',
   'author_id': '218700551',
   'reply_settings': 'everyone',
   'id': '1223379156299370497',
   'in_reply_to_user_id': '25198779',
   'referenced_tweets': [{'type': 'replied_to', 'id': '1223378807383564288'}],
   'entities': {'mentions': [{'start': 0,
      'end': 11,
      'username': 'amandamull',
      'id': '25198779'}]},
   'conversation_id': '1223377853703692289',
   'possibly_sensitive': False},
  {'lang': 'en',
   'entities': {'urls': [{'start': 63,
      'end': 86,
      'url': 'https://t.co/KCURvVY6Qt',
      'expanded_url': 'https://twitter.com/iamshatwo/status/1205661695806525441/video/1',
      'display_url': 'pic.twitter.com/KCURvVY6Qt'}]},
   'text': 'RT @iamshatwo: Grumpy Cat Not Happy About Having His Hair Cut. https://t.co/KCURvVY6Qt',
   'created_at': '2020-01-31T22:34:03.000Z',
   'public_metrics': {'retweet_count': 2119,
    'reply_count': 0,
    'like_count': 0,
    'quote_count': 0},
   'source': 'Twitter for Android',
   'author_id': '816947950345560064',
   'reply_settings': 'everyone',
   'id': '1223373908679639045',
   'referenced_tweets': [{'type': 'retweeted', 'id': '1205661695806525441'}],
   'attachments': {'media_keys': ['7_1205660998037843968']},
   'conversation_id': '1223373908679639045',
   'possibly_sensitive': False}],
 'includes': {'users': [{'profile_image_url': 'https://pbs.twimg.com/profile_images/1222854602808340482/b6u4eTd2_normal.jpg',
    'verified': False,
    'created_at': '2020-01-13T00:40:58.000Z',
    'id': '1216520433815691265',
    'url': '',
    'username': 'TimetravelerThe',
    'name': 'The TimeTraveler',
    'public_metrics': {'followers_count': 3,
     'following_count': 51,
     'tweet_count': 93,
     'listed_count': 0},
    'description': '',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1080545769034108928/CEzHCTpI_normal.jpg',
    'verified': True,
    'created_at': '2012-10-03T19:42:41.000Z',
    'id': '860237030',
    'url': 'https://t.co/GSwxT4CXMs',
    'pinned_tweet_id': '1360359252200542210',
    'location': 'Arizona',
    'username': 'RealGrumpyCat',
    'name': 'Grumpy Cat',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/GSwxT4CXMs',
        'expanded_url': 'https://www.grumpycats.com/shop',
        'display_url': 'grumpycats.com/shop'}]},
     'description': {'urls': [{'start': 78,
        'end': 101,
        'url': 'https://t.co/tHU9DEs4TV',
        'expanded_url': 'http://Instagram.com/realgrumpycat',
        'display_url': 'Instagram.com/realgrumpycat'},
       {'start': 102,
        'end': 125,
        'url': 'https://t.co/LscGBQSdlt',
        'expanded_url': 'http://Facebook.com/theofficialgrumpycat',
        'display_url': 'Facebook.com/theofficialgru…'}],
      'hashtags': [{'start': 48, 'end': 59, 'tag': 'TeamGrumpy'},
       {'start': 60, 'end': 77, 'tag': 'GrumpyCatForever'}]}},
    'public_metrics': {'followers_count': 1550853,
     'following_count': 50916,
     'tweet_count': 9327,
     'listed_count': 1934},
    'description': "Official Twitter for The World's grumpiest cat! #TeamGrumpy #GrumpyCatForever https://t.co/tHU9DEs4TV https://t.co/LscGBQSdlt",
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1171922735968194560/yRlvV_H8_normal.jpg',
    'verified': False,
    'created_at': '2012-06-20T18:18:11.000Z',
    'id': '613642580',
    'url': '',
    'location': 'Scottsville Ky',
    'username': 'sweetangeljessi',
    'name': 'jessica dicken',
    'public_metrics': {'followers_count': 134,
     'following_count': 740,
     'tweet_count': 7326,
     'listed_count': 0},
    'description': '',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1082358814819536896/19QbYCgF_normal.jpg',
    'verified': True,
    'created_at': '2009-04-04T12:40:32.000Z',
    'id': '28785486',
    'url': 'https://t.co/26XEt8onYo',
    'location': 'New York City / Worldwide',
    'username': 'ABC',
    'name': 'ABC News',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/26XEt8onYo',
        'expanded_url': 'https://abcnews.go.com/',
        'display_url': 'abcnews.go.com'}]},
     'description': {'urls': [{'start': 118,
        'end': 141,
        'url': 'https://t.co/w3wQ1O1Szs',
        'expanded_url': 'http://abcn.ws/3bJ62RK',
        'display_url': 'abcn.ws/3bJ62RK'}],
      'mentions': [{'start': 61, 'end': 65, 'username': 'ABC'},
       {'start': 111, 'end': 116, 'username': 'Hulu'}]}},
    'public_metrics': {'followers_count': 16803175,
     'following_count': 507,
     'tweet_count': 358261,
     'listed_count': 63186},
    'description': 'All the news and information you need to see, curated by the @ABC News team. Watch full ABC News broadcasts on @Hulu: https://t.co/w3wQ1O1Szs',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/2550327855/qsf6tl1rsodwg1dpkvu0_normal.jpeg',
    'verified': False,
    'created_at': '2012-08-27T22:15:09.000Z',
    'id': '785597240',
    'url': '',
    'location': 'Ohio, USA',
    'username': 'Witchwelly',
    'name': 'KITTY',
    'public_metrics': {'followers_count': 1209,
     'following_count': 2112,
     'tweet_count': 27470,
     'listed_count': 66},
    'description': 'I Love Art, Music, Cooking and Animals, Reading, Gardening and My Man!',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1410617687311409162/YVPPfgzX_normal.jpg',
    'verified': True,
    'created_at': '2009-01-23T04:14:41.000Z',
    'id': '19380829',
    'url': 'http://t.co/PpRLXHyT0n',
    'location': 'Sunnyvale CA',
    'username': 'Yahoo',
    'name': 'Yahoo',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 22,
        'url': 'http://t.co/PpRLXHyT0n',
        'expanded_url': 'http://www.yahoo.com',
        'display_url': 'yahoo.com'}]},
     'description': {'mentions': [{'start': 75,
        'end': 85,
        'username': 'YahooCare'}]}},
    'public_metrics': {'followers_count': 1412624,
     'following_count': 7674,
     'tweet_count': 108199,
     'listed_count': 8378},
    'description': "Yahoo's official Twitter, sharing the best of our network. For email help: @YahooCare.",
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/749771128474771456/QIHhHEw8_normal.jpg',
    'verified': False,
    'created_at': '2014-12-26T04:00:39.000Z',
    'id': '2943472298',
    'url': '',
    'pinned_tweet_id': '1142608120474230785',
    'username': 'emm_elou',
    'name': 'Emmy',
    'entities': {'description': {'mentions': [{'start': 142,
        'end': 154,
        'username': 'artbychromo'}]}},
    'public_metrics': {'followers_count': 85,
     'following_count': 119,
     'tweet_count': 5593,
     'listed_count': 0},
    'description': 'she/her | 28 | graphic designer slowly morphing into a web developer like a weird, wingless butterfly. also, very into D&D—I post some art on @artbychromo!',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1321974061690507265/5oRLS3aB_normal.jpg',
    'verified': False,
    'created_at': '2013-12-05T01:35:42.000Z',
    'id': '2208174514',
    'url': '',
    'pinned_tweet_id': '1221363875016298496',
    'location': 'lesbian she/they',
    'username': 'Dumbfuckingass',
    'name': 'Alixcx\U0001f9c4',
    'public_metrics': {'followers_count': 848,
     'following_count': 273,
     'tweet_count': 17562,
     'listed_count': 0},
    'description': "if you're a football account DO NOT INTERACT///////\nDIRTY SLAG X BAD FREAK X KILLER CLOWN💋🔥😈🔗\n\n🖤27/7/18 🖤",
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1426255879842586624/v1kNZzpT_normal.jpg',
    'verified': False,
    'created_at': '2018-09-19T18:08:39.000Z',
    'id': '1042475571039485952',
    'url': '',
    'pinned_tweet_id': '1224774101694238720',
    'location': 'Casa de tu mom',
    'username': 'witchyweenie',
    'name': 'jesikita',
    'public_metrics': {'followers_count': 7,
     'following_count': 22,
     'tweet_count': 399,
     'listed_count': 0},
    'description': 'a surprisingly decent human being',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1431729631233781763/f2L3STor_normal.jpg',
    'verified': False,
    'created_at': '2018-08-17T23:08:53.000Z',
    'id': '1030592330397560836',
    'url': '',
    'pinned_tweet_id': '1084228422182862848',
    'location': 'Bonn, Deutschland',
    'username': 'quotes_bundy',
    'name': 'Mir doch egal🕴️',
    'entities': {'description': {'urls': [{'start': 88,
        'end': 111,
        'url': 'https://t.co/aJ38oeNedO',
        'expanded_url': 'https://twitter.com/search?q=from%3Aquotes_bundy%20min_faves%3A90&s=09',
        'display_url': 'twitter.com/search?q=from%…'}]}},
    'public_metrics': {'followers_count': 332,
     'following_count': 503,
     'tweet_count': 11317,
     'listed_count': 1},
    'description': 'Der Mond ist voll und ich hab auch schon Durst | Nazis raus | Auch ein blindes Huhn ... https://t.co/aJ38oeNedO',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1375082327936733184/xBHaXBeJ_normal.jpg',
    'verified': False,
    'created_at': '2017-10-09T17:08:40.000Z',
    'id': '917436663156105217',
    'url': 'https://t.co/eq8GR0h5Xr',
    'pinned_tweet_id': '1326884344829513728',
    'location': 'Herford, Nordrhein-Westfalen',
    'username': 'ChaosRonny',
    'name': 'Darth Flauscheflamingo \U0001f9a9',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/eq8GR0h5Xr',
        'expanded_url': 'http://Instagram.com/chaos_ronny',
        'display_url': 'Instagram.com/chaos_ronny'}]},
     'description': {'urls': [{'start': 114,
        'end': 137,
        'url': 'https://t.co/YfqBXZoK1R',
        'expanded_url': 'https://bit.ly/3exBUYn',
        'display_url': 'bit.ly/3exBUYn'}],
      'hashtags': [{'start': 63, 'end': 76, 'tag': 'Serienjunkie'},
       {'start': 81, 'end': 84, 'tag': 'QD'}],
      'mentions': [{'start': 42, 'end': 58, 'username': 'FlamingoKreativ'}]}},
    'public_metrics': {'followers_count': 358,
     'following_count': 87,
     'tweet_count': 83001,
     'listed_count': 14},
    'description': 'Nur echt mit Kofferschnauze -- \n\nKreativ: @FlamingoKreativ --\n\n#Serienjunkie --\n\n#QD : TanteFlamingo -- \n\nTweets: https://t.co/YfqBXZoK1R',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/2818991995/23a25317121c80c62b616dc11b75dd8e_normal.jpeg',
    'verified': False,
    'created_at': '2009-07-13T19:57:10.000Z',
    'id': '56475108',
    'url': '',
    'pinned_tweet_id': '1080321283647254528',
    'username': 'MichaelEastwick',
    'name': 'Michael Eastwick',
    'public_metrics': {'followers_count': 418,
     'following_count': 704,
     'tweet_count': 16691,
     'listed_count': 2},
    'description': 'PROUD AMERICAN frustrated by BOTH political parties',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/823198937926336512/3p4EGRxP_normal.jpg',
    'verified': False,
    'created_at': '2016-03-31T19:13:19.000Z',
    'id': '715617989656051712',
    'url': 'https://t.co/I2fIiO1PNL',
    'pinned_tweet_id': '1267810529780723712',
    'location': 'PNW ',
    'username': 'RWTrollPatrol',
    'name': 'Trump Crisis',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/I2fIiO1PNL',
        'expanded_url': 'https://www.justice.gov/sco',
        'display_url': 'justice.gov/sco'}]}},
    'public_metrics': {'followers_count': 11477,
     'following_count': 5399,
     'tweet_count': 134818,
     'listed_count': 70},
    'description': "Former rescue crewman and rescue swimmer on Copter 7. Sheriff's SAR K9 handler. Two time recipient of the MOV.  Sheriff's Air Unit.",
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1401180772577513472/JZoEI6td_normal.jpg',
    'verified': True,
    'created_at': '2012-11-11T20:26:01.000Z',
    'id': '942156122',
    'url': 'https://t.co/tq8A1WWg2Y',
    'location': 'East Bay, CA & DC (CA-15)',
    'username': 'RepSwalwell',
    'name': 'Rep. Eric Swalwell',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/tq8A1WWg2Y',
        'expanded_url': 'http://swalwell.house.gov',
        'display_url': 'swalwell.house.gov'}]},
     'description': {'mentions': [{'start': 51,
        'end': 66,
        'username': 'HouseJudiciary'},
       {'start': 67, 'end': 78, 'username': 'HouseIntel'},
       {'start': 79, 'end': 92, 'username': 'HomelandDems'}]}},
    'public_metrics': {'followers_count': 1112641,
     'following_count': 10670,
     'tweet_count': 16312,
     'listed_count': 5693},
    'description': 'Husband | Dad to Nelson&Cricket | CA Congressman | @HouseJudiciary @HouseIntel @HomelandDems',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1235299656063733760/b1RnM8w3_normal.jpg',
    'verified': True,
    'created_at': '2011-12-09T22:21:03.000Z',
    'id': '432895323',
    'url': 'https://t.co/bM2rOxm6ub',
    'location': 'South Carolina',
    'username': 'LindseyGrahamSC',
    'name': 'Lindsey Graham',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/bM2rOxm6ub',
        'expanded_url': 'http://www.lindseygraham.com',
        'display_url': 'lindseygraham.com'}]}},
    'public_metrics': {'followers_count': 1997892,
     'following_count': 2046,
     'tweet_count': 12909,
     'listed_count': 8704},
    'description': 'The official Twitter feed for United States Senator Lindsey Graham.',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1418565008754098179/A0v3uGtC_normal.jpg',
    'verified': True,
    'created_at': '2010-04-14T20:51:27.000Z',
    'id': '133028836',
    'url': 'https://t.co/TW80FG27Qx',
    'pinned_tweet_id': '1428017095288164360',
    'location': 'Burbank, CA',
    'username': 'AdamSchiff',
    'name': 'Adam Schiff',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/TW80FG27Qx',
        'expanded_url': 'http://www.AdamSchiff.com',
        'display_url': 'AdamSchiff.com'}]}},
    'public_metrics': {'followers_count': 576860,
     'following_count': 785,
     'tweet_count': 1953,
     'listed_count': 1936},
    'description': 'Father, husband, former federal prosecutor, triathlete and sometimes comic. Congressman from California. Join our team 👇',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1278259160644227073/MfCyF7CG_normal.jpg',
    'verified': True,
    'created_at': '2007-02-09T00:35:02.000Z',
    'id': '759251',
    'url': 'http://t.co/IaghNW8Xm2',
    'username': 'CNN',
    'name': 'CNN',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 22,
        'url': 'http://t.co/IaghNW8Xm2',
        'expanded_url': 'http://www.cnn.com',
        'display_url': 'cnn.com'}]},
     'description': {'urls': [{'start': 134,
        'end': 157,
        'url': 'https://t.co/UCHG9M367J',
        'expanded_url': 'http://cnn.com/apps',
        'display_url': 'cnn.com/apps'}],
      'hashtags': [{'start': 16, 'end': 24, 'tag': 'GoThere'}],
      'mentions': [{'start': 107, 'end': 114, 'username': 'CNNBRK'}]}},
    'public_metrics': {'followers_count': 54553953,
     'following_count': 1103,
     'tweet_count': 351002,
     'listed_count': 149898},
    'description': 'It’s our job to #GoThere & tell the most difficult stories. Join us! For more breaking news updates follow @CNNBRK & download our app https://t.co/UCHG9M367J',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1347174689534197761/ETbueQZS_normal.png',
    'verified': False,
    'created_at': '2019-06-25T12:51:33.000Z',
    'id': '1143501985557049345',
    'url': '',
    'pinned_tweet_id': '1148059961852743680',
    'username': 'OdzrtcySsIPXdoT',
    'name': 'Galaxy',
    'entities': {'description': {'mentions': [{'start': 47,
        'end': 57,
        'username': '999abcxyz'},
       {'start': 59, 'end': 65, 'username': 'et9nq'}]}},
    'public_metrics': {'followers_count': 5365,
     'following_count': 5674,
     'tweet_count': 138290,
     'listed_count': 28},
    'description': "I don't know the value of health till lost it.\n@999abcxyz \n@et9nq",
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1383102038666530822/6FJyzLaM_normal.jpg',
    'verified': False,
    'created_at': '2017-11-04T23:34:41.000Z',
    'id': '926955891743772672',
    'url': '',
    'pinned_tweet_id': '1205993204065144832',
    'username': 'i__am_sha',
    'name': 'Shan',
    'entities': {'description': {'urls': [{'start': 35,
        'end': 58,
        'url': 'https://t.co/pdG3gjRhMi',
        'expanded_url': 'https://twitter.com/s__h__a_',
        'display_url': 'twitter.com/s__h__a_'}]}},
    'public_metrics': {'followers_count': 19996,
     'following_count': 14890,
     'tweet_count': 330964,
     'listed_count': 91},
    'description': 'please return favor to Sha account https://t.co/pdG3gjRhMi instead',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1408206267982745604/AwsT8ESg_normal.jpg',
    'verified': True,
    'created_at': '2010-11-23T01:24:37.000Z',
    'id': '218700551',
    'url': '',
    'pinned_tweet_id': '1421842333851693060',
    'location': 'RASilverman@protonmail.com',
    'username': 'BobSaietta',
    'name': 'Robert Silverman',
    'entities': {'description': {'mentions': [{'start': 31,
        'end': 45,
        'username': 'thedailybeast'},
       {'start': 46, 'end': 55, 'username': 'Deadspin'},
       {'start': 56, 'end': 65, 'username': 'HuffPost'},
       {'start': 66, 'end': 75, 'username': 'politico'},
       {'start': 76, 'end': 81, 'username': 'ESPN'},
       {'start': 82, 'end': 94, 'username': 'newrepublic'},
       {'start': 95, 'end': 100, 'username': 'VICE'},
       {'start': 101, 'end': 109, 'username': 'nytimes'},
       {'start': 110, 'end': 121, 'username': 'GuardianUS'}]}},
    'public_metrics': {'followers_count': 8486,
     'following_count': 2254,
     'tweet_count': 13250,
     'listed_count': 351},
    'description': 'Reporter and whatnot. Bylines: @thedailybeast @Deadspin @HuffPost @politico @ESPN @newrepublic @VICE @nytimes @GuardianUS and whatnot. Contact email below',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1417851150280413189/pIFXd0SQ_normal.jpg',
    'verified': True,
    'created_at': '2009-03-19T00:43:06.000Z',
    'id': '25198779',
    'url': 'https://t.co/XEzLLWCNxr',
    'location': 'Brooklyn, NY',
    'username': 'amandamull',
    'name': 'Amanda Mull',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/XEzLLWCNxr',
        'expanded_url': 'https://www.theatlantic.com/author/amanda-mull/',
        'display_url': 'theatlantic.com/author/amanda-…'}]},
     'description': {'mentions': [{'start': 16,
        'end': 28,
        'username': 'TheAtlantic'},
       {'start': 40, 'end': 52, 'username': 'theatlunion'},
       {'start': 113, 'end': 126, 'username': 'cheneyagency'}]}},
    'public_metrics': {'followers_count': 98559,
     'following_count': 1415,
     'tweet_count': 7042,
     'listed_count': 950},
    'description': 'staff writer at @TheAtlantic, member of @theatlunion. I write Material World, a column on consumerism. repped by @cheneyagency. Georgia native, Georgia Bulldog.',
    'protected': False},
   {'profile_image_url': 'https://pbs.twimg.com/profile_images/1346235907209220096/kUrPN0bA_normal.jpg',
    'verified': False,
    'created_at': '2017-01-05T10:02:24.000Z',
    'id': '816947950345560064',
    'url': 'https://t.co/kU4PRm5fA1',
    'pinned_tweet_id': '888525033651318784',
    'location': 'Japan🇯🇵',
    'username': 'torarelaxtime',
    'name': 'tora😸🐾',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/kU4PRm5fA1',
        'expanded_url': 'https://twitter.com/search?q=from:@torarelaxtime',
        'display_url': 'twitter.com/search?q=from:…'}]},
     'description': {'hashtags': [{'start': 60,
        'end': 73,
        'tag': 'lastlove0501'},
       {'start': 74, 'end': 81, 'tag': 'motoGP'},
       {'start': 82, 'end': 87, 'tag': 'VR46'},
       {'start': 88, 'end': 94, 'tag': 'Italy'},
       {'start': 95, 'end': 104, 'tag': 'coldrain'},
       {'start': 105, 'end': 115, 'tag': 'ONEOKROCK'},
       {'start': 116, 'end': 130, 'tag': 'CatsOfTwitter'},
       {'start': 131, 'end': 149, 'tag': 'NaturePhotography'}]}},
    'public_metrics': {'followers_count': 11979,
     'following_count': 167,
     'tweet_count': 374548,
     'listed_count': 74},
    'description': "Love and kindness to all people and animals. Smile for you.\n#lastlove0501 #motoGP #VR46 #Italy #coldrain #ONEOKROCK #CatsOfTwitter #NaturePhotography\nI'm♂",
    'protected': False}],
  'tweets': [{'lang': 'en',
    'entities': {'urls': [{'start': 74,
       'end': 97,
       'url': 'https://t.co/bOc5WvSzmC',
       'expanded_url': 'https://abcn.ws/2vzagss',
       'display_url': 'abcn.ws/2vzagss',
       'status': 200,
       'unwound_url': 'https://abcnews.go.com/US/worlds-worst-cat-adoption-north-carolina-animal-shelter/story?id=68459793&cid=social_twitter_abcn'}]},
    'text': 'A grumpy cat dubbed the "World\'s Worst" has found herself a happy family. https://t.co/bOc5WvSzmC',
    'created_at': '2020-01-31T15:50:02.000Z',
    'public_metrics': {'retweet_count': 32,
     'reply_count': 8,
     'like_count': 180,
     'quote_count': 7},
    'source': 'SocialFlow',
    'author_id': '28785486',
    'reply_settings': 'everyone',
    'id': '1223272233977765889',
    'context_annotations': [{'domain': {'id': '45',
       'name': 'Brand Vertical',
       'description': 'Top level entities that describe a Brands industry'},
      'entity': {'id': '781974597310615553', 'name': 'Entertainment'}},
     {'domain': {'id': '46',
       'name': 'Brand Category',
       'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
      'entity': {'id': '781974596157181956', 'name': 'Online Site'}},
     {'domain': {'id': '46',
       'name': 'Brand Category',
       'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
      'entity': {'id': '781974597105094656', 'name': 'TV/Movies Related'}},
     {'domain': {'id': '47',
       'name': 'Brand',
       'description': 'Brands and Companies'},
      'entity': {'id': '1065650820518051840',
       'name': 'ABC News',
       'description': 'ABC News'}}],
    'conversation_id': '1223272233977765889',
    'possibly_sensitive': False},
   {'lang': 'en',
    'entities': {'urls': [{'start': 98,
       'end': 121,
       'url': 'https://t.co/ukISSUUFT2',
       'expanded_url': 'https://twitter.com/Dumbfuckingass/status/1221363875016298496/photo/1',
       'display_url': 'pic.twitter.com/ukISSUUFT2'},
      {'start': 98,
       'end': 121,
       'url': 'https://t.co/ukISSUUFT2',
       'expanded_url': 'https://twitter.com/Dumbfuckingass/status/1221363875016298496/photo/1',
       'display_url': 'pic.twitter.com/ukISSUUFT2'},
      {'start': 98,
       'end': 121,
       'url': 'https://t.co/ukISSUUFT2',
       'expanded_url': 'https://twitter.com/Dumbfuckingass/status/1221363875016298496/photo/1',
       'display_url': 'pic.twitter.com/ukISSUUFT2'},
      {'start': 98,
       'end': 121,
       'url': 'https://t.co/ukISSUUFT2',
       'expanded_url': 'https://twitter.com/Dumbfuckingass/status/1221363875016298496/photo/1',
       'display_url': 'pic.twitter.com/ukISSUUFT2'}]},
    'text': 'New challenge-\nMake yourself on these 3 avatar makers and post them next to a picture of yourself https://t.co/ukISSUUFT2',
    'created_at': '2020-01-26T09:26:54.000Z',
    'public_metrics': {'retweet_count': 1454,
     'reply_count': 2892,
     'like_count': 19343,
     'quote_count': 27172},
    'source': 'Twitter for Android',
    'author_id': '2208174514',
    'reply_settings': 'everyone',
    'id': '1221363875016298496',
    'attachments': {'media_keys': ['3_1221363858432020487',
      '3_1221363860520742917',
      '3_1221363862609506305',
      '3_1221363867076395008']},
    'conversation_id': '1221363875016298496',
    'possibly_sensitive': False},
   {'lang': 'de',
    'entities': {'urls': [{'start': 30,
       'end': 53,
       'url': 'https://t.co/a6v0FELa08',
       'expanded_url': 'https://twitter.com/ChaosRonny/status/1223279067031576581/photo/1',
       'display_url': 'pic.twitter.com/a6v0FELa08'}]},
    'text': 'Kleiner staredown mit Minusch https://t.co/a6v0FELa08',
    'created_at': '2020-01-31T16:17:11.000Z',
    'public_metrics': {'retweet_count': 4,
     'reply_count': 11,
     'like_count': 62,
     'quote_count': 0},
    'source': 'Twitter for Android',
    'author_id': '917436663156105217',
    'reply_settings': 'everyone',
    'id': '1223279067031576581',
    'attachments': {'media_keys': ['3_1223279058370355208']},
    'conversation_id': '1223279067031576581',
    'possibly_sensitive': False},
   {'lang': 'en',
    'entities': {'urls': [{'start': 196,
       'end': 219,
       'url': 'https://t.co/vj9pVMK0Nw',
       'expanded_url': 'https://twitter.com/RWTrollPatrol/status/1222909348206088192/photo/1',
       'display_url': 'pic.twitter.com/vj9pVMK0Nw'}],
     'mentions': [{'start': 0,
       'end': 12,
       'username': 'RepSwalwell',
       'id': '942156122'},
      {'start': 13,
       'end': 29,
       'username': 'realDonaldTrump',
       'id': '25073877'},
      {'start': 65,
       'end': 81,
       'username': 'LindseyGrahamSC',
       'id': '432895323'}],
     'annotations': [{'start': 51,
       'end': 53,
       'probability': 0.9246,
       'type': 'Organization',
       'normalized_text': 'CNN'},
      {'start': 103,
       'end': 107,
       'probability': 0.9915,
       'type': 'Person',
       'normalized_text': 'Trump'},
      {'start': 131,
       'end': 137,
       'probability': 0.991,
       'type': 'Place',
       'normalized_text': 'Ukraine'},
      {'start': 159,
       'end': 163,
       'probability': 0.9553,
       'type': 'Person',
       'normalized_text': 'Trump'},
      {'start': 169,
       'end': 176,
       'probability': 0.9785,
       'type': 'Person',
       'normalized_text': 'Giuliani'},
      {'start': 184,
       'end': 193,
       'probability': 0.8693,
       'type': 'Person',
       'normalized_text': 'Lev Parnas'}]},
    'text': "@RepSwalwell @realDonaldTrump MAJOR BREAKING NEWS (CNN): Senator @LindseyGrahamSC  (R-SC) Was Aware of Trump's Extortion Scheme in Ukraine From the Start, Per Trump and Giuliani Agent Lev Parnas. https://t.co/vj9pVMK0Nw",
    'created_at': '2020-01-30T16:03:32.000Z',
    'public_metrics': {'retweet_count': 16,
     'reply_count': 6,
     'like_count': 32,
     'quote_count': 2},
    'source': 'Twitter for Android',
    'author_id': '715617989656051712',
    'reply_settings': 'everyone',
    'id': '1222913243791818752',
    'in_reply_to_user_id': '942156122',
    'referenced_tweets': [{'type': 'replied_to', 'id': '1222887607073492993'}],
    'attachments': {'media_keys': ['3_1222909344481599488']},
    'context_annotations': [{'domain': {'id': '10',
       'name': 'Person',
       'description': 'Named people in the world like Nelson Mandela'},
      'entity': {'id': '799022225751871488',
       'name': 'Donald Trump',
       'description': 'US President Donald Trump'}},
     {'domain': {'id': '10',
       'name': 'Person',
       'description': 'Named people in the world like Nelson Mandela'},
      'entity': {'id': '940606231609147393',
       'name': 'Eric Swalwell',
       'description': 'US Representative Eric Swalwell (CA-15)'}},
     {'domain': {'id': '10',
       'name': 'Person',
       'description': 'Named people in the world like Nelson Mandela'},
      'entity': {'id': '987251665995644934',
       'name': 'Rudy Giuliani',
       'description': 'Attorney Rudy Giuliani - former NY mayor\n'}},
     {'domain': {'id': '35',
       'name': 'Politician',
       'description': 'Politicians in the world, like Joe Biden'},
      'entity': {'id': '799022225751871488',
       'name': 'Donald Trump',
       'description': 'US President Donald Trump'}},
     {'domain': {'id': '35',
       'name': 'Politician',
       'description': 'Politicians in the world, like Joe Biden'},
      'entity': {'id': '940606231609147393',
       'name': 'Eric Swalwell',
       'description': 'US Representative Eric Swalwell (CA-15)'}},
     {'domain': {'id': '88',
       'name': 'Political Body',
       'description': 'A section of a government, like The Supreme Court'},
      'entity': {'id': '961705302700654593',
       'name': 'United States Congress',
       'description': 'United States Congress'}},
     {'domain': {'id': '10',
       'name': 'Person',
       'description': 'Named people in the world like Nelson Mandela'},
      'entity': {'id': '10038636953',
       'name': 'Lindsey Graham',
       'description': 'Senator Lindsey Graham (SC)'}},
     {'domain': {'id': '35',
       'name': 'Politician',
       'description': 'Politicians in the world, like Joe Biden'},
      'entity': {'id': '10038636953',
       'name': 'Lindsey Graham',
       'description': 'Senator Lindsey Graham (SC)'}},
     {'domain': {'id': '45',
       'name': 'Brand Vertical',
       'description': 'Top level entities that describe a Brands industry'},
      'entity': {'id': '781974597310615553', 'name': 'Entertainment'}},
     {'domain': {'id': '46',
       'name': 'Brand Category',
       'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
      'entity': {'id': '781974597105094656', 'name': 'TV/Movies Related'}},
     {'domain': {'id': '47',
       'name': 'Brand',
       'description': 'Brands and Companies'},
      'entity': {'id': '10040667043', 'name': 'CNN'}},
     {'domain': {'id': '88',
       'name': 'Political Body',
       'description': 'A section of a government, like The Supreme Court'},
      'entity': {'id': '877326946253684737',
       'name': 'United States Senate',
       'description': 'United States Senate'}},
     {'domain': {'id': '88',
       'name': 'Political Body',
       'description': 'A section of a government, like The Supreme Court'},
      'entity': {'id': '961705302700654593',
       'name': 'United States Congress',
       'description': 'United States Congress'}}],
    'conversation_id': '1222887607073492993',
    'possibly_sensitive': False},
   {'lang': 'en',
    'entities': {'urls': [{'start': 48,
       'end': 71,
       'url': 'https://t.co/KCURvVY6Qt',
       'expanded_url': 'https://twitter.com/iamshatwo/status/1205661695806525441/video/1',
       'display_url': 'pic.twitter.com/KCURvVY6Qt'}]},
    'text': 'Grumpy Cat Not Happy About Having His Hair Cut. https://t.co/KCURvVY6Qt',
    'created_at': '2019-12-14T01:32:03.000Z',
    'public_metrics': {'retweet_count': 2119,
     'reply_count': 104,
     'like_count': 2778,
     'quote_count': 105},
    'source': 'Twitter Web Client',
    'author_id': '926955891743772672',
    'reply_settings': 'everyone',
    'id': '1205661695806525441',
    'attachments': {'media_keys': ['7_1205660998037843968']},
    'conversation_id': '1205661695806525441',
    'possibly_sensitive': False}],
  'media': [{'type': 'photo',
    'width': 600,
    'media_key': '3_1223387560283602944',
    'height': 600},
   {'type': 'photo',
    'width': 600,
    'media_key': '3_1223387560283688963',
    'height': 600},
   {'type': 'photo',
    'width': 600,
    'media_key': '3_1223387560321462277',
    'height': 600},
   {'type': 'photo',
    'width': 2320,
    'media_key': '3_1223387560287907842',
    'height': 3088},
   {'duration_ms': 97555,
    'type': 'video',
    'public_metrics': {'view_count': 96879},
    'width': 1280,
    'media_key': '7_1205660998037843968',
    'height': 720,
    'preview_image_url': 'https://pbs.twimg.com/ext_tw_video_thumb/1205660998037843968/pu/img/aN1MXE_C0nsh62pc.jpg'}]},
 'errors': [{'parameter': 'entities.mentions.username',
   'resource_id': 'realDonaldTrump',
   'value': 'realDonaldTrump',
   'detail': 'User has been suspended: [realDonaldTrump].',
   'title': 'Forbidden',
   'resource_type': 'user',
   'type': 'https://api.twitter.com/2/problems/resource-not-found'},
  {'value': '1223378807383564288',
   'detail': 'Could not find tweet with referenced_tweets.id: [1223378807383564288].',
   'title': 'Not Found Error',
   'resource_type': 'tweet',
   'parameter': 'referenced_tweets.id',
   'resource_id': '1223378807383564288',
   'type': 'https://api.twitter.com/2/problems/resource-not-found'}],
 'meta': {'newest_id': '1223393226805125120',
  'oldest_id': '1223373908679639045',
  'result_count': 10,
  'next_token': 'b26v89c19zqg8o3fo71f2o2fqyti4qnidrms9qaahs2nx'}}
In [36]:
response.keys()
Out[36]:
dict_keys(['data', 'includes', 'errors', 'meta'])
In [37]:
response["includes"]
Out[37]:
{'users': [{'profile_image_url': 'https://pbs.twimg.com/profile_images/1222854602808340482/b6u4eTd2_normal.jpg',
   'verified': False,
   'created_at': '2020-01-13T00:40:58.000Z',
   'id': '1216520433815691265',
   'url': '',
   'username': 'TimetravelerThe',
   'name': 'The TimeTraveler',
   'public_metrics': {'followers_count': 3,
    'following_count': 51,
    'tweet_count': 93,
    'listed_count': 0},
   'description': '',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1080545769034108928/CEzHCTpI_normal.jpg',
   'verified': True,
   'created_at': '2012-10-03T19:42:41.000Z',
   'id': '860237030',
   'url': 'https://t.co/GSwxT4CXMs',
   'pinned_tweet_id': '1360359252200542210',
   'location': 'Arizona',
   'username': 'RealGrumpyCat',
   'name': 'Grumpy Cat',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/GSwxT4CXMs',
       'expanded_url': 'https://www.grumpycats.com/shop',
       'display_url': 'grumpycats.com/shop'}]},
    'description': {'urls': [{'start': 78,
       'end': 101,
       'url': 'https://t.co/tHU9DEs4TV',
       'expanded_url': 'http://Instagram.com/realgrumpycat',
       'display_url': 'Instagram.com/realgrumpycat'},
      {'start': 102,
       'end': 125,
       'url': 'https://t.co/LscGBQSdlt',
       'expanded_url': 'http://Facebook.com/theofficialgrumpycat',
       'display_url': 'Facebook.com/theofficialgru…'}],
     'hashtags': [{'start': 48, 'end': 59, 'tag': 'TeamGrumpy'},
      {'start': 60, 'end': 77, 'tag': 'GrumpyCatForever'}]}},
   'public_metrics': {'followers_count': 1550853,
    'following_count': 50916,
    'tweet_count': 9327,
    'listed_count': 1934},
   'description': "Official Twitter for The World's grumpiest cat! #TeamGrumpy #GrumpyCatForever https://t.co/tHU9DEs4TV https://t.co/LscGBQSdlt",
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1171922735968194560/yRlvV_H8_normal.jpg',
   'verified': False,
   'created_at': '2012-06-20T18:18:11.000Z',
   'id': '613642580',
   'url': '',
   'location': 'Scottsville Ky',
   'username': 'sweetangeljessi',
   'name': 'jessica dicken',
   'public_metrics': {'followers_count': 134,
    'following_count': 740,
    'tweet_count': 7326,
    'listed_count': 0},
   'description': '',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1082358814819536896/19QbYCgF_normal.jpg',
   'verified': True,
   'created_at': '2009-04-04T12:40:32.000Z',
   'id': '28785486',
   'url': 'https://t.co/26XEt8onYo',
   'location': 'New York City / Worldwide',
   'username': 'ABC',
   'name': 'ABC News',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/26XEt8onYo',
       'expanded_url': 'https://abcnews.go.com/',
       'display_url': 'abcnews.go.com'}]},
    'description': {'urls': [{'start': 118,
       'end': 141,
       'url': 'https://t.co/w3wQ1O1Szs',
       'expanded_url': 'http://abcn.ws/3bJ62RK',
       'display_url': 'abcn.ws/3bJ62RK'}],
     'mentions': [{'start': 61, 'end': 65, 'username': 'ABC'},
      {'start': 111, 'end': 116, 'username': 'Hulu'}]}},
   'public_metrics': {'followers_count': 16803175,
    'following_count': 507,
    'tweet_count': 358261,
    'listed_count': 63186},
   'description': 'All the news and information you need to see, curated by the @ABC News team. Watch full ABC News broadcasts on @Hulu: https://t.co/w3wQ1O1Szs',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/2550327855/qsf6tl1rsodwg1dpkvu0_normal.jpeg',
   'verified': False,
   'created_at': '2012-08-27T22:15:09.000Z',
   'id': '785597240',
   'url': '',
   'location': 'Ohio, USA',
   'username': 'Witchwelly',
   'name': 'KITTY',
   'public_metrics': {'followers_count': 1209,
    'following_count': 2112,
    'tweet_count': 27470,
    'listed_count': 66},
   'description': 'I Love Art, Music, Cooking and Animals, Reading, Gardening and My Man!',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1410617687311409162/YVPPfgzX_normal.jpg',
   'verified': True,
   'created_at': '2009-01-23T04:14:41.000Z',
   'id': '19380829',
   'url': 'http://t.co/PpRLXHyT0n',
   'location': 'Sunnyvale CA',
   'username': 'Yahoo',
   'name': 'Yahoo',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 22,
       'url': 'http://t.co/PpRLXHyT0n',
       'expanded_url': 'http://www.yahoo.com',
       'display_url': 'yahoo.com'}]},
    'description': {'mentions': [{'start': 75,
       'end': 85,
       'username': 'YahooCare'}]}},
   'public_metrics': {'followers_count': 1412624,
    'following_count': 7674,
    'tweet_count': 108199,
    'listed_count': 8378},
   'description': "Yahoo's official Twitter, sharing the best of our network. For email help: @YahooCare.",
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/749771128474771456/QIHhHEw8_normal.jpg',
   'verified': False,
   'created_at': '2014-12-26T04:00:39.000Z',
   'id': '2943472298',
   'url': '',
   'pinned_tweet_id': '1142608120474230785',
   'username': 'emm_elou',
   'name': 'Emmy',
   'entities': {'description': {'mentions': [{'start': 142,
       'end': 154,
       'username': 'artbychromo'}]}},
   'public_metrics': {'followers_count': 85,
    'following_count': 119,
    'tweet_count': 5593,
    'listed_count': 0},
   'description': 'she/her | 28 | graphic designer slowly morphing into a web developer like a weird, wingless butterfly. also, very into D&D—I post some art on @artbychromo!',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1321974061690507265/5oRLS3aB_normal.jpg',
   'verified': False,
   'created_at': '2013-12-05T01:35:42.000Z',
   'id': '2208174514',
   'url': '',
   'pinned_tweet_id': '1221363875016298496',
   'location': 'lesbian she/they',
   'username': 'Dumbfuckingass',
   'name': 'Alixcx\U0001f9c4',
   'public_metrics': {'followers_count': 848,
    'following_count': 273,
    'tweet_count': 17562,
    'listed_count': 0},
   'description': "if you're a football account DO NOT INTERACT///////\nDIRTY SLAG X BAD FREAK X KILLER CLOWN💋🔥😈🔗\n\n🖤27/7/18 🖤",
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1426255879842586624/v1kNZzpT_normal.jpg',
   'verified': False,
   'created_at': '2018-09-19T18:08:39.000Z',
   'id': '1042475571039485952',
   'url': '',
   'pinned_tweet_id': '1224774101694238720',
   'location': 'Casa de tu mom',
   'username': 'witchyweenie',
   'name': 'jesikita',
   'public_metrics': {'followers_count': 7,
    'following_count': 22,
    'tweet_count': 399,
    'listed_count': 0},
   'description': 'a surprisingly decent human being',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1431729631233781763/f2L3STor_normal.jpg',
   'verified': False,
   'created_at': '2018-08-17T23:08:53.000Z',
   'id': '1030592330397560836',
   'url': '',
   'pinned_tweet_id': '1084228422182862848',
   'location': 'Bonn, Deutschland',
   'username': 'quotes_bundy',
   'name': 'Mir doch egal🕴️',
   'entities': {'description': {'urls': [{'start': 88,
       'end': 111,
       'url': 'https://t.co/aJ38oeNedO',
       'expanded_url': 'https://twitter.com/search?q=from%3Aquotes_bundy%20min_faves%3A90&s=09',
       'display_url': 'twitter.com/search?q=from%…'}]}},
   'public_metrics': {'followers_count': 332,
    'following_count': 503,
    'tweet_count': 11317,
    'listed_count': 1},
   'description': 'Der Mond ist voll und ich hab auch schon Durst | Nazis raus | Auch ein blindes Huhn ... https://t.co/aJ38oeNedO',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1375082327936733184/xBHaXBeJ_normal.jpg',
   'verified': False,
   'created_at': '2017-10-09T17:08:40.000Z',
   'id': '917436663156105217',
   'url': 'https://t.co/eq8GR0h5Xr',
   'pinned_tweet_id': '1326884344829513728',
   'location': 'Herford, Nordrhein-Westfalen',
   'username': 'ChaosRonny',
   'name': 'Darth Flauscheflamingo \U0001f9a9',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/eq8GR0h5Xr',
       'expanded_url': 'http://Instagram.com/chaos_ronny',
       'display_url': 'Instagram.com/chaos_ronny'}]},
    'description': {'urls': [{'start': 114,
       'end': 137,
       'url': 'https://t.co/YfqBXZoK1R',
       'expanded_url': 'https://bit.ly/3exBUYn',
       'display_url': 'bit.ly/3exBUYn'}],
     'hashtags': [{'start': 63, 'end': 76, 'tag': 'Serienjunkie'},
      {'start': 81, 'end': 84, 'tag': 'QD'}],
     'mentions': [{'start': 42, 'end': 58, 'username': 'FlamingoKreativ'}]}},
   'public_metrics': {'followers_count': 358,
    'following_count': 87,
    'tweet_count': 83001,
    'listed_count': 14},
   'description': 'Nur echt mit Kofferschnauze -- \n\nKreativ: @FlamingoKreativ --\n\n#Serienjunkie --\n\n#QD : TanteFlamingo -- \n\nTweets: https://t.co/YfqBXZoK1R',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/2818991995/23a25317121c80c62b616dc11b75dd8e_normal.jpeg',
   'verified': False,
   'created_at': '2009-07-13T19:57:10.000Z',
   'id': '56475108',
   'url': '',
   'pinned_tweet_id': '1080321283647254528',
   'username': 'MichaelEastwick',
   'name': 'Michael Eastwick',
   'public_metrics': {'followers_count': 418,
    'following_count': 704,
    'tweet_count': 16691,
    'listed_count': 2},
   'description': 'PROUD AMERICAN frustrated by BOTH political parties',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/823198937926336512/3p4EGRxP_normal.jpg',
   'verified': False,
   'created_at': '2016-03-31T19:13:19.000Z',
   'id': '715617989656051712',
   'url': 'https://t.co/I2fIiO1PNL',
   'pinned_tweet_id': '1267810529780723712',
   'location': 'PNW ',
   'username': 'RWTrollPatrol',
   'name': 'Trump Crisis',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/I2fIiO1PNL',
       'expanded_url': 'https://www.justice.gov/sco',
       'display_url': 'justice.gov/sco'}]}},
   'public_metrics': {'followers_count': 11477,
    'following_count': 5399,
    'tweet_count': 134818,
    'listed_count': 70},
   'description': "Former rescue crewman and rescue swimmer on Copter 7. Sheriff's SAR K9 handler. Two time recipient of the MOV.  Sheriff's Air Unit.",
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1401180772577513472/JZoEI6td_normal.jpg',
   'verified': True,
   'created_at': '2012-11-11T20:26:01.000Z',
   'id': '942156122',
   'url': 'https://t.co/tq8A1WWg2Y',
   'location': 'East Bay, CA & DC (CA-15)',
   'username': 'RepSwalwell',
   'name': 'Rep. Eric Swalwell',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/tq8A1WWg2Y',
       'expanded_url': 'http://swalwell.house.gov',
       'display_url': 'swalwell.house.gov'}]},
    'description': {'mentions': [{'start': 51,
       'end': 66,
       'username': 'HouseJudiciary'},
      {'start': 67, 'end': 78, 'username': 'HouseIntel'},
      {'start': 79, 'end': 92, 'username': 'HomelandDems'}]}},
   'public_metrics': {'followers_count': 1112641,
    'following_count': 10670,
    'tweet_count': 16312,
    'listed_count': 5693},
   'description': 'Husband | Dad to Nelson&Cricket | CA Congressman | @HouseJudiciary @HouseIntel @HomelandDems',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1235299656063733760/b1RnM8w3_normal.jpg',
   'verified': True,
   'created_at': '2011-12-09T22:21:03.000Z',
   'id': '432895323',
   'url': 'https://t.co/bM2rOxm6ub',
   'location': 'South Carolina',
   'username': 'LindseyGrahamSC',
   'name': 'Lindsey Graham',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/bM2rOxm6ub',
       'expanded_url': 'http://www.lindseygraham.com',
       'display_url': 'lindseygraham.com'}]}},
   'public_metrics': {'followers_count': 1997892,
    'following_count': 2046,
    'tweet_count': 12909,
    'listed_count': 8704},
   'description': 'The official Twitter feed for United States Senator Lindsey Graham.',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1418565008754098179/A0v3uGtC_normal.jpg',
   'verified': True,
   'created_at': '2010-04-14T20:51:27.000Z',
   'id': '133028836',
   'url': 'https://t.co/TW80FG27Qx',
   'pinned_tweet_id': '1428017095288164360',
   'location': 'Burbank, CA',
   'username': 'AdamSchiff',
   'name': 'Adam Schiff',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/TW80FG27Qx',
       'expanded_url': 'http://www.AdamSchiff.com',
       'display_url': 'AdamSchiff.com'}]}},
   'public_metrics': {'followers_count': 576860,
    'following_count': 785,
    'tweet_count': 1953,
    'listed_count': 1936},
   'description': 'Father, husband, former federal prosecutor, triathlete and sometimes comic. Congressman from California. Join our team 👇',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1278259160644227073/MfCyF7CG_normal.jpg',
   'verified': True,
   'created_at': '2007-02-09T00:35:02.000Z',
   'id': '759251',
   'url': 'http://t.co/IaghNW8Xm2',
   'username': 'CNN',
   'name': 'CNN',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 22,
       'url': 'http://t.co/IaghNW8Xm2',
       'expanded_url': 'http://www.cnn.com',
       'display_url': 'cnn.com'}]},
    'description': {'urls': [{'start': 134,
       'end': 157,
       'url': 'https://t.co/UCHG9M367J',
       'expanded_url': 'http://cnn.com/apps',
       'display_url': 'cnn.com/apps'}],
     'hashtags': [{'start': 16, 'end': 24, 'tag': 'GoThere'}],
     'mentions': [{'start': 107, 'end': 114, 'username': 'CNNBRK'}]}},
   'public_metrics': {'followers_count': 54553953,
    'following_count': 1103,
    'tweet_count': 351002,
    'listed_count': 149898},
   'description': 'It’s our job to #GoThere & tell the most difficult stories. Join us! For more breaking news updates follow @CNNBRK & download our app https://t.co/UCHG9M367J',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1347174689534197761/ETbueQZS_normal.png',
   'verified': False,
   'created_at': '2019-06-25T12:51:33.000Z',
   'id': '1143501985557049345',
   'url': '',
   'pinned_tweet_id': '1148059961852743680',
   'username': 'OdzrtcySsIPXdoT',
   'name': 'Galaxy',
   'entities': {'description': {'mentions': [{'start': 47,
       'end': 57,
       'username': '999abcxyz'},
      {'start': 59, 'end': 65, 'username': 'et9nq'}]}},
   'public_metrics': {'followers_count': 5365,
    'following_count': 5674,
    'tweet_count': 138290,
    'listed_count': 28},
   'description': "I don't know the value of health till lost it.\n@999abcxyz \n@et9nq",
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1383102038666530822/6FJyzLaM_normal.jpg',
   'verified': False,
   'created_at': '2017-11-04T23:34:41.000Z',
   'id': '926955891743772672',
   'url': '',
   'pinned_tweet_id': '1205993204065144832',
   'username': 'i__am_sha',
   'name': 'Shan',
   'entities': {'description': {'urls': [{'start': 35,
       'end': 58,
       'url': 'https://t.co/pdG3gjRhMi',
       'expanded_url': 'https://twitter.com/s__h__a_',
       'display_url': 'twitter.com/s__h__a_'}]}},
   'public_metrics': {'followers_count': 19996,
    'following_count': 14890,
    'tweet_count': 330964,
    'listed_count': 91},
   'description': 'please return favor to Sha account https://t.co/pdG3gjRhMi instead',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1408206267982745604/AwsT8ESg_normal.jpg',
   'verified': True,
   'created_at': '2010-11-23T01:24:37.000Z',
   'id': '218700551',
   'url': '',
   'pinned_tweet_id': '1421842333851693060',
   'location': 'RASilverman@protonmail.com',
   'username': 'BobSaietta',
   'name': 'Robert Silverman',
   'entities': {'description': {'mentions': [{'start': 31,
       'end': 45,
       'username': 'thedailybeast'},
      {'start': 46, 'end': 55, 'username': 'Deadspin'},
      {'start': 56, 'end': 65, 'username': 'HuffPost'},
      {'start': 66, 'end': 75, 'username': 'politico'},
      {'start': 76, 'end': 81, 'username': 'ESPN'},
      {'start': 82, 'end': 94, 'username': 'newrepublic'},
      {'start': 95, 'end': 100, 'username': 'VICE'},
      {'start': 101, 'end': 109, 'username': 'nytimes'},
      {'start': 110, 'end': 121, 'username': 'GuardianUS'}]}},
   'public_metrics': {'followers_count': 8486,
    'following_count': 2254,
    'tweet_count': 13250,
    'listed_count': 351},
   'description': 'Reporter and whatnot. Bylines: @thedailybeast @Deadspin @HuffPost @politico @ESPN @newrepublic @VICE @nytimes @GuardianUS and whatnot. Contact email below',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1417851150280413189/pIFXd0SQ_normal.jpg',
   'verified': True,
   'created_at': '2009-03-19T00:43:06.000Z',
   'id': '25198779',
   'url': 'https://t.co/XEzLLWCNxr',
   'location': 'Brooklyn, NY',
   'username': 'amandamull',
   'name': 'Amanda Mull',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/XEzLLWCNxr',
       'expanded_url': 'https://www.theatlantic.com/author/amanda-mull/',
       'display_url': 'theatlantic.com/author/amanda-…'}]},
    'description': {'mentions': [{'start': 16,
       'end': 28,
       'username': 'TheAtlantic'},
      {'start': 40, 'end': 52, 'username': 'theatlunion'},
      {'start': 113, 'end': 126, 'username': 'cheneyagency'}]}},
   'public_metrics': {'followers_count': 98559,
    'following_count': 1415,
    'tweet_count': 7042,
    'listed_count': 950},
   'description': 'staff writer at @TheAtlantic, member of @theatlunion. I write Material World, a column on consumerism. repped by @cheneyagency. Georgia native, Georgia Bulldog.',
   'protected': False},
  {'profile_image_url': 'https://pbs.twimg.com/profile_images/1346235907209220096/kUrPN0bA_normal.jpg',
   'verified': False,
   'created_at': '2017-01-05T10:02:24.000Z',
   'id': '816947950345560064',
   'url': 'https://t.co/kU4PRm5fA1',
   'pinned_tweet_id': '888525033651318784',
   'location': 'Japan🇯🇵',
   'username': 'torarelaxtime',
   'name': 'tora😸🐾',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/kU4PRm5fA1',
       'expanded_url': 'https://twitter.com/search?q=from:@torarelaxtime',
       'display_url': 'twitter.com/search?q=from:…'}]},
    'description': {'hashtags': [{'start': 60,
       'end': 73,
       'tag': 'lastlove0501'},
      {'start': 74, 'end': 81, 'tag': 'motoGP'},
      {'start': 82, 'end': 87, 'tag': 'VR46'},
      {'start': 88, 'end': 94, 'tag': 'Italy'},
      {'start': 95, 'end': 104, 'tag': 'coldrain'},
      {'start': 105, 'end': 115, 'tag': 'ONEOKROCK'},
      {'start': 116, 'end': 130, 'tag': 'CatsOfTwitter'},
      {'start': 131, 'end': 149, 'tag': 'NaturePhotography'}]}},
   'public_metrics': {'followers_count': 11979,
    'following_count': 167,
    'tweet_count': 374548,
    'listed_count': 74},
   'description': "Love and kindness to all people and animals. Smile for you.\n#lastlove0501 #motoGP #VR46 #Italy #coldrain #ONEOKROCK #CatsOfTwitter #NaturePhotography\nI'm♂",
   'protected': False}],
 'tweets': [{'lang': 'en',
   'entities': {'urls': [{'start': 74,
      'end': 97,
      'url': 'https://t.co/bOc5WvSzmC',
      'expanded_url': 'https://abcn.ws/2vzagss',
      'display_url': 'abcn.ws/2vzagss',
      'status': 200,
      'unwound_url': 'https://abcnews.go.com/US/worlds-worst-cat-adoption-north-carolina-animal-shelter/story?id=68459793&cid=social_twitter_abcn'}]},
   'text': 'A grumpy cat dubbed the "World\'s Worst" has found herself a happy family. https://t.co/bOc5WvSzmC',
   'created_at': '2020-01-31T15:50:02.000Z',
   'public_metrics': {'retweet_count': 32,
    'reply_count': 8,
    'like_count': 180,
    'quote_count': 7},
   'source': 'SocialFlow',
   'author_id': '28785486',
   'reply_settings': 'everyone',
   'id': '1223272233977765889',
   'context_annotations': [{'domain': {'id': '45',
      'name': 'Brand Vertical',
      'description': 'Top level entities that describe a Brands industry'},
     'entity': {'id': '781974597310615553', 'name': 'Entertainment'}},
    {'domain': {'id': '46',
      'name': 'Brand Category',
      'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
     'entity': {'id': '781974596157181956', 'name': 'Online Site'}},
    {'domain': {'id': '46',
      'name': 'Brand Category',
      'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
     'entity': {'id': '781974597105094656', 'name': 'TV/Movies Related'}},
    {'domain': {'id': '47',
      'name': 'Brand',
      'description': 'Brands and Companies'},
     'entity': {'id': '1065650820518051840',
      'name': 'ABC News',
      'description': 'ABC News'}}],
   'conversation_id': '1223272233977765889',
   'possibly_sensitive': False},
  {'lang': 'en',
   'entities': {'urls': [{'start': 98,
      'end': 121,
      'url': 'https://t.co/ukISSUUFT2',
      'expanded_url': 'https://twitter.com/Dumbfuckingass/status/1221363875016298496/photo/1',
      'display_url': 'pic.twitter.com/ukISSUUFT2'},
     {'start': 98,
      'end': 121,
      'url': 'https://t.co/ukISSUUFT2',
      'expanded_url': 'https://twitter.com/Dumbfuckingass/status/1221363875016298496/photo/1',
      'display_url': 'pic.twitter.com/ukISSUUFT2'},
     {'start': 98,
      'end': 121,
      'url': 'https://t.co/ukISSUUFT2',
      'expanded_url': 'https://twitter.com/Dumbfuckingass/status/1221363875016298496/photo/1',
      'display_url': 'pic.twitter.com/ukISSUUFT2'},
     {'start': 98,
      'end': 121,
      'url': 'https://t.co/ukISSUUFT2',
      'expanded_url': 'https://twitter.com/Dumbfuckingass/status/1221363875016298496/photo/1',
      'display_url': 'pic.twitter.com/ukISSUUFT2'}]},
   'text': 'New challenge-\nMake yourself on these 3 avatar makers and post them next to a picture of yourself https://t.co/ukISSUUFT2',
   'created_at': '2020-01-26T09:26:54.000Z',
   'public_metrics': {'retweet_count': 1454,
    'reply_count': 2892,
    'like_count': 19343,
    'quote_count': 27172},
   'source': 'Twitter for Android',
   'author_id': '2208174514',
   'reply_settings': 'everyone',
   'id': '1221363875016298496',
   'attachments': {'media_keys': ['3_1221363858432020487',
     '3_1221363860520742917',
     '3_1221363862609506305',
     '3_1221363867076395008']},
   'conversation_id': '1221363875016298496',
   'possibly_sensitive': False},
  {'lang': 'de',
   'entities': {'urls': [{'start': 30,
      'end': 53,
      'url': 'https://t.co/a6v0FELa08',
      'expanded_url': 'https://twitter.com/ChaosRonny/status/1223279067031576581/photo/1',
      'display_url': 'pic.twitter.com/a6v0FELa08'}]},
   'text': 'Kleiner staredown mit Minusch https://t.co/a6v0FELa08',
   'created_at': '2020-01-31T16:17:11.000Z',
   'public_metrics': {'retweet_count': 4,
    'reply_count': 11,
    'like_count': 62,
    'quote_count': 0},
   'source': 'Twitter for Android',
   'author_id': '917436663156105217',
   'reply_settings': 'everyone',
   'id': '1223279067031576581',
   'attachments': {'media_keys': ['3_1223279058370355208']},
   'conversation_id': '1223279067031576581',
   'possibly_sensitive': False},
  {'lang': 'en',
   'entities': {'urls': [{'start': 196,
      'end': 219,
      'url': 'https://t.co/vj9pVMK0Nw',
      'expanded_url': 'https://twitter.com/RWTrollPatrol/status/1222909348206088192/photo/1',
      'display_url': 'pic.twitter.com/vj9pVMK0Nw'}],
    'mentions': [{'start': 0,
      'end': 12,
      'username': 'RepSwalwell',
      'id': '942156122'},
     {'start': 13, 'end': 29, 'username': 'realDonaldTrump', 'id': '25073877'},
     {'start': 65,
      'end': 81,
      'username': 'LindseyGrahamSC',
      'id': '432895323'}],
    'annotations': [{'start': 51,
      'end': 53,
      'probability': 0.9246,
      'type': 'Organization',
      'normalized_text': 'CNN'},
     {'start': 103,
      'end': 107,
      'probability': 0.9915,
      'type': 'Person',
      'normalized_text': 'Trump'},
     {'start': 131,
      'end': 137,
      'probability': 0.991,
      'type': 'Place',
      'normalized_text': 'Ukraine'},
     {'start': 159,
      'end': 163,
      'probability': 0.9553,
      'type': 'Person',
      'normalized_text': 'Trump'},
     {'start': 169,
      'end': 176,
      'probability': 0.9785,
      'type': 'Person',
      'normalized_text': 'Giuliani'},
     {'start': 184,
      'end': 193,
      'probability': 0.8693,
      'type': 'Person',
      'normalized_text': 'Lev Parnas'}]},
   'text': "@RepSwalwell @realDonaldTrump MAJOR BREAKING NEWS (CNN): Senator @LindseyGrahamSC  (R-SC) Was Aware of Trump's Extortion Scheme in Ukraine From the Start, Per Trump and Giuliani Agent Lev Parnas. https://t.co/vj9pVMK0Nw",
   'created_at': '2020-01-30T16:03:32.000Z',
   'public_metrics': {'retweet_count': 16,
    'reply_count': 6,
    'like_count': 32,
    'quote_count': 2},
   'source': 'Twitter for Android',
   'author_id': '715617989656051712',
   'reply_settings': 'everyone',
   'id': '1222913243791818752',
   'in_reply_to_user_id': '942156122',
   'referenced_tweets': [{'type': 'replied_to', 'id': '1222887607073492993'}],
   'attachments': {'media_keys': ['3_1222909344481599488']},
   'context_annotations': [{'domain': {'id': '10',
      'name': 'Person',
      'description': 'Named people in the world like Nelson Mandela'},
     'entity': {'id': '799022225751871488',
      'name': 'Donald Trump',
      'description': 'US President Donald Trump'}},
    {'domain': {'id': '10',
      'name': 'Person',
      'description': 'Named people in the world like Nelson Mandela'},
     'entity': {'id': '940606231609147393',
      'name': 'Eric Swalwell',
      'description': 'US Representative Eric Swalwell (CA-15)'}},
    {'domain': {'id': '10',
      'name': 'Person',
      'description': 'Named people in the world like Nelson Mandela'},
     'entity': {'id': '987251665995644934',
      'name': 'Rudy Giuliani',
      'description': 'Attorney Rudy Giuliani - former NY mayor\n'}},
    {'domain': {'id': '35',
      'name': 'Politician',
      'description': 'Politicians in the world, like Joe Biden'},
     'entity': {'id': '799022225751871488',
      'name': 'Donald Trump',
      'description': 'US President Donald Trump'}},
    {'domain': {'id': '35',
      'name': 'Politician',
      'description': 'Politicians in the world, like Joe Biden'},
     'entity': {'id': '940606231609147393',
      'name': 'Eric Swalwell',
      'description': 'US Representative Eric Swalwell (CA-15)'}},
    {'domain': {'id': '88',
      'name': 'Political Body',
      'description': 'A section of a government, like The Supreme Court'},
     'entity': {'id': '961705302700654593',
      'name': 'United States Congress',
      'description': 'United States Congress'}},
    {'domain': {'id': '10',
      'name': 'Person',
      'description': 'Named people in the world like Nelson Mandela'},
     'entity': {'id': '10038636953',
      'name': 'Lindsey Graham',
      'description': 'Senator Lindsey Graham (SC)'}},
    {'domain': {'id': '35',
      'name': 'Politician',
      'description': 'Politicians in the world, like Joe Biden'},
     'entity': {'id': '10038636953',
      'name': 'Lindsey Graham',
      'description': 'Senator Lindsey Graham (SC)'}},
    {'domain': {'id': '45',
      'name': 'Brand Vertical',
      'description': 'Top level entities that describe a Brands industry'},
     'entity': {'id': '781974597310615553', 'name': 'Entertainment'}},
    {'domain': {'id': '46',
      'name': 'Brand Category',
      'description': 'Categories within Brand Verticals that narrow down the scope of Brands'},
     'entity': {'id': '781974597105094656', 'name': 'TV/Movies Related'}},
    {'domain': {'id': '47',
      'name': 'Brand',
      'description': 'Brands and Companies'},
     'entity': {'id': '10040667043', 'name': 'CNN'}},
    {'domain': {'id': '88',
      'name': 'Political Body',
      'description': 'A section of a government, like The Supreme Court'},
     'entity': {'id': '877326946253684737',
      'name': 'United States Senate',
      'description': 'United States Senate'}},
    {'domain': {'id': '88',
      'name': 'Political Body',
      'description': 'A section of a government, like The Supreme Court'},
     'entity': {'id': '961705302700654593',
      'name': 'United States Congress',
      'description': 'United States Congress'}}],
   'conversation_id': '1222887607073492993',
   'possibly_sensitive': False},
  {'lang': 'en',
   'entities': {'urls': [{'start': 48,
      'end': 71,
      'url': 'https://t.co/KCURvVY6Qt',
      'expanded_url': 'https://twitter.com/iamshatwo/status/1205661695806525441/video/1',
      'display_url': 'pic.twitter.com/KCURvVY6Qt'}]},
   'text': 'Grumpy Cat Not Happy About Having His Hair Cut. https://t.co/KCURvVY6Qt',
   'created_at': '2019-12-14T01:32:03.000Z',
   'public_metrics': {'retweet_count': 2119,
    'reply_count': 104,
    'like_count': 2778,
    'quote_count': 105},
   'source': 'Twitter Web Client',
   'author_id': '926955891743772672',
   'reply_settings': 'everyone',
   'id': '1205661695806525441',
   'attachments': {'media_keys': ['7_1205660998037843968']},
   'conversation_id': '1205661695806525441',
   'possibly_sensitive': False}],
 'media': [{'type': 'photo',
   'width': 600,
   'media_key': '3_1223387560283602944',
   'height': 600},
  {'type': 'photo',
   'width': 600,
   'media_key': '3_1223387560283688963',
   'height': 600},
  {'type': 'photo',
   'width': 600,
   'media_key': '3_1223387560321462277',
   'height': 600},
  {'type': 'photo',
   'width': 2320,
   'media_key': '3_1223387560287907842',
   'height': 3088},
  {'duration_ms': 97555,
   'type': 'video',
   'public_metrics': {'view_count': 96879},
   'width': 1280,
   'media_key': '7_1205660998037843968',
   'height': 720,
   'preview_image_url': 'https://pbs.twimg.com/ext_tw_video_thumb/1205660998037843968/pu/img/aN1MXE_C0nsh62pc.jpg'}]}
In [38]:
response["errors"]
Out[38]:
[{'parameter': 'entities.mentions.username',
  'resource_id': 'realDonaldTrump',
  'value': 'realDonaldTrump',
  'detail': 'User has been suspended: [realDonaldTrump].',
  'title': 'Forbidden',
  'resource_type': 'user',
  'type': 'https://api.twitter.com/2/problems/resource-not-found'},
 {'value': '1223378807383564288',
  'detail': 'Could not find tweet with referenced_tweets.id: [1223378807383564288].',
  'title': 'Not Found Error',
  'resource_type': 'tweet',
  'parameter': 'referenced_tweets.id',
  'resource_id': '1223378807383564288',
  'type': 'https://api.twitter.com/2/problems/resource-not-found'}]
In [39]:
response["meta"]
Out[39]:
{'newest_id': '1223393226805125120',
 'oldest_id': '1223373908679639045',
 'result_count': 10,
 'next_token': 'b26v89c19zqg8o3fo71f2o2fqyti4qnidrms9qaahs2nx'}

Fields and expansions

Give me everything

If you want all the data fields that Twitter has to offer, follow the example below.

In [40]:
# make request
ot.tweet_lookup('1348419350370398209', everything=True)
Out[40]:
{'data': [{'reply_settings': 'everyone',
   'entities': {'urls': [{'start': 107,
      'end': 130,
      'url': 'https://t.co/up8Qtj6gn8',
      'expanded_url': 'https://twitter.com/SecPompeo/status/1348419350370398209/photo/1',
      'display_url': 'pic.twitter.com/up8Qtj6gn8'}]},
   'lang': 'en',
   'text': 'Treaties, like alliances, can outlast their sell-by-date. Always have to keep evaluating their usefulness. https://t.co/up8Qtj6gn8',
   'conversation_id': '1348419350370398209',
   'possibly_sensitive': False,
   'attachments': {'media_keys': ['3_1348399526705586183']},
   'source': 'Twitter Web App',
   'created_at': '2021-01-11T00:00:00.000Z',
   'author_id': '988573326376427520',
   'id': '1348419350370398209',
   'context_annotations': [{'domain': {'id': '10',
      'name': 'Person',
      'description': 'Named people in the world like Nelson Mandela'},
     'entity': {'id': '936263589509263360',
      'name': 'Mike Pompeo',
      'description': 'US Secretary of State, Mike Pompeo'}},
    {'domain': {'id': '35',
      'name': 'Politician',
      'description': 'Politicians in the world, like Joe Biden'},
     'entity': {'id': '936263589509263360',
      'name': 'Mike Pompeo',
      'description': 'US Secretary of State, Mike Pompeo'}}],
   'public_metrics': {'retweet_count': 14893,
    'reply_count': 2928,
    'like_count': 65227,
    'quote_count': 909}}],
 'includes': {'media': [{'height': 675,
    'media_key': '3_1348399526705586183',
    'type': 'photo',
    'width': 1200}],
  'users': [{'profile_image_url': 'https://pbs.twimg.com/profile_images/1014454396522934273/w_96hmja_normal.jpg',
    'url': 'https://t.co/eFqP1DyLiJ',
    'public_metrics': {'followers_count': 2973469,
     'following_count': 48,
     'tweet_count': 4151,
     'listed_count': 7405},
    'created_at': '2018-04-24T00:20:22.000Z',
    'entities': {'url': {'urls': [{'start': 0,
        'end': 23,
        'url': 'https://t.co/eFqP1DyLiJ',
        'expanded_url': 'http://www.state.gov',
        'display_url': 'state.gov'}]},
     'description': {'mentions': [{'start': 93,
        'end': 104,
        'username': 'mikepompeo'},
       {'start': 148, 'end': 158, 'username': 'StateDept'}]}},
    'verified': True,
    'pinned_tweet_id': '1351227982694776835',
    'protected': False,
    'description': 'This account has been archived. You can follow former U.S. Secretary of State Mike Pompeo at @mikepompeo. For U.S. State Department updates, follow @StateDept.',
    'id': '988573326376427520',
    'name': 'Secretary Pompeo',
    'username': 'SecPompeo'}]}}

everything=True works for all osometweet endpoints

In [41]:
ot.user_lookup_usernames(["mdeverna2"], everything=True)
Out[41]:
{'data': [{'profile_image_url': 'https://pbs.twimg.com/profile_images/1314948204916617216/z9HvE_xt_normal.jpg',
   'verified': False,
   'created_at': '2020-10-04T20:24:15.000Z',
   'id': '1312850357555539972',
   'url': 'https://t.co/1QYmEi2pIM',
   'pinned_tweet_id': '1364255699996471298',
   'username': 'mdeverna2',
   'name': 'Matthew DeVerna',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/1QYmEi2pIM',
       'expanded_url': 'http://matthewdeverna.com',
       'display_url': 'matthewdeverna.com'}]}},
   'public_metrics': {'followers_count': 85,
    'following_count': 314,
    'tweet_count': 538,
    'listed_count': 2},
   'description': 'Matt DeVerna. Ph.D. student - Indiana University Bloomington Informatics, Complex Networks and Systems. OSoMe Knight Fellow studying misinformation.',
   'protected': False}],
 'includes': {'tweets': [{'lang': 'en',
    'entities': {'urls': [{'start': 68,
       'end': 91,
       'url': 'https://t.co/Q7HqNjavx6',
       'expanded_url': 'http://osome.iu.edu/tools/covaxxy',
       'display_url': 'osome.iu.edu/tools/covaxxy',
       'images': [{'url': 'https://pbs.twimg.com/news_img/1422285733356703775/p9IFUfbc?format=jpg&name=orig',
         'width': 1090,
         'height': 975},
        {'url': 'https://pbs.twimg.com/news_img/1422285733356703775/p9IFUfbc?format=jpg&name=150x150',
         'width': 150,
         'height': 150}],
       'status': 200,
       'title': 'CoVaxxy',
       'description': 'Visualizing the relationship between COVID-19 vaccine adoption and online (mis)information. From IU Observatory on Social Media (OSoMe).',
       'unwound_url': 'https://osome.iu.edu/tools/covaxxy'}],
     'mentions': [{'start': 110,
       'end': 119,
       'username': 'OSoMe_IU',
       'id': '187521608'}]},
    'text': 'Thrilled to announce the official launch of the CoVaxxy dashboard! (https://t.co/Q7HqNjavx6) Covaxxy is a new @OSoMe_IU tool that allows users to visualize the relationship between vaccine adoption and online (mis)information. See the thread for more details...',
    'created_at': '2021-02-23T16:48:00.000Z',
    'public_metrics': {'retweet_count': 8,
     'reply_count': 1,
     'like_count': 9,
     'quote_count': 1},
    'source': 'Twitter Web App',
    'author_id': '1312850357555539972',
    'reply_settings': 'everyone',
    'id': '1364255699996471298',
    'context_annotations': [{'domain': {'id': '123',
       'name': 'Ongoing News Story',
       'description': "Ongoing News Stories like 'Brexit'"},
      'entity': {'id': '1220701888179359745', 'name': 'COVID-19'}}],
    'conversation_id': '1364255699996471298',
    'possibly_sensitive': False}]}}

Get all from a specific field

You can also retrieve all elements from specific object fields. The available object fields are:

  • UserFields
  • TweetFields
  • MediaFields
  • PlaceFields
  • PollFields
In [42]:
import osometweet.fields as o_fields

all_user_fields = o_fields.UserFields(everything=True)
print("User fields:", all_user_fields)

ot.user_lookup_usernames(['mdeverna2'], fields=all_user_fields)
User fields: id,name,username,created_at,description,entities,location,pinned_tweet_id,profile_image_url,protected,public_metrics,url,verified,withheld
Out[42]:
{'data': [{'description': 'Matt DeVerna. Ph.D. student - Indiana University Bloomington Informatics, Complex Networks and Systems. OSoMe Knight Fellow studying misinformation.',
   'public_metrics': {'followers_count': 85,
    'following_count': 314,
    'tweet_count': 538,
    'listed_count': 2},
   'protected': False,
   'pinned_tweet_id': '1364255699996471298',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/1QYmEi2pIM',
       'expanded_url': 'http://matthewdeverna.com',
       'display_url': 'matthewdeverna.com'}]}},
   'verified': False,
   'profile_image_url': 'https://pbs.twimg.com/profile_images/1314948204916617216/z9HvE_xt_normal.jpg',
   'url': 'https://t.co/1QYmEi2pIM',
   'name': 'Matthew DeVerna',
   'id': '1312850357555539972',
   'created_at': '2020-10-04T20:24:15.000Z',
   'username': 'mdeverna2'}]}
In [43]:
all_tweet_fields = o_fields.TweetFields(everything=True)
print("Tweet fields:",all_tweet_fields)

ot.tweet_lookup('1348419350370398209', fields=all_tweet_fields)
Tweet fields: id,text,attachments,author_id,context_annotations,conversation_id,created_at,entities,geo,in_reply_to_user_id,lang,possibly_sensitive,public_metrics,referenced_tweets,reply_settings,source,withheld
Out[43]:
{'data': [{'attachments': {'media_keys': ['3_1348399526705586183']},
   'entities': {'urls': [{'start': 107,
      'end': 130,
      'url': 'https://t.co/up8Qtj6gn8',
      'expanded_url': 'https://twitter.com/SecPompeo/status/1348419350370398209/photo/1',
      'display_url': 'pic.twitter.com/up8Qtj6gn8'}]},
   'created_at': '2021-01-11T00:00:00.000Z',
   'id': '1348419350370398209',
   'source': 'Twitter Web App',
   'reply_settings': 'everyone',
   'context_annotations': [{'domain': {'id': '10',
      'name': 'Person',
      'description': 'Named people in the world like Nelson Mandela'},
     'entity': {'id': '936263589509263360',
      'name': 'Mike Pompeo',
      'description': 'US Secretary of State, Mike Pompeo'}},
    {'domain': {'id': '35',
      'name': 'Politician',
      'description': 'Politicians in the world, like Joe Biden'},
     'entity': {'id': '936263589509263360',
      'name': 'Mike Pompeo',
      'description': 'US Secretary of State, Mike Pompeo'}}],
   'lang': 'en',
   'text': 'Treaties, like alliances, can outlast their sell-by-date. Always have to keep evaluating their usefulness. https://t.co/up8Qtj6gn8',
   'conversation_id': '1348419350370398209',
   'possibly_sensitive': False,
   'author_id': '988573326376427520',
   'public_metrics': {'retweet_count': 14893,
    'reply_count': 2928,
    'like_count': 65227,
    'quote_count': 909}}]}

Include specific fields and expansions

OSoMeTweet provides the flexibility to specify exactly what the API should return.

Let us use the tweet_lookup endpoint as an example.

Suppose we are interested in a tweet with the unique tweet ID number, 1212092628029698048.

In addition to the default tweet data, we also want to know:

  1. When it was created (captured in the created_at field)
  2. How popular it was (captured in the public_metrics field with information like retweet counts, etc.)
  3. The author of the tweet (so we will need to expand the author_id field)
  4. When the author created their account (so we also need to request the created_at field as a user field)

To retrieve all of this information, we simply specify these specific tweet and user fields in our query.

In [44]:
import osometweet.fields as o_fields
import osometweet.expansions as o_expansions

# Initialize the fields object
tweet_fields = o_fields.TweetFields()

# Specify the tweet fields you need
tweet_fields.fields = ['public_metrics', 'created_at']

# Initialize the expansion object
expansions = o_expansions.TweetExpansions()

# Specify the expansions you need
expansions.expansions = ["author_id"]

# Initialize the user fields object
user_fields = o_fields.UserFields()

# Specify the fields you need
user_fields.fields = ['created_at']

# make request
ot.tweet_lookup(
    tids = ['1212092628029698048'],
    fields = tweet_fields+user_fields,
    expansions=expansions
)
Out[44]:
{'data': [{'public_metrics': {'retweet_count': 7,
    'reply_count': 3,
    'like_count': 39,
    'quote_count': 1},
   'id': '1212092628029698048',
   'author_id': '2244994945',
   'text': 'We believe the best future version of our API will come from building it with YOU. Here’s to another great year with everyone who builds on the Twitter platform. We can’t wait to continue working with you in the new year. https://t.co/yvxdK6aOo2',
   'created_at': '2019-12-31T19:26:16.000Z'}],
 'includes': {'users': [{'name': 'Twitter Dev',
    'id': '2244994945',
    'created_at': '2013-12-14T04:35:55.000Z',
    'username': 'TwitterDev'}]}}

More on fields

Twitter supports fields for user, tweet, media, poll, and place. You can use UserFields, TweetFields, MediaFields, PollFields, and PlaceFields classes to handle them, respectively. They only contain the default fields if not specified otherwise.

You can see what optional fields are available by

In [45]:
import osometweet.fields as o_fields

tweet_fields = o_fields.TweetFields()
tweet_fields.optional_fields
Out[45]:
['attachments',
 'author_id',
 'context_annotations',
 'conversation_id',
 'created_at',
 'entities',
 'geo',
 'in_reply_to_user_id',
 'lang',
 'possibly_sensitive',
 'public_metrics',
 'referenced_tweets',
 'reply_settings',
 'source',
 'withheld']
In [46]:
tweet_fields.default_fields
Out[46]:
['id', 'text']

You can specify the fields by

In [47]:
tweet_fields.fields = ['public_metrics', 'created_at']
tweet_fields.fields
Out[47]:
['public_metrics', 'created_at']

You can add different fields objects up to get an object that contains all the information, and pass it to the API endpoints

In [48]:
import osometweet.fields as o_fields

tweet_fields = o_fields.TweetFields()
tweet_fields.fields = ['public_metrics', 'created_at']

user_fields = o_fields.UserFields()
user_fields.fields = ['created_at']

sum_of_fields = tweet_fields + user_fields
# OR
# sum_of_fields = sum([tweet_fields, user_fields])

print(type(sum_of_fields))
sum_of_fields
<class 'osometweet.fields.ObjectFields'>
Out[48]:
{'tweet.fields': 'public_metrics,created_at', 'user.fields': 'created_at'}

Note: We include the user.fields object here but it is not returned by Twitter because we do not include the author_id expansion. Always make sure to double-check your asking for the right information from Twitter!!

In [49]:
ot.tweet_lookup(
    tids = ['1212092628029698048'],
    fields = sum_of_fields
)
Out[49]:
{'data': [{'created_at': '2019-12-31T19:26:16.000Z',
   'id': '1212092628029698048',
   'text': 'We believe the best future version of our API will come from building it with YOU. Here’s to another great year with everyone who builds on the Twitter platform. We can’t wait to continue working with you in the new year. https://t.co/yvxdK6aOo2',
   'public_metrics': {'retweet_count': 7,
    'reply_count': 3,
    'like_count': 39,
    'quote_count': 1}}]}

Utility Functions

We also include a few utility methods which will (hopefully) make working with the new Twitter API structure a bit easier.

First, you can import the utility methods into your environment with the following code...

o_utils.pause_until

Managing time is an important aspect of gathering data from Twitter and often you'd just like to wait some specified time. This is relatively easy with the time module, however, it is even easier with the pause_until() method. Simply input the time that you would like to pause your code until, and the method handles the rest. This method can take in a datetime object or a Unix epoch time-stamp. For example, if you'd like to wait ten seconds, you can simple do...

In [50]:
import osometweet.utils as o_utils
import datetime as datetime

# The below line of code takes the time at the current moment, converts it to an epoch time-stamp
# and then adds five seconds to it.
now_plus_5_with_epoch_timestamp = datetime.datetime.now().timestamp() + 5

print("timestamp:", now_plus_5_with_epoch_timestamp)

# Then we input that into the pause_until() method and your machine will
# sleep until that specific time, five seconds later
print("Time before call:",datetime.datetime.now())

o_utils.pause_until(now_plus_5_with_epoch_timestamp)

print("Time after call:",datetime.datetime.now())
timestamp: 1630682071.323797
Time before call: 2021-09-03 11:14:26.324186
Time after call: 2021-09-03 11:14:31.324002

If you'd like to do this with a datetimeobject, it looks like this...

In [51]:
import osometweet.utils as o_utils
import datetime as datetime

# The timedelta method takes input in the following way...
# timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
now_plus_5_with_datetime_object = datetime.datetime.now() + datetime.timedelta(seconds=5)

print("datetime object:", now_plus_5_with_datetime_object)

print("Time before call:",datetime.datetime.now())

o_utils.pause_until(now_plus_5_with_datetime_object)

print("Time before call:",datetime.datetime.now())
datetime object: 2021-09-03 11:14:36.337882
Time before call: 2021-09-03 11:14:31.338553
Time before call: 2021-09-03 11:14:36.338111

o_utils.chunker

Another reality of working with Twitter data is that you are only allowed to query Twitter with a maximum number of users/tweets/whatever per endpoint. To deal with this, we created the o_utils.chunker method which turns a list into a list of smaller lists where the length of those smaller lists are no longer than the user indicated size. For example...

In [52]:
from osometweet import utils as o_util
my_list = ["user1", "user2", "user3", "user4", "user5", "user6", "user7", "user8", "user9"]
chunked_list = o_util.chunker(seq=my_list, size=2)
print(chunked_list)
[['user1', 'user2'], ['user3', 'user4'], ['user5', 'user6'], ['user7', 'user8'], ['user9']]

o_utils.convert_date_to_iso

Some of the endpoints require specific time strings to specify where to (for example) search for different tweets.

We provide the o_utils.convert_date_to_iso method to make this easier...

In [53]:
from osometweet import utils as o_util

o_util.convert_date_to_iso("2020-1-1")
Out[53]:
'2020-01-01T00:00:00Z'

Can also specify the time_format object if we want using any of the standard datetime formats.

In [54]:
o_util.convert_date_to_iso("2020", time_format="%Y")
Out[54]:
'2020-01-01T00:00:00Z'
In [55]:
o_util.convert_date_to_iso("2020_1_1", time_format="%Y_%m_%d")
Out[55]:
'2020-01-01T00:00:00Z'

Wrangle functions

osometweet.wrangle includes a handful of low-level data processing functions that we think could be useful when wrangling your Twitter data into something easier to analyze. The idea behind these functions was to create methods that you can easily adapt to your data processing pipeline, as opposed to creating our own that you must adopt.

Below we provide simple examples of how each function works.

Contents

  • flatten_dict
  • flatten_dict and Twitter data
  • get_dict_paths
  • get_dict_val

Import

We can import these functions via...

In [56]:
from osometweet.wrangle import get_dict_paths, get_dict_val, flatten_dict

flatten_dict

This function takes a nested dictionary and "flattens" it so that the keys of each nested dictionary are concatenated into a single string, and the value is the value at the end of that key path. This function can help you simplify the complexity of a nested dictionary (like Twitter's data objects) so it is easier to manage.

Let's see what this means.

In [57]:
# Create dictionary
dictionary = {
    "a" : 1,
    "b" : {
        "c" : 2,
        "d" : 5
    },
    "e" : {
        "f" : 4,
        "g" : 3
    },
    "h" : 3
}
In [58]:
dictionary
Out[58]:
{'a': 1, 'b': {'c': 2, 'd': 5}, 'e': {'f': 4, 'g': 3}, 'h': 3}

1. Using function as is

In [59]:
flat_dict = flatten_dict(dictionary)
flat_dict
Out[59]:
{'a': 1, 'b.c': 2, 'b.d': 5, 'e.f': 4, 'e.g': 3, 'h': 3}
In [60]:
print(dictionary.keys())
print(flat_dict.keys())
dict_keys(['a', 'b', 'e', 'h'])
dict_keys(['a', 'b.c', 'b.d', 'e.f', 'e.g', 'h'])

2. Changing parent_key

This function has an available parameter called parent_key which helps it work. Typically, we would recommend that you do not touch this, however, here is what tinkering with this will do - should you find some use for it. 😄

In [61]:
# Parent key will add `parent_key` as a prefix to all keys
flatten_dict(dictionary, parent_key = "NEW")
Out[61]:
{'NEW.a': 1,
 'NEW.b.c': 2,
 'NEW.b.d': 5,
 'NEW.e.f': 4,
 'NEW.e.g': 3,
 'NEW.h': 3}

3. Changing sep

Another parameter, sep, allows you to control the string that will separate each level of the concatenated key path. As you saw above, the default is a period (i.e., '.'), however, it can be whatever you prefer.

In [62]:
# This string is what will separate key path strings
flatten_dict(dictionary, sep = "")
Out[62]:
{'a': 1, 'bc': 2, 'bd': 5, 'ef': 4, 'eg': 3, 'h': 3}

🚨🚨🚨🚨

flatten_dict and Twitter data

It is important to note that the flatten_dict function handles all nested dictionaires but will stop when it reaches something other than a dictionary. What this means is for certain data objects which contain a list as the value (e.g. urls and context_annotations), further processing will be needed.

To understand what this means in more detail, I've created a walk-through) of one way you might process a couple of tweets using this function while keeping the above in mind.

🚨🚨🚨🚨

In [63]:
response = ot.user_lookup_usernames(["mdeverna2"], everything=True)
In [64]:
response["data"][0]
Out[64]:
{'public_metrics': {'followers_count': 85,
  'following_count': 314,
  'tweet_count': 538,
  'listed_count': 2},
 'url': 'https://t.co/1QYmEi2pIM',
 'entities': {'url': {'urls': [{'start': 0,
     'end': 23,
     'url': 'https://t.co/1QYmEi2pIM',
     'expanded_url': 'http://matthewdeverna.com',
     'display_url': 'matthewdeverna.com'}]}},
 'description': 'Matt DeVerna. Ph.D. student - Indiana University Bloomington Informatics, Complex Networks and Systems. OSoMe Knight Fellow studying misinformation.',
 'username': 'mdeverna2',
 'pinned_tweet_id': '1364255699996471298',
 'protected': False,
 'name': 'Matthew DeVerna',
 'created_at': '2020-10-04T20:24:15.000Z',
 'id': '1312850357555539972',
 'profile_image_url': 'https://pbs.twimg.com/profile_images/1314948204916617216/z9HvE_xt_normal.jpg',
 'verified': False}
In [65]:
flatten_dict(response["data"][0])
Out[65]:
{'public_metrics.followers_count': 85,
 'public_metrics.following_count': 314,
 'public_metrics.tweet_count': 538,
 'public_metrics.listed_count': 2,
 'url': 'https://t.co/1QYmEi2pIM',
 'entities.url.urls': [{'start': 0,
   'end': 23,
   'url': 'https://t.co/1QYmEi2pIM',
   'expanded_url': 'http://matthewdeverna.com',
   'display_url': 'matthewdeverna.com'}],
 'description': 'Matt DeVerna. Ph.D. student - Indiana University Bloomington Informatics, Complex Networks and Systems. OSoMe Knight Fellow studying misinformation.',
 'username': 'mdeverna2',
 'pinned_tweet_id': '1364255699996471298',
 'protected': False,
 'name': 'Matthew DeVerna',
 'created_at': '2020-10-04T20:24:15.000Z',
 'id': '1312850357555539972',
 'profile_image_url': 'https://pbs.twimg.com/profile_images/1314948204916617216/z9HvE_xt_normal.jpg',
 'verified': False}

get_dict_val

This function returns a dictionary value at the end of a key path - provided as a list, like those returned by get_dict_paths.

Here is what this function looks like in practice.

In [66]:
# Create dictionary
dictionary = {
    "a" : 1,
    "b" : {
        "c" : 2,
        "d" : 5
    },
    "e" : {
        "f" : 4,
        "g" : 3
    },
    "h" : 3
}

# Create key_list
key_list = ['e', 'f']

# Execute function
get_dict_val(dictionary, key_list)
Out[66]:
4

2. When the input key_path doesn't exist

It is important to know that this function does not break should you be asking it to return a value at the end of a key path that doesn't exist. Instead, it will return None.

In [67]:
# Create key_list
key_list = ['b', 'k']

# Execute function
value = get_dict_val(dictionary, key_list)

# Returns NoneType because the provided path doesn't exist
type(value)
Out[67]:
NoneType

get_dict_paths

This function returns a generator that iterates over all full key paths within dictionary. Because Twitter often returns only the data that is present for a specific data object (for example, certain fields/expansions (see info, our methods for more details) will only be present within a data object if there is something to return for that field/expansion), this function can help you understand what your data object actually contains.

Here is a simple example...

In [68]:
# Create dictionary
dictionary = {
    "a" : 1,
    "b" : {
        "c" : 2,
        "d" : 5
    },
    "e" : {
        "f" : 4,
        "g" : 3
    },
    "h" : 3
}

# Call get_dict_paths
print(list(get_dict_paths(dictionary)))
[['a'], ['b', 'c'], ['b', 'd'], ['e', 'f'], ['e', 'g'], ['h']]

How to use get_dict_paths and get_dict_val together with Twitter data...

In [69]:
# Here is the user object from earlier...
user_object = response["data"][0]
In [70]:
# Get all of the paths in that dictionary 
tweet_dict_paths = list(get_dict_paths(user_object))
tweet_dict_paths
Out[70]:
[['public_metrics', 'followers_count'],
 ['public_metrics', 'following_count'],
 ['public_metrics', 'tweet_count'],
 ['public_metrics', 'listed_count'],
 ['url'],
 ['entities', 'url', 'urls'],
 ['description'],
 ['username'],
 ['pinned_tweet_id'],
 ['protected'],
 ['name'],
 ['created_at'],
 ['id'],
 ['profile_image_url'],
 ['verified']]
In [71]:
# Extract only key paths that include public metrics data points
pub_metric_paths = [path for path in tweet_dict_paths if "public_metrics" in path]
pub_metric_paths
Out[71]:
[['public_metrics', 'followers_count'],
 ['public_metrics', 'following_count'],
 ['public_metrics', 'tweet_count'],
 ['public_metrics', 'listed_count']]
In [72]:
for path in pub_metric_paths:
    print(
        path[1],  # print the public metric name
        get_dict_val(response["data"][0], path)    # print the value at that path
    )
followers_count 85
following_count 314
tweet_count 538
listed_count 2

Extracting error details

It can be very useful to take advantage of the information returned in the errors object by Twitter. The below user_lookup_usernames method call tells us that the account @realDonaldTrump has been suspended.

In [73]:
ot.user_lookup_usernames(usernames=["realDonaldTrump","mdeverna2"], everything=True)
Out[73]:
{'data': [{'pinned_tweet_id': '1364255699996471298',
   'verified': False,
   'description': 'Matt DeVerna. Ph.D. student - Indiana University Bloomington Informatics, Complex Networks and Systems. OSoMe Knight Fellow studying misinformation.',
   'url': 'https://t.co/1QYmEi2pIM',
   'public_metrics': {'followers_count': 85,
    'following_count': 314,
    'tweet_count': 538,
    'listed_count': 2},
   'username': 'mdeverna2',
   'name': 'Matthew DeVerna',
   'created_at': '2020-10-04T20:24:15.000Z',
   'entities': {'url': {'urls': [{'start': 0,
       'end': 23,
       'url': 'https://t.co/1QYmEi2pIM',
       'expanded_url': 'http://matthewdeverna.com',
       'display_url': 'matthewdeverna.com'}]}},
   'protected': False,
   'profile_image_url': 'https://pbs.twimg.com/profile_images/1314948204916617216/z9HvE_xt_normal.jpg',
   'id': '1312850357555539972'}],
 'includes': {'tweets': [{'possibly_sensitive': False,
    'lang': 'en',
    'reply_settings': 'everyone',
    'text': 'Thrilled to announce the official launch of the CoVaxxy dashboard! (https://t.co/Q7HqNjavx6) Covaxxy is a new @OSoMe_IU tool that allows users to visualize the relationship between vaccine adoption and online (mis)information. See the thread for more details...',
    'public_metrics': {'retweet_count': 8,
     'reply_count': 1,
     'like_count': 9,
     'quote_count': 1},
    'context_annotations': [{'domain': {'id': '123',
       'name': 'Ongoing News Story',
       'description': "Ongoing News Stories like 'Brexit'"},
      'entity': {'id': '1220701888179359745', 'name': 'COVID-19'}}],
    'conversation_id': '1364255699996471298',
    'source': 'Twitter Web App',
    'created_at': '2021-02-23T16:48:00.000Z',
    'entities': {'mentions': [{'start': 110,
       'end': 119,
       'username': 'OSoMe_IU',
       'id': '187521608'}],
     'urls': [{'start': 68,
       'end': 91,
       'url': 'https://t.co/Q7HqNjavx6',
       'expanded_url': 'http://osome.iu.edu/tools/covaxxy',
       'display_url': 'osome.iu.edu/tools/covaxxy',
       'images': [{'url': 'https://pbs.twimg.com/news_img/1422285733356703775/p9IFUfbc?format=jpg&name=orig',
         'width': 1090,
         'height': 975},
        {'url': 'https://pbs.twimg.com/news_img/1422285733356703775/p9IFUfbc?format=jpg&name=150x150',
         'width': 150,
         'height': 150}],
       'status': 200,
       'title': 'CoVaxxy',
       'description': 'Visualizing the relationship between COVID-19 vaccine adoption and online (mis)information. From IU Observatory on Social Media (OSoMe).',
       'unwound_url': 'https://osome.iu.edu/tools/covaxxy'}]},
    'id': '1364255699996471298',
    'author_id': '1312850357555539972'}]},
 'errors': [{'parameter': 'usernames',
   'resource_id': 'realDonaldTrump',
   'value': 'realDonaldTrump',
   'detail': 'User has been suspended: [realDonaldTrump].',
   'title': 'Forbidden',
   'resource_type': 'user',
   'type': 'https://api.twitter.com/2/problems/resource-not-found'}]}
In [ ]: