Build powerful apps
in half the time

A platform for building serverless apps. Increase productivity, focus on new features, and scale without managing servers.

Get Started for Free

30 days free • No credit card required

serverless app platform

Create and manage your API from
the Dashboard

Make your own custom APIs in the cloud. Instantly scale for the web, mobile, and the Internet of Things. Support millions of users without learning the nuts and bolts of handling servers.

Create and manage your API from our dashboard
Assemble your backend with building blocks

Assemble your backend with building blocks

Simplify your stack. Piece together one or multiple features as building blocks for your app. Use Syncano Sockets as a data hub and easily connect disparate backend systems.

See what you can do with Syncano

Real-Time Communication

Real-Time Communication

Add real-Time functionality to your app with Channels. Users can subscribe to Channels and get notifications of changes to Data Objects. You can grant users the ability to send custom notification messages.

Run server-side logic in the cloud

Run server-side logic in the cloud

Execute code on API calls, in response to events, updates to data, in-app activity, or by a schedule. Leverage hundreds of available libraries. Write your scripts in Node.js, Go, Swift, Python, Ruby, and PHP.

Add push notifications

Add push notifications

Boost your engagement. Add powerful push notifications to your app with a few clicks in your Dashboard. Send relevant notifications to users.

Customize your output

Customize your output

Save valuable client-side resources to make your app faster. Use Templates to change the output of your data to the response format you need, including JSON, XML, and HTML.

Use the frameworks and languages you like

JavaScriptPythonAndroidiOS
AngularJSRubyEmber.jsArduino

Add data with a few lines of code

var Syncano = require("syncano"); // CommonJS
var connection = Syncano({ accountKey: "ACCOUNT_KEY" });
var DataObject = connection.DataObject;

var book = {
  title: "The Old Man and the Sea", 
  author: "Ernest Hemingway",
  instanceName: "INSTANCE_NAME",
  className: "CLASS_name"
};

DataObject.please().create(book).then(function(book) {
  console.log("book", book);
});


import syncano
from syncano.models import Object

connection = syncano.connect(api_key='API_KEY')

Object.please.create(
  instance_name="INSTANCE_NAME",
  class_name="book",
  title="The Old Man and the Sea",
  author="Ernest Hemingway"
)





Book newBook = new Book();
newBook.author = "Ernest Hemingway";
newBook.title = "The Old Man and the Sea";

Response<Book> response = newBook.save();











// define Class of an object
@interface Book : SCDataObject
@property (nonatomic,copy) NSString *title;
@property (nonatomic,copy) NSString *subtitle;
@end
  
@implementation Book
@end
  
// creating a book using Book class
Book *book = [Book new];
book.title = @"How to be a Pirate";
book.subtitle = @"10 tips that will change your life.";
[book saveWithCompletionBlock:^(NSError *error) {
  // handle error
}];
// define Class of an object
class Book : SCDataObject {
    var title = ""
    var subtitle = ""
}

// creating a book using Book class
let book = Book()
book.title = "How to be a Pirate"
book.subtitle = "10 tips that will change your life."
book.saveWithCompletionBlock { error in
  // process saved book and handle error
}



myApp.controller('SyncanoController', function ($scope, syncanoService) {
  var syncano = null; // will be used for API calls
  $scope.data = null;
  $scope.error = null;
  ​
  syncanoService.getSyncano() // gets the current Syncano object
    .then(function(res) { // uses promises
      syncano = res; // set to current Syncano Object
      var DataObject = syncano.DataObject;
      var book = {
        title: "The Old Man and the Sea", 
        author: "Ernest Hemingway",
        instanceName: "INSTANCE_NAME",
        className: "CLASS_NAME"
      };

      DataObject.please().create(book).then(function(book) {
        $scope.data = book;
      });
    })
    .catch(function(err) {
      console.log(err);
    });
});
require 'syncano'

book_class = instance.classes.find('book')
book_class.objects.create(title: 'The Old Man and the Sea', author: 'Ernest Hemingway')












saveNewItem() {
  this.store.createRecord('todo', { 'title': this.get('newItem'), 'is_completed': false }).save();
  this.set('newItem', null);
},












/*
 * In this example we will fetch data from Syncano and create Syncano Data Objects based on it
 * To use this example you need Syncano class
*/
#include <Syncano.h>
#include <Bridge.h>
​
SyncanoClient* syncano;
SyncanoClass* classHolder;
SyncanoDataObject* object;
​
void setup() {
  initSyncanoClient("ACCOUNT_KEY");
  Bridge.begin();
  
  // setup Syncano client used to connect
  syncano = getSyncanoClient();
  syncano->setInstanceName("INSTANCE_NAME");
  
  // create local class and fetch fields from Syncano
  classHolder = new SyncanoClass("CLASS_NAME");
  classHolder->details();
  
  // initialize empty local object based on class
  object = classHolder->initObject();
}
​
void loop() {
  // Set value in local object
  object->setFieldValue("firstname", "john");
  
  // Create Data Object in Syncano
  object->add();
}

We’ll support you every step of the way

Adam is a great guy and a part of our support team. At Syncano, every team member is here to help you. When you have questions, you’ll get timely answers directly from our team members.

Get support

Rethink how you build apps. Go serverless!

Get Started for Free

30 days free • No credit card required