Skip to content
Unofficial Skype API for Node.js via HTTP
Branch: master
Clone or download
demurgos Release v0.0.15
- **[Feature]** Add `setConversationTopic(conversationId: string, topic: string)`
- **[Feature]** Add `getJoinUrl(conversationId: string)`
- **[Feature]** Add `addMemberToConversation(conversationId: string, memberId: string)`
- **[Feature]** Add `createConversation(allUsers: AllUsers)`
- **[Fix]** Do not throw on unexpected extra keys when reading responses.
- **[Fix]** Fix message host resolution (API change).
- **[Fix]** Mark `isFavorite` in `ContactGroup` as optional.
- **[Fix]** Mark `name` in `ContactProfile` as optional.
- **[Fix]** Move `.ts` sources to a different directory than `.d.ts` and `.js` in dist build
- **[Internal]** Run tests and coverage on `.mjs` files.
Latest commit 61dfd9e Feb 14, 2018


npm GitHub repository Codecov Build status Greenkeeper badge

Unofficial Skype API for Node.js via HTTP. This relies on the Skype Web Application and requires the credentials of the account you want to use: use it with care.


  • Stable version:

    npm install --save skype-http
  • Git master:

    npm install --save skype-http@next

Import for Typescript or Javascript ES6:

import * as skypeHttp from "skype-http";

Import for Javascript ES5:

var skypeHttp = require("skype-http");

Quick start

The code below sends Hello, World! to all of bob's contacts.

import { Api, connect } from "skype-http";

async function run() {
  const api: Api = await connect({credentials: {username: "bob", password: "hunter2"}});
  for (const contact of await api.getContacts()) {
    await api.sendMessage({textContent: "Hello, World!"}, contact.mri);


Running example

The demo will prompt you your username and password: you should use your Skype account (there is no support for Microsoft accounts for now).

git clone
cd skype-http
# Ensure that you have the latest versions of the global dependencies
sudo npm install -g gulp-cli
npm install
npm start

This will perform a verbose connection (it should log the acquisition of various tokens), display the list of contacts, set the status to "Online" and start to respond to messages.


Old API documentation for the version 0.0.13

At the moment, documentation generation no longer works (we're waiting for Typedoc 0.10). So I recommend to look at the example in src/example and library source code in src/lib, especially the api.ts file and types directory.

Help is greatly appreciated if you want to help with documentation.

For Typescript, you should import types using import { Contact } from "skype-http/types/contact", etc. (src/lib is the root of the published package).


If you just want to create a bot, take a look at first.

You can find the decompiled source code of the Skype Web Application on the skype-web-reversed repository.

What's not working and probably never will.

Project Background

This project started as a fork of the after slow progress from 3rd party patches. The goal is to provide stronger guarantees about the objects returned by the API (through checks and normalization) and better error management, because scrapping/unofficial API calls are unreliable so the library should be resilient.


This project relies on SkypeWeb Skype implementation. If Microsoft Corporation decides to remove Skype implementation (or change it in any) skype-http might not be in working state. Therefore it's not recommended to use it in any critical part of production code. In fact it's not recommended to use it in production at all.

MIT License.

You can’t perform that action at this time.