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.
$ pip install spica
$ spica task --aoi aoi.geojson --product change-v3
→ task_8f3c1a submitted · eta 2024-11-08T14:22Z
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.