Adafruit IO logo

Adafruit IO

Adafruit IO is a cloud Internet of Things platform from Adafruit Industries built for makers, hobbyists, students, and STEM educators. It provides feed-based time-series storage, drag-and-drop dashboards with 20+ visualization block types, actions/triggers for SMS/voice/email/webhook notifications, built-in services (time, weather, randomizer, air quality), and a complete REST + MQTT API surface for Adafruit Feather and Metro boards, ESP32 / ESP8266 / Pico microcontrollers, Raspberry Pi, and any other HTTP- or MQTT-capable hardware. First-class Arduino, CircuitPython, and Python client libraries plus the no-code Wippersnapper firmware make it the easiest way for hobbyists to get their projects onto the Internet of Things.

3 APIs 18 Features
IoTInternet of ThingsMQTTMakerHobbyistCircuitPythonArduinoESP32FeatherDashboardsTime Series

APIs

Adafruit IO REST API

REST API for Adafruit IO providing CRUD operations across feeds, time-series data points, groups, dashboards, dashboard blocks, triggers (reactive and scheduled actions), API to...

Adafruit IO MQTT API

MQTT broker at io.adafruit.com for publish/subscribe access to Adafruit IO feeds and groups. TLS on port 8883, plaintext on 1883, and MQTT-over-WebSocket on port 443. Authentica...

Adafruit IO Webhooks API

Token-authenticated inbound webhook endpoints that allow third-party services (IFTTT, Zapier, Make, or any HTTP client) to push data into an Adafruit IO feed without an API key....

Features

Feed-centric time-series datastore for IoT sensor and actuator values
Drag-and-drop dashboards with 20+ block types (gauges, charts, toggles, sliders, maps, color pickers, image, indicators, text, number pad, selector, etc.)
Feed groups for organizing related feeds and batch group writes
Actions/Triggers — reactive triggers (threshold, equal, change) and scheduled actions (every N minutes, hours, daily, weekly)
Webhook-in endpoints (standard, raw, notify) for ingesting data without an API key
SMS, voice, email, and webhook notifications via actions (Plus tier)
Built-in services — time service, randomizer, weather forecasts, air quality
MQTT broker at io.adafruit.com with TLS (8883), plain (1883), and WebSocket (443) transports
Adafruit IO Wippersnapper firmware — no-code MQTT firmware for ESP32, ESP8266, and Pico
First-class Arduino and CircuitPython client libraries
Public feed sharing and embeddable dashboards
Permission/ACL primitive for fine-grained sharing of feeds, dashboards, and groups
Personal access tokens for scoped, revocable credentials separate from the main API key
Account activities log with type filtering
Throttle topic to monitor rate-limit pressure programmatically
Single comprehensive Swagger 2.0 / OpenAPI spec published in adafruit/io-api on GitHub
IFTTT and Zapier integrations for cross-service automation
Optimized for makers, hobbyists, and STEM education with Adafruit Feather, Metro, and Raspberry Pi hardware

Semantic Vocabularies

Adafruit Io Context

38 classes · 8 properties

JSON-LD

API Governance Rules

Adafruit IO API Rules

8 rules · 1 errors 5 warnings

SPECTRAL

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
ArazzoWorkflows
ArazzoWorkflows
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🚀
GettingStarted
GettingStarted
📰
Blog
Blog
📄
ChangeLog
ChangeLog
🔗
Forum
Forum
🔗
Forum
Forum
📝
SignUp
SignUp
🔗
Login
Login
🔗
Documentation
Documentation
💰
Pricing
Pricing
🔗
RateLimits
RateLimits
🔗
Errors
Errors
🔑
Authentication
Authentication
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
👥
GitHubOrganization
GitHubOrganization
💻
SourceCode
SourceCode
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
🔧
Tool
Tool
💻
CodeExamples
CodeExamples
🔧
Tool
Tool
🔧
Tool
Tool
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
aid: adafruit-io
url: https://raw.githubusercontent.com/api-evangelist/adafruit-io/refs/heads/main/apis.yml
apis:
  - aid: adafruit-io:adafruit-io-rest-api
    name: Adafruit IO REST API
    tags:
      - IoT
      - Internet of Things
      - Feeds
      - Data
      - Dashboards
      - Maker
    humanURL: https://io.adafruit.com/api/docs/
    baseURL: https://io.adafruit.com/api/v2
    properties:
      - url: https://io.adafruit.com/api/docs/
        type: Documentation
      - url: https://io.adafruit.com/api/docs/#adafruit-io-http-api
        type: Documentation
      - url: openapi/adafruit-io-rest-api-openapi.yml
        type: OpenAPI
      - url: json-schema/adafruit-io-feed-schema.json
        type: JSONSchema
      - url: json-schema/adafruit-io-data-schema.json
        type: JSONSchema
      - url: json-schema/adafruit-io-dashboard-schema.json
        type: JSONSchema
      - url: json-ld/adafruit-io-context.jsonld
        type: JSONLD
    description: >-
      REST API for Adafruit IO providing CRUD operations across feeds, time-series data points, groups, dashboards,
      dashboard blocks, triggers (reactive and scheduled actions), API tokens, permissions/ACL, account activities, and
      inbound webhooks. Base URL https://io.adafruit.com/api/v2 — authenticated via the X-AIO-Key header or query
      parameter using an Adafruit IO API key. Supports batch data writes, chart-aggregated reads, positional queries
      (first/last/previous/next/retain), and Link-header pagination up to 1000 records per page.
  - aid: adafruit-io:adafruit-io-mqtt-api
    name: Adafruit IO MQTT API
    tags:
      - IoT
      - Internet of Things
      - MQTT
      - Realtime
      - Feeds
    humanURL: https://io.adafruit.com/api/docs/mqtt.html
    baseURL: mqtts://io.adafruit.com:8883
    properties:
      - url: https://io.adafruit.com/api/docs/mqtt.html
        type: Documentation
      - url: https://io.adafruit.com/api/docs/mqtt.html#mqtt-topics
        type: Documentation
    description: >-
      MQTT broker at io.adafruit.com for publish/subscribe access to Adafruit IO feeds and groups. TLS on port 8883,
      plaintext on 1883, and MQTT-over-WebSocket on port 443. Authenticate with your Adafruit IO username and API key.
      Supports QoS 0 and QoS 1 (QoS 2 not supported); MQTT retain flag is not honored — use the /get topic modifier to
      fetch the last value of a feed instead. Topic structure includes feed topics ({username}/feeds/{key}), compact
      aliases ({username}/f/{key}), JSON/CSV suffixes, group topics ({username}/groups/{key}), throttle
      ({username}/throttle), and errors ({username}/errors). Wildcard subscriptions with `+` and `#` are supported for
      feed discovery.
  - aid: adafruit-io:adafruit-io-webhooks-api
    name: Adafruit IO Webhooks API
    tags:
      - IoT
      - Internet of Things
      - Webhooks
      - Feeds
    humanURL: https://io.adafruit.com/api/docs/#webhooks
    baseURL: https://io.adafruit.com/api/v2/webhooks
    properties:
      - url: https://io.adafruit.com/api/docs/#webhooks
        type: Documentation
      - url: openapi/adafruit-io-rest-api-openapi.yml
        type: OpenAPI
    description: >-
      Token-authenticated inbound webhook endpoints that allow third-party services (IFTTT, Zapier, Make, or any HTTP
      client) to push data into an Adafruit IO feed without an API key. Endpoints include the standard JSON webhook
      (POST /webhooks/feed/:token), the raw-payload webhook (POST /webhooks/feed/:token/raw) for arbitrary request
      bodies, and a notify webhook (POST /webhooks/feed/:token/notify) for ping-style triggers. Tokens are generated
      per-feed and managed in the Adafruit IO UI.
name: Adafruit IO
tags:
  - IoT
  - Internet of Things
  - MQTT
  - Maker
  - Hobbyist
  - CircuitPython
  - Arduino
  - ESP32
  - Feather
  - Dashboards
  - Time Series
kind: contract
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
access: 3rd-Party
common:
  - type: PostmanWorkspace
    url: https://www.postman.com/kinlaneapi/adafruit-io/overview
  - type: ArazzoWorkflows
    url: arazzo/
    workflows:
      - url: arazzo/adafruit-io-attach-feed-to-group-workflow.yml
        name: Adafruit IO Attach Feed to Group
        summary: Add an existing feed to a group, then list the group's feeds to confirm membership.
      - url: arazzo/adafruit-io-batch-ingest-and-chart-workflow.yml
        name: Adafruit IO Batch Ingest and Chart
        summary: Bulk upload many data points to a feed, then fetch aggregated chart data for it.
      - url: arazzo/adafruit-io-build-dashboard-with-block-workflow.yml
        name: Adafruit IO Build Dashboard with Block
        summary: Create a dashboard, add a visualization block to it, then read the block back.
      - url: arazzo/adafruit-io-create-and-verify-trigger-workflow.yml
        name: Adafruit IO Create and Verify Trigger
        summary: Create a reactive trigger for the user, then read it back to confirm it exists.
      - url: arazzo/adafruit-io-ensure-feed-exists-workflow.yml
        name: Adafruit IO Ensure Feed Exists
        summary: Look up a feed by key and create it only when it is missing, then push a value.
      - url: arazzo/adafruit-io-group-feed-bootstrap-workflow.yml
        name: Adafruit IO Group Feed Bootstrap
        summary: Create a group, add a new feed inside it, then write a data point to that grouped feed.
      - url: arazzo/adafruit-io-group-multifeed-publish-workflow.yml
        name: Adafruit IO Group Multi-Feed Publish
        summary: Publish values to several feeds in a group at once, then read one feed's data back.
      - url: arazzo/adafruit-io-issue-and-verify-token-workflow.yml
        name: Adafruit IO Issue and Verify Token
        summary: Create a device token for the user, then read it back to confirm it was issued.
      - url: arazzo/adafruit-io-provision-feed-and-seed-data-workflow.yml
        name: Adafruit IO Provision Feed and Seed Data
        summary: Create a feed, push an initial data point to it, then read the last value back.
  - url: https://io.adafruit.com
    name: Adafruit IO Portal
    type: Portal
  - url: https://io.adafruit.com/api/docs/
    name: Adafruit IO API Documentation
    type: Documentation
  - url: https://io.adafruit.com/api/docs/cookbook.html
    name: API Cookbook
    type: Documentation
  - url: https://io.adafruit.com/api/docs/mqtt.html
    name: MQTT API Documentation
    type: Documentation
  - url: https://learn.adafruit.com/series/adafruit-io-basics
    name: Adafruit IO Basics Series
    type: GettingStarted
  - url: https://learn.adafruit.com/welcome-to-adafruit-io
    name: Welcome to Adafruit IO
    type: GettingStarted
  - url: https://io.adafruit.com/blog
    name: Adafruit IO Blog
    type: Blog
  - url: https://io.adafruit.com/blog/changelog/
    name: Adafruit IO Changelog
    type: ChangeLog
  - url: https://forums.adafruit.com/viewforum.php?f=56
    name: Adafruit IO Forums
    type: Forum
  - url: https://discord.gg/adafruit
    name: Adafruit Discord —
    type: Forum
  - url: https://io.adafruit.com/signup
    name: Sign Up for Adafruit IO
    type: SignUp
  - url: https://io.adafruit.com/login
    name: Sign In
    type: Login
  - url: https://www.adafruit.com/iot
    name: Adafruit IoT Products
    type: Documentation
  - url: https://io.adafruit.com/plus
    name: Adafruit IO Plus
    type: Pricing
  - url: https://io.adafruit.com/api/docs/#rate-limiting
    name: Adafruit IO Rate Limits
    type: RateLimits
  - url: https://io.adafruit.com/api/docs/#errors
    name: Adafruit IO API Errors
    type: Errors
  - url: https://io.adafruit.com/api/docs/#authentication
    name: Authentication
    type: Authentication
  - url: https://www.adafruit.com/privacy
    type: PrivacyPolicy
  - url: https://www.adafruit.com/termsofservice
    type: TermsOfService
  - url: https://github.com/adafruit
    type: GitHubOrganization
  - url: https://github.com/adafruit/io-api
    name: Adafruit IO API Documentation (source)
    type: SourceCode
  - url: https://github.com/adafruit/Adafruit_IO_Python
    name: Adafruit IO Python Client
    type: SDK
  - url: https://github.com/adafruit/Adafruit_IO_Arduino
    name: Adafruit IO Arduino Library
    type: SDK
  - url: https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO
    name: Adafruit IO CircuitPython Library
    type: SDK
  - url: https://github.com/adafruit/io-client-ruby
    name: Adafruit IO Ruby Client
    type: SDK
  - url: https://github.com/adafruit/adafruit-io-node
    name: Adafruit IO Node.js Client
    type: SDK
  - url: https://github.com/adafruit/io-client-go
    name: Adafruit IO Go Client
    type: SDK
  - url: https://github.com/adafruit/Adafruit_MQTT_Library
    name: Adafruit MQTT Library (Arduino)
    type: Tool
  - url: https://github.com/adafruit/adafruit-io-basics
    name: Adafruit IO Basics Examples
    type: CodeExamples
  - url: https://github.com/adafruit/io-swagger-templates
    name: Swagger Codegen Templates for Adafruit IO
    type: Tool
  - url: https://github.com/adafruit/adafruit-io-node-tunnel
    name: Adafruit IO TLS Tunnel
    type: Tool
  - url: https://www.adafruit.com/category/1011
    name: Adafruit IO-Compatible Hardware
    type: Documentation
  - url: https://www.adafruit.com/category/943
    name: Feather Boards
    type: Documentation
  - url: https://learn.adafruit.com/welcome-to-circuitpython
    name: CircuitPython Documentation
    type: Documentation
  - url: https://ifttt.com/adafruit
    name: Adafruit on IFTTT
    type: Integrations
  - url: https://zapier.com/apps/adafruit-io/integrations
    name: Adafruit IO on Zapier
    type: Integrations
  - url: https://io.adafruit.com/plus
    data:
      - id: free
        name: Free
        entries:
          - geo: US
            unit: 1
            label: User
            limit: 1
            price: Free
            metric: user
            timeFrame: month
            description: Free Adafruit IO account.
        elements:
          - name: Up to 30 data points per minute
          - name: 30 days of data retention
          - name: Up to 10 feeds
          - name: Up to 5 dashboards
          - name: Up to 5 actions (reactive triggers + scheduled feeds)
          - name: Up to 5 group permissions
          - name: MQTT, HTTP, and WebSocket access
        description: Free tier for hobbyists and learners.
      - id: io-plus
        name: Adafruit IO Plus (Monthly)
        entries:
          - geo: US
            unit: 1
            label: User
            limit: 1
            price: 10
            metric: user
            timeFrame: month
            description: Monthly Adafruit IO Plus subscription.
        elements:
          - name: 60 data points per minute
          - name: 60 days of data retention
          - name: Unlimited feeds
          - name: Unlimited dashboards
          - name: Unlimited actions
          - name: Unlimited group permissions
          - name: SMS and voice action notifications
          - name: Priority support
        description: Monthly Plus subscription for makers and projects that exceed the free tier.
      - id: io-plus-annual
        name: Adafruit IO Plus (Yearly)
        entries:
          - geo: US
            unit: 1
            label: User
            limit: 1
            price: 99
            metric: user
            timeFrame: year
            description: Annual Adafruit IO Plus subscription (discounted vs. monthly).
        elements:
          - name: All Adafruit IO Plus monthly features
          - name: ~17% savings vs. monthly billing
        description: Annual Plus subscription billed once per year.
    name: Plans
    type: Plans
  - url: plans/adafruit-io-plans-pricing.yml
    type: Plans
  - url: rate-limits/adafruit-io-rate-limits.yml
    type: RateLimits
  - url: finops/adafruit-io-finops.yml
    type: FinOps
  - type: Features
    data:
      - Feed-centric time-series datastore for IoT sensor and actuator values
      - >-
        Drag-and-drop dashboards with 20+ block types (gauges, charts, toggles, sliders, maps, color pickers, image,
        indicators, text, number pad, selector, etc.)
      - Feed groups for organizing related feeds and batch group writes
      - >-
        Actions/Triggers — reactive triggers (threshold, equal, change) and scheduled actions (every N minutes, hours,
        daily, weekly)
      - Webhook-in endpoints (standard, raw, notify) for ingesting data without an API key
      - SMS, voice, email, and webhook notifications via actions (Plus tier)
      - Built-in services — time service, randomizer, weather forecasts, air quality
      - MQTT broker at io.adafruit.com with TLS (8883), plain (1883), and WebSocket (443) transports
      - Adafruit IO Wippersnapper firmware — no-code MQTT firmware for ESP32, ESP8266, and Pico
      - First-class Arduino and CircuitPython client libraries
      - Public feed sharing and embeddable dashboards
      - Permission/ACL primitive for fine-grained sharing of feeds, dashboards, and groups
      - Personal access tokens for scoped, revocable credentials separate from the main API key
      - Account activities log with type filtering
      - Throttle topic to monitor rate-limit pressure programmatically
      - Single comprehensive Swagger 2.0 / OpenAPI spec published in adafruit/io-api on GitHub
      - IFTTT and Zapier integrations for cross-service automation
      - Optimized for makers, hobbyists, and STEM education with Adafruit Feather, Metro, and Raspberry Pi hardware
    sources:
      - https://io.adafruit.com/api/docs/
      - https://io.adafruit.com/api/docs/mqtt.html
      - https://io.adafruit.com/plus
      - https://github.com/adafruit/io-api
    updated: '2026-05-25'
created: '2026-05-25T00:00:00.000Z'
modified: '2026-05-25'
position: Consuming
description: >-
  Adafruit IO is a cloud Internet of Things platform from Adafruit Industries built for makers, hobbyists, students, and
  STEM educators. It provides feed-based time-series storage, drag-and-drop dashboards with 20+ visualization block
  types, actions/triggers for SMS/voice/email/webhook notifications, built-in services (time, weather, randomizer, air
  quality), and a complete REST + MQTT API surface for Adafruit Feather and Metro boards, ESP32 / ESP8266 / Pico
  microcontrollers, Raspberry Pi, and any other HTTP- or MQTT-capable hardware. First-class Arduino, CircuitPython, and
  Python client libraries plus the no-code Wippersnapper firmware make it the easiest way for hobbyists to get their
  projects onto the Internet of Things.
maintainers:
  - FN: Kin Lane
    email: info@apievangelist.com
    X: apievangelist
    url: https://apievangelist.com
specificationVersion: '0.16'