The project is a collection of scripts that work with Instagram's API and integrating data returned with Google's Geocoding API to map out were pictures were tagged. The purpose of the project is to present how sensitive geolocation can be and how users often share it without giving a second thought. Future scripts may have functionality to collate and access larger sets of data to learn more about users. What's important to takeaway is that this data is voluntarily shared and made public by users. It is on the internet and accessible to all.
According to the Pew Research Center's 2014 Social Media Update, "roughly half of internet-using young adults ages 18-29 (53%) use Instagram. And half 0f all Instagram users (49%) use the site daily." Furthermore, "Instagram not only increased its overall user figure by nine percentage points, but also saw significant growth in almost every demographic group." Given Instagram's already robust (and growing) user base it seemed like a good service to work with.
I used Python 3 to work with the Instagram API and Google Geocoding API. The project has been posted to GitHub.
- Users may use a location that is marked at a different area from where it physically exists (e.g. for me the existing entry for the White House was at a place on the grounds a distance away from where visitors are actually permitted to go)
- The content of the photo may not match with what is listed on the Instagram location (e.g. a user may take a photo of their office desk but post it at their home with the location set at their home
- The Instagram API doesn't return all photos, only "recent" ones
Test image posted to Instagram with #home and location shared One script was set to search for pictures with "#home" posted on the picture. The script prints out the URL to the file and returns a latitude and longitude and street address from the location on Instagram. List of my 20 most recent pictures, 3 of which that have geolocation data present