Share your thing —
like it ain't no thang.

( Hint: For BIG fun, try it on your smartphone or tablet )
We went ahead and named your thing, , but you can always call it something different.
You are currently dweeting the following information to
Now, anyone (or thing) can follow your thing at:
See how easy that was?

How about an alert?

( Demo alert will be active for 10 minutes )

Ridiculously simple messaging
(and alerts)
for the Internet of Things.

Fast, free and ridiculously simple— it's like Twitter for social machines.

If your product, device, machine, gadget or thing can connect to the Internet, it can use to easily publish and subscribe to data. doesn't require any setup or sign-up— just publish and go. It's machine-to-machine (M2M) for the Internet Of Things (IOT) the way it was meant to be.

Check out a few of the things that are dweeting now.

It's easy to use.

No signup. No setup. It just works.

Send data from your thing to the cloud by "dweeting" it with a simple HAPI web API. You can also play with using our API console.
To dweet from your thing, simply call a URL like:

Just replace my-thing-name with a unique name. That's it!

Any query parameters you add to the request will be added as key-value pairs to the content of the dweet. For example:

You can also send any valid JSON data in the body of the request with a POST. will also respond to JSONP requests with a ?callback= query parameter.

While we recommend using a secure https:// connection, also supports un-secure http:// connections for devices that don't support SSL. will respond with:
  "this": "succeeded",
  "by": "dweeting",
  "the": "dweet",
  "with": {
    "thing": "my-thing-name",
    "created": "2014-01-15T17:28:42.556Z",
    "content": {
      "hello": "world",
      "foo": "bar"
To read the latest dweet for a thing, you can call...
Note that only holds on to the last 5 dweets over a 24 hour period. If the thing hasn't dweeted in the last 24 hours, its history will be removed.
Or to read all the dweets for a dweeter, you can call... will respond with one or more dweets which look like:
  "this": "succeeded",
  "by": "getting",
  "the": "dweets",
  "with": [
      "thing": "my-thing-name",
      "created": "2014-01-15T18:41:17.166Z",
      "content": {
        "this": "is cool!"
      "thing": "my-thing-name",
      "created": "2014-01-15T18:41:01.583Z",
      "content": {
        "hello": "world",
        "foo": "bar"
Dweets are stored for up to 1 month if they are locked. You can query a maxiumum 1 day of dweet history per request or as granular as 1 hour. Locks cost $1.99/month.
To get all of a thing's dweets for a given hour:{thing}?key={key}&date={date}&hour={hour}&responseType={type}
A valid thing name.
Since storage only applies to locked things, you have to specify a key. To find out about locked things, please visit here.
The calendar date (YYYY-MM-DD) from which you'd like to start your query. The response will be a maximum of one day.
The hour of the day represented in the date parameter in 24-hour (00-23) format. If this parameter is included, a maximum of 1 hour will be returned starting at this hour. This paramater is optional. If not included, all dweets for specified day will be returned.
Current valid parameters for this are 'csv' and 'json'. If this parameter is left blank, all responses default to hapi-json dweet-speak. CSV is only possible for dweets with a static data model. For example, if your dweet parameters are 'temp' and 'humidity' and then change to 'status' and 'speed', the api will respond with an error when trying to output CSV.
An example for getting all the dweets for a thing on Jan 31st between 1-2pm in CSV
You can also create a real-time subscription to dweets using a "chunked" HTTP response.
Just make a call to
(Note, this won't work in a standard browser)

From a unix command line you can run the following command to see it working:
curl -i

The server will keep the connection alive and send you dweets as they arrive, like:
If you don't know what a chunked HTTP response is, it might be easier to use one of our client libraries below.
Alerts notify you when something in the data you dweet falls outside set of conditions. Alerts are reserved for locked things only.
To set an alert, make a call to:{recipients}/when/{thing}/{condition}?key={key}
A comma separated list of Email addresses. If you want to send a text/SMS message, you can do that too (via Email)— just check this out.
A valid thing name.

A simple javascript expression to evaluate the data in a dweet and to return whether or not an alert should be sent. You can reference the actual data in the dweet as a javascript object, like dweet.my_field or dweet["my_field"]. If the javascript expression returns anything other than a "falsey" value (false, null, undefined, 0, etc.), an alert will be sent.

For example, alert me when a temperature becomes extreme:

dweet.temp <= 32 || dweet.temp >= 212

You can also create more complex, multi-state alerts by returning a string:

if(dweet.temp <= 32) return "frozen"; else if(dweet.temp >= 212) return "boiling";

Note that the javascript expression you provide for the condition is limited to 2000 characters and may not contain complex things like loops and some other javascript reserved words. However, things like Math functions are supported.

You should normally URL-encode your condition, but you can also pass the condition in the body of a post message if it does not fit within the URL.

Since alerts are only allowed on locked things, you have to specify a key. To find out about locked things, please visit here.
Putting it all together:<=0?key=abc123
To remove an alert, you can call:{thing}?key={key}
You can also access even quicker and easier with these pre-built client libraries.

Make it secure.

Yup. You can do that too.

By default, any(thing) can dweet or read dweets simply by knowing the thing name, but what if you have a thing you'd like to keep a bit more private? You can do that too.
Start by locking a thing...

Partners and Customers

Arrow Electronics
Ford Motor Company