Query your devices and telemetry data programmatically with the read-only REST API.
The Dasberry Cloud REST API provides read-only access to your devices and telemetry data. Use it to build custom integrations, pull data into external systems, or power your own dashboards.
Base URL
https://api.dasberry.ai/public/api/v1//devicesList all devices
/devices/{id}Get a single device
/devices/{id}/data-pointsList available data keys for a device
/telemetry/latestGet the most recent value for a data key
/telemetryQuery historical telemetry with time range, aggregation, and pagination
All API requests require an API key passed in the X-API-Key header. Create API keys in Settings > API in the dashboard.
curl -H "X-API-Key: iot_your_api_key_here" \
https://api.dasberry.ai/public/api/v1/devicesiot_Returns all devices belonging to your team.
curl -H "X-API-Key: iot_your_key" \
https://api.dasberry.ai/public/api/v1/devices{
"data": [
{
"id": "91c2f609-5df8-4021-91a8-c6a1905b28a3",
"name": "Chiller Unit 4",
"description": "Building A rooftop",
"is_online": true,
"last_seen_at": "2026-05-05T14:32:10Z"
}
]
}curl -H "X-API-Key: iot_your_key" \
https://api.dasberry.ai/public/api/v1/devices/91c2f609-...Returns all data keys a device has reported.
curl -H "X-API-Key: iot_your_key" \
https://api.dasberry.ai/public/api/v1/devices/91c2f609-.../data-points{
"data": ["supply_temp", "return_temp", "discharge_pressure", "run_status"]
}Returns the most recent data point for a given device and key.
curl -H "X-API-Key: iot_your_key" \
"https://api.dasberry.ai/public/api/v1/telemetry/latest?device_id=91c2f609-...&key=supply_temp"{
"device_id": "91c2f609-5df8-4021-91a8-c6a1905b28a3",
"key": "supply_temp",
"time": "2026-05-05T14:32:10Z",
"value": 44.2
}Retrieve time-series data with optional aggregation and pagination.
device_idDevice UUID (required)keyData key name (required)fromStart time, RFC3339 (default: 1 hour ago)toEnd time, RFC3339 (default: now)bucketTime bucket: raw, 1m, 5m, 15m, 1h, 12h, 1d, 1w, 1MaggAggregation: avg, min, max, last, sum, countlimitMax rows returned (default: 1000, max: 10000)offsetPagination offset (default: 0)curl -H "X-API-Key: iot_your_key" \
"https://api.dasberry.ai/public/api/v1/telemetry?device_id=91c2f609-...&key=supply_temp&from=2026-05-04T00:00:00Z&to=2026-05-05T00:00:00Z&bucket=1h&agg=avg"{
"data": [
{ "time": "2026-05-04T00:00:00Z", "value": 43.1 },
{ "time": "2026-05-04T01:00:00Z", "value": 44.8 },
{ "time": "2026-05-04T02:00:00Z", "value": 42.3 }
],
"pagination": {
"limit": 1000,
"offset": 0,
"has_more": false
}
}import requests
API_KEY = "iot_your_api_key_here"
BASE = "https://api.dasberry.ai/public/api/v1"
headers = {"X-API-Key": API_KEY}
# Get latest supply temperature
resp = requests.get(f"{BASE}/telemetry/latest", headers=headers, params={
"device_id": "91c2f609-5df8-4021-91a8-c6a1905b28a3",
"key": "supply_temp",
})
print(resp.json())
# Query hourly averages for the last 24 hours
resp = requests.get(f"{BASE}/telemetry", headers=headers, params={
"device_id": "91c2f609-5df8-4021-91a8-c6a1905b28a3",
"key": "supply_temp",
"bucket": "1h",
"agg": "avg",
})
for point in resp.json()["data"]:
print(f"{point['time']}: {point['value']:.1f}")The API enforces rate limiting per API key to ensure fair usage.
Retry-After: 1 headerThere are no rate limits on MQTT data ingestion. Devices can publish as frequently as needed.