{"openapi":"3.2.0","info":{"title":"Twitter API","description":"Access real-time Twitter/X data as soon as it's posted! With the Twitter/X AIO API, you can retrieve twitter tweets, media and profiles instantly. Say goodbye to expensive fees charged by Twitter/X while still getting access to all the available Twitter data. Use the fastest, best and most reliable Twitter API out here!","version":"1.0.0"},"servers":[{"url":"https://twitterapi.jojapi.net"}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"User"},{"name":"Tweet"},{"name":"Utilities/Misc"},{"name":"✨ Exclusive endpoints"}],"paths":{"/search/{searchTerm}":{"get":{"operationId":"get_search_searchTerm","summary":"Search","description":"With the search endpoint you can search all of twitter. You just need to provide a search term. ⚠ If you have a large cursor the GET-request will limit at some length. For that you can use a POST-request which has no limits.","parameters":[{"name":"searchTerm","in":"path","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"The default count is 20. You can specify a custom one here.","required":false,"schema":{"type":"string","title":"count","example":"20"}},{"name":"cursor","in":"query","description":"At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.","required":false,"schema":{"type":"string","title":"cursor"}},{"name":"category","in":"query","description":"ENUM\nTop,Latest,People,Photos,Videos","required":false,"schema":{"type":"string","title":"category","example":"Latest"}},{"name":"filters","in":"query","description":"Learn more about all filters by reading the docs or contact me on telegram @benagain :)","required":false,"schema":{"type":"string","title":"filters","example":"{\"since\": \"2020-10-01\"}"}},{"name":"includeTimestamp","in":"query","description":"Decide if you need a unix created_at timestamp. This will slightly increase the speed of the request.","required":false,"schema":{"type":"string","title":"includeTimestamp","example":"false"}}]},"post":{"operationId":"post_search_searchTerm","summary":"Search for large cursors","description":"With the search endpoint you can search all of twitter. You just need to provide a search term. This is the POST-request which allows you to send larger requests.","tags":["Utilities/Misc"],"parameters":[{"name":"searchTerm","in":"path","required":true,"schema":{"type":"string"}}]}},"/trends/{locationId}":{"get":{"operationId":"get_trends_locationId","summary":"Trends","description":"Get twitter trends for worldwide or a specific region.","parameters":[{"name":"locationId","in":"path","required":true,"schema":{"type":"string"}}]}},"/user/{userId}":{"get":{"operationId":"get_user_userId","summary":"User Details by userId","description":"This is the prefered method of getting any information. Receive follower counts, images and more user related data with this endpoint.","tags":["User"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}]}},"/user/by/username/{username}":{"get":{"operationId":"get_user_by_username_username","summary":"User Details by username","description":"Receive follower counts, images and more user related data with this endpoint.","tags":["User"],"parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string"}}]}},"/user/{userId}/tweets":{"get":{"operationId":"get_user_userId_tweets","summary":"Tweets by userId","description":"Receive all tweets ordered by most recent. You can use the cursor and count to navigate around.","tags":["User"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"The default count is 20. You can specify a custom one here.","required":false,"schema":{"type":"string","title":"count","example":"20"}},{"name":"cursor","in":"query","description":"At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.","required":false,"schema":{"type":"string","title":"cursor"}},{"name":"username","in":"query","description":"If you provide a username value it will automatically be picked and the userId is ignored. Best is to set userId to -1","required":false,"schema":{"type":"string","title":"username"}}]}},"/user/{userId}/tweetsAndReplies":{"get":{"operationId":"get_user_userId_tweetsAndReplies","summary":"Tweets and Replies by userId","description":"Receive all tweets and replies ordered by most recent. You can use the cursor and count to navigate around.","tags":["User"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"The default count is 20. You can specify a custom one here.","required":false,"schema":{"type":"string","title":"count","example":"20"}},{"name":"cursor","in":"query","description":"At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.","required":false,"schema":{"type":"string","title":"cursor"}},{"name":"username","in":"query","description":"If you provide a username value it will automatically be picked and the userId is ignored","required":false,"schema":{"type":"string","title":"username"}}]}},"/user/{userId}/likes":{"get":{"operationId":"get_user_userId_likes","summary":"User Likes by userId","description":"Receive all likes of a user. You can use the cursor and count to navigate around.","tags":["User"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}]}},"/user/{userId}/followers":{"get":{"operationId":"get_user_userId_followers","summary":"User Followers by userId","description":"Receive all followers of a user. You can use the cursor and count to navigate around.","tags":["User"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"The default count is 20. You can specify a custom one here.","required":false,"schema":{"type":"string","example":"20"}},{"name":"cursor","in":"query","description":"At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.","required":false,"schema":{"type":"string"}},{"name":"username","in":"query","description":"If you provide a username value it will automatically be picked and the userId is ignored","required":false,"schema":{"type":"string"}}]}},"/user/{userId}/followings/basic":{"get":{"operationId":"get_user_userId_followings_basic","summary":"Basic user followings by userId","description":"You'll receive a basic list of all followings a user has. Please provide only the userId and you'll receive the following followings data: id, username, createdDate, followings, followers.","tags":["User"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}},{"name":"username","in":"query","description":"If you provide a username value it will automatically be picked and the userId is ignored","required":false,"schema":{"type":"string","title":"username","example":"elonmusk"}}]}},"/user/{userId}/followings":{"get":{"operationId":"get_user_userId_followings","summary":"User Followings by userId","description":"Receive all followings of a user. You can use the cursor and count to navigate around.","tags":["User"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"The default count is 20. You can specify a custom one here.","required":false,"schema":{"type":"string","example":"20"}},{"name":"cursor","in":"query","description":"At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.","required":false,"schema":{"type":"string"}},{"name":"username","in":"query","description":"If you provide a username value it will automatically be picked and the userId is ignored","required":false,"schema":{"type":"string"}}]}},"/user/{userId}/media":{"get":{"operationId":"get_user_userId_media","summary":"Media by userId","description":"Receive all media items ordered by most recent. You can use the cursor and count to navigate around.","tags":["User"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}]}},"/user/{userId}/followings/ids":{"get":{"operationId":"get_user_userId_followings_ids","summary":"User Followings Ids","description":"Get the ids of the users a certain user follows","tags":["User"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","required":false,"schema":{"type":"string","example":"20"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"username","in":"query","required":false,"schema":{"type":"string","example":"spacex"}}]}},"/tweet/{tweetId}":{"get":{"operationId":"get_tweet_tweetId","summary":"Tweet Details","description":"Receive all tweet informations and comments by tweetId. ⚠️ For large cursors (many replies you want to fetch) you can use the POST-request to be not limited by the GET-request length limit.","tags":["Tweet"],"parameters":[{"name":"tweetId","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"operationId":"post_tweet_tweetId","summary":"Tweet Details for large cursors","description":"Receive all tweet informations and comments by tweetId. This POST-request allows you to dig deeper into the replies when the cursor is growing.","tags":["Utilities/Misc"],"parameters":[{"name":"tweetId","in":"path","required":true,"schema":{"type":"string"}}]}},"/tweet/{tweetId}/favorites":{"get":{"operationId":"get_tweet_tweetId_favorites","summary":"Tweet Likes","description":"Receive all likes for a tweet.","tags":["Tweet"],"parameters":[{"name":"tweetId","in":"path","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"The default count is 20. You can specify a custom one here.","required":false,"schema":{"type":"string","example":"20"}},{"name":"cursor","in":"query","description":"At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.","required":false,"schema":{"type":"string"}}]}},"/tweet/{tweetId}/retweets":{"get":{"operationId":"get_tweet_tweetId_retweets","summary":"Tweet Retweets","description":"Receive all retweets for a tweet.","tags":["Tweet"],"parameters":[{"name":"tweetId","in":"path","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","required":false,"schema":{"type":"string","example":"20"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}]}},"/resolve-urls":{"get":{"operationId":"get_resolve_urls","summary":"resolve urls","tags":["Utilities/Misc"],"parameters":[{"name":"urls","in":"query","required":false,"schema":{"type":"string"}}]}},"/misc/emojis":{"get":{"operationId":"get_misc_emojis","summary":"Twitter hashtag emojis","description":"Receive a full list of all twitter custom emojis with the hashtag, image and more.","tags":["Utilities/Misc"]}},"/misc/locations":{"get":{"operationId":"get_misc_locations","summary":"Location (for trends)","description":"This gives you a list of all available locations.","tags":["Utilities/Misc"]}},"/username/to/id/{username}":{"get":{"operationId":"get_username_to_id_username","summary":"Convert username to userId","description":"You'll need the userId to receive tweets, media and replies.","tags":["Utilities/Misc"],"parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string"}}]}},"/user/usernames/to/ids":{"get":{"operationId":"get_user_usernames_to_ids","summary":"[✨ EXCLUSIVE!] Usernames to Ids","description":"This endpoint receives a list of usernames and converts up to 100 of them at the same time to ids.","tags":["✨ Exclusive endpoints"]}},"/misc/subtitles":{"get":{"operationId":"get_misc_subtitles","summary":"Video Subtitles","description":"Get the full subtitles of a video","tags":["✨ Exclusive endpoints"]}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-JoJAPI-Key","description":"Your JoJ API key."}}}}