AnyDesk API

By Abhishek Kumar
4 min read
Explore AnyDesk, the secure remote desktop software with low-latency performance. Integrate its RESTful API for remote access, session management, and real-time notifications seamlessly!

Table of Contents

Discover AnyDesk, the secure & intuitive remote desktop software, and take advantage of the application's innovative features!

API Overview

AnyDesk is a remote desktop software application that enables users to access and control computers remotely. It features high-frame-rate remote access, file transfer capabilities, and cross-platform compatibility, allowing users to connect to and manage devices running Windows, macOS, Linux, iOS, and Android. AnyDesk utilizes the DeskRT codec, which optimizes bandwidth usage and provides low latency, ensuring a smooth and responsive remote desktop experience. It offers advanced security measures such as TLS 1.2 encryption, two-factor authentication, and granular access permissions to protect user data and privacy.

The AnyDesk Software API provides developers with a comprehensive set of RESTful APIs and webhooks to integrate AnyDesk's remote desktop capabilities into their applications and services. The API documentation provides detailed information on available endpoints, request and response formats, and usage examples. REST APIs enable developers to perform various operations, including creating and managing sessions, sending commands, and retrieving device information. Webhooks allow applications to receive real-time notifications of events such as session start, end, and device status changes. AnyDesk enforces rate limits to prevent API abuse and ensure the stability and performance of the service. Developers can obtain an API key to access it and authenticate their requests. By leveraging the AnyDesk Software API, developers can enhance their applications with remote desktop functionality, enabling seamless remote access, collaboration, and device management.

API Request Limits

Free Plan

250 requests per hour

Personal Plan

500 requests per hour

Professional Plan

1000 requests per hour

Enterprise Plan

2000 requests per hour

SDKs

APIs

applications

Method: get

Description: Get list of active and inactive applications..

Endpoint: applications

Parameters:

applications

Method: post

Description: Install or start a new application..

Endpoint: applications

Parameters: path, application, status, version

applications

Method: delete

Description: Stop or uninstall an application..

Endpoint: applications

Parameters: application, version

events

Method: post

Description: Trigger event on remote system..

Endpoint: events/send

Parameters: [action_buttons], [message_text], [process_name], [timeout_seconds], [web_domain]

files

Method: post

Description: Create.

Endpoint: copy

Parameters: move

files

Method: delete

Description: Delete multiple files and directories..

Endpoint: files

Parameters: paths, trash

files

Method: get

Description: Get list of files and directories in a path..

Endpoint: files

Parameters: path, recursive

files

Method: put

Description: Write content to a file..

Endpoint: files

Parameters: path, content, position, overwrite

keyboards

Method: post

Description: Send key combination to remote system..

Endpoint: keyboards/send

Parameters: key_combination

keyboards

Method: get

Description: Get current state of keyboard..

Endpoint: keyboards/state

Parameters:

mouse

Method: post

Description: Perform mouse actions on remote system..

Endpoint: mouse

Parameters: x_displacement, y_displacement, button_mask, wheel_displacement

network_settings

Method: get

Description: Get network settings of remote system..

Endpoint: network_settings

Parameters:

power

Method: post

Description: Perform power management actions on remote system..

Endpoint: power

Parameters: [action]

printers

Method: get

Description: Get list of installed printers..

Endpoint: printers

Parameters:

remote_control

Method: post

Description: Initiate or stop remote control session..

Endpoint: remote-control/session

Parameters: [action]

remote_control

Method: get

Description: Get information about current remote control session..

Endpoint: remote-control/session

Parameters:

remote_control

Method: put

Description: Change remote control session settings..

Endpoint: remote-control/session

Parameters: session_settings

shortcuts

Method: get

Description: List user defined shortcuts..

Endpoint: shortcuts

Parameters:

shortcuts

Method: post

Description: Create user defined shortcut..

Endpoint: shortcuts

Parameters: name, key_combination, command

shortcuts

Method: delete

Description: Delete user defined shortcut..

Endpoint: shortcuts

Parameters: name

sessions

Method: get

Description: Get sessions list..

Endpoint: sessions

Parameters: offset, limit, sort_by, search_string, security_token

sessions

Method: post

Description: Initiate new session..

Endpoint: sessions

Parameters: [security_token]

sessions

Method: delete

Description: End session..

Endpoint: sessions

Parameters: session_id

settings

Method: get

Description: Get system settings..

Endpoint: settings

Parameters:

settings

Method: post

Description: Change system settings..

Endpoint: settings

Parameters: settings

tasks

Method: post

Description: Start new process or kill process on remote system..

Endpoint: tasks

Parameters: [action], [process_name], [process_id], [process_status]

FAQ

How do I authenticate to AnyDesk API?

Authentication is via a JWT token. You can get a JWT token by making a request to the 'Get JWT Token' API endpoint.

What are the rate limits for AnyDesk API?

General rate limit is 60 requests per minute, with a maximum of 2 requests per second. There are specific rate limits for certain API endpoints. Check the API documentation for details.

How do I get a sandbox account for testing?

You can create a sandbox account by visiting https://developer.anydesk.com. Enter your email address and create a password. You will be granted 15 hours of usage per month.

What is the difference between a developer account and a production account?

A developer account is used for testing and development purposes. It has limited usage quotas. A production account is used for commercial purposes and has higher usage quotas.

How can I request data subject access via the API?

To make a request for data subject access, use the 'Data Subject Request' API endpoint. You will need to provide the email address associated with the user's AnyDesk account.

Last Update: November 04, 2024