OSINTverse

otlite · Social media

Install Instagram Location Search on Linux or macOS in one command

Instagram Location Search lists the Instagram location tags near a latitude and longitude. Each comes with its ID, name, and coordinates, saved as CSV, JSON, GeoJSON, a plain ID list, or a simple Leaflet map.

Instagram Location Search in three lines

pipx install otlite
otlite install instagram-location-search
otlite run instagram-location-search -- lat:51.5074 lng:-0.1278

Runs bellingcat/instagram-location-search (MIT, ★ 731, otlite 1.2.1, catalog updated Oct 23, 2026). otlite installs and runs it at a tested version; it does not change or verify the tool itself.

What Instagram Location Search is for

  • Finding the location pages people tag around an event or building.
  • Feeding location IDs (--ids) to a scraper that pulls posts from those places.
  • A quick map (--map) of tagged places around a point.

Typed inputs for Instagram Location Search

otlite translates these prefixes into Instagram Location Search's own flags. Anything else after -- is passed through unchanged, so every original flag still works.

lat:
Coordinates (with lng:) · otlite run instagram-location-search -- lat:51.5074 lng:-0.1278

Run every installed tool that takes the same input at once: otlite run --all lat:51.5074 lng:-0.1278

Optional keys: INSTAGRAM_SESSION_ID. Store each with otlite keys set NAME.

Where the results go

Every run lands under ./results/instagram-location-search/<target>/ as a timestamped output file, a .meta.json sidecar (the exact command, start and end time, exit code, and the SHA-256 of the output), and a .envelope.json with the entities found, in the same shape for every tool. List runs with otlite results, group them with --case, compare the last two with otlite diff instagram-location-search <target>, and pull indicators out with otlite extract instagram-location-search.

Before you run it

  • Needs a logged-in Instagram session: store the sessionid cookie with otlite keys set INSTAGRAM_SESSION_ID. Without it the tool tries to open a Chrome window for you to log in.
  • Treat the session ID like a password and use a dedicated account. Instagram can invalidate sessions that are used from several places.
  • It relies on an undocumented Instagram endpoint, which can change without notice.

Update, remove, inspect

otlite info instagram-location-search      # inputs, keys, an example command
otlite example instagram-location-search   # sample output, where there is one
otlite update instagram-location-search    # move to the next tested version
otlite remove instagram-location-search    # delete its virtualenv

Full reference: the otlite docs, and the tool's own README on GitHub.

Pairs with

Instaloader downloads the public posts, stories, captions, and metadata of an Instagram profile into a folder.
Toutatis pulls the public and semi-public fields of an Instagram account: user ID, bio, follower counts, and the obfuscated email or phone Instagram shows on password reset.
Instagram Monitor watches a public profile and records changes over time: new posts, follower count moves, bio edits, with optional notifications.

FAQ

Instagram Location Search with otlite, answered

How do I install Instagram Location Search on Kali, Ubuntu, or macOS?

Install otlite once with pipx install otlite (or the one-line installer on the otlite page), run otlite init, then otlite install instagram-location-search. The tool lands in its own virtualenv under ~/.otlite/, pinned to a version that was tested, so nothing touches your system Python. otlite doctor prints the command that fixes a missing git or venv module.

Which inputs does Instagram Location Search take through otlite?

lat: (coordinates (with lng:)). otlite maps each prefix to Instagram Location Search's own flag. Everything after -- that is not a typed input is passed through unchanged, so the original flags still work.

Where does otlite save Instagram Location Search results?

Under ./results/instagram-location-search/<target>/ in the folder you run from, as a timestamped output file plus a .meta.json sidecar (the exact command, timing, exit code, and SHA-256) and a .envelope.json with the entities found. Add --case <name> to group runs, otlite results to list them, and otlite diff instagram-location-search <target> to compare the last two.

Does Instagram Location Search need an API key or a login?

Yes. Needs a logged-in Instagram session: store the sessionid cookie with otlite keys set INSTAGRAM_SESSION_ID. Without it the tool tries to open a Chrome window for you to log in. Keys go in with otlite keys set NAME, which stores them in ~/.otlite/.env with permissions 600, and otlite keys check verifies them.

Can I run Instagram Location Search together with other tools?

Yes. otlite run --all lat:51.5074 lng:-0.1278 runs every installed tool that takes coordinates (with lng:) input, in parallel, including Instagram Location Search. Save the combination as a playbook to repeat it.

How do I pass coordinates to Instagram Location Search?

Use the lat: and lng: inputs in decimal degrees, negative for south and west: otlite run instagram-location-search -- lat:32.22 lng:-110.97. Copy the pair from any map that shows decimal coordinates.