SDKs overview
Trello, a product of Atlassian, offers a comprehensive REST API for developers to extend its functionality and integrate with other services. The API allows for programmatic management of Trello boards, lists, cards, members, and other data objects. While Atlassian maintains the Trello REST API documentation, it does not officially provide software development kits (SDKs) in various programming languages. Instead, the developer community has created and maintained a range of client libraries and wrappers that abstract the raw HTTP requests and responses, simplifying interaction with the Trello API.
These community-driven SDKs typically handle common tasks such as authentication, request formatting, and response parsing, enabling developers to focus on application logic rather than low-level API communication. The Trello API itself supports OAuth 1.0 for secure authentication, alongside API key and token methods, as detailed in the Trello API authorization guide. Developers can choose an SDK that aligns with their preferred programming language and project requirements, or interact directly with the REST API using standard HTTP client libraries.
Official SDKs by language
As of 2026, Atlassian does not provide official SDKs for the Trello API across different programming languages. The primary method for interaction is directly through its RESTful interface. Developers are encouraged to use standard HTTP client libraries available in their language of choice to make requests to the Trello API endpoints. This approach offers flexibility but requires developers to manage API authentication, request/response serialization (typically JSON), and error handling manually.
For example, a Python developer might use the requests library to interact with the API, while a JavaScript developer might use fetch or axios. These libraries provide the foundational capabilities to build custom integrations. Although there are no official SDKs, the extensive community support has led to the development of several widely used third-party libraries that mimic the functionality of an official SDK, as detailed in the Trello API overview.
Installation
Since there are no official Trello SDKs, installation typically refers to setting up community-maintained libraries or simply configuring your development environment to make HTTP requests. The installation process varies depending on the chosen community library and programming language. Below are common approaches for popular languages:
Python
For Python, a popular community library is py-trello. You can install it using pip:
pip install py-trello
Alternatively, if you prefer direct API interaction without a wrapper, you would install a general-purpose HTTP client:
pip install requests
JavaScript / Node.js
For JavaScript environments, libraries like node-trello or trello-js are commonly used. Install via npm:
npm install node-trello
Or for direct API interaction:
npm install axios
For front-end applications, you might use fetch directly, which is built into most modern browsers.
PHP
For PHP, a community library such as php-trello-client can be installed via Composer:
composer require dluwang/php-trello-client
For direct API calls, you might use Guzzle HTTP client:
composer require guzzlehttp/guzzle
Ruby
In Ruby, a gem like ruby-trello is available:
gem install ruby-trello
Or for direct API interaction:
gem install httparty
After installation, you will need to obtain an API key and a user token from your Trello account settings or by following the Trello API authorization guide to authenticate your requests.
Quickstart example
This quickstart demonstrates how to fetch information about a Trello board using py-trello, a popular community-maintained Python library. You will need your Trello API Key and a Token. You can generate these credentials by visiting the Trello developer API key page.
Python example (using py-trello)
First, ensure you have py-trello installed:
pip install py-trello
Then, use the following Python code to connect to the Trello API and retrieve board details:
from trello import TrelloClient
# Replace with your actual API Key and Token
API_KEY = 'YOUR_API_KEY'
API_TOKEN = 'YOUR_API_TOKEN'
BOARD_ID = 'YOUR_BOARD_ID' # e.g., '60d0a7a3a8a3b8c3d3e3f3g3' (example ID)
# Initialize Trello client
client = TrelloClient(api_key=API_KEY, token=API_TOKEN)
try:
# Get a specific board by its ID
board = client.get_board(BOARD_ID)
# Print board details
print(f"Board Name: {board.name}")
print(f"Board URL: {board.url}")
print(f"Board Description: {board.description}")
# Get lists on the board
print("\nLists on this board:")
for list_obj in board.list_lists():
print(f"- {list_obj.name} (ID: {list_obj.id})")
# Get cards in the first list (if any)
if board.list_lists():
first_list = board.list_lists()[0]
print(f"\nCards in '{first_list.name}':")
for card in first_list.list_cards():
print(f" - {card.name} (ID: {card.id})")
except Exception as e:
print(f"An error occurred: {e}")
print("Please ensure your API Key, Token, and Board ID are correct and have appropriate permissions.")
To use this example:
- Replace
'YOUR_API_KEY'and'YOUR_API_TOKEN'with your actual credentials obtained from the Trello developer API key page. - Replace
'YOUR_BOARD_ID'with the ID of a Trello board you wish to access. You can find a board's ID in its URL (e.g.,https://trello.com/b/BOARD_ID/board-name) or through the Trello API itself. - Run the Python script. It will output the board's name, URL, description, and list/card details.
Community libraries
The Trello developer community has developed various libraries and wrappers to facilitate interaction with the Trello REST API. These libraries often abstract away the complexities of HTTP requests, authentication, and JSON parsing, providing a more object-oriented interface. While not officially supported by Atlassian, many are actively maintained and widely used.
Below is a table summarizing some popular community-maintained Trello API client libraries:
| Language | Library Name | Package Manager Command | Primary Use Case / Notes | Maturity / Activity |
|---|---|---|---|---|
| Python | py-trello |
pip install py-trello |
Object-oriented wrapper for Trello API, supports OAuth. | Active, well-maintained. |
| JavaScript / Node.js | node-trello |
npm install node-trello |
Node.js client for Trello, simple interface. | Active, widely used. |
| JavaScript / Node.js | trello-js |
npm install trello-js |
Promise-based client library, modern JS syntax. | Moderate activity. |
| PHP | php-trello-client |
composer require dluwang/php-trello-client |
PHP client library for Trello API with OAuth support. | Maintained. |
| Ruby | ruby-trello |
gem install ruby-trello |
Comprehensive Ruby wrapper for the Trello API. | Maintained. |
| Go | go-trello |
go get github.com/adlio/go-trello |
Go client library for interacting with Trello. | Moderate activity. |
When selecting a community library, developers should consider factors such as:
- Activity and Maintenance: How recently was the library updated? Are issues being addressed?
- Documentation: Is there clear and comprehensive documentation for usage?
- Features: Does it support the specific Trello API endpoints and features required for the project?
- Authentication: Does it simplify OAuth or token-based authentication effectively?
- Community Support: Is there an active community around the library for assistance?
Developers can find more community projects and examples by exploring Trello's developer documentation or searching public code repositories like GitHub for "Trello API client" in their preferred language. These libraries often provide a quicker development experience compared to direct API interaction for common use cases.