Live multimodal data cloud · Now in preview

Query the physical world
like a database.

PerceptDB stores video, images, files, streams, embeddings, events, and metadata in one live multimodal data cloud — so teams can search, audit, and automate decisions from real-world data.

Preview access · Paid plans start at $50/month

percept · search studio · warehouse-demo
Ask anything
Did the package get delivered at dock 4 yesterday, and was the door left open afterward?
Generated query plan
hybrid · 2 tables · 1 vector
SELECT p.delivery_id, p.delivered_at, d.duration_secondsFROM package_events pJOIN door_state_events dON p.camera_id = d.camera_idWHERE p.site_id = 'dock_4'AND d.state = 'open'AND VECTOR_MATCH(p.embedding, 'person carrying package') > 0.82AND d.start_time BETWEEN p.end_time AND p.end_time + INTERVAL '15 minutes';
Yes. A package was delivered at 10:42 AM. The dock door remained open for approximately 14 minutes after the delivery person exited.
Confidence: 0.88Latency: 184ms4 evidence items
Evidence
10:42:08
Person carrying package enters frame
dock_cam_04
10:42:19
Package placed near door
dock_cam_04
10:42:31
Person exits frame
dock_cam_04
10:42:11→10:56:47
Dock door state: open
door_sensor_04

Built for operational data that moves, speaks, and changes

Live videoAudioDocumentsSensorsEventsEvidence
The platform

One database. Every modality.

Snowflake stores your enterprise data. Supabase helps you build apps. Pinecone stores vectors. PerceptDB gives AI systems searchable memory over the real world.

Store
One system of record

Objects, streams, SQL metadata, and embeddings in one unified data cloud. Hot, warm, and cold tiers automatically managed.

  • Object storage
  • Postgres-compatible SQL
  • Vector indexes
  • Stream buffers
  • Cold archive
Perceive
From raw data to meaning

Turn raw video, images, audio, and documents into searchable events with embeddings, detections, captions, and transcripts.

  • CLIP embeddings
  • YOLO detection
  • Event extraction
  • Audio transcription
  • VLM captions
Query
Ask with anything

Use SQL, REST API, CLI, Python, TypeScript, natural language, or visual timelines. Every answer comes back with evidence and provenance.

  • SQL workbench
  • Natural language
  • REST + SDKs
  • Visual timelines
  • Evidence export
Architecture

Four planes, one platform.

A clean separation between data, perception, query, and governance — so teams of every kind can collaborate without stepping on each other.

Data Plane
01

The actual storage layer — SQL tables, object buckets, vector indexes, event tables, stream buffers, and cold archive.

SQL tablesPostgres-compatible metadataObject storageVector indexesEvent tablesStream buffersHot / Warm / Cold tiers
Perception Plane
02

Where raw data becomes searchable intelligence through embeddings, captions, detections, transcripts, and derived events.

EmbeddingsObject detectionVLM captionsAudio transcriptionEvent extractionObject trackingModel provenance
Query Plane
03

How users ask questions. SQL for engineers, natural language for operators, visual timelines for analysts, APIs for everyone.

SQL WorkbenchNatural languageREST APIPython + TypeScript SDKsCLIVisual search builderTimeline explorer
Governance Plane
04

Tenant isolation, RBAC, audit logs, encryption, retention rules, chain-of-custody, and verifiable provenance for every model output.

Tenant isolationRBACAudit logsEncryption at rest + in transitRetention policiesChain-of-custodyVerifiable provenance
Any source

If it streams, lands, or arrives — Percept ingests it.

Live video. Live audio. Live chat. Live calls. Sensors. Application events. Logs. Market data. GPS. Documents. One ingest layer, one perception plane, one query surface.

Video
RTSP · HLS · file upload
Audio
Radio stream · audio file
Chat
HTTP events · webhooks
Sensors
MQTT · HTTP ingest
Events
REST API · webhooks
Logs
REST API · SDK ingest
Market data
Structured API events
Geo / Telemetry
Structured API events
Documents
File upload · SDK upload
Anything else
REST API · SDK
One query language — every modality
video
"Did the package get delivered, and was the door left open afterward?"
audio
"Calls where the customer said 'cancel' and the rep mentioned a refund."
chat
"Spam bursts in Twitch chat around the boss-fight clip."
sensor
"Freezers that warmed past -15 °C for over 8 minutes this week."
events
"Checkout drop-off after the iOS 17.4 push on Tuesday."
geo
"Trucks that dwelled > 20 min within 1 mile of a Costco yesterday."
Object intelligence

Everything becomes searchable memory.

A package delivery video is not just a video file. It becomes a raw object, a timestamped asset, a stream segment, a vector, a set of entities, events, SQL rows, audit evidence, and retrievable clips with provenance.

Raw object
Original .mp4 in bucket
.01
Timestamped asset
Linked to time + site
.02
Stream segment
Hot tier · 24h retention
.03
Vector embedding
1024-dim multimodal
.04
Detected entities
person, package, door
.05
Semantic events
delivery, door_open
.06
SQL row
video_segments table
.07
Auditable evidence
Chain of custody
.08
Retrievable clip
With provenance
.09
Developer platform

Built for builders.

Use the REST API, CLI, Python client, TypeScript client, or the project-scoped SQL surface.

CLI
Copy
# Authenticate, upload media, then search the active project
percept auth login --key "$PERCEPT_API_KEY"
percept upload ./dock-clip.mp4 --bucket uploads
percept search "person carrying a package" --index images --limit 10
percept events --since 24 --limit 20
Python
Copy
from percept import Percept

db = Percept(api_key="...")
results = db.search(
    "package delivered at the loading dock",
    index="images",
    limit=10,
)

for hit in results["hits"]:
    print(hit["object"], hit["score"])
TypeScript
Copy
import { PerceptClient } from "@perceptdb/sdk";

const percept = new PerceptClient({
  apiKey: process.env.PERCEPT_API_KEY,
});

const results = await percept.search(
  "person in a red hoodie",
  { index: "images", limit: 10 },
);
Percept SQL
Copy
SELECT
  object,
  label,
  confidence,
  SEMANTIC_SCORE('package at a loading dock') AS similarity
FROM api.detections
WHERE label ILIKE '%package%'
ORDER BY similarity DESC
LIMIT 20;
Storage tiers

Hot, warm, cold: automatic.

PerceptDB moves data between S3 storage classes based on plan and pipeline policies while indexes remain searchable.

Hot tier

Live search and incident response. Last 24–72 hours of streams and events.

Query latency< 50ms p95
RefreshStreaming
Use caseLive ops
Warm tier

Recent operational memory. 7–90 days of searchable history with cached summaries.

Query latency< 200ms p95
Refresh5 min
Use caseInvestigation
Cold tier

Compliance archive. Cheap, encrypted, batch-indexed. Rehydrate on demand to warm or hot.

Query latency1–5s with rehydration
RefreshDaily
Use caseCompliance, training data
Apps

Pre-built apps for common workflows.

Drop a Percept app on top of your data and answer the questions your team actually asks — without writing a line of code.

Delivery Verification
Was the package delivered? Was the door left open?
Security Search
Who entered after hours? Was PPE worn?
Claims Review
What evidence supports this claim?
Robotics Datasets
Find examples of failed grasps and occluded objects.
Pricing

Pay for what you store and what you ask.

Flat monthly plans with included streams, storage, retention, and perception credits.

Starter
$50/mo

For a single site getting started with perception.

Choose Starter
  • Up to 2 streams
  • 25 GB storage
  • 20,000 credits/month
  • 7-day retention
  • Search, watches, and alerts
Growth
$699/mo

For growing deployments across multiple areas.

Choose Growth
  • Up to 25 streams
  • 250 GB storage
  • 300,000 credits/month
  • 30-day retention
  • Apps marketplace
Scale
$2,499/mo

For large, multi-site operations.

Choose Scale
  • Up to 100 streams
  • 1 TB storage
  • 1.5M credits/month
  • 90-day retention
  • Priority support
Enterprise
Custom

For regulated industries and large fleets.

Contact sales
  • Custom stream limits
  • Custom retention
  • Security review
  • Dedicated support
  • Custom SLA
Ready to give your AI a memory of the real world?

Start querying the
physical world.