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
Metadata
Release files for instapyper 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| instapyper-0.0.6.tar.gz | 86.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| instapyper-0.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 113.3 kB
Release files / instapyper-0.0.6.tar.gz
| Download URL | instapyper-0.0.6.tar.gz |
|---|---|
| Size | 86.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f3573c3fb2853d7abc2a63ebbf93d253dd0e6756b0649bc7681a8d7744033637
|
|
BLAKE2b-256 checksum How to use checksums |
8afd3003a29d1d27b6130b1596b1e789cfd45e3791f79d4bbf8238d90f35a627
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / instapyper-0.0.6-py3-none-any.whl
| Download URL | instapyper-0.0.6-py3-none-any.whl |
|---|---|
| Size | 26.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4cc67defb09b2f2ea51e8122834d5b361058729e71531268774d927651cec87d
|
|
BLAKE2b-256 checksum How to use checksums |
544bbf82cf948bd5cae212fc8d39fdf9c75e1fd23acf40740c809860275b7dce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|