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

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

Request
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

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

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

Similar APIs

View All →