Home
Viam
Viam
Viam is a robotics and edge AI platform founded in 2020 by Eliot Horowitz (MongoDB co-founder and former CTO). It pairs viam-server — a gRPC-based runtime that runs on Linux single-board computers (RDK) and ESP32-class microcontrollers (micro-rdk) — with viam.app, a multi-tenant cloud for fleet management, data capture, ML training, and remote operations. Every hardware component (motors, cameras, sensors, arms) and every machine-level service (motion, vision, SLAM, ML inference, navigation) is exposed through a uniform gRPC contract defined in viamrobotics/api with first-class SDKs for Python, Go, Rust, TypeScript, C++, Java, .NET, and Flutter. A modular registry lets vendors and community contributors publish new hardware drivers, vision models, and services as OCI images or packages that any Viam machine can pull at config time, making physical-world control feel like building a microservice.
14 APIs
27 Capabilities
22 Features
Robotics Edge AI Fleet Management Computer Vision Machine Learning IoT Embedded gRPC
Viam publishes 14 APIs on the APIs.io network, including Fleet Management API, Machine Management API, Data Client API, and 11 more. Tagged areas include Robotics, Edge AI, Fleet Management, Computer Vision, and Machine Learning.
The Viam catalog on APIs.io includes 27 machine-runnable capabilities , 1 JSON-LD context, and 1 Spectral governance ruleset.
Viam’s developer surface includes developer portal, documentation, signup flow, sandbox, pricing, changelog, SDKs, and 40 more developer resources.
Create and manage organizations, locations, machines, machine parts, fragments, OAuth apps, API keys, and team memberships in the viam.app cloud. Backed by the AppService gRPC s...
Connect directly to a viam-server instance running on a device to inspect resources, run operations, manage sessions, retrieve machine status and version, transform poses, and t...
Upload, download, query (SQL/MQL), tag, and delete tabular and binary data captured from machines. Manage datasets, saved queries, bounding boxes, sequences, and the cloud-hoste...
Upload captured data from viam-server to the cloud via DataCaptureUpload, FileUpload, and StreamingDataCaptureUpload. This is the ingest plane that backs the Data Management Ser...
Submit and manage cloud-hosted ML training jobs that produce models deployable to viam-server. Supports built-in TFLite trainers and custom containerized trainers via SubmitTrai...
Run cloud-hosted inference against models registered in the Viam ML registry via GetInference. Complements the device-side ML Model Service for cases where compute must live in ...
Retrieve current-month usage, billing tier metadata, invoice summaries, invoice PDFs, and organization billing information. Supports custom billing tiers and the location-level ...
Plan and execute motion for a machine's components — Move, MoveOnMap, MoveOnGlobe, GetPose, StopPlan, ListPlanStatuses, GetPlan. Runs on viam-server as a machine-level service c...
Run object detection, image classification, and 3D segmentation against a configured camera component. Supports GetDetectionsFromCamera, GetClassificationsFromCamera, GetObjectP...
Simultaneous Localization And Mapping. GetPosition returns the machine's pose within the map; GetPointCloudMap and GetInternalState stream the live map. Backed by Viam's ORB-SLA...
Device-side inference. Infer runs a deployed model against tensors; Metadata returns model input and output schemas. Pairs with TFLite, ONNX, and Triton ML model implementations.
Hardware abstraction for every supported component class — arm, audio in/out, base, board, button, camera, encoder, gantry, generic, gripper, input controller, motor, movement s...
Create, list, rename, enable, disable, and delete scheduled MQL data pipelines that aggregate captured machine data into the Viam hot data store. Backed by ListDataPipelineRuns ...
Bootstrap a smart machine onto Wi-Fi and into the viam.app cloud over Bluetooth or hotspot. SetNetworkCredentials, SetSmartMachineCredentials, GetNetworkList, GetSmartMachineSta...
Run Capabilities with Naftiko — Deploy and orchestrate these API capabilities using Naftiko Fleet.
Run with Naftiko
Retrieve current-month usage and organization billing information.
Run with Naftiko
Control any Viam robotic arm component — pose, joint positions, and stop.
Run with Naftiko
Control any Viam mobile base component — MoveStraight, Spin, SetPower, SetVelocity, Stop.
Run with Naftiko
Capture 2D images and 3D point clouds from any Viam camera component.
Run with Naftiko
Control any Viam motor component — SetPower, GoFor, GoTo, SetRPM, Stop.
Run with Naftiko
Read the latest measurements from any Viam generic sensor component.
Run with Naftiko
Query, retrieve, tag, and delete binary data items captured by cameras and audio components.
Run with Naftiko
Scheduled MQL data pipelines that aggregate captured data into the Viam hot data store.
Run with Naftiko
Upload captured data from viam-server to the Viam cloud (tabular, binary, streaming).
Run with Naftiko
Query (filter, SQL, MQL) and delete tabular data captured by sensor/movement-sensor components.
Run with Naftiko
Manage Viam configuration fragments — reusable, versioned config snippets shareable across machines.
Run with Naftiko
Manage Viam locations — the grouping of machines under an organization.
Run with Naftiko
Manage Viam machines (robots) and their parts (viam-server processes).
Run with Naftiko
Manage Viam organizations, the tenant boundary that owns locations, machines, members, and billing.
Run with Naftiko
Inspect the frame system config and transform poses or point clouds between frames.
Run with Naftiko
Manage viam-server client sessions and safety-timeout heartbeats.
Run with Naftiko
Inspect viam-server status, version, and cloud metadata on a device.
Run with Naftiko
Run cloud-hosted inference against models registered in the Viam ML registry.
Run with Naftiko
Run device-side inference against deployed ML models (TFLite, ONNX, Triton).
Run with Naftiko
Submit, monitor, and cancel cloud-hosted ML training jobs (built-in TFLite or custom containers).
Run with Naftiko
Plan and execute motion for components — Move, MoveOnMap, MoveOnGlobe, StopPlan, GetPlan.
Run with Naftiko
Bootstrap a smart machine onto Wi-Fi and into the Viam cloud via Bluetooth or hotspot.
Run with Naftiko
Localization and mapping — GetPosition, GetPointCloudMap, GetInternalState.
Run with Naftiko
Run Capabilities with Naftiko — Deploy and orchestrate these API capabilities using Naftiko Fleet.
Run with Naftiko
viam-server (RDK) — Go-based runtime for Linux SBCs and servers; the per-machine control plane
micro-rdk — Rust-based viam-server variant for ESP32-class microcontrollers
viam-agent — managed system service that installs, configures, and updates viam-server on devices
viam.app — multi-tenant cloud for fleet management, configuration, and remote control
gRPC-first API contract shared by every official SDK (Python, Go, Rust, TypeScript, C++, Java, .NET, Flutter)
Modular registry — pluggable components and services published as OCI images, npm modules, or PyPI packages
Component APIs covering arm, base, board, button, camera, encoder, gantry, gripper, input controller, motor, movement sensor, pose tracker, power sensor, sensor, servo, switch, audio in/out
Service APIs for motion planning, vision, SLAM, navigation, data management, ML model inference, sensors aggregation, world state, discovery, and generic services
Data Management Service captures data at the edge and syncs to the Viam cloud (tabular and binary)
Data Client API with SQL and MongoDB-MQL query interfaces over captured data
Data Pipelines for scheduled MQL aggregation into the Viam hot data store
ML Training cloud jobs (built-in TFLite trainers + custom containerized trainers)
ML Model Service for edge inference (TFLite, ONNX, Triton)
Cloud SLAM mapping sessions and Cartographer/ORB-SLAM3 integrations
Fleet-level fragments, packages, and machine configuration with OTA rollout
Provisioning over Bluetooth or hotspot via viam-agent and Flutter provisioning widgets
OAuth apps, API keys, location secrets, RBAC, and SCIM for organization administration
Billing API supporting custom per-machine, per-data, per-API-call invoicing for end-customers
Modular registry build pipeline via GitHub Action (multi-arch builds)
Hardware abstraction enabling write-once / run-on-many-platforms control code
Free tier with $5/month in included cloud usage; usage-based metering for storage, compute, and egress
Founded 2020 by Eliot Horowitz (MongoDB co-founder and former CTO)
35 classes · 7 properties
JSON-LD
4 rules ·
1 errors
3 warnings
SPECTRAL
Sources
aid: viam
url: https://raw.githubusercontent.com/api-evangelist/viam/refs/heads/main/apis.yml
apis:
- aid: viam:viam-fleet-management-api
name: Viam Fleet Management API
tags:
- Robotics
- Fleet Management
- Organizations
- Locations
- Machines
humanURL: https://docs.viam.com/dev/reference/apis/fleet/
properties:
- url: https://docs.viam.com/dev/reference/apis/fleet/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/app/v1/app.proto
type: Protobuf
- url: openapi/viam-fleet-management-api-openapi.yml
type: OpenAPI
- url: json-schema/viam-organization-schema.json
type: JSONSchema
- url: json-schema/viam-location-schema.json
type: JSONSchema
- url: json-schema/viam-machine-schema.json
type: JSONSchema
- url: json-ld/viam-context.jsonld
type: JSONLD
- type: NaftikoCapability
url: capabilities/fleet-organizations.yaml
- type: NaftikoCapability
url: capabilities/fleet-locations.yaml
- type: NaftikoCapability
url: capabilities/fleet-machines.yaml
- type: NaftikoCapability
url: capabilities/fleet-fragments.yaml
description: Create and manage organizations, locations, machines, machine parts, fragments, OAuth apps, API
keys, and team memberships in the viam.app cloud. Backed by the AppService gRPC service in
viamrobotics/api with REST/JSON transcoding over app.viam.com:443.
- aid: viam:viam-machine-management-api
name: Viam Machine Management API
tags:
- Robotics
- Machines
- Sessions
- Operations
humanURL: https://docs.viam.com/dev/reference/apis/robot/
properties:
- url: https://docs.viam.com/dev/reference/apis/robot/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/robot/v1/robot.proto
type: Protobuf
- url: openapi/viam-machine-management-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/machine-status.yaml
- type: NaftikoCapability
url: capabilities/machine-sessions.yaml
- type: NaftikoCapability
url: capabilities/machine-frame-system.yaml
description: Connect directly to a viam-server instance running on a device to inspect resources, run
operations, manage sessions, retrieve machine status and version, transform poses, and tunnel TCP traffic.
The Robot Service is the entry point for every machine-side gRPC call.
- aid: viam:viam-data-client-api
name: Viam Data Client API
tags:
- Robotics
- Data
- Tabular Data
- Binary Data
- Datasets
humanURL: https://docs.viam.com/dev/reference/apis/data-client/
properties:
- url: https://docs.viam.com/dev/reference/apis/data-client/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/app/data/v1/data.proto
type: Protobuf
- url: openapi/viam-data-client-api-openapi.yml
type: OpenAPI
- url: json-schema/viam-tabular-data-schema.json
type: JSONSchema
- url: json-schema/viam-binary-data-schema.json
type: JSONSchema
- type: NaftikoCapability
url: capabilities/data-tabular.yaml
- type: NaftikoCapability
url: capabilities/data-binary.yaml
- type: NaftikoCapability
url: capabilities/data-datasets.yaml
description: Upload, download, query (SQL/MQL), tag, and delete tabular and binary data captured from
machines. Manage datasets, saved queries, bounding boxes, sequences, and the cloud-hosted MongoDB
connection used for analytics workloads.
- aid: viam:viam-data-sync-api
name: Viam Data Sync API
tags:
- Robotics
- Data
- Sync
- Capture
humanURL: https://docs.viam.com/data-ai/capture-data/capture-sync/
properties:
- url: https://docs.viam.com/data-ai/capture-data/capture-sync/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/app/datasync/v1/data_sync.proto
type: Protobuf
- url: openapi/viam-data-sync-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/data-sync.yaml
description: Upload captured data from viam-server to the cloud via DataCaptureUpload, FileUpload, and
StreamingDataCaptureUpload. This is the ingest plane that backs the Data Management Service running on
every machine.
- aid: viam:viam-ml-training-api
name: Viam ML Training API
tags:
- Robotics
- Machine Learning
- Training
- Edge AI
humanURL: https://docs.viam.com/data-ai/train/train-tflite/
properties:
- url: https://docs.viam.com/data-ai/train/train-tflite/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/app/mltraining/v1/ml_training.proto
type: Protobuf
- url: openapi/viam-ml-training-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/ml-training-jobs.yaml
description: Submit and manage cloud-hosted ML training jobs that produce models deployable to viam-server.
Supports built-in TFLite trainers and custom containerized trainers via SubmitTrainingJob and
SubmitCustomTrainingJob.
- aid: viam:viam-ml-inference-api
name: Viam ML Inference API
tags:
- Robotics
- Machine Learning
- Inference
- Edge AI
humanURL: https://docs.viam.com/services/ml/deploy/
properties:
- url: https://docs.viam.com/services/ml/deploy/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/app/mlinference/v1/ml_inference.proto
type: Protobuf
- url: openapi/viam-ml-inference-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/ml-inference.yaml
description: Run cloud-hosted inference against models registered in the Viam ML registry via GetInference.
Complements the device-side ML Model Service for cases where compute must live in the cloud.
- aid: viam:viam-billing-api
name: Viam Billing API
tags:
- Robotics
- Billing
- FinOps
- Invoices
humanURL: https://docs.viam.com/manage/manage/billing/
properties:
- url: https://docs.viam.com/manage/manage/billing/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/app/v1/billing.proto
type: Protobuf
- url: openapi/viam-billing-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/billing-usage.yaml
- type: NaftikoCapability
url: capabilities/billing-invoices.yaml
description: Retrieve current-month usage, billing tier metadata, invoice summaries, invoice PDFs, and
organization billing information. Supports custom billing tiers and the location-level billing
organization assignment used by Viam's "build a robotics business" features.
- aid: viam:viam-motion-service-api
name: Viam Motion Service API
tags:
- Robotics
- Motion Planning
- Services
humanURL: https://docs.viam.com/services/motion/
properties:
- url: https://docs.viam.com/services/motion/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/service/motion/v1/motion.proto
type: Protobuf
- url: openapi/viam-motion-service-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/motion-planning.yaml
description: Plan and execute motion for a machine's components — Move, MoveOnMap, MoveOnGlobe, GetPose,
StopPlan, ListPlanStatuses, GetPlan. Runs on viam-server as a machine-level service combining kinematic
chains, frame system, and obstacle avoidance.
- aid: viam:viam-vision-service-api
name: Viam Vision Service API
tags:
- Robotics
- Vision
- Computer Vision
- Services
humanURL: https://docs.viam.com/services/vision/
properties:
- url: https://docs.viam.com/services/vision/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/service/vision/v1/vision.proto
type: Protobuf
- url: openapi/viam-vision-service-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/vision-detections.yaml
- type: NaftikoCapability
url: capabilities/vision-classifications.yaml
description: Run object detection, image classification, and 3D segmentation against a configured camera
component. Supports GetDetectionsFromCamera, GetClassificationsFromCamera, GetObjectPointClouds, and
CaptureAllFromCamera.
- aid: viam:viam-slam-service-api
name: Viam SLAM Service API
tags:
- Robotics
- SLAM
- Mapping
- Services
humanURL: https://docs.viam.com/services/slam/
properties:
- url: https://docs.viam.com/services/slam/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/service/slam/v1/slam.proto
type: Protobuf
- url: openapi/viam-slam-service-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/slam-mapping.yaml
description: Simultaneous Localization And Mapping. GetPosition returns the machine's pose within the map;
GetPointCloudMap and GetInternalState stream the live map. Backed by Viam's ORB-SLAM3 and Cartographer
integrations and the Cloud SLAM service.
- aid: viam:viam-ml-model-service-api
name: Viam ML Model Service API
tags:
- Robotics
- Machine Learning
- Inference
- Edge AI
- Services
humanURL: https://docs.viam.com/services/ml/deploy/
properties:
- url: https://docs.viam.com/services/ml/deploy/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/service/mlmodel/v1/mlmodel.proto
type: Protobuf
- url: openapi/viam-ml-model-service-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/ml-model-infer.yaml
description: Device-side inference. Infer runs a deployed model against tensors; Metadata returns model
input and output schemas. Pairs with TFLite, ONNX, and Triton ML model implementations.
- aid: viam:viam-component-apis
name: Viam Component APIs
tags:
- Robotics
- Components
- Hardware
- Sensors
- Actuators
humanURL: https://docs.viam.com/dev/reference/apis/
properties:
- url: https://docs.viam.com/dev/reference/apis/
type: Documentation
- url: https://github.com/viamrobotics/api/tree/main/proto/viam/component
type: Protobuf
- url: openapi/viam-component-apis-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/component-camera.yaml
- type: NaftikoCapability
url: capabilities/component-motor.yaml
- type: NaftikoCapability
url: capabilities/component-arm.yaml
- type: NaftikoCapability
url: capabilities/component-base.yaml
- type: NaftikoCapability
url: capabilities/component-sensor.yaml
description: Hardware abstraction for every supported component class — arm, audio in/out, base, board,
button, camera, encoder, gantry, generic, gripper, input controller, motor, movement sensor, pose
tracker, power sensor, sensor, servo, switch. Each component class exposes a uniform gRPC contract.
- aid: viam:viam-data-pipelines-api
name: Viam Data Pipelines API
tags:
- Robotics
- Data
- Pipelines
- Analytics
humanURL: https://docs.viam.com/data-ai/data/data-pipelines/
properties:
- url: https://docs.viam.com/data-ai/data/data-pipelines/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/app/datapipelines/v1/data_pipelines.proto
type: Protobuf
- url: openapi/viam-data-pipelines-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/data-pipelines.yaml
description: Create, list, rename, enable, disable, and delete scheduled MQL data pipelines that aggregate
captured machine data into the Viam hot data store. Backed by ListDataPipelineRuns for execution history.
- aid: viam:viam-provisioning-api
name: Viam Provisioning API
tags:
- Robotics
- Provisioning
- Onboarding
- Bluetooth
humanURL: https://docs.viam.com/manage/configure/provisioning/
properties:
- url: https://docs.viam.com/manage/configure/provisioning/
type: Documentation
- url: https://github.com/viamrobotics/api/blob/main/proto/viam/provisioning/v1/provisioning.proto
type: Protobuf
- url: openapi/viam-provisioning-api-openapi.yml
type: OpenAPI
- type: NaftikoCapability
url: capabilities/provisioning.yaml
description: Bootstrap a smart machine onto Wi-Fi and into the viam.app cloud over Bluetooth or hotspot.
SetNetworkCredentials, SetSmartMachineCredentials, GetNetworkList, GetSmartMachineStatus, and
ExitProvisioning are used by the Flutter provisioning widgets and viam-agent.
name: Viam
tags:
- Robotics
- Edge AI
- Fleet Management
- Computer Vision
- Machine Learning
- IoT
- Embedded
- gRPC
kind: contract
image: https://kinlane-productions2.s3.amazonaws.com/apis-json/apis-json-logo.jpg
access: 3rd-Party
common:
- url: https://www.viam.com
type: Portal
- url: https://docs.viam.com
name: Viam Documentation
type: Documentation
- url: https://docs.viam.com/dev/reference/apis/
name: API Reference
type: Documentation
- url: https://docs.viam.com/sdks/
name: SDKs
type: Documentation
- url: https://app.viam.com
name: Viam App
type: SignUp
- url: https://app.viam.com
name: Viam Cloud Console
type: Sandbox
- url: https://www.viam.com/pricing
name: Pricing
type: Pricing
- url: https://docs.viam.com/dev/reference/changelog/
name: Changelog
type: ChangeLog
- url: https://status.viam.com
name: Status
type: StatusPage
- url: https://docs.viam.com/manage/cli/
name: Viam CLI
type: Documentation
- url: https://github.com/viamrobotics
name: Viam Robotics GitHub
type: GitHubOrganization
- url: https://github.com/viamrobotics/api
name: Viam API Protobuf Definitions
type: Protobuf
- url: https://github.com/viamrobotics/rdk
name: Viam RDK (viam-server, Go)
type: SDK
- url: https://github.com/viamrobotics/micro-rdk
name: Viam Micro-RDK (microcontroller, Rust)
type: SDK
- url: https://github.com/viamrobotics/viam-python-sdk
name: Python SDK
type: SDK
- url: https://github.com/viamrobotics/viam-typescript-sdk
name: TypeScript SDK
type: SDK
- url: https://github.com/viamrobotics/viam-rust-sdk
name: Rust SDK
type: SDK
- url: https://github.com/viamrobotics/viam-cpp-sdk
name: C++ SDK
type: SDK
- url: https://github.com/viamrobotics/viam-flutter-sdk
name: Flutter SDK
type: SDK
- url: https://github.com/viamrobotics/viam-java-sdk
name: Java SDK
type: SDK
- url: https://github.com/viamrobotics/viam-dotnet-sdk
name: .NET SDK
type: SDK
- url: https://github.com/viamrobotics/viam-svelte-sdk
name: Svelte SDK
type: SDK
- url: https://github.com/viamrobotics/agent
name: Viam Agent
type: Tool
- url: https://github.com/viamrobotics/build-action
name: Viam Module Build GitHub Action
type: Tool
- url: https://github.com/viamrobotics/upload-module
name: Upload Module to Registry
type: Tool
- url: https://github.com/viamrobotics/visualization
name: Motion and Spatial Visualization
type: Tool
- url: https://github.com/viamrobotics/samples
name: Sample Apps and Templates
type: CodeExamples
- url: https://github.com/viamrobotics/can-inspection-simulation
name: Can Inspection Simulation (Tutorial)
type: CodeExamples
- url: https://github.com/viamrobotics/inspection-module-starter
name: Inspection Module Starter (Tutorial)
type: CodeExamples
- url: https://github.com/viamrobotics/docs
name: docs.viam.com source
type: Documentation
- url: https://github.com/viamrobotics/prime
name: Prime UI Library
type: Tool
- url: https://github.com/viamrobotics/three
name: Three.js Viam Utilities
type: Tool
- url: https://app.viam.com/registry
name: Viam Registry (modular components and ML models)
type: Portal
- url: https://discord.gg/viam
name: Viam Discord
type: Forum
- url: https://www.viam.com/blog
name: Blog
type: Blog
- url: https://www.viam.com/post
name: Engineering Posts
type: Blog
- url: https://www.viam.com/customers
name: Customer Stories
type: CaseStudies
- url: https://www.viam.com/legal/terms
name: Terms of Service
type: TermsOfService
- url: https://www.viam.com/legal/privacy
name: Privacy Policy
type: PrivacyPolicy
- url: https://www.viam.com/security
name: Security
type: TrustCenter
- url: https://www.viam.com/contact
name: Contact
type: Support
- url: https://www.linkedin.com/company/viamrobotics
name: Viam on LinkedIn
type: LinkedIn
- url: https://twitter.com/viamrobotics
name: Viam on X
type: Twitter
- url: https://www.youtube.com/@ViamRobotics
name: Viam on YouTube
type: YouTube
- url: plans/viam-plans-pricing.yml
type: Plans
- url: rate-limits/viam-rate-limits.yml
type: RateLimits
- url: finops/viam-finops.yml
type: FinOps
- type: Features
data:
- viam-server (RDK) — Go-based runtime for Linux SBCs and servers; the per-machine control plane
- micro-rdk — Rust-based viam-server variant for ESP32-class microcontrollers
- viam-agent — managed system service that installs, configures, and updates viam-server on devices
- viam.app — multi-tenant cloud for fleet management, configuration, and remote control
- gRPC-first API contract shared by every official SDK (Python, Go, Rust, TypeScript, C++, Java, .NET, Flutter)
- Modular registry — pluggable components and services published as OCI images, npm modules, or PyPI packages
- Component APIs covering arm, base, board, button, camera, encoder, gantry, gripper, input controller,
motor, movement sensor, pose tracker, power sensor, sensor, servo, switch, audio in/out
- Service APIs for motion planning, vision, SLAM, navigation, data management, ML model inference,
sensors aggregation, world state, discovery, and generic services
- Data Management Service captures data at the edge and syncs to the Viam cloud (tabular and binary)
- Data Client API with SQL and MongoDB-MQL query interfaces over captured data
- Data Pipelines for scheduled MQL aggregation into the Viam hot data store
- ML Training cloud jobs (built-in TFLite trainers + custom containerized trainers)
- ML Model Service for edge inference (TFLite, ONNX, Triton)
- Cloud SLAM mapping sessions and Cartographer/ORB-SLAM3 integrations
- Fleet-level fragments, packages, and machine configuration with OTA rollout
- Provisioning over Bluetooth or hotspot via viam-agent and Flutter provisioning widgets
- OAuth apps, API keys, location secrets, RBAC, and SCIM for organization administration
- Billing API supporting custom per-machine, per-data, per-API-call invoicing for end-customers
- Modular registry build pipeline via GitHub Action (multi-arch builds)
- Hardware abstraction enabling write-once / run-on-many-platforms control code
- Free tier with $5/month in included cloud usage; usage-based metering for storage, compute, and egress
- Founded 2020 by Eliot Horowitz (MongoDB co-founder and former CTO)
sources:
- https://www.viam.com
- https://docs.viam.com
- https://github.com/viamrobotics
- https://github.com/viamrobotics/api
- https://www.viam.com/pricing
updated: '2026-05-25'
created: '2026-05-25'
modified: '2026-05-25'
position: Consuming
description: Viam is a robotics and edge AI platform founded in 2020 by Eliot Horowitz (MongoDB co-founder
and former CTO). It pairs viam-server — a gRPC-based runtime that runs on Linux single-board computers
(RDK) and ESP32-class microcontrollers (micro-rdk) — with viam.app, a multi-tenant cloud for fleet
management, data capture, ML training, and remote operations. Every hardware component (motors, cameras,
sensors, arms) and every machine-level service (motion, vision, SLAM, ML inference, navigation) is
exposed through a uniform gRPC contract defined in viamrobotics/api with first-class SDKs for Python, Go,
Rust, TypeScript, C++, Java, .NET, and Flutter. A modular registry lets vendors and community contributors
publish new hardware drivers, vision models, and services as OCI images or packages that any Viam machine
can pull at config time, making physical-world control feel like building a microservice.
maintainers:
- FN: Kin Lane
email: [email protected]
X: apievangelist
url: https://apievangelist.com
specificationVersion: '0.16'