This is a very simple tool for exporting data from Todoist via their API.
- Install python3 and pip
pip install exporteer_todoist
- Look up your API token
To download the latest backup (i.e., what you would get by going to 'Backups' in 'Settings' in Todoist) as a zip file:
export TODOIST_API_TOKEN=your_token_here
exporteer_todoist latest_backup > backup.zip
To download JSON representing a full sync:
export TODOIST_API_TOKEN=your_token_here
exporteer_todoist full_sync > backup.json
Note that the latter is essentially equivalent to just running this curl command:
curl https://api.todoist.com/sync/v8/sync \
-d token=your_token_here \
-d sync_token='*' \
-d resource_types='["all"]' \
> backup.json
Setup:
- Install python3 and pip
- Clone the repo
- I recommend creating a venv:
cd exporteer_todoist python3 -m venv venv source venv/bin/activate
- Install dependencies:
pip install . pip install -r requirements-dev.txt
To run integration tests (these will download real data from your Todoist account, so a token is required):
export TODOIST_API_TOKEN=your_api_token
PYTHONPATH=src pytest
(Overriding PYTHONPATH as shown ensures the tests run against the code in the src/ directory rather than the installed copy of the package.)
To run the CLI:
export TODOIST_API_TOKEN=your_api_token
PYTHONPATH=src python -m exporteer_todoist ...
Bug reports and pull requests are welcome on GitHub at https://github.com/brokensandals/exporteer_todoist.
This is available as open source under the terms of the MIT License.