Load Joplin Notes into Your Application
LlamaIndex data loader that retrieves notes and metadata from Joplin's local database via its REST API.
Why it matters
Integrate your Joplin note-taking application with your AI projects. This asset retrieves all your notes and their metadata, making them accessible for further processing and analysis.
Outcomes
What it gets done
Connect to the Joplin REST API using an access token.
Retrieve all notes and associated metadata from Joplin.
Format Joplin notes for use in AI applications and knowledge bases.
Enable efficient data ingestion from Joplin for AI workflows.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/li-reader-readers-joplin | bash Overview
Joplin (Markdown) Loader
Joplin (Markdown) Loader is a LlamaIndex data reader that connects to Joplin's local note database through its REST API. It retrieves all notes and their metadata. The loader requires an access token from Joplin's Web Clipper service and the app must remain open during loading. Use this loader when you need to retrieve notes from an active Joplin database. It requires a live connection to your Joplin notes, but consider exporting to Markdown files and using a Markdown reader if you need a one-time export or can't keep the app open.
What it does
Joplin (Markdown) Loader is a LlamaIndex integration that connects to the Joplin note-taking app's local database through its REST API. It retrieves all notes and their associated metadata. The loader requires an access token from Joplin's Web Clipper service to authenticate and extract content while the Joplin app remains open.
When to use - and when NOT to
Use this loader when you need to retrieve notes from an active Joplin database while maintaining a live connection to the app.
Do NOT use this loader if you need a one-time export or if keeping the Joplin app open during loading is impractical. In those cases, export Joplin notes to Markdown files with Front Matter metadata and use a Markdown reader like ObsidianReader instead.
Inputs and outputs
You provide an access token obtained from Joplin's Web Clipper settings (either directly to the reader or via the JOPLIN_ACCESS_TOKEN environment variable). The Joplin app must remain open during the loading process.
You receive a list of documents.
Integrations
This loader integrates with:
- Joplin: An open source note-taking app that stores notes locally. The loader connects via Joplin's REST API to access the local database.
- LlamaIndex: The loader returns documents in LlamaIndex format.
Installation and usage
Install the package:
pip install llama-index-readers-joplin
Basic usage example:
import os
from llama_index.readers.joplin import JoplinReader
documents = JoplinReader(
access_token="<access_token>"
).load_data() # Returns list of documents
Who it's for
This loader is for users who want to retrieve notes from Joplin via its REST API. Users who prefer static exports or don't need live database access should consider the Markdown export alternative mentioned in the source material.
Source README
Joplin (Markdown) Loader
pip install llama-index-readers-joplin
Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device.
This readme covers how to load documents from a Joplin database.
Joplin has a REST API for accessing its local database. This reader uses the API to retrieve all notes in the database and their metadata. This requires an access token that can be obtained from the app by following these steps:
- Open the
Joplinapp. The app must stay open while the documents are being loaded. - Go to settings / options and select "Web Clipper".
- Make sure that the Web Clipper service is enabled.
- Under "Advanced Options", copy the authorization token.
You may either initialize the reader directly with the access token, or store it in the environment variable JOPLIN_ACCESS_TOKEN.
An alternative to this approach is to export the Joplin's note database to Markdown files (optionally, with Front Matter metadata) and use a Markdown reader, such as ObsidianReader, to load them.
Usage
Here's an example usage of the JoplinReader.
import os
from llama_index.readers.joplin import JoplinReader
documents = JoplinReader(
access_token="<access_token>"
).load_data() # Returns list of documents
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.