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.3.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.3.tar.gz.
File metadata
- Download URL: instapyper-0.0.3.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 |
d909ea7246e32373816e510bbdc57b5772df539eb6a0b0defa721d98d12876a1
|
|
| MD5 |
ccc7606f1c50a4df3e365902f0dd9a20
|
|
| BLAKE2b-256 |
42b97fd94592d8cd3df6081dee7ea156982e6f062327d925f659b1123c36fe65
|
File details
Details for the file instapyper-0.0.3-py3-none-any.whl.
File metadata
- Download URL: instapyper-0.0.3-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 |
44a10120c6939c39738a592fda88a8162d0ec92412608496340f27cedbdda5c9
|
|
| MD5 |
04eb8caedd3b7acb996f6a30517d708e
|
|
| BLAKE2b-256 |
1384549743644b024970297971d609bff222d5fa57e1f7d3236699e3ba905b2d
|