Welcome to the Surfact API
Programmatic access to your Surfact devices, variables, and data — over REST, MQTT, and Webhooks. LLMs.txt supported. Open API Spec 3.0.0. Append .md to any path to fetch markdown version.

Surfact provides a powerful, API-driven platform to manage and query data from the devices belonging to your organization. We support REST, MQTT, and Webhooks — so you can integrate Surfact data into your fleet, warehouse, ERP, or transport management system.
This documentation covers the essentials, from fetching device and variable data to setting up alerts and triggers.
Start building
| Step | What to do |
|---|---|
| 1. Request credentials | API access is granted per organization. Request API credentials here. |
| 2. Authenticate | Every request needs a token — see Authentication. |
| 3. Learn the data model | Understand devices, variables, and "dots" in Data Structure Overview. |
| 4. Make your first call | See Working with Device Data, then the API Reference to fetch your first values. |
Two APIs
Surfact exposes two complementary APIs, used together. The number in each base URL (v1.6, v2.0) is part of the path — it identifies the API, not a documentation version.
| API | What it covers | Base URL |
|---|---|---|
| Data API | Time-series data: variable values, aggregations, and raw series | https://api.surfact.com/api/v1.6 |
| Platform API | Devices, variables, organizations, and events | https://api.surfact.com/api/v2.0 |
Both use the same authentication. See the API Reference for the full endpoint list of each.
Choose a protocol
| Protocol | Best for |
|---|---|
| REST | Querying historical data, aggregations, managing devices and events. The bulk of the API. |
| MQTT | Real-time, low-bandwidth subscriptions — ideal for actuators, embedded devices, and live dashboards. See MQTT. |
| Webhooks | Push-based delivery to your own systems when data arrives or an event triggers. See Webhooks. |
Need help?
Not getting a 200 OK? Drop us a line at [email protected].
Updated 3 months ago