Developers
Geospatial AI, one API call away
Detection, change monitoring and natural-language analysis — everything in Atlaso Lens is available through a clean API built on open standards.
from atlaso import Lens
client = Lens() # reads ATLASO_API_KEY
aoi = client.aoi.from_file("rotterdam_port.geojson")
job = client.analyses.create(
aoi=aoi,
models=["buildings-v4", "vessels-v3"],
period=("2025-03-01", "2026-09-30"),
detect_change=True,
)
for change in job.wait().changes(min_confidence=0.9):
print(change.kind, change.area_m2, change.first_seen)import { Lens } from '@atlaso/sdk';
const client = new Lens({ apiKey: process.env.ATLASO_API_KEY });
const monitor = await client.monitors.create({
aoi: 'aoi_8f2k1',
models: ['buildings-v4', 'vessels-v3'],
cadence: 'weekly',
alert: { when: 'change.count > 25', webhook: 'https://example.com/hooks/geo' },
});
console.log(monitor.id, monitor.nextRunAt);curl https://api.atlaso.co.in/v1/ask \
-H "Authorization: Bearer $ATLASO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"aoi": "aoi_8f2k1",
"question": "How many new buildings appeared since March 2025?"
}'200 OK · application/json
{
"answer": "214 new structures inside the AOI since 2025-03-01.",
"confidence": 0.96,
"evidence": {
"model": "buildings-v4",
"scenes": ["optical_20250304", "optical_20260918"],
"features": "https://api.atlaso.co.in/v1/results/res_93kd/features.geojson"
},
"usage": { "km2": 38.4, "credits": 12 }
}Platform
Designed for builders
The primitives you need to embed geospatial intelligence into any product or data pipeline.
Predictable REST API
Resource-oriented endpoints, JSON everywhere, idempotency keys and cursor pagination.
Typed SDKs
First-class Python and TypeScript SDKs with async support, retries and rich result objects.
Webhooks
Signed events for completed analyses, new detections and monitor alerts.
STAC-native
Every scene and result is a STAC item, so it plugs into the open geospatial ecosystem.
OGC tile services
Stream imagery and results as WMTS or vector tiles into any web map or GIS.
Built to scale
Process continent-scale jobs asynchronously with progress events and partial results.
Quickstart
Your first analysis in five minutes
Go from API key to detections on a real area of interest — no imagery ordering, preprocessing or GPUs required.
- 1
Get an API key
Create a key in workspace settings. Keys are scoped per project and can be rotated anytime.
export ATLASO_API_KEY="sk_live_…" - 2
Install an SDK
Use our Python or TypeScript SDK, or call the REST API directly from any language.
pip install atlaso # or npm install @atlaso/sdk - 3
Define an area of interest
Upload GeoJSON, reference a saved AOI or pass a bounding box.
aoi = client.aoi.from_bbox([4.38, 51.88, 4.52, 51.96]) - 4
Run a model
Choose models and a time range. Results stream back as soon as tiles complete.
job = client.analyses.create(aoi=aoi, models=["vessels-v3"])
Reference
Core endpoints
Base URL: https://api.atlaso.co.in
- POST
/v1/aoisCreate an area of interest from GeoJSON - GET
/v1/catalog/searchSearch available imagery (STAC API) - POST
/v1/analysesRun one or more models over an AOI and time range - GET
/v1/analyses/{id}/featuresStream detected features as GeoJSON - POST
/v1/monitorsCreate a recurring monitor with alert rules - POST
/v1/askAsk a natural-language question about an AOI - POST
/v1/models/{id}/fine-tuneFine-tune a model with your labels
SDKs
Use the language you already know
Python
pip install atlasoPython 3.9+, sync & async
TypeScript
npm i @atlaso/sdkNode 18+, Deno, edge runtimes
CLI
brew install atlasoScripting, CI and quick exports
Need a sandbox key? We provide free sandbox access with sample AOIs for evaluation and hackathons.
Get sandbox accessBuild geospatial intelligence into your product
Talk to our developer success team about volume pricing, SLAs and custom models.