Skip to main content

snapmap-archiver

Download all Snap Map content from a specific location.

snapmap-archiver splash

View on PyPI

Installation (for general usage)

Install with pip or pipx or whatever trendy Python package manager you use:

pip install snapmap-archiver

Local Development Setup

Install Poetry with pip or pipx:

pip install poetry

Install the project dependencies:

poetry install

Run the app with Poetry:

poetry run python3 main.py [...args]

Usage

snapmap-archiver -o [OUTPUT DIR] -l="[LATITUDE],[LONGITUDE]"

Unfortunately you have to use the arbitrary -l="lat,lon" (with the equals sign) rather than just -l "lat,lon" when parsing negative numbers as argsparse interprets said numbers as extra arguments.

Optional Arguments

Location

-l is not required if an input file or Snap URL is provided. It can also be used multiple times to download Snaps from multiple locations in one command.

E.g

snapmap-archiver -o ~/Desktop/snap -l='123.123,123.123' -l '445.445,445.445'

Input File

With -f or --file, you can specify a file containing a list of line-separated Snap URLs or IDs.

E.g

snapmap-archiver -o ~/Desktop/snaps -f ~/Desktop/snaps.txt

Inside snaps.txt:

https://map.snapchat.com/ttp/snap/Example/@-33.643495,115.741281,11.86z
Example
https://map.snapchat.com/ttp/snap/Example/
https://map.snapchat.com/ttp/snap/Example/

Snap URL

You can also just pass 1 or more normal Snap URLs or IDs to the package to download it individually like this:

snapmap-archiver -o ~/Desktop/snap 'https://map.snapchat.com/ttp/snap/Example/@-33.643495,115.741281,11.86z' 'Example'

Time Filter

Use the -t flag with a Unix timestamp or day, hour, or minute interval to skip the download of any snaps older than that point.

Example with a Unix timestamp:

snapmap-archiver -t 1714392291 -l='-123,123'

Examples with a dynamic time filter:

snapmap-archiver -t 3d -l='-123,123'  # Removes anything older than 3 days
snapmap-archiver -t 5h -l='-123,123'  # Removes anything older than 5 hours
snapmap-archiver -t 30m -l='-123,123'  # Removes anything older than 30 minutes

Export JSON

You can export a JSON file with info about downloaded snaps with the --write-json argument, which will contain information like the time the Snap was posted, and the Snap location.

It will write archive.json to the specified output directory.

Snap Radius

The radius from the coordinates you provide that will be included for downloads. -r 20000 will download all Snaps within a 20km radius of your coordinates.

Zoom Depth

You can input a custom zoom depth value (-z) that correlates to a zoom level in the GUI. ArcGIS has documentation about this here, but essentially the lower the number, the further zoomed-out you are. 5 is the default and shouldn't cause any issues.

Debug Mode

Enable debug logs with -d/--debug.

Metadata

Release files for snapmap-archiver 2.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for snapmap-archiver 2.4.1
File Size Uploaded
snapmap_archiver-2.4.1.tar.gz 21.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for snapmap-archiver 2.4.1
File Interpreter ABI Platform
snapmap_archiver-2.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 44.1 kB

Release files / snapmap_archiver-2.4.1.tar.gz

Download URL snapmap_archiver-2.4.1.tar.gz
Size 21.5 kB
Tags Source
SHA-256 checksum
How to use checksums
069f793860314f08c9854f92371c59f5345c0d4051896beb71608df024bb8e8a
BLAKE2b-256 checksum
How to use checksums
0e3e98c5131e5fcd4c405809c2facb4cd7650e375831b60fe84896a6f4a3f58c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.9 Windows/10

Release files / snapmap_archiver-2.4.1-py3-none-any.whl

Download URL snapmap_archiver-2.4.1-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
275f205aa6789a2ccb74821aef870587aa0a32bcfc571bad976cdd99af1ebbdf
BLAKE2b-256 checksum
How to use checksums
a81551026cffd25612d46bdc30f969d9a94604065c4837ed2d9b701cc6867931
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.9 Windows/10

Release history Release notifications | RSS feed

This release

2.4.1 This release

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page