Receiving "Stream encountered HTTP error: 403" when using Twitter API. What is causing this error and how can I fix it?

Question:

I am very new to using the Twitter API and was testing some Python code (below)

from tweepy import OAuthHandler 
from tweepy import Stream

import twitter_credentials

class StdOutListener(Stream):
    def on_data(self, data):
        print(data)
        return True

    def on_error(self, status):
        print(status)

twitter_stream = StdOutListener(
  twitter_credentials.CONSUMER_KEY, twitter_credentials.CONSUMER_KEY_SECERET,
  twitter_credentials.ACCESS_TOKEN, twitter_credentials.ACCESS_TOKEN_SECERET
)
twitter_stream.filter(track=['#bitcoin'])

but whenever I try to run it, it would give this repeating error "Stream encountered HTTP error: 403". I checked the Twitter API response codes and error 403 was listed as the request is forbidden.

Here are some troubleshooting steps I already took:

  1. tried new access keys/consumer keys
  2. tried to create a new developer account
  3. uninstall and reinstall tweepy

None of these worked for me. So what is causing this error and how can I fix it? Thank you.

Asked By: zig

||

Answers:

If you have Essential access, you won’t be able to access Twitter API v1.1.

See the FAQ section about this in Tweepy’s documentation for more information.

Answered By: Harmon758

Use StreamingClient instead of Streaming from Tweepy if you only have Essential Access (Twitter API v2). The bearer token is enough for StreamingClient.

For more information about its use:
https://docs.tweepy.org/en/stable/streamingclient.html#tweepy.StreamingClient

Answered By: Chester Ayala
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.