A Python wrapper for the Snipp API.
- Upload files from paths, bytes, or file objects
- Manage uploads and browse public content
- Simple error handling with
SnippError
- Python 3.9 or higher
- A valid API key from the Snipp Console
Dependencies (automatically installed):
requests
pip install snippOr install from source:
pip install .from snipp import SnippClient
client = SnippClient(api_key="YOUR_API_KEY")
# Get your own profile
me = client.get_user()
# Upload a file
result = client.upload("screenshot.png", privacy="unlisted")
# List your uploads
uploads = client.list_uploads()
# Delete an upload
client.delete_upload("a3f7b2c91d4e8f0612ab34cd56ef7890.png")
# Browse public uploads
public = client.discover()Create a client. The key is sent via the api-key header on every request.
Fetch a user profile. Pass "@me" (default) for the authenticated user. Set include_posts=True and posts_limit (1--50) to include their posts.
user = client.get_user("@me", include_posts=True, posts_limit=10)Upload a file. file can be a path string, raw bytes, or an open file object. privacy must be "public", "unlisted", or "private".
result = client.upload("image.png", privacy="unlisted")
print(result["url"])List the authenticated user's recent uploads. Each item includes the upload URL, size metadata, the associated post code when one exists, and isAlbum for uploads that belong to an album post.
uploads = client.list_uploads()Delete an upload by its filename.
client.delete_upload("a3f7b2c91d4e8f0612ab34cd56ef7890.png")Browse public uploads.
feed = client.discover()All API errors raise a SnippError with status and message attributes.
from snipp import SnippClient, SnippError
try:
client.get_user("nonexistent")
except SnippError as err:
print(err.status, err.message)We welcome suggestions and improvements:
- Open an issue
- Submit a pull request that adheres to our Terms of Service and Privacy Policy
MIT License © 2026 Snipp. See LICENSE for full details.