Skip to content

Smart Connect API

What is the Smart Connect API?

The Smart Connect API provides RESTful access to measurement data, alarm information, device metadata and status, locations and measuring objects stored in testo Smart Connect. It is intended for developers who want to programmatically retrieve and integrate data from their Smart Connect account.

The main things you can do with the API:

  • Retrieve measurement data from loggers and sensors
  • Fetch alarm data and status information
  • Access metadata about devices and their status
  • Retrieve locations corresponding to customers or measurement sites
  • Fetch measuring objects

Delivery Guarantee

The Smart Connect API follows an at-least-once delivery policy for measurements, alarms and device status payloads. Duplicated data can occur when loggers retransmit data to guarantee delivery to the cloud. If your workflow requires strictly unique entries, deduplicate the results using the uuid field present in each record.

Base URL

The URL for this API is: https://data-api.<region>.smartconnect.testo.com/

Info

Set <region> to one of eu, am, or ap. To find your value, sign in to the Smart Connect page and check the URL in your browser (<region>.smartconnect.testo.com). The first two letters after www. are your region — if there's no www., use the first two letters right after https://.

Fair Usage Policy

To keep the Smart Connect API fast and reliable for all customers, usage is subject to a fair usage limit.

Limit: 10,000 API requests per month and account. The counting period is the calendar month and resets on the first day of each month (UTC).

The limit is designed to cover regular integration scenarios.

Once the limit is reached, further API requests are blocked. Access is restored automatically with the next quota at the beginning of the following month. Please design your integration so that it stays within this limit — for example by avoiding unnecessarily short polling intervals.

If your use case requires a higher volume, please contact your Testo sales partner.

Designing within the limit

Match your request frequency to how often the underlying data actually changes, and prefer wide time ranges in a single request over many small, frequently repeated ones.

Good — request only what changed, at a sensible interval

Query device metadata once a day, since it rarely changes. When fetching measurement data, request a broad time range in one call rather than re-polling the same window.

curl -X POST "https://data-api.<region>.smartconnect.testo.com/v2/measurements" \
  -H "Content-Type: application/json" \
  -H "x-custom-api-key: your-api-key-here" \
  -d '{
    "date_time_from": "2025-04-01T00:00:00Z",
    "date_time_until": "2025-04-07T23:59:59Z",
    "options": {
      "result_file_format": "CSV"
    }
  }'

Bad — re-fetching the same data far too often

Querying the measurement data of the last 2 days every 5 minutes. This repeatedly re-downloads mostly unchanged data, burns through the monthly quota quickly, and adds unnecessary load on the API.

When the limit is reached

Once an account exceeds the limit, further requests are rejected with an HTTP 403 Forbidden response. The body is returned as application/problem+json:

{
  "type": "ACCESS_DENIED",
  "title": "User is not authorized to access this resource",
  "detail": "You have reached the maximum allowed number of API calls (10000). Your usage counter will reset at the beginning of the next month in UTC.",
  "instance": "<request-id>",
  "status": 403
}

Access is restored automatically at the start of the next calendar month (UTC), without any action on your side.

What Next?

We recommend reading the Authentication & Security chapter first if you are not yet familiar with how our APIs handle authentication. Otherwise, you can proceed directly to the API Reference to explore the available endpoints.