Every 5 days, the European Copernicus Sentinel-2 satellites image the entire land surface of the Earth at 10-meter resolution. Every 16 days, Landsat does it at 30 meters. Add SAR from Sentinel-1, MODIS, Harmonized Landsat Sentinel, and a growing list of commercial constellations, and Earth observation is now producing petabytes of imagery every year. The question is not whether you have the data. It is how you turn petabytes of pixels into answers.
Three developments in 2024 and 2025 changed the answer. First, open foundation models like Clay and Prithvi-EO made it possible to fine- tune accurate classifiers with hundreds of labeled examples rather than tens of thousands. Second, TorchGeo standardized the preprocessing pipeline. Third, cloud-native data formats like Cloud- Optimized GeoTIFF and STAC catalogs made bulk access tractable.
SciRouter's geospatial API combines all three into a single endpoint. You specify an area of interest and a task; the service fetches the right imagery, runs the right model, and returns the result as GeoJSON, raster, or a vector tile-ready mask.
Earth observation is a data problem
A single Sentinel-2 granule covers 100 by 100 kilometers in 13 spectral bands at roughly 1 GB per acquisition. Multiply by 500 granules needed to cover a country, times a 5-year time series, and you are quickly past 100 TB for a single project. Setting up the storage, network, and compute to handle that locally is a multi- month project. The cloud-native Earth observation movement solves this by storing imagery in Cloud-Optimized GeoTIFF on object storage, with STAC catalogs for discovery, so you only fetch the pixels you actually need.
The API takes advantage of that infrastructure. When you submit an area of interest, the service queries STAC, downloads only the relevant tiles, and streams them into the model. You never handle gigabytes of imagery yourself.
Clay: the open Earth observation foundation model
Clay Foundation is an open-source foundation model for satellite imagery, analogous to what DINOv2 and MAE did for natural images. It was pretrained on a diverse multi-sensor corpus covering Sentinel-2, Sentinel-1 SAR, Landsat, and MODIS, and the resulting embedding space captures semantic similarity across sensors and seasons.
What makes Clay valuable in practice is few-shot transfer. A classical approach to mapping, say, oil palm plantations in Borneo would require tens of thousands of labeled polygons to train a segmentation model from scratch. With Clay as a backbone, a few hundred labels are often enough to fine-tune an accurate model. That reduces labeling cost from six figures to four, which is the difference between a project that happens and one that does not.
- Backbone. Vision transformer pretrained with a masked autoencoder objective.
- Licenses. Open source (Apache-2) with commercial use permitted.
- Use cases. Land cover classification, change detection, crop mapping, building segmentation, habitat monitoring.
Prithvi-EO: NASA and IBM for Landsat
Prithvi-EO is the geospatial counterpart to Prithvi-WxC (weather and climate). It is a transformer trained on HLS (Harmonized Landsat Sentinel) data and released openly on Hugging Face. Compared to Clay, it is more specialized for Landsat-class sensors and has a particularly strong fine-tuning story for burn scars, flood masks, and agricultural extent.
There is no single right answer for which model to use. The recommended pattern is to run both on a labeled benchmark for your task and pick the better performer. The API exposes both with a single parameter change.
TorchGeo: the plumbing layer
Microsoft's TorchGeo library handles the unglamorous but essential parts of geospatial ML: dataset loading, spatial sampling, coordinate reference system alignment, and batching. It also ships with pretrained classification and segmentation models for many standard tasks. The API wraps TorchGeo so you can call these pretrained models without installing the library.
For custom fine-tuning, TorchGeo provides the backbones and the API provides hosted training runs. You upload labels, pick a backbone (Clay, Prithvi-EO, or a ResNet), and the service returns a fine-tuned model you can call like any other endpoint.
A land use classification call
Here is a typical workflow. You pass an area of interest as GeoJSON, specify the task (land use classification), pick the model, and optionally supply a date range for temporal composites.
import httpx
API_KEY = "sk-sci-..."
BASE = "https://scirouter.ai/v1"
# Area of interest: a bounding box around Iowa farmland
aoi = {
"type": "Polygon",
"coordinates": [
[
[-93.8, 41.5],
[-93.2, 41.5],
[-93.2, 42.0],
[-93.8, 42.0],
[-93.8, 41.5],
]
],
}
response = httpx.post(
f"{BASE}/geospatial/classify-landuse",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "clay-v1",
"sensor": "sentinel-2",
"aoi": aoi,
"start_date": "2025-06-01",
"end_date": "2025-08-31",
"taxonomy": "esa-worldcover",
"output_format": "geojson",
},
timeout=600,
)
result = response.json()
print(f"Classified {result['n_pixels']} pixels")
print(f"Dominant classes: {result['class_histogram']}")
# Download the output as a COG
import rasterio
with rasterio.open(result["raster_url"]) as src:
landcover = src.read(1)The call returns a classified raster plus vector polygons for each land cover class. Processing a 30 by 30 km area at 10 m resolution takes about 30 seconds end to end, including the Sentinel-2 download.
Change detection and time series
Many of the most valuable Earth observation applications are about change rather than a single snapshot: deforestation alerts, construction monitoring, reservoir filling, glacier retreat. The API exposes a change detection endpoint that takes two timestamps (or date ranges for composites) and returns a change mask and classification.
Under the hood, change detection uses Clay embeddings for each timestamp plus a lightweight head trained to distinguish real change from seasonal and illumination variation. This is strictly better than the classical difference-of-NDVI approach because it ignores phenology and cloud shadows that would otherwise generate false positives.
Deforestation and forest monitoring
Forest monitoring is one of the flagship use cases. Global Forest Watch, MAAP, and similar initiatives publish deforestation alerts derived from Landsat and Sentinel. The API wraps pretrained deforestation classifiers for Amazon, Congo Basin, and Southeast Asia biomes, each fine-tuned on thousands of labeled events.
For NGOs, government agencies, and commodity supply chain auditors, this means getting near-real-time deforestation alerts without training a model. You call the API with an area and a recent date, and you get back polygons flagging suspected clearing.
Building segmentation and urban mapping
For urban applications (damage assessment after disasters, growth monitoring, population estimation), building segmentation is the core primitive. The API exposes a SpaceNet-trained segmentation model that returns building footprints as vector polygons. Accuracy depends on resolution; 10 m Sentinel-2 gives rough extents while higher-resolution commercial imagery yields individual rooftops.
Disaster response use cases
Earth observation is a go-to tool for disaster response. The API supports several pretrained pipelines:
- Flood extent. Sentinel-1 SAR segmentation that works through cloud cover, critical for flood monitoring.
- Wildfire burn scar. Post-fire burn severity mapping using NBR indices plus a learned classifier.
- Earthquake damage. Before-after change detection for building collapse in urban areas.
- Oil spill. SAR-based slick detection on the ocean surface.
Each endpoint is tuned for operational latency: you can get a first pass over an area of interest within minutes of new imagery becoming available.
Getting started
The easiest way to explore is through Geospatial Lab, which lets you draw an area of interest on a map, pick a task, and see results overlaid on the imagery. The lab reveals the exact API call so you can drop it into a notebook or a production pipeline once you are satisfied with the output.
For researchers, the combination of free Sentinel and Landsat data, open foundation models, and a hosted API removes most of the friction that used to slow Earth observation projects. What used to be a six-month data engineering effort is now a week.