Skip to content
Mission nominal
Spica Insight · Platform

The satellite imagery API and analytics platform behind 380+ production deployments.

Spica Insight fuses an 11-satellite sub-meter constellation with a proprietary on-orbit AI stack, returning decision-grade change detection within 90 minutes of acquisition. Authenticate once, task a satellite, receive analyzed COG, Zarr or GeoParquet tiles via webhook — at a median tasking-to-delivery latency of 78 minutes.

  • Native resolution0.7 m
  • Median revisit4 h
  • Tiles served / day4.2 M
Architecture

From a tasking call to a webhook callback in 78 median minutes.

Spica Insight is a single auditable pipeline. Every stage is timestamped, every artifact is versioned, and every result lands in your stack through a signed webhook — so the difference between "the satellite saw it" and "your system acted on it" collapses to a measurable SLA.

  1. 01

    Tasking

    An authenticated POST /v1/tasking with an AOI, a window and a product class. The scheduler returns a pass ID and a confidence-weighted acquisition window within 800 ms.

  2. 02

    Acquisition

    The next satellite in the 11-vehicle constellation overflies the AOI at 0.7 m native resolution, with a 4-hour median revisit across 94% of Earth's landmass.

  3. 03

    Onboard inference

    A radiation-hardened inference engine runs change detection, cloud masking and atmospheric correction in orbit — reducing downlink volume by 22× versus raw raster shipping, cutting customer bandwidth costs per our 2024 benchmarks.

  4. 04

    Ground processing

    Downlinked chips are orthorectified, tiled and packaged as Cloud-Optimized GeoTIFFs, Zarr cubes or GeoParquet — then routed through the Boulder, Toulouse or Singapore ground station closest to the customer.

  5. 05

    Delivery

    A signed webhook fires with the tile URIs, quality flags and a confidence score. Median end-to-end latency: 78 minutes. Independently benchmarked by the Open Geospatial Consortium in Q1 2025.

Compliance posture. SOC 2 Type II, ISO 27001 and FedRAMP Moderate (the sole EO provider authorized at that level as of November 2024). Data residency selectable per AOI: US-only, EU-only or APAC-only processing paths.

Developer surface

The primitives an integrator actually plugs into.

No proprietary GUI required. The platform speaks HTTP, streams webhooks, and ships tiles in the three formats your stack already loads.

REST

Versioned HTTP API

A flat, RESTful surface with predictable JSON. Idempotent tasking, paginated history, signed S3-compatible tile URLs and a first-class /v1/changes endpoint that streams only what changed since your cursor.

  • POST /v1/tasking — submit an AOI and window
  • GET /v1/tasking/{id} — poll acquisition state
  • GET /v1/changes?since= — diff against your last cursor
  • GET /v1/tiles/{id}/manifest — signed URL set
FORMATS

COG · Zarr · GeoParquet

Every product ships in all three: Cloud-Optimized GeoTIFF for raster pipelines, Zarr for cube-native analysis, GeoParquet for vector change events with embedded confidence and provenance columns.

WEBHOOKS

Signed, retried, replayable

HMAC-signed POST callbacks with exponential backoff, a 7-day replay window and a dead-letter inspector in the dashboard. Push to S3, GCS, Azure Blob or any HTTPS endpoint you control.

SDK

Python, TypeScript and a CLI

Official spica-python and spica-ts clients with full type coverage, plus a spica CLI for shell-driven tasking and bulk backfills. Plus the open-sourced spica-change PyTorch library (cited in 140+ peer-reviewed papers) for in-house model fine-tuning.

DASHBOARD

Operator console

A web console for AOIs, tasking history, spend and access control — useful for the GIS lead who wants answers without writing curl.

PROVENANCE

Audit-grade metadata

Every tile carries sensor ID, acquisition time to the millisecond, processing chain version and model commit SHA — so a regulator-facing report can trace any pixel back to a specific satellite pass.

  • 99.97%trailing-12-month uptime
  • 4.2Mtiles served per day
  • 97.3%change-detection accuracy · SpaceNet-7
  • 22×downlink compression vs. raw raster
Quickstart

From API key to first analyzed tile in the same hour.

A four-step onboarding that produces a verifiable webhook in your terminal before lunch. No pre-commit, no annual contract, no proprietary GUI to learn first.

  1. 01

    Authenticate

    Generate a scoped API key in the dashboard or via POST /v1/keys. Keys inherit RBAC roles — read-only, tasking, billing — so the same key never crosses a privilege boundary.

    ≈ 30 seconds
  2. 02

    Submit a tasking request

    POST an AOI as GeoJSON, pick a product (change-v3, flood-extent, methane-plume, crop-loss) and a window. The response includes the pass ID and a confidence-weighted ETA.

    ≈ 800 ms response
  3. 03

    Subscribe to the webhook

    Register an HTTPS endpoint or an S3/GCS/Azure Blob bucket. Spica POSTs a signed manifest the moment processing completes — your service acks, tiles download, and your ETL kicks off without polling.

    push, no polling
  4. 04

    Fetch the analyzed COG

    Pull the Cloud-Optimized GeoTIFF (or Zarr / GeoParquet) from the signed URL and load it with rasterio, xarray or DuckDB. No proprietary reader, no license server, no offline activation.

    ≈ 78 min median end-to-end

Sandbox keys are free, throttle at 5 taskings per hour and draw on the same public datasets released through our Microsoft Planetary Computer partnership — 3.8 million km² of tropical forest, ready for testing on day one.

Under the hood

A working tasking call and the webhook it produces.

The contract is deliberately boring. Predictable JSON, predictable status codes, a single signed payload on the way back. If you can read a REST API, you can integrate Spica Insight without reading another PDF.

Python tasking.py
# tasking.py — submit an AOI for change detection
from spica import Client

client = Client(api_key="sk_live_...")

task = client.tasking.submit(
    aoi="aoi/colorado_mine.geojson",
    product="change-v3",
    window={
        "start": "2024-11-08T00:00Z",
        "end":   "2024-11-09T00:00Z",
    },
    min_confidence=0.85,
)

print(task.id, task.eta_utc)
# → task_8f3c1a 2024-11-08T14:22Z
JSON webhook payload
{
  "event": "tasking.completed",
  "task_id": "task_8f3c1a",
  "acquired_at": "2024-11-08T13:48:11Z",
  "delivered_at": "2024-11-08T14:22:07Z",
  "latency_seconds": 2036,
  "sensor": "SP-07",
  "resolution_m": 0.7,
  "tiles": [
    {
      "format": "cog",
      "url": "https://dl.spica...",
      "checksum": "sha256:9f3a..."
    },
    {
      "format": "geoparquet",
      "url": "https://dl.spica...",
      "changes": 147
    }
  ],
  "signature": "hmac-sha256=4e7b..."
}

Both the tasking client and the webhook verifier are open source under MIT — see the spica-python repo on GitHub. Test against the sandbox with the same code path you ship to production.

Book a demo

Thirty minutes with a solutions engineer — bring your AOI.

We will task the constellation against your real AOI during the call, walk you through the resulting webhook, and answer the integration questions your platform team is already drafting. 380+ organizations — including a leading global reinsurer and the European Environment Agency — run Spica Insight in production; the demo is where you find out if the fit is mutual.

  • Live tasking of your AOI during the call
  • Signed webhook sample delivered to your inbox
  • Pricing envelope scoped to your cadence and coverage
  • Reference call with a customer in your sector, on request
Read the docs instead