API Key
An API key is required to access data. This key is personal and tied to your Thermotrack Webserve account. Anyone with this key and the present documentation can access your data — do not share it.
To obtain your personal key, contact: thermotrack@proges.com
Response Formats
Each method returns data in either XML or JSON format. You specify the desired format using the format parameter in each request.
HTTP Methods: GET and POST
The API accepts both HTTP methods.
- GET:
https://www.thermotrack-webserve.com/API/get_api.php - POST:
https://www.thermotrack-webserve.com/API/post_api.php
Important — security: with the GET method, your API key and all parameters appear in plain text in the URL. This URL may be recorded in server logs, browser history, or accidentally shared. Always use the POST method in production. The examples below use GET for readability.
Available Methods
equip_list— List of monitored equipmentequip_data— Equipment data for a given period (date only)equip_data_schedule— Equipment data for a given period (date and time)equip_data_with_localization— Vehicle equipment data with GPS coordinates (date only)equip_data_schedule_with_localization— Vehicle equipment data with GPS coordinates (date and time)
Additional methods can be developed on request: thermotrack@proges.com
equip_list — List of Equipment
Returns the list of all your equipment (sensors) with their unique identifier. This identifier is required to query data for a specific sensor.
Parameters
| Parameter | Description | Accepted values |
|---|---|---|
method |
Method name | equip_list |
api_key |
Your personal API key | String |
format |
Response format | json or xml |
Example Request
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_list&api_key=YOUR_API_KEY&format=xml
Returned Fields
IDEquipment— Unique equipment identifierEquipmentName— Equipment name
Error Codes
| HTTP Code | Likely cause |
|---|---|
401 |
Invalid or missing API key |
400 |
Missing or malformed parameter |
500 |
Server error — contact support |
equip_data — Data by Period (Date)
Returns measurements for a specific equipment over a given period. Limit: the first 1,000 records are returned. See the Pagination section to retrieve data beyond this limit.
Parameters
| Parameter | Description | Format |
|---|---|---|
method |
Method name | equip_data |
api_key |
Your personal API key | String |
equip_id |
Unique equipment identifier | Integer (e.g. 6128) |
date_start |
Start date of the period | YYYY-MM-DD |
date_end |
End date of the period | YYYY-MM-DD |
format |
Response format | json or xml |
Example Request
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_data&api_key=YOUR_API_KEY&equip_id=6128&date_start=2020-01-01&date_end=2020-01-03&format=xml
Returned Fields
TotalRecord— Total number of records for the period (may exceed 1,000)DateTime— Timestamp inYYYY-MM-DD HH:MM:SSformatMeasure— Primary value (temperature for a temperature/humidity sensor)MeasureHum— Humidity value (nullif the sensor has no humidity probe)
equip_data_schedule — Data by Period (Date and Time)
Identical to equip_data, but allows specifying the start and end time in addition to the date. Limit: the first 1,000 records are returned.
Parameters
| Parameter | Description | Format |
|---|---|---|
method |
Method name | equip_data_schedule |
api_key |
Your personal API key | String |
equip_id |
Unique equipment identifier | Integer (e.g. 6128) |
date_start |
Start date and time | YYYY-MM-DD_HH:MM:SS |
date_end |
End date and time | YYYY-MM-DD_HH:MM:SS |
format |
Response format | json or xml |
Note: the date_start and date_end parameters use an underscore (_) as separator between date and time (e.g. 2020-01-01_00:02:00). Timestamps returned in the response use a space instead (2020-01-01 00:02:00).
Example Request
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_data_schedule&api_key=YOUR_API_KEY&equip_id=6128&date_start=2020-01-01_00:02:00&date_end=2020-01-03_13:02:00&format=xml
Returned Fields
TotalRecord— Total number of records for the periodDateTime— Timestamp inYYYY-MM-DD HH:MM:SSformatMeasure— Primary valueMeasureHum— Humidity value (nullif not applicable)
equip_data_with_localization — Data with GPS Coordinates (Date)
Returns measurements for a vehicle-type equipment, with GPS coordinates associated to each record. Limit: the first 1,000 records are returned.
Parameters
| Parameter | Description | Format |
|---|---|---|
method |
Method name | equip_data_with_localization |
api_key |
Your personal API key | String |
equip_id |
Unique vehicle equipment identifier | Integer |
date_start |
Start date | YYYY-MM-DD |
date_end |
End date | YYYY-MM-DD |
format |
Response format | json or xml |
Example Request
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_data_with_localization&api_key=YOUR_API_KEY&equip_id=9409&date_start=2025-12-01&date_end=2025-12-02&format=xml
Returned Fields
TotalRecord— Total number of records for the periodDateTime— Timestamp inYYYY-MM-DD HH:MM:SSformatMeasure— Primary valueMeasureHum— Humidity value (nullif not applicable)Longitude— GPS longitude at the time of recordingLatitude— GPS latitude at the time of recording
equip_data_schedule_with_localization — Data with GPS Coordinates (Date and Time)
Identical to equip_data_with_localization, but allows specifying the start and end time. Limit: the first 1,000 records are returned.
Parameters
| Parameter | Description | Format |
|---|---|---|
method |
Method name | equip_data_schedule_with_localization |
api_key |
Your personal API key | String |
equip_id |
Unique vehicle equipment identifier | Integer |
date_start |
Start date and time | YYYY-MM-DD_HH:MM:SS |
date_end |
End date and time | YYYY-MM-DD_HH:MM:SS |
format |
Response format | json or xml |
Example Request
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_data_schedule_with_localization&api_key=YOUR_API_KEY&equip_id=9409&date_start=2025-12-01_00:05:00&date_end=2025-12-01_01:00:00&format=xml
Returned Fields
TotalRecord— Total number of records for the periodDateTime— Timestamp inYYYY-MM-DD HH:MM:SSformatMeasure— Primary valueMeasureHum— Humidity value (nullif not applicable)Longitude— GPS longitude at the time of recordingLatitude— GPS latitude at the time of recording
Pagination — Retrieving More Than 1,000 Records
All data methods return a maximum of 1,000 records per request. The TotalRecord field indicates the total number of data points available for the requested period.
If TotalRecord exceeds 1,000, the data is silently truncated. To retrieve all data, split the period into shorter intervals so that each interval contains fewer than 1,000 records, then concatenate the results.
Example: a sensor recording every 10 minutes produces 144 records per day. One week equals approximately 1,008 records — just over the limit. In this case, query in intervals of 6 days or fewer.
For native pagination or bulk export needs, contact: thermotrack@proges.com
Code Examples
Python
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://www.thermotrack-webserve.com/API/post_api.php"
# Get equipment list
payload = {
"method": "equip_list",
"api_key": API_KEY,
"format": "json"
}
response = requests.post(BASE_URL, data=payload)
data = response.json()
print(data)
# Get equipment data
payload = {
"method": "equip_data",
"api_key": API_KEY,
"equip_id": "6128",
"date_start": "2024-01-01",
"date_end": "2024-01-03",
"format": "json"
}
response = requests.post(BASE_URL, data=payload)
data = response.json()
print(f"Total records: {data['TotalRecord']}")
for record in data['records']:
print(record['DateTime'], record['Measure'])
PHP
<?php
$api_key = "YOUR_API_KEY";
$base_url = "https://www.thermotrack-webserve.com/API/post_api.php";
// Get equipment list
$params = http_build_query([
"method" => "equip_list",
"api_key" => $api_key,
"format" => "json"
]);
$context = stream_context_create([
"http" => [
"method" => "POST",
"header" => "Content-Type: application/x-www-form-urlencoded",
"content" => $params
]
]);
$response = file_get_contents($base_url, false, $context);
$data = json_decode($response, true);
print_r($data);
?>
cURL (command line)
# Equipment list
curl -X POST https://www.thermotrack-webserve.com/API/post_api.php \
-d "method=equip_list&api_key=YOUR_API_KEY&format=json"
# Equipment data
curl -X POST https://www.thermotrack-webserve.com/API/post_api.php \
-d "method=equip_data&api_key=YOUR_API_KEY&equip_id=6128&date_start=2024-01-01&date_end=2024-01-03&format=json"
Error Handling
In case of an error, the API returns a standard HTTP status code along with an error message in the requested format (JSON or XML).
| HTTP Code | Meaning | Recommended action |
|---|---|---|
200 |
Success | Process the response normally |
400 |
Malformed request (missing or invalid parameter) | Check the parameters sent |
401 |
Invalid or missing API key | Verify your API key |
500 |
Internal server error | Retry or contact support |
For any technical questions: support@proges.com