Share contents fetched with the Streaming API



Is it possible to publicly share a set of tweets (raw data) collected using the streaming API?
The tweets will be shared to perform some machine learning tasks (i.e. sentiment analysis), not for business purposes.

I could not find the right information within the term of service.


Please see section F 2 of the developer agreement:

If you provide Content to third parties, including downloadable datasets of Content or an API that returns Content, you will only distribute or allow download of Tweet IDs and/or User IDs.
You may, however, provide export via non-automated means (e.g., download of spreadsheets or PDF files, or use of a “save as” button) of up to 50,000 public Tweets and/or User Objects per user of your Service, per day.
Any Content provided to third parties via non-automated file download remains subject to this Policy.

Remember that you also need to respect deletion notices in handling your data.



There are some updates to this section as follows -

You may not distribute Tweet IDs for the purposes of (a) enabling any entity to store and analyze Tweets for a period exceeding 30 days without the express written permission of Twitter, or (b) enabling any entity to circumvent any other limitations or restrictions on the distribution of Twitter Content as contained in this Policy, the Twitter Developer Agreement, or any other agreement with Twitter.

What is not clear in the above is that if there if we are sharing tweet IDs with someone via download link etc. how is it possible to control the 30 days condition ?

Can you please elaborate on this ?


If you are unable to control that then you should avoid distributing Tweet IDs in that manner.


Say you give me tweet IDs and I do not process and display those as tweets, how can you possibly know whether I am storing it somewhere or have destroyed them ?