Updated ThingSpeak Documentation is now located in ThingSpeak Docs. For support, use the ThingSpeak Forum.

Getting Started

Getting Support

Please post your questions, comments, and feature requests in the ThingSpeak Forum.


Channels are where your application stores and retrieves any type of data. Each channel has a Private View and a Public View. The Private View is only accessible by signing into your user account. The Public View is what other viewers will see when they visit your ThingSpeak Channel. You can have different info on each view, customize the view with Plugins, and even disable the Public View.

ThingSpeak Channel Public View

Channel Views have the following features:

  • Channel Watch
  • Share via Social Networks
  • Developer Info
  • Ability to embed ThingSpeak Plugins
  • Drag-and-drop Organization
  • Tags
  • Comments

Channels API

To read and write to a ThingSpeak Channel, your application must make requests to the ThingSpeak API using HTTP requests. Each ThingSpeak Channel allows for 8 fields of data (both numeric and alphanumeric formats), location information, and a status update. Each entry is stored with a date and time stamp and is assigned a unique Entry ID (entry_id). After the data is stored, you can retrieve the data by time selection or by Entry ID. In addition to storing and retrieving numeric and alphanumeric data, the ThingSpeak API allows for numeric data processing such as timescaling, averaging, median, summing, and rounding. The channel feeds supports JSON, XML, and CSV formats for integration into applications.

Charts API

Use the Charts API to present numerical data stored in ThingSpeak Channels on charts. Supported chart types are line, bar, column, and step. Options include size, color, and labels.

Open Source API

The ThingSpeak API is available on GitHub and includes the complete ThingSpeak API for processing HTTP requests, storing numeric and alphanumeric data, numeric data processing, location tracking, and status updates.  The open source version follows the same documentation as the ThingSpeak hosted service.


ThingSpeak Apps are apps that make it easier for devices to access resources on the web such as social networks, web services, and APIs.


ThingTweet is a Twitter Proxy that allows a device to send status updates to Twitter via simple API calls to the ThingTweet App.


ThingHTTP is for connecting things to web services via HTTP requests. ThingHTTP supports GET, POST, PUT, and DELETE methods, HTTP/1.0, HTTP/1.1, SSL, custom HTTP headers, and Basic Authentication.


TweetControl allows you to monitor your Twitter stream for a specific hashtag and associate it with a control action. The TweetControl App uses the Twitter Stream API and operates in real-time. You can create social controls via Twitter without having to run a dedicated server listening to the Twitter firehouse.


Reacts allow you to trigger a ThingHTTP request or send a tweet using ThingTweet when your ThingSpeak Channel meets a certain condition. For example, you can have your thermostat turn on by the time you get home from work by creating a Geo Location React.


TalkBack allows you to store commands on ThingSpeak and retrieve them by a device. This model provides a way to control battery-powered devices that are asleep most of the time and periodically need to check for control commands.


Plugins are way to create your applications natively on the ThingSpeak platform. You can create applications using HTML, CSS, and JavaScript to create mashups of ThingSpeak services with other web services. Plugins can either be private or public. Private plugins can only be viewed from a private ThingSpeak Channel view. Public Plugins can be embedded on your website or added to a ThingSpeak Channel view.

Example Plug In

Display a Google Gauge Visualization using ThingSpeak Plugins [Source Code]


Using the ThingSpeak Importer, you are able to import data from a CSV file directly into a ThingSpeak Channel. The access the Importer, select a Channel, and click Import Data.

The format for the CSV should be the following:


Here is an example CSV file: Sample CSV File

You only have to send a date time stamp and at least one field. The date time stamp can be in many formats such as epoch, ISO 8601, or MySQL time. If the date time includes a GMT/UTC offset, we will use that to properly import the data. If your date time stamps do not have a GMT / UTC offset, you can specify a time zone that the data was logged in.