Instaloctrack: A powerful OSINT open resource intelligence tool for Instagram

What is Instaloctrack?

Instaloctrack is a powerful OSINT open resource intelligence gathering tool for Instagram. With the help of the tool, a vast number of researchers can easily collect all the geotagged locations available on the target Instagram account profile in order to map it and then dump it into JSON.

Operating mechanism

The tool implements its functionality based on Selenium’s web driver, so Instaloctrack was able to crawl the entire target Instagram profile to retrieve all the data of the account as well as linking pictures.

Next, the tool asynchronously retrieves each picture link, checking whether it contains a location in the picture description and, if there is location data, retrieving the location’s data along with a timestamp.

Because Instagram doesn’t provide GPS coordinates, we only know place names, so we have to geocode these place names (i.e. get GPS coordinates based on place names). To implement this, we used Namingm’s API, which uses OpenStreetMap, which helps us get GPS coordinate data.

With all the GPS coordinates, we generate an HTML with JavaScript embedded in it, a page that can draw a map and tag the coordinate data on the map.

In addition, the data collected throughout the process (location name, timestamp, GPS coordinates, error messages) will be stored in the JSON file for subsequent use.

Dependent installation

sudo apt install chromium-chromedriver && chmod a+x /usr/bin/chromedriver

Installation

Interested users can clone the project source code locally using the following command and use the pip3 command to complete the installation of the tool:

git clone https://github.com/bernsteining/instaloctrack

cd instaloctrack

pip3 install

Of course, we can also use Docker installation:

sudo docker build -t instaloctrack -f Dockerfile .

Tool usage

View tool help information

instaloctrack -h

usage: instaloctrack [-h] [-t TARGET_ACCOUNT] [-l LOGIN] [-p PASSWORD] [-v]

Instagram location data gathering tool. Usage: python3 instaloctrack.py -t <target_account>

optional arguments:

-h, –help Displays help information and exit

-t TARGET_ACCOUNT, –target TARGET_ACCOUNT

Target Instagram account

-l LOGIN, –login LOGIN

The target Instagram account that requires connection, login, and access

-p PASSWORD, –password PASSWORD

The password of the target Instagram account

-v, –visual Generate Chromium GUI to achieve visualization

For example:

instaloctrack -t <target_account>

If the target account is a private account and you have an Instagram account that has already followed the target account, you can use a connection session to crawl the target account’s data:

instaloctrack -t <target_account> -l <your_account> -p <your_password>

Alternatively, the same functionality can be achieved using Docker:

sudo docker run -v /tmp/output:/tmp/output instaloctrack -t <target_account> -o /tmp/output

Use the sample

The following tool uses sample totals to output various data for a user’s Instagram account (@fhollande):

Heat Map:

After clicking on the map marker, the relevant details will pop up:

Statistics about location data:

Some of the JSON data exported:

{

“link”: “https://www.instagram.com/p/-Q_9EvR9eu”,

“place”: {

“id”: “290297”,

“name”: “Musée du quai Branly – Jacques Chirac”,

“slug”: “musee-du-quai-branly-jacques-chirac”,

“street_address”: ” 37 quai Branly”,

” zip_code”: ” 75007″,

” city_name”: ” Paris”,

” region_name”: ” “,

” country_code”: ” FR”

},

“timestamp”: “2015-11-19”,

“gps”: {

“lat”: “48.8566969”,

“lon”: “2.3514616”

}

}

Project address:

Instaloctrack