DOI: 10.7910/dvn/3ncmb6
title: Harvard CGA Geotweet Archive v2.0

description: &lt;p&gt;&lt;b&gt; Geotweet Archive v2.0 &lt;/b&gt; The Harvard Center for Geographic Analysis (CGA) maintains the Geotweet Archive, a global record of tweets spanning time, geography, and language. The primary purpose of the Archive is to make a comprehensive collection of geo-located tweets available to the academic research community. &lt;/p&gt;

&lt;p&gt;The Archive extends from 2010 to July 12, 2023 when Twitter stopped allowing free access to its API, transitioning API access to a paid model. The number of tweets in the collection totals approximately 10 billion, and it is stored on &lt;a href="https://www.rc.fas.harvard.edu/about/cluster-architecture/"&gt;Harvard University’s High Performance Computing (HPC) cluster&lt;/a&gt;. The Harvard HPC supports many applications for working with big spatio-temporal datasets, including two geospatial tools recently deployed by the CGA: Heavy.ai, and PostGIS. &lt;/p&gt;

&lt;p&gt; The Geotweet Archive consists of tweets which carry two types of geospatial signature: &lt;/p&gt;
&lt;p&gt;1) GPS-based longitude/latitude generated by the originating device&lt;p&gt;
&lt;p&gt;2) Place-name-centroid-based longitude/latitude from the bounding box provided by Twitter, based on the user-define place designation (typically a town name).&lt;/p&gt;

&lt;p&gt; Any tweet which carries one or both of these signatures is included in the Archive. Approximately 1-2% of all tweets contain such geographic coordinates, (this percentage needs verification and may vary over time). &lt;/p&gt; 

&lt;p&gt; The current version of the Archive is Version 2.0. The original Version 1.0 archive began in 2012 as part of a project started by Ben Lewis of CGA and then Harvard graduate student Todd Mostak, to develop a GPU-powered spatial database. The database needed an interesting, large, spatio-temporal dataset to show off its capabilities. So Todd and Ben built a harvester with the goal of harvesting all tweets containing GPS coordinates coming out of the Twitter firehose. &lt;/p&gt;

&lt;p&gt; The first version of the GPU database was called GEOPS, and it powered TweetMap which ran within WorldMap and represented the first vector-based geospatial big data query and display platform. Eventually when GEOPS was not made open source, Ben Lewis and Apache developer David Smiley developed an open source version of GEOPS built on 2D faceting within Solr which was called "The BOP" (https://gis.harvard.edu/billion-object-platform-bop). &lt;/p&gt;

&lt;p&gt; Later GEOPS formed the basis for technology startup MapD Technologies, which then became OmniSci, and then Heavy.ai. Heavy.ai software now runs on Harvard’s High Performance Computing (HPC) environment to support interactive exploration and analytics with the Geotweet Archive and any other large datasets. &lt;/p&gt;

&lt;p&gt; Version 2.0 of the geotweet archive represents the results of a merge between the CGA archive, and an archive developed by the Department of Geoinformatics at the University of Salzburg in Austria, as well as several other archives lead by Ben Lewis of Harvard CGA. Clemens Havas and Bernd Resch at University of Salzburg, worked with Devika Jain of Harvard CGA, to deploy Version 2.0. &lt;/p&gt;
========================================================
&lt;p&gt;Schema of Geotweet Archive v2.0 &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Field name____TYPE____Description&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;message_id&lt;/b&gt;----BIGINT----Tweet ID&lt;/p&gt;
&lt;p&gt;&lt;b&gt;tweet_date&lt;/b&gt;----TIMESTAMP----Date and time of tweet from Twitter (utc)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;tweet_text&lt;/b&gt;----TEXT ENCODING----Text content of tweet&lt;/p&gt;
&lt;p&gt;&lt;b&gt;tags&lt;/b&gt;----TEXT ENCODING DICT----Tweet hashtags &lt;/p&gt;
&lt;p&gt;&lt;b&gt;tweet_lang&lt;/b&gt;----TEXT ENCODING DICT----Language that the tweet is in&lt;/p&gt;
&lt;p&gt;&lt;b&gt;source &lt;/b&gt;----TEXT ENCODING DICT----Operating system or application type used to create the tweet&lt;/p&gt;
&lt;p&gt;&lt;b&gt;place*&lt;/b&gt;----TEXT ENCODING NONE----The geographic place as defined by the user, usually a town name. A bounding box determined by Twitter based on this field, from which centroids (see longitude and latitude fields) and the spatial_error field are derived, and used when not overridden by a GPS coordinate. See &lt;a href="https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/tweet-object/"&gt;Twitter tweet object for place&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;retweets &lt;/b&gt;----SMALLINT----Number of retweets as of last time it was checked&lt;/p&gt;
&lt;p&gt;&lt;b&gt;tweet_favorites&lt;/b&gt;----SMALLINT----Now known as ‘likes’&lt;/p&gt;
&lt;p&gt;&lt;b&gt;photo_url&lt;/b&gt;----TEXT ENCODING DICT----URL of any image referenced&lt;/p&gt;
&lt;p&gt;&lt;b&gt;quoted_status_id &lt;/b&gt;----BIGINT----ID number for quote status&lt;/p&gt;
&lt;p&gt;&lt;b&gt;user_id &lt;/b&gt;----BIGINT----User ID number&lt;/p&gt;
&lt;p&gt;&lt;b&gt;user_name&lt;/b&gt;----TEXT ENCODING NONE----User name&lt;/p&gt;
&lt;p&gt;&lt;b&gt;user_location*&lt;/b&gt;----TEXT ENCODING NONE----User defined location, usually a city or town. See &lt;a href="https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/user-object/"&gt;Twitter user object&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;followers &lt;/b&gt;----SMALLINT----Followers as of the last time checked&lt;/p&gt;
&lt;p&gt;&lt;b&gt;friends &lt;/b&gt;----SMALLINT----Number of users followed by this user&lt;/p&gt;
&lt;p&gt;&lt;b&gt;user_favorites&lt;/b&gt;----INT----Number of topics the user is interested in&lt;/p&gt;
&lt;p&gt;&lt;b&gt;status&lt;/b&gt;----INT----Code for what user is doing as of last time it was checked&lt;/p&gt;
&lt;p&gt;&lt;b&gt;user_lang&lt;/b&gt;----TEXT ENCODING DICT----User defined language &lt;/p&gt;
&lt;p&gt;&lt;b&gt;latitude&lt;/b&gt;----FLOAT----Latitude from GPS or bounding box based on Place field&lt;/p&gt;
&lt;p&gt;&lt;b&gt;longitude&lt;/b&gt;----FLOAT----Longitude from GPS or bounding box based on Place field&lt;/p&gt;
&lt;p&gt;&lt;b&gt;data_source*&lt;/b&gt;----TEXT ENCODING DICT----The source crawler or dataset for the tweet&lt;/p&gt;
&lt;p&gt;&lt;b&gt;gps&lt;/b&gt;----TEXT ENCODING DICT----Flag for whether lon/lat is from GPS or town name bounding box (SRID – 4326). When both are present, the GPS coordinate takes priority.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;spatialerror&lt;/b&gt;----FLOAT----Estimate in meters horizontal error for lon/lat coordinate. 10m for GPS coordinates, error for bounding boxes calculated as radius of circle with area of bounding box. &lt;/p&gt;
=====================================================
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;b&gt;*data_source____Code&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;U. Salzburg REST API crawler----1&lt;/p&gt;
&lt;p&gt;Harvard CGA streaming crawler----2&lt;/p&gt;
&lt;p&gt;U. Salzburg streaming API crawler----3&lt;/p&gt;
&lt;p&gt;Ryan Qi Wang and Harvard Medical School datasets----4&lt;/p&gt;
&lt;p&gt;U. Heidelberg dataset----5&lt;/p&gt;
&lt;a href="https://archive.org/details/twitterstream/"&gt;Archive.org dataset&lt;/a&gt;----6 &lt;/p&gt;

----------------------------------------------------------------------------------------------

&lt;p&gt; Note: Before April of 2015 the default for GPS coordinate capture was turned on for Twitter users. After this date users have had to opt-in to share their precise location. This is one reason for the large decrease in volume of geotweets after this date. &lt;/p&gt;

&lt;p&gt; A number of automated tweet-bots have been discovered which generate tweets with (apparently) randomly spoofed coordinates. These bots appear to make up no more than a few percent of harvested geotweets. A list of bot sender names so far discovered is here. Tweets from these sender names were not generated by a human with a mobile device since they are randomly scattered across the globe:see our current &lt;a href="https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi%3A10.7910%2FDVN%2F7OTPCI"&gt;list of tweet bots&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt; If you are interested in accessing the archive please, please fill out &lt;a href="https://gis.harvard.edu/contactus"&gt;CGA contact form&lt;/a&gt;. &lt;p&gt;

&lt;p&gt; Before requesting or receiving Tweet IDs, requestors must agree to &lt;a href="https://twitter.com/en/tos"&gt;Twitter's Terms of Service&lt;/a&gt;, &lt;a href="https://twitter.com/en/privacy"&gt;Twitter's Privacy Policy&lt;/a&gt;, &lt;a href="https://developer.twitter.com/en/developer-terms/agreement&gt;Developer Agreement"&lt;/a&gt; and &lt;a href="https://developer.twitter.com/en/developer-terms/policy"&gt;Developer Policy&lt;/a&gt;. &lt;p&gt; 
&lt;p&gt; Tweet data provided by CGA may only be used for not-for-profit research and for academic purposes. Recipients may not share CGA provided tweet IDs or tweets or content derived from them without written permission from the CGA. &lt;p&gt;

&lt;p&gt;CITATIONS: If you use the Geotweet Archive in your research please reference it: "Harvard Center for Geographic Analysis Geotweet Archive, (https://doi.org/10.7910/DVN/3NCMB6). &lt;p&gt;
&lt;p&gt; For examples of geospatial systems capable of querying, visualizing, analyzing millions or even billions of objects, please see the Heavy.ai Enterprise and PostGIS database platforms which are running on the &lt;a href="https://www.rc.fas.harvard.edu/"&gt;Harvard FAS Research Cluster&lt;/a&gt; . &lt;p&gt;

&lt;b&gt;Note for Non-Harvard Researchers &lt;/b&gt;: We are unable to share the full raw tweets with anyone outside of Harvard as per &lt;a href="https://developer.twitter.com/en/developer-terms/agreement-and-policy"&gt;Twitter's content redistribution policy&lt;/a&gt;. We are not longer harvesting since July 12, 2023 due to change in Twitter's policy.