# SwitchBot API v1.1: signed HTTP endpoints for personal smart home automation

> SwitchBot API v1.1 is a document-only repository describing the HTTP endpoints for SwitchBot hardware, with signed token authentication, webhook events and a personal-use cap that rules out commercial products.

**OpenWonderLabs/SwitchBotAPI** — SwitchBot Open API Documents

- Repository: https://github.com/OpenWonderLabs/SwitchBotAPI
- Stars: 1,231 · Forks: 84
- Language: Unknown
- License: not declared
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/openwonderlabs-switchbotapi

## Personal use only, with a daily call limit on every account

The document opens by describing itself as a collection of API methods, examples and best practices for IoT hobbyists, developers and self-described gurus who want to write their own smart home programs. The next paragraph sets the boundary. The API is limited to personal use, commercial use and large-scale applications are prohibited, and there is a daily call limit applied to all users so that resources stay evenly distributed. Commercial enquiries are directed to a contact form. A separate note for users in Japan describes an Enterprise API for products, services and large call volumes such as thousands of requests, with a dedicated business email address. So the intent is a hobbyist automation surface, not a platform other people can be sold.

## v1.0 stops taking new products while v1.1 changes the auth model

Two API versions exist side by side in the repository, with README-v1.0.md sitting next to README.md at the top level. The document states plainly that support for new products stops on v1.0 as v1.1 is released, and it asks all users to migrate because the authentication method was improved, which it says makes the communication between your server and the SwitchBot server more secure. In v1.1 a request needs a unique signature generated from a token and a secret key, and the Authorization token plus that signature are validated on the way in. The glossary also carries a term named Legacy cloud services, so the older endpoints are not being deleted outright. There is no GitHub release attached to any of this; the version number lives in the document heading SwitchBot API v1.1.

## Tapping the app version ten times is the whole token ritual

Credentials come from the phone, not from a web console. The getting started steps are short. Download the SwitchBot app from the App Store or Google Play Store, register a SwitchBot account and log in, then generate an Open Token inside the app. For app version 9.0 or later the route is Profile, then Preferences, then About, then tapping App Version ten times until Developer Options appears, then Developer Options, then Get Token. On older app versions the same sequence starts at Profile and Preferences. The secret key is a separate requirement: the app has to be updated to V6.14 or later before a secret key can be obtained at all. The final step in the list is an invitation to start calling the API.

## The endpoint index splits into device reads, device writes and scenes

The table of contents in the document is the best map of the API. Under devices it lists Get device list, Get device status and Send device control commands. Under scenes it lists Get scene list and Execute manual scenes. Each entry carries its own path parameters, request body parameters, response structure and error codes, and the surrounding sections cover the host domain, sending a request, the Content-Type requirement, a request limit, a request header section and standard HTTP error codes. The sample requests name concrete targets: Get Meter status and Get Curtain status under status, then Control Floor Cleaning Robot S10, Change the cleaning settings, a Keypad example, a Bot example and an Infrared remote device example under control. Reading the index, the surface is REST shaped and one call acts on one device or one scene.

## Webhooks are configured, queried, updated and deleted

Four separate webhook operations appear in the index: Configure webhook, Query webhook configuration, Update webhook configuration and Delete webhook. Each of them is documented with request body parameters, an example request and a response description, and the query operation adds a list of request types on top. There is also a Webhook event structure section, described in the index as carrying common webhook event properties, followed by two worked examples, a Bot event example and a Curtain event example. The combination of an update operation and a delete operation is what makes this a managed resource rather than a one-off URL that gets registered once, and the shared property set is what lets a receiving program treat device events with one parser before branching per device.

## The device catalogue is grouped by category and ends with Others

The Device Specifications and Supported Features List is divided into ten groups: Hubs, Locks and Security, Curtains and Blinds, Sensors, Lighting, Robot Vacuum, Climate Control, Plugs and Switches, Cameras, and Others. Because commands are described per family rather than per generic device, the sample requests cover Meter and Curtain status calls, plus control examples for the S10 cleaning robot with its own cleaning settings, a Keypad, a Bot and an infrared remote device. That grouping is the practical checklist for anyone deciding whether the API covers their setup, and the sample request names tell you which shapes to expect in the request body when you do find your category.

## This repository is a document, not a library you install

The top level of the repository holds .github, .gitignore, README-v1.0.md, README.md and a devices directory. There is no package to add to a project and no dependency to declare. The signing examples listed in the table of contents come in Python 2, Python 3, JavaScript, C#, Java 11 and later, PHP, Swift and Go, and they are snippets to copy into your own code rather than a maintained SDK. The README also does not document rollback or a changelog, and there are no GitHub releases, so upgrade history lives in the two README files rather than in release notes. The repository was last pushed to on 2026-10-08 and is not archived, so the document is still being touched, though the absence of a stated licence and a LICENSE file at the top level means the terms are not defined by anything in the tree.

## Conclusion

Adopt the SwitchBot API v1.1 when the automation is personal and the phone app can hand you a token and a secret key. Leave it out of anything commercial or high volume, because the document reserves the API for personal use and puts a daily call limit on every account. Before writing code, check that your device families appear in the supported features list, read the request limit entry, then sign one request with the v1.1 token and secret key pair and read the error codes it returns.

## FAQ

### How do I get a SwitchBot API Open Token?

Install the SwitchBot app from the App Store or Google Play Store, register an account and log in, then open Developer Options and tap Get Token. On app version 9.0 or later you reach Developer Options through Profile, Preferences, About and then tapping App Version ten times.

### Which SwitchBot app version is needed to get the secret key?

The app has to be updated to V6.14 or later before the secret key is available. In v1.1 that secret key and the token together produce the signature that the server validates on every request.

### Can the SwitchBot API be used inside a commercial product?

No. The document limits the API to personal use, prohibits commercial and large-scale applications, and puts a daily call limit on all users. Commercial enquiries go through a contact form, and an Enterprise API is described for large call volumes.

### Does the SwitchBot API support webhooks for device events?

Yes. Four operations are listed for webhook configuration, plus a common set of webhook event properties with separate Bot and Curtain event examples, so a receiver can parse events in one place before branching per device.

## Sources

- [Issues](https://github.com/OpenWonderLabs/SwitchBotAPI/issues)
- [OpenWonderLabs/SwitchBotAPI on GitHub](https://github.com/OpenWonderLabs/SwitchBotAPI)
- [README](https://github.com/OpenWonderLabs/SwitchBotAPI/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/openwonderlabs-switchbotapi
