ASIMOV module for importing data from Readwise and converting it to JSON-LD format.
- 📚 Import Highlights: Fetch and convert Readwise highlights to JSON-LD
- 📖 Import Books: Fetch and convert Readwise book lists to JSON-LD
- 🏷️ Import Tags: Fetch and convert Readwise tags to JSON-LD
- 🔄 JSON-LD Output: Structured data compatible with KNOW ontology
- ⚡ Fast & Reliable: Built with Rust for performance and safety
- 🚦 Rate Limit Aware: Respects Readwise API limits and provides clear error handling
- Rust 1.85+ (2024 edition) if building from source code
- Readwise account with API access
READWISE_API_KEY
environment variable
Installation with the ASIMOV CLI
asimov module install readwise -v
cargo install asimov-readwise-module
# Import all highlights (transparent pagination)
asimov-readwise-importer https://readwise.io/highlights
# Import first 100 highlights only
asimov-readwise-importer https://readwise.io/highlights --page-size 100
# Import specific page
asimov-readwise-importer https://readwise.io/highlights --page 2 --page-size 50
# Import all books (transparent pagination)
asimov-readwise-importer https://readwise.io/books
# Import first 50 books only
asimov-readwise-importer https://readwise.io/books --page-size 50
asimov-readwise-importer https://readwise.io/tags
# Show version information
asimov-readwise-importer --version
# Show license information
asimov-readwise-importer --license
# Show help
asimov-readwise-importer --help
Set your Readwise API key as an environment variable:
export READWISE_API_KEY="your-api-key-here"
Or use a .env
file:
READWISE_API_KEY=your-api-key-here
Get your API key from: https://readwise.io/access_token
Heads up: This module plays nice with Readwise's API limits. If you get HTTP 429 errors (too many requests):
- Just wait a bit: The API will throw an error if you're going too fast
- No auto-retry: We don't automatically retry failed requests
- Take it slow: If you're grabbing lots of data, give it some breathing room
The limits: This plugin is limited to 20 requests per minute due to Readwise's API restrictions.
git clone https://github.com/asimov-modules/asimov-readwise-module.git
cd asimov-readwise-module
cargo test