A cloud service to capture and make sense of sensor data


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

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, } )

You can also post your question in our community portal and get an answer from our staff or other Ubidots users