ThingSpeak website screenshot

ThingSpeak

ThingSpeak is an IoT analytics platform from MathWorks that lets devices aggregate, visualize, and analyze live data streams in the cloud. Devices push telemetry to channels via a REST update endpoint or the `mqtt3.thingspeak.com` MQTT broker, and the platform layers in MATLAB Analysis for compute, MATLAB Visualizations for plotting, React for rules, TalkBack for cloud-to-device commands, ThingHTTP for outbound webhooks, and TimeControl for scheduling. ThingSpeak is the only mainstream IoT platform with first-class MATLAB and Simulink integration, making it widely used in academic research, environmental monitoring, smart agriculture, and energy applications. Compatible with Arduino, ESP8266/ESP32, Raspberry Pi, Particle, LoRaWAN gateways, and industrial controllers.

12 APIs 19 Features
IoTInternet of ThingsAnalyticsTime SeriesMQTTMATLABSensorsTelemetry

APIs

ThingSpeak Channels API

List, create, read, update, and delete ThingSpeak channels — the primary container for time-series IoT data. Each channel holds up to eight numeric fields plus latitude, longitu...

ThingSpeak Feeds API

Read channel feed entries with rich querying — last N results, by date range, by field, with timezone, rounding, averaging, and median/sum aggregation. Supports JSON, XML, and C...

ThingSpeak Update API

Write a single channel entry via `/update` or push high-volume telemetry via `/channels/{channel_id}/bulk_update.json` (CSV or JSON batches). The write surface is the workhorse ...

ThingSpeak MQTT API

Lightweight pub/sub MQTT broker at `mqtt3.thingspeak.com` over TCP (1883), TLS (8883), WebSocket (80), and secure WebSocket (443, path `/mqtt`). Publish to `channels/{channelID}...

ThingSpeak TalkBack API

Asynchronous command queue letting cloud-side logic or humans push instructions to remote devices. Devices poll `talkbacks/{id}/commands` and execute the next command; commands ...

ThingSpeak React API

React lets channels react to incoming data — running ThingHTTP requests, MATLAB Analysis snippets, TalkBack commands, or Twitter/Tweet posts when conditions (numeric threshold, ...

ThingSpeak Alerts API

Send email alerts from a channel via the alerts API or React, and retrieve alert history. Useful for environmental monitoring, threshold-based warnings, and inactivity notificat...

ThingSpeak Charts API

Server-rendered chart embeds for any channel/field — line, bar, column, spline — with parameters for color, scale, axis, timezone, title, bgcolor, transparent, and dynamic optio...

ThingSpeak MATLAB Analysis API

Run scheduled or React-triggered MATLAB code against channel data — the differentiator that separates ThingSpeak from generic MQTT brokers. Read channel data with `thingSpeakRea...

ThingSpeak MATLAB Visualization API

Generate custom plots from MATLAB code and embed them on ThingSpeak channel pages or external dashboards. Supports `plotyy`, `geoplot`, `histogram`, custom colormaps, and any ot...

ThingSpeak ThingHTTP API

Outbound HTTP requests stored as named "ThingHTTP" actions and fired by React, TimeControl, or device pollers. Lets ThingSpeak push data into third-party services (Twilio, IFTTT...

ThingSpeak TimeControl API

Cron-style scheduler that fires ThingHTTP, TalkBack, or MATLAB Analysis actions at a chosen time, recurring frequency, or after a delay. Pairs with React and TalkBack to close t...

Collections

Arazzo Workflows

ThingSpeak Bulk Update and Read Field Feed

Upload a batch of cached readings, then read a single field's recent feed.

ARAZZO

ThingSpeak Decommission Channel

Clear all feed entries from a channel, then delete the channel itself.

ARAZZO

ThingSpeak Discover Public Channel and Read Feed

Search public channels by tag, then read the feed of the first match.

ARAZZO

ThingSpeak Inspect Channel and Aggregate Feed

Read a channel's settings, then pull an averaged feed over a recent window.

ARAZZO

ThingSpeak List Channels and Read Feed

List the user's channels, then read recent feed entries from the first channel.

ARAZZO

ThingSpeak Post Status and Read Status Updates

Write an entry carrying a status message, then read the channel's status update feed.

ARAZZO

ThingSpeak Provision Channel and Seed First Reading

Create a new channel, write an initial entry to it, then read that entry back.

ARAZZO

ThingSpeak Queue and Execute TalkBack Command

Add a command to a TalkBack queue, then dequeue it as a device would.

ARAZZO

ThingSpeak Relabel Field and Read Last Field Entry

Update a channel's field label, then read the last value for that field.

ARAZZO

ThingSpeak Revise Queued TalkBack Command

Queue a command, revise its text before a device runs it, then read it back.

ARAZZO

ThingSpeak Sweep Executed TalkBack Commands

List a TalkBack queue, then delete the first command to keep the queue tidy.

ARAZZO

ThingSpeak Write Update and Read Last Entry

Post a new feed entry via the form-encoded update endpoint, then read the last entry back.

ARAZZO

Pricing Plans

Thingspeak Plans Pricing

5 plans

PLANS

Rate Limits

Thingspeak Rate Limits

8 limits

RATE LIMITS

FinOps

Features

IoT analytics platform from MathWorks integrating natively with MATLAB and Simulink
Channels with up to eight numeric fields plus latitude, longitude, elevation, and status string
REST API over `api.thingspeak.com` for channel CRUD, feed read/write, and bulk updates
MQTT broker at `mqtt3.thingspeak.com` on ports 1883 / 8883 / 80 / 443 (WebSocket path `/mqtt`)
MATLAB Analysis app for scheduled/triggered compute against channel data
MATLAB Visualizations app for custom embeddable plots
React app providing a rules engine triggered by channel data conditions
TalkBack queue for asynchronous cloud-to-device command delivery
ThingHTTP for outbound webhooks to third-party services
TimeControl scheduler (cron-like) for periodic actions
Server-rendered chart embeds via the Charts API
Email alerts via the Alerts surface
Public and private channels with read/write API keys
Bulk update endpoint for high-volume devices (JSON and CSV batches)
Native client libraries for Arduino, ESP8266, ESP32, and Particle
Free tier (~3M messages/year) plus Standard, Home, Academic, and Student licenses
33M messages/year per paid unit (~90,400 messages/day)
Inactivity monitoring and last-entry timestamps for device health
Sharing channels publicly via read-only links and embedding charts in third-party sites

Event Specifications

ThingSpeak MQTT API

ThingSpeak's MQTT broker at `mqtt3.thingspeak.com`. Devices publish channel updates and subscribe to channel/field feeds using MQTT credentials (Client ID, Username, Password) p...

ASYNCAPI

Semantic Vocabularies

Thingspeak Context

26 classes · 3 properties

JSON-LD

API Governance Rules

ThingSpeak API Rules

5 rules · 1 errors 3 warnings 1 info

SPECTRAL

Example Payloads

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
📝
Signup
Signup
📝
Signup
Signup
💰
Pricing
Pricing
📜
TermsOfService
TermsOfService
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
💬
Support
Support
👥
GitHubOrganization
GitHubOrganization
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
🎓
Tutorials
Tutorials
🎓
Tutorials
Tutorials
🎓
Tutorials
Tutorials
🎓
Tutorials
Tutorials
🎓
Tutorials
Tutorials
🔗
Forums
Forums
🔗
Community
Community
📰
Blog
Blog
🔗
ProductPage
ProductPage
🔗
LinkedIn
LinkedIn
🔗
X
X
👥
YouTube
YouTube
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: ThingSpeak Update API
  version: '1.0'
request:
  auth:
    type: apikey
    key: api_key
    value: '{{api_key}}'
    placement: query
items:
- info:
    name: Update Channel Feed (GET)
    type: http
  http:
    method: GET
    url: https://api.thingspeak.com/update
    params:
    - name: api_key
      value: ''
      type: query
    - name: field1
      value: ''
      type: query
    - name: field2
      value: ''
      type: query
    - name: field3
      value: ''
      type: query
    - name: field4
      value: ''
      type: query
    - name: field5
      value: ''
      type: query
    - name: field6
      value: ''
      type: query
    - name: field7
      value: ''
      type: query
    - name: field8
      value: ''
      type: query
    - name: lat
      value: ''
      type: query
    - name: long
      value: ''
      type: query
    - name: elevation
      value: ''
      type: query
    - name: status
      value: ''
      type: query
    - name: created_at
      value: ''
      type: query
  docs: Write a single entry to a channel via query parameters. Returns the new entry_id (text) or the full entry (json/xml).
- info:
    name: Update Channel Feed (POST)
    type: http
  http:
    method: POST
    url: https://api.thingspeak.com/update
    body:
      type: form-urlencoded
      data: []
  docs: Identical to GET /update but accepts form-encoded body. Preferred for write API keys that should not appear in URLs.
- info:
    name: Bulk Update Channel
    type: http
  http:
    method: POST
    url: https://api.thingspeak.com/channels/:channel_id/bulk_update.json
    params:
    - name: channel_id
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: Upload up to 960 messages per request (free) or 14,400 (paid) for high-volume devices that cache data offline.
bundled: true