Back

TickTick API Essential Guide

Aug 11, 20246 minute read

What type of API does TickTick provide?

Based on the search results provided, TickTick appears to have a REST API. REST APIs are the most common and widely used type of API for web services and mobile applications, and TickTick's task management and productivity app typically aligns well with REST API architecture.

Key points about REST APIs:

  • Use standard HTTP methods (GET, POST, PUT, DELETE, etc.)
  • Are resource-based and use URLs to represent different resources
  • Usually return data in JSON or XML format
  • Are stateless and scalable

Without official documentation or confirmation from TickTick, we cannot be 100% certain about their API type. Other API types, such as SOAP, GraphQL, and gRPC, have different characteristics and are used in different scenarios.

To get a definitive answer, you would need to check TickTick's official developer documentation, contact their support or developer relations team, or examine any available API endpoints or documentation provided by TickTick.

Does the TickTick API have webhooks?

Webhooks Availability

The official TickTick API does not appear to have native webhook support. None of the search results explicitly mention webhooks as a feature of the TickTick API.

Event Subscription

While there are no native webhooks, some third-party integration platforms like Pipedream offer ways to trigger workflows based on TickTick events. Pipedream provides the following triggers for TickTick:

  1. New Task Completed
  2. New Task Created

These triggers can be used to emit new events when specific actions occur in TickTick, which can then be used to trigger workflows or integrations with other services.

Key Points to Consider

  • The TickTick API allows for various operations such as creating tasks, retrieving task details, updating task status, and more.
  • Authentication for the TickTick API is handled through OAuth.
  • While native webhooks are not available, third-party platforms can provide similar functionality through their integration capabilities.

Best Practices

  1. When working with the TickTick API, use OAuth for authentication to ensure secure access to user data.
  2. If you need real-time updates or event-driven functionality, consider using a third-party integration platform like Pipedream that can poll the API and trigger workflows based on changes.
  3. Be aware of the API scopes required for your integration. The TickTick API on Pipedream requests the following scopes: tasks:write and tasks:read.

In conclusion, while the official TickTick API does not offer native webhook support, there are alternative ways to achieve similar functionality through third-party integration platforms. These platforms can help you create event-driven workflows based on changes in your TickTick tasks and projects.

Rate Limits and other limitations

Here are the key points regarding the API rate limits for TickTick:

No Official API Rate Limits Published

Based on the search results provided, there does not appear to be any official documentation or information about API rate limits specifically for the TickTick API.

Lack of Public API

The search results do not contain any information about a public TickTick API. In fact, one of the sources describes building a "free personal TickTick API" using IFTTT and AWS, suggesting that TickTick does not offer an official public API.

Unofficial API Workaround

The article in source [4] describes creating an unofficial API for personal use by:

  1. Using IFTTT to trigger on new TickTick tasks
  2. Sending task data to a custom AWS API Gateway endpoint
  3. Storing task data in DynamoDB
  4. Creating serverless functions to handle CRUD operations on the stored tasks

This workaround does not have any explicit rate limits mentioned, as it relies on AWS services which have their own limits and pricing tiers.

Key Considerations

  • The lack of an official API means there are no published rate limits to adhere to.
  • Using unofficial methods to access TickTick data may violate their terms of service.
  • The rate limits for a custom solution would depend on the limits of the services used (e.g., IFTTT, AWS Lambda, DynamoDB).

Best Practices

If building a custom solution:

  1. Be mindful of TickTick's terms of service.
  2. Implement reasonable rate limiting in your own code to avoid overloading TickTick's servers.
  3. Consider reaching out to TickTick support for guidance on acceptable usage.

In conclusion, there are no official API rate limits for TickTick as they do not appear to offer a public API. Any rate limits would be dependent on the specific implementation of an unofficial solution.

Latest API Version

Based on the search results provided, there is no specific information about the most recent version of the TickTick API. However, I can provide some relevant information about the TickTick API and related tools:

TickTick API and Developer Resources

  1. TickTick has a developer portal available at developer.ticktick.com.

  2. There is an unofficial Python API library called "ticktick-py" available for interacting with TickTick.com.

Unofficial Python API Library (ticktick-py)

The most recent version of the unofficial Python API library for TickTick is:

  • Version: 2.0.3
  • Released: July 9, 2023

Key points about this library:

  • It allows users to interact with their TickTick account using Python.
  • The library uses TickTick's OpenAPI scheme when possible.
  • It requires registering a new app through TickTick's developer documentation.

Using the Unofficial API Library

To use the unofficial API library:

  1. Install the library:

    pip install ticktick-py
    
  2. Register a new TickTick app through the developer portal to obtain a Client ID and Client Secret.

  3. Set up the OAuth2 authentication:

    from ticktick.oauth2 import OAuth2 from ticktick.api import TickTickClient auth_client = OAuth2(client_id=client_id, client_secret=client_secret, redirect_uri=uri) client = TickTickClient(username, password, auth_client)
  4. The library provides various features, including creating, updating, and deleting tasks, managing tags, and working with projects.

Summary

While the search results don't provide information about the most recent official TickTick API version, they do offer details about an unofficial Python library for interacting with TickTick. This library (ticktick-py) is currently at version 2.0.3 and was last updated on July 9, 2023. For the most up-to-date information on the official TickTick API, it would be best to check the TickTick developer portal directly.

How to get a TickTick developer account and API Keys?

To get a developer account for TickTick to create an API integration, you'll need to follow these steps:

1. Visit the TickTick Developer Portal

The first step is to visit the TickTick Developer Portal. This is where you'll find information about the TickTick API and how to get started with development.

2. Register for a Developer Account

Unfortunately, the search results don't provide specific information about registering for a developer account. However, based on common practices for API integrations, you'll likely need to:

  • Create a TickTick account if you don't already have one
  • Look for a "Developer" or "API" section in your account settings
  • Register or apply for API access

3. OAuth Authentication

TickTick uses OAuth authentication for API access. When you set up your developer account, you'll need to:

  • Obtain OAuth credentials (client ID and client secret)
  • Set up redirect URIs for your application

4. Review API Documentation

Once you have access, review the API documentation to understand:

  • Available endpoints
  • Authentication process
  • Rate limits and usage guidelines

5. Create Your Application

After setting up your developer account:

  • Create a new application in the developer portal
  • Configure your OAuth settings
  • Obtain the necessary API keys or tokens

What can you do with the TickTick API?

Based on the information provided in the search results, here is a list of data models you can interact with using the TickTick API, along with what is possible for each:

Tasks

  • Create new tasks
  • Retrieve task details
  • Update task status and other properties
  • Delete tasks
  • List uncompleted tasks
  • Complete tasks

Key points:

  • Tasks are stored in the state['tasks'] list in the TickTickClient [4][5]
  • Each task is represented as a dictionary with properties like id, title, content, due date, etc. [5]

Projects

  • List all projects
  • Create new projects
  • Update project details
  • Delete projects

Key points:

  • Projects are stored in the state['projects'] list in the TickTickClient [5]
  • Each project has an ID and other properties

Tags

  • List all tags
  • Create new tags
  • Update tag details
  • Delete tags

Key points:

  • Tags are stored in the state['tags'] list in the TickTickClient [5]

Project Folders

  • List all project folders
  • Likely able to create, update, and delete project folders (though not explicitly mentioned)

Key points:

  • Project folders are stored in the state['project_folders'] list in the TickTickClient [5]

Profile Information

  • Access profile ID
  • Access inbox ID
  • Access timezone information

Key points:

  • These are stored as properties of the TickTickClient instance [5]

General Functionality

  • Sync data with the TickTick servers [5]
  • Perform CRUD (Create, Read, Update, Delete) operations on various data models [4][5]
  • Use authentication to access the API securely [4]

It's important to note that the TickTickClient class in the Python library provides a local state dictionary that is automatically updated and synced when changes are made through the API [5]. This allows for efficient management of TickTick data in your applications.