Bring IoT sensor data live in minutes
OrbitSensors is a sensor platform that receives data from devices like Arduino and ESP32 with tokens, stores it in the cloud, and creates a queryable API endpoint for every project.
OrbitSensors is a sensor platform that receives data from devices like Arduino and ESP32 with tokens, stores it in the cloud, and creates a queryable API endpoint for every project.
POST /v1/auth/registerPOST /v1/auth/loginPOST /v1/projectsPOST /v1/projects/:projectId/tokensPOST /v1/ingest/:projectSlugGET /v1/public/:publicId/readAnti-abuse protection is active: rate limits and short cooldown waits are applied. If exceeded, API returns 429 and Retry-After headers.
curl -X POST "https://api.orbitsensors.com/v1/ingest/my-project" \
-H "Content-Type: application/json" \
-H "x-device-token: os_xxxxxxxxxxxxxxxxxxxxxx" \
-d "{\"sensorKey\":\"temperature\",\"value\":24.6,\"payload\":{\"unit\":\"C\"}}"
Read data example (rate-limited, requires x-api-key):
curl -X GET "https://api.orbitsensors.com/v1/public/YOUR_PUBLIC_ID/read?limit=50&sensorKey=temperature" \
-H "x-api-key: YOUR_DEVICE_TOKEN"
#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";
const char* apiUrl = "https://api.orbitsensors.com/v1/ingest/YOUR_PROJECT_SLUG";
const char* deviceToken = "os_xxxxxxxxxxxxxxxxxxxxxx";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(apiUrl);
http.addHeader("Content-Type", "application/json");
http.addHeader("x-device-token", deviceToken);
// Replace with your sensor reading, e.g. temperature
float temp = 25.3; // readTemperature();
String body = "{\"sensorKey\":\"temperature\",\"value\":" + String(temp) + ",\"payload\":{\"unit\":\"C\"}}";
int code = http.POST(body);
Serial.println(code);
http.end();
}
delay(10000);
}
// Arduino IDE - ESP8266 (WiFi.h + HTTPClient.h for ESP32)
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClientSecureBearSSL.h>
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";
const char* apiUrl = "https://api.orbitsensors.com/v1/ingest/YOUR_PROJECT_SLUG";
const char* deviceToken = "os_xxxxxxxxxxxxxxxxxxxxxx";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
BearSSL::WiFiClientSecure client;
client.setInsecure();
HTTPClient http;
http.begin(client, apiUrl);
http.addHeader("Content-Type", "application/json");
http.addHeader("x-device-token", deviceToken);
String body = "{\"sensorKey\":\"temperature\",\"value\":25.3,\"payload\":{\"unit\":\"C\"}}";
int code = http.POST(body);
Serial.println(code);
http.end();
}
delay(10000);
}