Skip to main content

Save data from Todoist to a SQLite database

Project description


PyPI License

Save data from Todoist to a SQLite database. Supports saving tasks, projects, filters, notes, labels, and completed tasks.

(Some Todoist features require Premium, like fetching completed tasks)

How to install

$ pip install todoist-to-sqlite


In the Todoist client, go to the Integrations tab of Settings and issue/copy your personal API token. Run this command and paste in your API token:

$ todoist-to-sqlite auth

This will create a file called auth.json in your current directory containing the required value. To save the file at a different path or filename, use the --auth=myauth.json option.

Saving Current Todoist Data

The sync command retrieves all "active" data associated with your Todoist account.

$ todoist-to-sqlite sync todoist.db

This includes: uncompleted tasks, projects, labels, filters, and notes.

Saving Completed Tasks

The completed-tasks command saves all completed tasks from your Todoist account. This may take a long time to download for active Todoist users.

$ todoist-to-sqlite completed-tasks todoist.db

completed-tasks also will sync any associated metadata (i.e. archived projects) associated with completed tasks.

Note: This command requires Todoist Premium due to limitations of their API.

from_date and to_date

You can specify --from_date and --to_date to place boundaries on the time range that todoist-to-sqlite will fetch completed tasks from.

    $ todoist-to-sqlite completed-tasks todoist.db \
        --to_date   2020-12-01 \
        --from_date 2020-12-30


This package is heavily inspired by goodreads-to-sqlite by Tobias Kunze and github-to-sqlite by Simon Willison.

This package was designed to fit nicely in the dogsheep / datasette ecosystems.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for todoist-to-sqlite, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size todoist_to_sqlite-0.2-py3-none-any.whl (5.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size todoist-to-sqlite-0.2.tar.gz (4.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page