Skype

This page is a placeholder, for documentation of the Skype protocol used by Skype.

Introduction

Some initial work has been done by Efim Bushmanov to reverse engineered the skype protocol and can be found here. Warning: depending on how the developer reverse engineered the protocol (such as decompiling Skype's binaries) using the documentation may possibly violate US copyright law and/or the DMCA.

All Skype desktop clients (i.e. Windows, Mac OS X, and Linux) have an API which allows other programs running on the computer to perform Skype actions and receive Skype notifications on the logged-in Skype account by inter-process communication with the Skype client. The downsides of this are that 1) you need to have the Skype client GUI running for this to work, 2) only one account can be logged into Skype at once (unless you somehow run multiple instances of the Skype client), and 3) not all features are available in the API.

Skype also offers something called SkypeKit, which is essentially the above-mentioned API as a library so you don't have to run a separate Skype program. With this, Trillian 5.1 for Windows directly supports native Skype chat and audio and video calls without running the Skype client. However, there are a lot of legal restrictions on the use of SkypeKit, e.g. you cannot put it on a mobile device, and you cannot run it on a server.