BeamAPI 1.5.7

BeamAPI 1.5.7

LangLanguage SwiftSwift
License MIT
ReleasedLast Release May 2017
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by Jack Cook.

Depends on:
Starscream~> 2.0
SwiftyJSON~> 3.1

BeamAPI 1.5.7

  • By
  • Jack Cook


This is a client library for Beam written in Swift.


  • Authenticate with Beam and manage your user session
  • Retrieve full data about channels, users, and other resources
  • Send and receive packets through the chat and Interactive servers
  • Complete Documentation


To run the example project, clone the repo, and run pod install from the Example directory first.


  • iOS 8.2+ / tvOS 9.0+ (macOS and watchOS coming soon)
  • Xcode 7.3+


Retrieving Channel Data

import BeamAPI

BeamClient.sharedClient.channels.getChannelWithId(252) { (channel, error) in
    guard let channel = channel else {

    print("\(channel.token) has \(channel.viewersCurrent) viewers.")

Connecting to Chat

import BeamAPI

class ChatReceiver: NSObject, ChatClientDelegate {

    // Connect to the channel with an id of 252
    func start() {
        let client = ChatClient(delegate: self)

    // Called when a connection is made to the chat server
    func chatDidConnect() {
        print("connected to chat")

    // Called when the chat server sent us a packet
    func chatReceivedPacket(packet: Packet) {
        if let packet = packet as? MessagePacket {
            print("message received: \(packet.messageText)")

    // Called when there is a new viewer count available
    func updateWithViewers(viewers: Int) {
        print("\(viewers) are watching")


BeamAPI is available under the MIT license. See the LICENSE file for more info.