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.
ThingSpeak publishes 12 API contracts indexed on the APIs.io network, including Channels API, Update API, MQTT API, and 9 more. Tagged areas include IoT, Analytics, Time Series, MQTT, and MATLAB.
The ThingSpeak catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 3 Spectral governance rulesets.
ThingSpeak’s developer surface includes authentication, developer portal, documentation, getting-started guide, signup flow, pricing, support, and 40 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Horizontal (data, software, accessibility, platform) regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it
carries 10 points of the composite. It is scored from the published contracts
themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already
holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in
front of it, and the first time that check is skipped a duplicate record is created.
Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet,
not penalised by it.
The six quality facets above are damped to 75 points between them,
because the conditional facet above carries the other
25. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 75% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/thingspeak/"><img src="https://apis.io/badge/thingspeak/card.svg" alt="ThingSpeak on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
MCP Server+12 pts — deployment.mode + probe verdict on the mcp/ manifest, not the pointer; an unprobed slug falls back to authorship
Idempotency+9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented)
Stable Error Semantics+8 pts — OpenAPI $refs a shared error schema across 4xx/5xx responses (verified), else common[].type includes ErrorCatalog / ErrorCodes / DeclineCodes
A2A Agent Card+8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
Request/Response Examples+7 pts — share of operations carrying request/response examples; else an Examples / Code Samples link
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
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...
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 ...
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...
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...
Run scheduled or React-triggered MATLAB code against channel data — the differentiator that separates ThingSpeak from generic MQTT brokers. Read channel data with `thingSpeakRea...
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...
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...
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...
aid: thingspeak
url: https://raw.githubusercontent.com/api-evangelist/thingspeak/refs/heads/main/apis.yml
apis:
- aid: thingspeak:thingspeak-channels-api
name: ThingSpeak Channels API
tags:
- IoT
- Channels
- Data
- Analytics
humanURL: https://www.mathworks.com/help/thingspeak/channelsapi.html
baseURL: https://api.thingspeak.com/
properties:
- url: https://www.mathworks.com/help/thingspeak/channelsapi.html
type: Documentation
- url: openapi/thingspeak-channels-api-openapi.yml
type: OpenAPI
- url: json-schema/thingspeak-channel-schema.json
type: JSONSchema
- url: json-ld/thingspeak-context.jsonld
type: JSONLD
description: 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, longitude, elevation, and a status string. Channels can be
public, private, or shared via read API keys.
- aid: thingspeak:thingspeak-update-api
name: ThingSpeak Update API
tags:
- IoT
- Telemetry
tags_raw:
- IoT
- Write
- Telemetry
humanURL: https://www.mathworks.com/help/thingspeak/writedata.html
baseURL: https://api.thingspeak.com/
properties:
- url: https://www.mathworks.com/help/thingspeak/writedata.html
type: Documentation
- url: https://www.mathworks.com/help/thingspeak/bulkwritejsondata.html
type: Documentation
- url: openapi/thingspeak-update-api-openapi.yml
type: OpenAPI
description: 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 of every ThingSpeak device — Arduino, ESP32, Raspberry Pi, Particle,
and any HTTP-capable sensor node.
- aid: thingspeak:thingspeak-mqtt-api
name: ThingSpeak MQTT API
tags:
- IoT
- MQTT
- Pub/Sub
- Real-Time
tags_raw:
- IoT
- MQTT
- Pub/Sub
- Real-Time
humanURL: https://www.mathworks.com/help/thingspeak/mqtt-api.html
baseURL: mqtt3.thingspeak.com
properties:
- url: https://www.mathworks.com/help/thingspeak/mqtt-api.html
type: Documentation
- url: https://www.mathworks.com/help/thingspeak/mqtt-basics.html
type: Documentation
- url: asyncapi/thingspeak-mqtt-asyncapi.yml
type: AsyncAPI
description: 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}/publish` and subscribe via `channels/{channelID}/subscribe/fields/field{n}/{readAPIKey}`.
QoS 0 only; connections time out after one hour of inactivity. Devices use MQTT-specific Client ID / Username / Password
credentials provisioned in ThingSpeak.
- aid: thingspeak:thingspeak-react-api
name: ThingSpeak React API
tags:
- IoT
- Automation
- Triggers
- Event
tags_raw:
- IoT
- Automation
- Triggers
- Events
humanURL: https://www.mathworks.com/help/thingspeak/react-app.html
baseURL: https://api.thingspeak.com/
properties:
- url: https://www.mathworks.com/help/thingspeak/react-app.html
type: Documentation
description: React lets channels react to incoming data — running ThingHTTP requests, MATLAB Analysis snippets, TalkBack
commands, or Twitter/Tweet posts when conditions (numeric threshold, string match, no-data) are met. Configured via the
React app UI, this is ThingSpeak's primary rules engine.
- aid: thingspeak:thingspeak-alerts-api
name: ThingSpeak Alerts API
tags:
- IoT
- Alerts
- Email
- Notification
tags_raw:
- IoT
- Alerts
- Email
- Notifications
humanURL: https://www.mathworks.com/help/thingspeak/alerts.html
baseURL: https://api.thingspeak.com/
properties:
- url: https://www.mathworks.com/help/thingspeak/alerts.html
type: Documentation
description: 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 notifications.
- aid: thingspeak:thingspeak-charts-api
name: ThingSpeak Charts API
tags:
- IoT
- Charts
- Visualization
humanURL: https://www.mathworks.com/help/thingspeak/charts.html
baseURL: https://api.thingspeak.com/
properties:
- url: https://www.mathworks.com/help/thingspeak/charts.html
type: Documentation
description: Server-rendered chart embeds for any channel/field — line, bar, column, spline — with parameters for color,
scale, axis, timezone, title, bgcolor, transparent, and dynamic options. Returns embeddable HTML/SVG.
- aid: thingspeak:thingspeak-matlab-analysis-api
name: ThingSpeak MATLAB Analysis API
tags:
- IoT
- MATLAB
- Analysis
- Compute
humanURL: https://www.mathworks.com/help/thingspeak/matlab-analysis-app.html
baseURL: https://api.thingspeak.com/
properties:
- url: https://www.mathworks.com/help/thingspeak/matlab-analysis-app.html
type: Documentation
description: Run scheduled or React-triggered MATLAB code against channel data — the differentiator that separates ThingSpeak
from generic MQTT brokers. Read channel data with `thingSpeakRead`, write results back with `thingSpeakWrite`, and access
the standard MATLAB toolboxes (signal processing, statistics, machine learning) inside a managed sandbox.
- aid: thingspeak:thingspeak-matlab-visualization-api
name: ThingSpeak MATLAB Visualization API
tags:
- IoT
- MATLAB
- Visualization
humanURL: https://www.mathworks.com/help/thingspeak/matlab-visualizations-app.html
baseURL: https://api.thingspeak.com/
properties:
- url: https://www.mathworks.com/help/thingspeak/matlab-visualizations-app.html
type: Documentation
description: Generate custom plots from MATLAB code and embed them on ThingSpeak channel pages or external dashboards. Supports
`plotyy`, `geoplot`, `histogram`, custom colormaps, and any other MATLAB plotting primitive against channel feed data.
- aid: thingspeak:thingspeak-thinghttp-api
name: ThingSpeak ThingHTTP API
tags:
- IoT
- Webhook
- Integration
tags_raw:
- IoT
- Webhooks
- Integrations
humanURL: https://www.mathworks.com/help/thingspeak/thinghttp-app.html
baseURL: https://api.thingspeak.com/
properties:
- url: https://www.mathworks.com/help/thingspeak/thinghttp-app.html
type: Documentation
description: 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, custom webhooks) without a backend server.
- aid: thingspeak:thingspeak-timecontrol-api
name: ThingSpeak TimeControl API
tags:
- IoT
- Scheduling
- Cron
humanURL: https://www.mathworks.com/help/thingspeak/timecontrolapp.html
baseURL: https://api.thingspeak.com/
properties:
- url: https://www.mathworks.com/help/thingspeak/timecontrolapp.html
type: Documentation
description: 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 the IoT control loop.
- aid: thingspeak:thingspeak-channels-json-api
name: ThingSpeak Channels.json API
description: The Channels.json API from ThingSpeak — 1 operation(s) for channels.json.
humanURL: https://www.mathworks.com/help/thingspeak/channelsapi.html
baseURL: https://api.thingspeak.com/
tags:
- Channels.json
properties:
- type: OpenAPI
url: openapi/thingspeak-channels-json-api-openapi.yml
- type: Documentation
url: https://www.mathworks.com/help/thingspeak/readdata.html
- type: JSONSchema
url: json-schema/thingspeak-feed-schema.json
- type: Documentation
url: https://www.mathworks.com/help/thingspeak/talkbackapp.html
- aid: thingspeak:thingspeak-talkbacks-api
name: ThingSpeak Talkbacks API
description: The Talkbacks API from ThingSpeak — 3 operation(s) for talkbacks.
humanURL: https://www.mathworks.com/help/thingspeak/channelsapi.html
baseURL: https://api.thingspeak.com/
tags:
- Talkbacks
properties:
- type: OpenAPI
url: openapi/thingspeak-talkbacks-api-openapi.yml
- type: Documentation
url: https://www.mathworks.com/help/thingspeak/readdata.html
- type: JSONSchema
url: json-schema/thingspeak-feed-schema.json
- type: Documentation
url: https://www.mathworks.com/help/thingspeak/talkbackapp.html
name: ThingSpeak
tags:
- IoT
- Analytics
- Time Series
- MQTT
- MATLAB
- Sensors
- Telemetry
- Real-Time
tags_raw:
- IoT
- Internet of Things
- Analytics
- Time Series
- MQTT
- MATLAB
- Sensors
- Telemetry
- Real-Time
kind: contract
deliveryModel:
model: saas
open_source: false
commercial: true
callable_host: true
label: Hosted service · you call their endpoint
confidence: high
source:
- openapi
- pricing
generated: '2026-08-28'
method: derived
accessModel:
pricing: freemium
onboarding: self-serve
trial: false
try_now: true
public: false
gated: none
gated_source:
- onboarding
label: Freemium · Self-serve signup
confidence: medium
source:
- plans
- authentication
- security
generated: '2026-11-06'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/thingspeak.png
access: 3rd-Party
common:
- type: AgenticAccess
url: agentic-access/thingspeak-agentic-access.yml
- type: DomainSecurity
url: security/thingspeak-domain-security.yml
- type: Authentication
url: authentication/thingspeak-authentication.yml
- type: PostmanWorkspace
url: https://www.postman.com/kinlaneapi/thingspeak/overview
- type: Arazzo
url: arazzo/thingspeak-bulk-update-and-read-field-feed-workflow.yml
name: ThingSpeak Bulk Update and Read Field Feed
- type: Arazzo
url: arazzo/thingspeak-decommission-channel-workflow.yml
name: ThingSpeak Decommission Channel
- type: Arazzo
url: arazzo/thingspeak-discover-public-channel-and-read-feed-workflow.yml
name: ThingSpeak Discover Public Channel and Read Feed
- type: Arazzo
url: arazzo/thingspeak-inspect-channel-and-aggregate-feed-workflow.yml
name: ThingSpeak Inspect Channel and Aggregate Feed
- type: Arazzo
url: arazzo/thingspeak-list-channels-and-read-feed-workflow.yml
name: ThingSpeak List Channels and Read Feed
- type: Arazzo
url: arazzo/thingspeak-post-status-and-read-status-updates-workflow.yml
name: ThingSpeak Post Status and Read Status Updates
- type: Arazzo
url: arazzo/thingspeak-provision-channel-and-seed-reading-workflow.yml
name: ThingSpeak Provision Channel and Seed First Reading
- type: Arazzo
url: arazzo/thingspeak-queue-and-execute-talkback-command-workflow.yml
name: ThingSpeak Queue and Execute TalkBack Command
- type: Arazzo
url: arazzo/thingspeak-relabel-field-and-read-last-field-entry-workflow.yml
name: ThingSpeak Relabel Field and Read Last Field Entry
- type: Arazzo
url: arazzo/thingspeak-revise-queued-talkback-command-workflow.yml
name: ThingSpeak Revise Queued TalkBack Command
- type: Arazzo
url: arazzo/thingspeak-sweep-executed-talkback-commands-workflow.yml
name: ThingSpeak Sweep Executed TalkBack Commands
- type: Arazzo
url: arazzo/thingspeak-write-update-and-read-last-entry-workflow.yml
name: ThingSpeak Write Update and Read Last Entry
- url: https://thingspeak.mathworks.com/
name: ThingSpeak Portal
type: Portal
- url: https://www.mathworks.com/help/thingspeak/
name: ThingSpeak Documentation
type: Documentation
- url: https://www.mathworks.com/help/thingspeak/rest-api.html
name: REST API Reference
type: Documentation
- url: https://www.mathworks.com/help/thingspeak/mqtt-api.html
name: MQTT API Reference
type: Documentation
- url: https://www.mathworks.com/help/thingspeak/get-started-with-thingspeak.html
name: Get Started with ThingSpeak
type: GettingStarted
- url: https://thingspeak.mathworks.com/login
name: Sign In
type: Signup
- url: https://www.mathworks.com/mwaccount/register
name: Create MathWorks Account
type: Signup
- url: https://thingspeak.mathworks.com/prices
name: Pricing
type: Pricing
- url: https://thingspeak.mathworks.com/pages/license_faq
name: Licensing FAQ
type: TermsOfService
- url: https://www.mathworks.com/company/aboutus/policies_statements/
name: MathWorks Policies
type: TermsOfService
- url: https://www.mathworks.com/company/aboutus/policies_statements/privacy-policy.html
name: Privacy Policy
type: PrivacyPolicy
- url: https://www.mathworks.com/support/contact_us.html
name: Support
type: Support
- url: https://github.com/mathworks
name: MathWorks on GitHub
type: GitHubOrganization
- url: https://github.com/mathworks/thingspeak-arduino
name: thingspeak-arduino
type: SDKs
- url: https://github.com/mathworks/thingspeak-particle
name: thingspeak-particle
type: SDKs
- url: https://www.mathworks.com/matlabcentral/fileexchange/52244-thingspeak-support-from-desktop-matlab
name: ThingSpeak Support from Desktop MATLAB
type: SDKs
- url: https://www.mathworks.com/help/thingspeak/use-arduino-client-to-publish-to-a-channel.html
name: Arduino Tutorial
type: Tutorials
- url: https://www.mathworks.com/help/thingspeak/raspberry-pi-tutorials.html
name: Raspberry Pi Tutorials
type: Tutorials
- url: https://www.mathworks.com/help/thingspeak/esp32-tutorials.html
name: ESP32 Tutorials
type: Tutorials
- url: https://www.mathworks.com/help/thingspeak/esp8266-tutorials.html
name: ESP8266 Tutorials
type: Tutorials
- url: https://www.mathworks.com/help/thingspeak/particle-photon-tutorials.html
name: Particle Tutorials
type: Tutorials
- url: https://www.mathworks.com/matlabcentral/answers/index?term=tag%3Athingspeak
name: MATLAB Answers — ThingSpeak
type: Forums
- url: https://www.mathworks.com/matlabcentral/communitycontests/contests/4/entries
name: IoT Contest
type: Community
- url: https://blogs.mathworks.com/iot/
name: MathWorks IoT Blog
type: Blog
- url: https://www.mathworks.com/products/thingspeak.html
name: ThingSpeak Product Page
type: ProductPage
- url: https://www.linkedin.com/company/the-mathworks_2/
name: MathWorks on LinkedIn
type: LinkedIn
- url: https://x.com/MATLAB
name: MATLAB on X
type: X
- url: https://www.youtube.com/user/MATLAB
name: MATLAB on YouTube
type: YouTube
- url: https://plans/thingspeak-plans-pricing.yml
type: Plans
- url: https://rate-limits/thingspeak-rate-limits.yml
type: RateLimits
- url: https://finops/thingspeak-finops.yml
type: FinOps
- type: Features
data:
- 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
sources:
- https://thingspeak.mathworks.com/
- https://www.mathworks.com/help/thingspeak/rest-api.html
- https://www.mathworks.com/help/thingspeak/mqtt-api.html
- https://www.mathworks.com/help/thingspeak/mqtt-basics.html
- https://thingspeak.mathworks.com/prices
updated: '2026-05-25'
created: '2026-05-25T00:00:00.000Z'
modified: '2026-05-25'
position: Consuming
description: 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.
maintainers:
- FN: Kin Lane
email: info@apievangelist.com
X: apievangelist
url: https://apievangelist.com
specificationVersion: '0.23'
ThingSpeak API — frequently asked questions
Does ThingSpeak have an API?
Yes. APIs.io lists 12 APIs from ThingSpeak, including ThingSpeak Channels API, ThingSpeak Update API and ThingSpeak MQTT API, and 9 more.
Is there an OpenAPI specification for the ThingSpeak API?
Yes. APIs.io indexes 4 OpenAPI specifications for ThingSpeak, each linked for download from this page.
How do I authenticate with the ThingSpeak API?
ThingSpeak uses bearer-token authentication (apiKey · 2 schemes). The details are profiled on APIs.io as Thingspeak Authentication.
How much does the ThingSpeak API cost?
ThingSpeak publishes its prices; its Free (non-commercial small projects) plan is free service for non-commercial small projects as of 2026-10-28. APIs.io lists 5 pricing plans for ThingSpeak, with each plan's price, limits and inclusions under Pricing on this page.
Is the ThingSpeak API ready for AI agents?
ThingSpeak has a Kin Score of 55.7 out of 100 (strong) and an Agent Readiness score of 21.8 (agent-aware), scored by API Evangelist on 2026-11-06.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.