Skip to contents

There are three ways that you can authenticate with the Twitter API:

  • rtweet_user() interactively authenticates an existing Twitter user. This form is most appropriate if you want rtweet to control your Twitter account.

  • rtweet_app() authenticates as a Twitter application. An application can't perform actions (i.e. it can't tweet) but otherwise has generally higher rate limits (i.e. you can do more searches). See details at This form is most appropriate if you are collecting data.

  • rtweet_bot() authenticates as bot that takes actions on behalf of an app. This form is most appropriate if you want to create a Twitter account that is run by a computer, rather than a human.

To use rtweet_app() or rtweet_bot() you will need to create your own Twitter app following the instructions in vignette("auth.Rmd"). rtweet_user() can be used with your own app, but generally there is no need to because it uses the Twitter app provided by rtweet.

Use auth_as() to set the default auth mechanism for the current session, and auth_save() to save an auth mechanism for use in future sessions.


rtweet_user(api_key = NULL, api_secret = NULL)

rtweet_bot(api_key, api_secret, access_token, access_secret)



api_key, api_secret

Application API key and secret. These are generally not required for tweet_user() since the defaults will use the built-in rtweet app.

access_token, access_secret

Access token and secret.


App bearer token.


Authenticate methods to use the Twitter API.


All of the arguments to these functions are roughly equivalent to passwords so should generally not be typed into the console (where they the will be recorded in .Rhistory) or recorded in a script (which is easy to accidentally share). Instead, call these functions without arguments since the default behaviour is to use ask_pass that if possible uses askpass::askpass() to interactively safely prompt you for the values.

See also

Other authentication: auth_as(), auth_get(), auth_save(), auth_setup_default()


if (FALSE) {