Login/Register API Status

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.

Quick Start

  1. POST /v1/auth/register
  2. POST /v1/auth/login
  3. POST /v1/projects
  4. POST /v1/projects/:projectId/tokens
  5. POST /v1/ingest/:projectSlug
  6. GET /v1/public/:publicId/read

Anti-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"

Device Code Examples

Sending Sensor Data to OrbitSensors via HTTPS with ESP32

#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);
}

Sending Sensor Data to OrbitSensors with Arduino

// 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);
}