Overview

Todoist API gives you programmatic access to one of the most popular task management apps, letting you create, read, update, and delete tasks, projects, and labels. It uses OAuth2 for secure authorization so users can connect their own Todoist accounts. Great for building productivity integrations, automations, or personal dashboards.

💡

Beginner Tip

Use the REST API (v2) rather than the older Sync API when starting out — it follows standard HTTP conventions and is much easier to learn. You can get a personal API token from Todoist Settings > Integrations > Developer to skip OAuth during development.

Available Data

Use case: Integrate todo lists data into web and mobile applications
Todoist data via REST API
JSON-formatted response data
Requires OAuth authentication

Example Response

JSON Response
{
  "status": "success",
  "data": {
    "result": "Data from Todoist",
    "description": "Todo Lists",
    "timestamp": "2025-01-15T10:00:00Z"
  }
}

Field Reference

id Unique identifier for the task
content The text body of the task
project_id ID of the project this task belongs to
due Due date information including date string and timezone
priority Task priority from 1 (normal) to 4 (urgent)
is_completed Whether the task has been marked as complete

Implementation Example

const url = "https://developer.todoist.com/";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "Authorization": "Bearer YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

401 Unauthorized Missing or expired OAuth token, or using the wrong token format
Ensure the Authorization header uses "Bearer YOUR_TOKEN" format and that the token is active
403 Forbidden Token lacks the required OAuth scope for the requested resource
Re-authenticate with the appropriate scopes (e.g., data:read_write) listed in the Todoist OAuth docs
429 Too Many Requests Exceeded the API rate limit of 1000 requests per 15 minutes
Implement exponential backoff and cache responses where possible to reduce request volume

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 5/20
🔒 Security 15/15
🛠 Developer XP 3/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth OAuth
HTTPS REQUIRED
CORS UNKNOWN
Difficulty Advanced
Verified: 2026-04-07

Similar APIs

View All →