thingSpeakRead
Read data stored in ThingSpeak channel
Syntax
Description
data = thingSpeakRead(channelID)
data = thingSpeakRead(channelID,Name=Value)Name=Value pair
          arguments. To read nonnumeric data, you must specify the
            'OutputFormat'.
[
          also returns timestamps from the specified channel on ThingSpeak.com and can include any of the
          input arguments in previous syntaxes.data,timestamps]
= thingSpeakRead(___)
[
          also returns channel information.data,timestamps,channelInfo]
= thingSpeakRead(___)
Examples
Read the last three points of data from fields 1 and 4 of a public channel, and return the data into a timetable.
data = thingSpeakRead(12397,'Fields',[1,4],NumPoints=3,OutputFormat='TimeTable')
data =
  3×2 timetable
         Timestamps         WindDirectionNorth0Degrees    TemperatureF
    ____________________    __________________________    ____________
    18-Nov-2021 13:42:57                34                    70.4    
    18-Nov-2021 13:43:57                50                    70.4    
    18-Nov-2021 13:44:57                54                    70.6Read the last five minutes of data from fields 1 and 4 of a public channel, and return the data into a table.
data = thingSpeakRead(12397,Fields=[1,4],NumMinutes=5,OutputFormat='TimeTable')data =
  11×2 timetable
         Timestamps         WindDirectionNorth0Degrees    TemperatureF
    ____________________    __________________________    ____________
    18-Nov-2021 13:34:57                38                    70.6    
    18-Nov-2021 13:35:57                42                    70.6    
    18-Nov-2021 13:36:57                41                    70.6    
    18-Nov-2021 13:37:57                46                    70.8    
    18-Nov-2021 13:38:57                44                    70.8    
    18-Nov-2021 13:39:57                37                    70.8    
    18-Nov-2021 13:40:57                42                    70.6    
    18-Nov-2021 13:41:57                43                    70.4    
    18-Nov-2021 13:42:57                34                    70.4    
    18-Nov-2021 13:43:57                50                    70.4    
    18-Nov-2021 13:44:57                54                    70.6    
    18-Nov-2021 13:45:57                52                    70.Read the most recent result for all fields of a public channel, including the timestamp.
[data,timestamps] = thingSpeakRead(12397)
data = 52.0000 7.6000 58.0000 70.8000 0 29.6700 4.1360 0 timestamps = datetime 18-Nov-2021 13:45:57
Read the last five minutes of data from fields 1 and 4 of a public channel, including the timestamps and channel information.
[data,timestamps,channelInfo] = thingSpeakRead(12397,Fields=[1,4],NumMinutes=5)
data =
   41.0000   70.6000
   46.0000   70.8000
   44.0000   70.8000
   37.0000   70.8000
   42.0000   70.6000
   43.0000   70.4000
   34.0000   70.4000
   50.0000   70.4000
   54.0000   70.6000
   52.0000   70.8000
   39.0000   71.0000
timestamps = 
  11×1 datetime array
   18-Nov-2021 13:36:57
   18-Nov-2021 13:37:57
   18-Nov-2021 13:38:57
   18-Nov-2021 13:39:57
   18-Nov-2021 13:40:57
   18-Nov-2021 13:41:57
   18-Nov-2021 13:42:57
   18-Nov-2021 13:43:57
   18-Nov-2021 13:44:57
   18-Nov-2021 13:45:57
   18-Nov-2021 13:46:57
channelInfo = 
  struct with fields:
            ChannelID: 12397
                 Name: 'WeatherStation'
          Description: 'MathWorks Weather Station, West Garage, Natick, MA 01760, USA'
             Latitude: 42.2997
            Longitude: -71.3505
             Altitude: 60
              Created: 20-May-2014 17:50:32
              Updated: 18-Nov-2021 13:40:31
          LastEntryID: 3638608
    FieldDescriptions: {1×8 cell}
             FieldIDs: [1 2 3 4 5 6 7 8]
                  URL: 'https://api.thingspeak.com/channels/12397/feed.json?'Read the data from 11:59:01 on August 9, 2018 through 12:02:52 on August 10, 2018 for fields 1 and 4 of a public channel, including the timestamps and channel information.
[data,timestamps,channelInfo] = thingSpeakRead(12397,Fields=[1 4],...
    DateRange=[datetime(2018,8,9,23,59,01),datetime(2018,8,10,0,02,52)])data =
  202.0000   83.3000
  184.0000   83.2000
  185.0000   83.1000
  155.0000   83.1000
timestamps = 
  4×1 datetime array
   09-Aug-2018 23:59:17
   10-Aug-2018 00:00:20
   10-Aug-2018 00:01:21
   10-Aug-2018 00:02:22
channelInfo = 
  struct with fields:
            ChannelID: 12397
                 Name: 'WeatherStation'
          Description: 'MathWorks Weather Station, West Garage, Natick, MA 01760, USA'
             Latitude: 42.2997
            Longitude: -71.3505
             Altitude: 60
              Created: 20-May-2014 17:50:32
              Updated: 14-May-2020 10:31:40
          LastEntryID: 2853000
    FieldDescriptions: {'Wind Direction (North = 0 degrees)'  'Wind Speed (mph)'  '% Humidity'  'Temperature (F)'  'Rain (Inches/minute)'  'Pressure ("Hg)'  'Power Level (V)'  'Light Intensity'}
             FieldIDs: [1 2 3 4 5 6 7 8]
                  URL: 'https://api.thingspeak.com/channels/12397/feed.json?'Input Arguments
The channel identification number, specified as a positive integer. For private
            channels, you must also specify the ReadKey argument.
Data Types: double
Name-Value Arguments
Specify optional pairs of arguments as
      Name1=Value1,...,NameN=ValueN, where Name is
      the argument name and Value is the corresponding value.
      Name-value arguments must appear after other arguments, but the order of the
      pairs does not matter.
    
      Before R2021a, use commas to separate each name and value, and enclose 
      Name in quotes.
    
Example: thingSpeakRead(12397,Location=true);
          thingSpeakRead(12397,'Location',true);
      
Range of time for collected data to return, specified as a name-value pair
              consisting of 'DateRange' and an array of values that have
                [startdate,enddate] in MATLAB®
              datetime (MATLAB) values. ThingSpeak server limits the number of points returned to a maximum of 8000. Adjust
              your ranges or make multiple calls if you need more than 8000 points of data.
Note
You cannot use DateRange with NumDays or
                  NumMinutes.
Example: thingSpeakRead(12397,DateRange=[datetime('Aug 8,
                2014'),datetime('Aug 12, 2014')]);
Channel field IDs, specified as a name-value pair consisting of Fields and
              numeric values of the channel field ID to retrieve data from.
Example: thingSpeakRead(12397,Fields=[1,3,4]);
Indicator to display positional information of data from the channel, specified as a
              name-value pair consisting of Location and a logical value.
              Location information includes latitude, longitude, and altitude. 
Example: thingSpeakRead(12397,Location=true);
Number of days of data to extract data from, specified as a name-value pair consisting of
                'NumDays' and a numeric value. Number of days is measured in
              24-hour periods. The ThingSpeak server limits the number of points returned to a maximum of 8000. Adjust
              your number of days, or make multiple calls if you need more than 8000 points of
              data.
Note
You cannot use NumDays with DateRange or NumMinutes.
Example: thingSpeakRead(12397,NumDays=2);
Number of minutes of data to extract data from, specified as a name-value pair consisting of
                'NumMinutes' and a numeric value. Number of minutes of data to
              retrieve is measured from the time the command is issued. The ThingSpeak server limits the number of points returned to a maximum of 8000. Adjust
              your number of minutes, or make multiple calls if you need more than 8000 points of
              data. 
Note
You cannot use NumMinutes with DateRange or NumDays.
Example: thingSpeakRead(12397,NumMinutes=20);
Data Types: double
Number of data points to extract, specified as a name-value pair consisting of
                'NumPoints' and a numeric value. The number of points or rows of
              data is counted from the time the command is issued. The ThingSpeak server limits the number of points returned to a maximum of 8000.
Example: thingSpeakRead(12397,NumPoints=200);
Class of the output data, specified as a comma-separated pair
consisting of 'OutputFormat' and a text value.
Valid values are 'matrix', 'table',
and 'timetable'. Use 'matrix' format
for numeric data. You can use 'timetable' or 'table' for
any nonnumeric data. The 'table' format outputs [data,channelInfo],
where data contains the timestamps and the data
from the fields of the channel. The 'timetable' format
outputs [data,channelInfo], where data is
a timetable and contains as many variables as the number of requested 'fields'.
Example: thingSpeakRead(12397,OutputFormat='table');
Example: thingSpeakRead(12397,OutputFormat='timetable');
Read API key of the channel, specified as a name-value pair consisting of
                'ReadKey' and a character vector representing a channel read API
              key. The Read API key allows you to read data from a private channel. You can find the
              Read API key for a channel on the API Keys tab of your ThingSpeak channel view. If you are reading data from a public channel, you do not
              need a Read API key. Save your channel Read API key in a variable for
              convenience.
Example: thingSpeakRead(12397,ReadKey='F6CSCVKX42WFZN9Y');
            
Data Types: char
Server connection timeout period, specified as a name-value pair consisting of
                'Timeout' and a numeric value. The value is the number of seconds
              allowed for thingSpeakRead to connect to the server.
Example: thingSpeakRead(12397,Timeout=15);
Output Arguments
Data from the channel, returned as an array, table, or timetable.
Timestamp of each data element, returned as an array of datetime values. 
Data Types: datetime
Channel information, returned as a structure with fields in the order shown in the table..
| Field | Description | 
|---|---|
| ChannelID | Channel identification number | 
| Name | Name of the channel | 
| Description | Channel description | 
| Latitude | Latitude for the channel as provided in the channel settings | 
| Longitude | Longitude for the channel as provided in the channel settings | 
| Altitude | Elevation for the channel as provided in the channel settings | 
| Created | Datetime of channel creation date | 
| Updated | Datetime when the channels settings were last changed | 
| Last EntryID | Entry ID for the most recent channel update | 
| Field Descriptions | List of field names | 
| Field IDs | List of enabled fields | 
| URL | URL for feed data | 
More About
ThingSpeak is an IoT analytics platform service that allows you to aggregate, visualize, and analyze live data streams in the cloud. See License Options and the Commercial Use for more information.
Version History
Introduced in R2019a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)