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
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.6.tar.gz
(86.5 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.6.tar.gz.
File metadata
- Download URL: instapyper-0.0.6.tar.gz
- Upload date:
- Size: 86.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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 |
f3573c3fb2853d7abc2a63ebbf93d253dd0e6756b0649bc7681a8d7744033637
|
|
| MD5 |
2911aa0922ca73e3a17bc5c404f6a5ad
|
|
| BLAKE2b-256 |
8afd3003a29d1d27b6130b1596b1e789cfd45e3791f79d4bbf8238d90f35a627
|
File details
Details for the file instapyper-0.0.6-py3-none-any.whl.
File metadata
- Download URL: instapyper-0.0.6-py3-none-any.whl
- Upload date:
- Size: 26.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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 |
4cc67defb09b2f2ea51e8122834d5b361058729e71531268774d927651cec87d
|
|
| MD5 |
a1aafa69e4daa09535885ca679b0055a
|
|
| BLAKE2b-256 |
544bbf82cf948bd5cae212fc8d39fdf9c75e1fd23acf40740c809860275b7dce
|