Modern Python wrapper for the Instapaper Full API
Project description
instapyper
Modern Python wrapper for the Instapaper Full API.
Features
- Full type hints (PEP 561 compliant)
- Both sync and async clients
- Python 3.10+
- All API endpoints supported including
update_read_progressandset_folder_order
Installation
pip install instapyper
# or
uv add instapyper
Usage
Sync Client
from instapyper import Instapaper
client = Instapaper(consumer_key, consumer_secret)
client.login(username, password)
# Get bookmarks
bookmarks = client.get_bookmarks(limit=10)
for bookmark in bookmarks:
print(bookmark.title, bookmark.url)
# Add a bookmark
bookmark = client.add_bookmark("https://example.com")
# Star/archive/move
bookmark.star()
bookmark.archive()
bookmark.move(folder_id=12345)
# Get folders
folders = client.get_folders()
Async Client
from instapyper import AsyncInstapaper
async with AsyncInstapaper(consumer_key, consumer_secret) as client:
await client.login(username, password)
bookmarks = await client.get_bookmarks(limit=10)
for bookmark in bookmarks:
print(bookmark.title)
await bookmark.star()
Reusing OAuth Tokens
# After login, save tokens for reuse
client.login(username, password)
token = client.oauth_token
secret = client.oauth_token_secret
# Later, login with saved tokens (no password needed)
from instapyper import Instapaper
client = Instapaper(consumer_key, consumer_secret)
client.login_with_token(token, secret)
CLI
pip install instapyper[cli]
instapyper login
instapyper bookmarks list
instapyper bookmarks add https://example.com --tags "tech,ai"
instapyper bookmarks archive 12345 67890
instapyper folders list
instapyper cheatsheet # more examples
API Coverage
100% coverage of the Instapaper Full API as of January 2026.
Built With
Built with Claude Code (Claude Opus 4.5).
License
MIT
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
instapyper-0.0.2.tar.gz
(77.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file instapyper-0.0.2.tar.gz.
File metadata
- Download URL: instapyper-0.0.2.tar.gz
- Upload date:
- Size: 77.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cf5e8a6f37aeff2032e167ee0837f4f4a1649b1c7ce7c46d236ea887d48d5af
|
|
| MD5 |
5628d1c678ccf08433264f8ed279bb9c
|
|
| BLAKE2b-256 |
a03f0bf36a93f585211f8379da6c840448e567b16ffd0c554c13f33173f0d017
|
File details
Details for the file instapyper-0.0.2-py3-none-any.whl.
File metadata
- Download URL: instapyper-0.0.2-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62e004bc983ea8c965323d510eec9a3f7231535fe3094cef5a94439037f6912b
|
|
| MD5 |
6328f0d79bb02f44c9ac0092409fdb63
|
|
| BLAKE2b-256 |
10cbe7a4c7328d60f6223c851e43d75ef4444cc2d8fbc817cec6760a2bcb36b4
|