Design. Build. Plug into Skype.

Skype URIs

Skype URIs enable developers to create innovative mobile, web, and desktop apps that initiate Skype calls and chats, enabling your users to reach their friends, family and businesses in a convenient yet familiar way. For example, if your mobile app presents a contact list that contains Skype names or phone numbers, your app can use a Skype URI to launch the official Skype client and initiate a call to a selected contact.

Skype URIs are the preferred mechanism for integrating with the Skype client, and are supported on iPhone, iPad, Android, Windows (8, 7, Vista, XP), Linux and Mac OS X.

For a Skype URI to work, a Skype client must be installed on the user’s device, and the user must have an active Skype account. Certification of applications or webpages using Skype URIs is not required, since all interaction—specifically all audio and video—is through the Skype client.

Currently supported Skype URIs include:

  • switching focus to the Skype client.
  • initiating audio calls to other Skype users, phones, or mobiles—both one-to-one dialogs and multi-party conferences.
  • initiating video calls to another Skype user.
  • sending instant messages to an individual or establishing a group multi-chat.

How Skype URIs work

In its simplest form, you can embed a hyperlink referencing a Skype URI in a webpage to place a Skype call. For example, to initiate a call to the Skype Echo / Sound Test Service, the link would be:

<a href="skype:echo123?call">Call the Skype Echo / Sound Test Service</a>

Clicking the link:

  1. Brings the device’s Skype client into focus, starting it as necessary.
  2. Effects auto-login or prompts your users for their Skype Name and password.
  3. Typically opens a confirmation dialog to authorize placing the call.
  4. Places the call.

Skype buttons provide you with a generated block of HTML that has a Skype URI at its core. Simply use the form to specify the type of button you want, then paste the code snippet into a webpage so people can easily call or chat with you over Skype.

The Skype.ui JavaScript function enables you to dynamically embed Skype URIs that have a pre-defined appearance and user interface similar to Skype buttons, but provides additional functionality, such as video, conference calls, and multi-chats.

Apps can construct and access an appropriate Skype URI in response to user actions. For example, tapping a contact’s picture on your mobile device might construct and access a “call” Skype URI specifying that contact’s Skype Name or phone number.

For complete details on the syntax of each currently supported Skype URIs, see Skype URI API Reference.

For details on and sample code illustrating how you can use each of the currently supported Skype URIs in your apps, emails, and webpages, please see:

Note: Your use of Skype URIs implies access to and use of Skype software, as governed by Skype’s Terms of Use. You also agree to the terms of the Microsoft Corporation Technical Documentation License Agreement.

 

Interacting with the Skype client

Skype URIs depend on an installed and running Skype client—one on the sending device, and one on each recipient’s device. The sending client must primarily concern itself with options related to start-up and login. The receiving client must primarily concern itself with options related to accepting calls and chats, particularly if your application or webpage is using Skype URIs to connect customers and other interested parties with businesses and organizations.

Sending client

Skype URIs behave differently depending on browser options (web-based apps), the state of the Skype client, Skype client options, and user actions:

Screenshot: Dialog box to authorize the Skype client.
  • The user might be prompted to authorize the Skype client if it is not already running (browser options).

Windows® 7 / Windows® Internet Explorer 9

Screenshot: Dialog box to authorize the Skype client.


Android 4.0.4 / Firefox 15.0.1

  • The user will have to login if the Skype client is currently:
    • not running and auto-login is either disabled or currently inactive due to explicit logout (Skype client options; user actions)
    • running with no currently logged-in user

Screenshot: Dialog box to authorize the Skype client to make a call.
  • The user might be prompted to authorize the client action, for example, a “confirm call” dialog might appear (Skype client options).

Windows® 7 / Windows® Internet Explorer 9

Your app’s documentation should encourage users to enable their Skype client’s auto-login option, and exit the Skype client rather than explicitly logging out. If the Skype URI references the currently logged-in user, some Skype clients simply shift focus, while others present a dialog indicating that you cannot start a conversation with yourself.

Once the Skype client completes the requested, regardless of success, focus can remain with the Skype client rather than returning to your app. This depends on the type of action requested, as well as which platform the Skype client is running on. For example, chats are open-ended, so focus always stays with the Skype client. However, while calls terminate when all but one participant has hung up, focus always stays with the Skype for Windows client but returns to your app for the Skype for Android client.

Determining whether a Skype client is available on a mobile or desktop device—and what to do if it is not—depends on the platform and the accessing browser, webpage, or application. Ideally, you want to detect whether the Skype client is present, and direct the user to download and install the Skype client if it is not. In fact, your app should navigate directly to the mobile device’s marketplace or the platform-specific Skype client’s download page on skype.com (http://www.skype.com/go/download) whenever it detects that a Skype client is not present. For details on and sample code regarding detecting and installing a missing Skype client, see the associated tutorial page, for example, What can I do if a Skype client is not installed?, if you are developing an Android app.

Keep in mind that installing the Skype client on the device might additionally require the user to create a Skype account and issue/accept one or more Contact requests before they can effectively use Skype URIs.

Receiving client

Screenshot: Dialog box to set Skype client Privacy Settings to accept calls from non-Contacts.

Embedding Skype URIs in advertisements, search results, email signatures, “contact us” pages, and so forth enable customers and other interested parties to easily connect with your business or organization via Skype. However, since those callers are unlikely to be in your Contacts list, you must configure the receiving Skype client to accept calls and/or chats from “anyone”. You might also want to consider automatically receiving video and/or showing your online presence if this is a Web-based application or page.


Skype 6.0 for Windows

Branding your app

Your app’s use of the Skype logo, name, and other brand elements in your app’s design, appearance, and marketing materials are detailed in and governed by the Skype Trade Mark Guidelines. As a general rule, third parties may not use the Skype Brand Elements unless they have either received prior written permission, or the proposed use falls within certain limited exceptions.

See Skype URIs: Branding Guidelines for complete guidelines regarding use of the Skype URI-specific brand elements.

Need help?

Please contact Skype Developer Support.