Finds Instagram location IDs near a specified latitude and longitude.
Project description
Instagram Location Search
Installation
This Python application can be installed from PyPI using pip, and can also be built into a Docker image
Install with Pip
pip install instagram-location-search
or the latest from the repo:
pip install git+https://github.com/bellingcat/instagram-location-search
Example usage
The following command will search for Instagram locations nearby the coordinates 32.22 N, 110.97 W (downtown Tucson, Arizona.) The list of locations is saved as a CSV file at "locs.csv".
instagram-location-search --cookie "<instagram-cookies>" --lat 32.22 --lng -110.97 --csv locs.csv
Note that this requires Instagram cookies in order to work! See below for how to obtain one from your account.
Other output formats
Using the --json <output-location>
command line argument, the list can be saved as a JSON file, almost identical to the raw API response.
Using the --geojson <output-location>
command line argument, the list can be saved as a GeoJSON file for other geospatial applications.
Using the --ids <output-location>
command line argument, all the found location IDs are output, suitable to pass into another tool, like instagram-scraper.
Using the --map <output-location>
command line argument, a simple Leaflet map is made to visualize the locations of the returned points.
Multiple types of output can be generated. For example, the following command will search for Instagram locations, save the JSON list, a CSV file, and a map for viewing the locations visually.
instagram-location-search --cookie "<instagram-cookie>" --lat 32.22 --lng -110.97 --json locs.json --csv locs.csv --map map.html
Sample Usage with instagram-scraper
The ID list generated with the --ids
flag can be passed into instagram-scraper
to pull down image metadata.
:rotating_light: Undocumented API :rotating_light:
instagram-scraper
relies on an undocumented API for the mobile apps. YMMV.
First, get the proximal location IDs of your target location:
instagram-location-search --cookies "<instagram-cookie>" --lat <lat> --lng <lng> --ids location_ids.txt
Be sure to install instagram-scraper
:
pip install instagram-scraper
Location scraping requires an authenticated request. Save your creds in a local file:
echo "-u=<your username>" >> creds.txt
echo "-p=<your password>" >> creds.txt
Now use instagram-scraper
to pull down all the photos at those locations:
instagram-scraper @creds.txt --filename @location_ids.txt --location --include-location --destination <output dir>
Getting Instagram cookies
This now requires the entire cookie string, in the format of an HTTP request header. Details TK.
Important: an Instagram session ID should be treated like a password — it provides full access to the Instagram account. Using this session ID in multiple places or on multiple computers may trigger Instagram to invalidate all session IDs. Using this session ID for any purpose other than the official Instagram website or application may be a violation of the Instagram Terms of Service and could lead to account suspension.
-
In Google Chrome, log-in to Instagram.
-
Right click on the page and press "Inspect" to bring up the Chrome Developer Tools.
-
Click the "Application" tab in the Developer Tools Box.
-
Under "Cookies" select "https://www.instagram.com."
-
Right click on any item and click "Show Requests With This Cookie".
-
Click on any request. In the "Headers" tab, scroll down to "Request Headers".
- Copy all text after "cookie: ". This is your cookie string. Replace
<instagram-cookies>
with this value when runninginstagram-location-search
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file instagram-location-search-1.1.1.tar.gz
.
File metadata
- Download URL: instagram-location-search-1.1.1.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fb3b7251763d3833fcdae14aa309d1554966509e28e915387a6d1cfdf0a2a17 |
|
MD5 | d6f8e5d4d9ffce8e239101717102c577 |
|
BLAKE2b-256 | c5458f1bd82060d04ff13fe9794493c673c1a532e851748d2cf557a33d8bfd3f |
File details
Details for the file instagram_location_search-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: instagram_location_search-1.1.1-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5eed0f304cdf3a470eda4625ffa376fc53740f97cc96717e2939b26e351d1dfd |
|
MD5 | bdd55b784c5c01308ab77c7eb596500e |
|
BLAKE2b-256 | aa86dfb4745fab9d31fcdd4b3c371106486b80dd8071551190d75e93d511fec7 |