Ukázkový koncept od Studio Demo — nejde o skutečnou firmu, kontakty jsou smyšlené a formuláře nic neodesílají. Studio Demo

Data and API

Calibrated products in standard formats, delivered into your own cloud account or pulled through a STAC API. Nothing proprietary, nothing to decode.

Product levels

Levels are cumulative. You can order any level and reprocess older scenes to a newer calibration at no charge.

Product levels across sensors
LevelOpticalThermalRadarMultispectral
L1BRadiometrically corrected, sensor geometryAt-sensor radianceSLC (complex)Top-of-atmosphere radiance
L1COrthorectified reflectanceNot usedGRD (detected)Orthorectified reflectance
L2Surface reflectance, cloud maskLand surface temperatureGEC (geocoded, calibrated)Surface reflectance, indices
L3Mosaics, cloud-free compositesMonthly compositesCoherence and change pairsWeekly composites, field statistics

Formats and metadata

Every file opens in QGIS, GDAL, ArcGIS and the common Python and R stacks without a plugin.

Formats
FormatUsed forNotes
Cloud-optimised GeoTIFF (COG)All raster productsInternal tiling and overviews, readable by range request, deflate or ZSTD compression
STAC 1.0 JSONMetadata for every sceneExtensions: eo, view, sar, proj, projection; one item per scene
SICD (NITF 2.1)Radar SLCComplex data with full phase history, standard in interferometry tools
GeoJSONMasks, detections, polygonsWGS 84, one feature per object, attributes in properties
GeoParquetField statistics and detections at scaleColumnar, partitioned by month; opens in DuckDB, GeoPandas, BigQuery

Find and fetch scenes

The API follows the open STAC specification, so existing clients work. Authentication uses OAuth 2 client credentials.

Ask for a sandbox key

Search with curl

curl -s -X POST https://api.perihel.example/stac/v1/search \
  -H "Authorization: Bearer $PERIHEL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "collections": ["perihel-multispectral-l2a"],
    "bbox": [-101.1, 37.7, -100.7, 37.9],
    "datetime": "2025-07-01T00:00:00Z/2025-07-31T23:59:59Z",
    "query": { "eo:cloud_cover": { "lt": 10 } },
    "limit": 20
  }'

The same query in Python

from pystac_client import Client
import rasterio

api = Client.open("https://api.perihel.example/stac/v1",
                  headers={"Authorization": f"Bearer {token}"})
items = api.search(
    collections=["perihel-multispectral-l2a"],
    bbox=[-101.1, 37.7, -100.7, 37.9],
    datetime="2025-07-01/2025-07-31",
    query={"eo:cloud_cover": {"lt": 10}},
).item_collection()

with rasterio.open(items[0].assets["data"].href) as src:
    ndvi = (src.read(7) - src.read(4)) / (src.read(7) + src.read(4))

Task and receive

Order a new acquisition through the same API. The response tells you the first opportunity; a webhook calls you when the scene is delivered.

Tasking request

POST /v1/tasks
{
  "sensor": "radar",
  "mode": "stripmap",
  "polarisation": "VV",
  "geometry": { "type": "Polygon", "coordinates": [[[22.0,39.4],[22.4,39.4],[22.4,39.7],[22.0,39.7],[22.0,39.4]]] },
  "window": { "start": "2025-09-12T00:00:00Z", "end": "2025-09-14T00:00:00Z" },
  "priority": "high",
  "webhook": "https://example.com/hooks/perihel"
}

201 Created
{ "task_id": "TSK-482913", "status": "accepted", "first_opportunity": "2025-09-13T04:32:11Z" }

Sample delivery

Push delivery writes into a bucket you own, with a checksum and a delivery receipt next to each scene. Supported targets: Amazon S3, Google Cloud Storage and Azure Blob Storage.

What arrives in your bucket

s3://your-bucket/perihel/
  perihel-radar-grd/
    2025/09/13/
      PH-RAD-20250913-043157-0881.tif        412 MB   COG, float32
      PH-RAD-20250913-043157-0881.json       6 KB     STAC item
      PH-RAD-20250913-043157-0881.sha256     1 KB     checksum
      _receipt/2025-09-13T04:51:20Z.json              delivery receipt

Service levels

These are the figures written into the contract, measured and reported monthly.

Service levels
MeasureCommitmentMeasured over
Delivery after downlink, medianL1B 25 min, L2 60 minCalendar month
Delivery after downlink, 95th percentileWithin 90 minutesCalendar month
Tasking acknowledgementWithin 30 minutes of requestCalendar month
Satellite availability99.5 percentCalendar month
Successful delivery of acquired scenes99.9 percentCalendar quarter
API availability99.9 percentCalendar month
Archive retention7 years, reprocessableContract term
Support response, severity 130 minutes, 24 hours a dayPer incident

Questions about data

Test the API before you sign

A sandbox key and an engineer to answer questions are free.

Ask for a sandbox key