REST API and webhooks for your Modbus data
Pull every value your gateways read into your own software. The API is included in every licence.
RequestGET
curl https://api.modbuscloud.com/v1/devices/3f9c2a71/registers \
-H "Authorization: Bearer mlk_…"Response200 OK
{
"data": [
{
"modbus_device_name": "Eastron SDM630",
"name": "Voltage L1",
"unit": "V",
"latest_value": 231.4,
"latest_ts": "2026-10-05T14:02:00.000Z"
},
{
"modbus_device_name": "Eastron SDM630",
"name": "Total power",
"unit": "W",
"latest_value": 4180.6,
"latest_ts": "2026-10-05T14:02:00.000Z"
}
]
}- Price
- Included in every licence
- History
- 12 months
- Rate limit
- 100 requests per minute
- Specification
- OpenAPI 3.1
- Hosting
- Ireland (EU)
What you can read through the API
Gateways and devices
Every gateway with its status, 4G signal and IP addresses, and the Modbus devices behind it.
Registers with the latest value
Already converted to the unit you see in the portal. The raw value comes along.
History
Up to twelve months back. You fetch it page by page, so you can keep a full copy in your own database.
Alerts
Every alert with its status, from triggered to resolved.
It works with any system that can make an HTTPS request, so you can get the values into a BI dashboard, an ERP system, a data warehouse, a building management system or your own software.
Webhooks when a gateway goes offline or an alert triggers
Your system is notified when a gateway goes offline or comes back online, and when an alert triggers, returns to normal, is acknowledged or is resolved.
Every webhook is signed according to the open Standard Webhooks specification. Libraries that verify the signature exist for every common programming language.
If your endpoint is briefly unreachable, we retry up to six times over just over seven hours. Every retry carries the same id, so you can skip duplicates. You can send a test delivery from the portal.
| Event | When |
|---|---|
| device.offline | A gateway is offline |
| device.online | A gateway is back online |
| alert.triggered | An alert triggers |
| alert.returned | The value is back to normal |
| alert.acknowledged | Someone acknowledges the alert |
| alert.resolved | The alert is resolved |
| automation.triggered | An automation runs an action |
Try it without an account
The documentation contains a sandbox key for our demo account, the portal of a fictional installation company.
You can run every call in the documentation with it straight away, without an account. The sandbox is read-only.
Try it with the sandboxAPI specifications
| Requests | |
|---|---|
| Address | api.modbuscloud.com/v1 |
| Format | REST over HTTPS, responses in JSON |
| Specification | OpenAPI 3.1, import it into Postman or generate a client from it |
| Keys | Per organisation, with scopes. A key is shown once and can be set to expire or revoked at any time |
| Rate limit | 100 requests per minute per key, with the remaining allowance in every response |
| Errors | Problem Details (RFC 9457) with a stable error code and a request id |
| Writing | Writing registers via the API is enabled on request |
| Data | |
| Resources | Gateways with their Modbus devices, registers, history and alerts |
| Values | Converted to the unit from the portal, with the raw value included |
| History | Up to 12 months of readings, by default one every five minutes and at most one per minute |
| Pagination | Page by page with a cursor, up to 1000 readings per page |
| Webhooks | |
| Events | Gateway offline and back online, alert triggered, returned, acknowledged and resolved, automation triggered |
| Signature | Standard Webhooks (HMAC-SHA256) |
| Retries | Up to six times over just over seven hours, with the same id |
| General | |
| Hosting | API and database in Ireland (EU) |
| Price | Included in every licence, no charge per request |
| Sandbox | Demo account, no account of your own needed, 60 requests per minute |
Want to see how it works?








