A cloud service to capture and make
sense of sensor data

Start Now See how it Works

Setup your device to send data to our cloud
Learn more

Watch your data in a clean, real-time dashboard
Learn more

Trigger alerts when a sensor value hits a threshold
Learn more

Extend your project through a powerful and flexible API
Learn more

dots saved.
Have a sensor application in mind? Start Now!

What people say

“Every environmental detail of my apartment is logged with Ubidots, making it easy to know when I've burnt my toast.”

RICHARD HAWTHORNE / Founder, Cambridge Hackspace.

Built for makers and developers

Robust API clients that let you focus on building great projects

$ curl -i --header "Accept: application/json; indent=4" --header "Content-Type: application/json" --header "X-Auth-Token: GrQp3zCCLYBGfPTYkTJtUfKwm1mLjAJVEIMoEVQ1fKeaAaoIEbCWEYd9V4pT" -X POST -d '{"name": "Raspberry pi"}' http://things.ubidots.com/api/v1.6/datasources

Content-Type: application/json; indent=4

    "id": "5204267b20e1e3695e957a2d",
    "owner": "http://things.ubidots.com/api/v1.6/users/3",
    "parent": null,
    "name": "Raspberry pi",
    "url": "http://things.ubidots.com/api/v1.6/datasources/5204267b20e1e3695e957a2d",
    "context": {},
    "tags": [],
    "created_at": "2013-08-08T23:15:07.538",
    "variables_url": "http://things.ubidots.com/api/v1.6/datasources/5204267b20e1e3695e957a2d/variables",
    "number_of_variables": 0,
    "last_activity": null

from ubidots import ApiClient

api = ApiClient("7fj39fk3044045k89fbh34rsd9823jkfs8323")

new_datasource = api.create_datasource({"name": "myNewDs", "tags": ["firstDs", "new"], "description": "any des"})

new_variable = new_datasource.create_variable({"name": "myNewVar", "unit": "Nw"})

new_variable.save_value({'timestamp': 1380558972614, 'value': 20})

require 'vendor/autoload.php';

$api = new Ubidots\ApiClient($apikey="7fj39fk3044045k89fbh34rsd9823jkfs8323");

$new_datasource = $api->create_datasource( array("name"=>"myNewDs", "tags"=>array("firstDs", "new"), "description"=>"any des") );

$my_variable = $new_datasource->create_variable( array("name"=>"myNewVar", "unit"=>"Nw") );

$my_variable->save_value( array('timestamp'=>1380558972614, 'value'=>20) )

require 'ubidots'

@api = Ubidots::ApiClient.new("7fj39fk3044045k89fbh34rsd9823jkfs8323")

new_datasource = @api.create_datasource( {"name"=>"myNewDs", "tags"=>["firstDs", "new"], "description"=>"any des"} )

new_variable = new_datasource.create_variable( {"name"=>"myNewVar", "unit"=>"Nw"} )

my_variable.save_value( {'timestamp'=>1380558972614, 'value'=>20, } )