For teams building geospatial products

Turn geospatial data into services your customers can rely on

Find the data you need, run your processing workflows, and debug failures in one system. Use your existing code and run it on infrastructure you control.

Tilebox

Burn scar mapping - Rhodes - July, 2023

CompletedSubmittedSep 10, 2026, 4:27 PM ID 01a08bb7-cb5d-16d4-93ee-69c91096755e
Tasks7
computed7
Progress
100%Overall4/4

Results

Satellite imagery with an orange-red burn overlay across the central and southern portion of an island.

File properties

Namedelta-nbr-rhodes-2023-07.tif
DescriptionChange in normalized burn ratio (Rhodes, July 2023)
TypeCloud-optimized GeoTIFF
Size11.4 MB
Trusted by
The Compression CompanyDPHI SpaceFindusEarthSavvyESAUnibap

Find the right data for your analysis

  • Connect more sources.

    Catalog data across your storage, open archives and commercial providers.

  • Keep the catalog current.

    Workflow-backed indexing updates metadata as source data changes.

  • Find the inputs you need.

    Query by area, time and metadata, without centralizing the raw files.

    Explore data discovery & cataloging

Query areaScene footprints
Millions of datapoints, queried in milliseconds. Ready as workflow input query(sentinel2, Sep 1-10 2026, sicily_polygon, cloud_cover < 10%) Reveal codeHide code
from tilebox.datasets import Client, field
from shapely import Polygon

sicily = Polygon([
    (15.22, 36.56), (15.65, 38.34), (12.33, 38.28),
    (12.20, 37.57), (15.22, 36.56),
])
data = Client().dataset("open_data.aws_earth.sentinel2").query(
    temporal_extent=("2026-09-01", "2026-09-10"),
    spatial_extent=sicily,
    filter=field("cloud_cover") < 10
)

Run your analysis where it needs to happen

Build workflows independent of your compute infrastructure. Tilebox coordinates tasks and dependencies while your code runs on the infrastructure you choose, on demand or on schedule.

Explore workflows
On demand Triggered by a human, application or agent
OR
Scheduled Every morning over monitored facilities
datacenter_buildout.pyPython
class ComputeDatacenterChange(Task):
    area: Polygon
    time_range: tuple[datetime, datetime]

    def execute(self, context):
        scenes = query_sentinel2_scenes(
          self.area, self.time_range
        )
        for scene in scenes:
            context.submit_subtask(
                ProcessScene(scene.id.item(),
                    cluster="aws-us-west2-runners")
            )

Keep processing near your data

Execute tasks in the cloud, on-prem, or across environments. Keep processing near the data or place it on the hardware each step needs.

Explore infrastructure

Completed10 / 10 tasks0 failed
  • runner-a
  • runner-b
  • runner-c
  • runner-d
  • runner-e

Understand every execution

See which tasks ran, where they ran, and the logs behind them. Diagnose a failure, fix its cause, and retry the job while preserving completed work.

Explore workflow observability

Connect the outputs to your product

Make each workflow’s results available through your application, API, or alerting system. Deliver updated analyses as your users need them.

See what Tilebox handles
Chesterfield Google Data Center on April 24, 2026 Chesterfield Google Data Center on April 29, 2024
100change score

Built for teams with something real to ship.

Your prototype is ready for users. A customer needs another data source. A new deployment has to run in a different environment. Tilebox helps your team take each next step.

Launch your service

Spend engineering time on your product, not cataloging and task coordination.

Support new environments

Reuse your workflow logic across cloud and customer deployments.

Expand without rebuilding

Add data sources and analyses without starting over.

Read the EarthSavvy story

“When we needed thermal data, we added Landsat in hours. If we had built this ourselves with open source tools, that would have taken weeks.”

Matt Evans

Matt Evans CEO and Co-Founder, EarthSavvy

Use the stack you already have.

Keep your code, libraries, and infrastructure. Tilebox coordinates the workflow and gives you visibility into each execution.

Made for humans and their agents.

Everything engineers can do with Tilebox is fully accessible to agents. Your agent can write workflows, diagnose failures, monitor runs, fix code, redeploy, and retry in a fast, autonomous feedback loop.

Learn more →
Works with your preferred coding agent
~/wildfire-burn-scar-mapping

Why did the recent wildfire job fail? Investigate and fix it.

I’ll find the latest failed wildfire job, inspect its tasks and logs, and update the workflow.

Listing failed jobs

Inspect job wildfire-sicily-0923

Failed task: map_burn_scar

Read task logs

ValueError: CRS mismatch

I found the issue: the fire perimeter uses EPSG:4326, but the satellite scenes use EPSG:32633. The clipping step expects both to use the same coordinate system.

I’ll reproject the perimeter to each scene’s CRS before clipping, so the workflow handles scenes in different UTM zones.

Edit wildfire.py +3 −1

Updated wildfire.py. The fix is ready to deploy; the existing job hasn’t been retried yet.

Deploy the fixed workflow, then retry the job.

I’ll deploy the updated workflow to the job’s cluster, retry the failed job, and watch it through to completion.

List clusters

Deploy workflow to eo_cluster

Retry job wildfire-sicily-0923

Monitor job completion

The clipping task has passed. The remaining tasks are writing the burn-scar result to storage.

Job succeeded. Result saved to:
s3://wildfire-results/sicily/burn-area.tif

Common questions

We already have a catalog and scheduler. Why use Tilebox?

With separate tools, your team maintains the connections between data discovery, task execution, and debugging. Tilebox brings a live geospatial catalog, workflow coordination, and job-level logs and traces into one system, including workflows that span different compute environments. You still configure your processing and data access, but have fewer connections to build and maintain. Start with one workflow where that work is slowing your team down.

Where does my code run, and does Tilebox move my data?

Your code runs on runners deployed where you need them: cloud infrastructure, local machines, on-prem servers, or suitable edge hardware. Tasks in the same workflow can execute in different environments.

Tilebox can catalog metadata and file references without centralizing the raw files. Your workflow determines what data to read, transfer, and write. Cloud-connected runners need access to the Tilebox API; fully disconnected environments require a separate deployment.

How much of my code has to change?

Keep your existing analysis and dependencies. Wrap the work you want to orchestrate in Tilebox tasks, define their inputs, and submit a job. You keep your analysis logic and compatible libraries while giving the workflow a structure Tilebox can coordinate.

You still configure the runtime, data access, and outputs. You can begin with one workflow rather than migrating your entire application.

What happens when a task or runner fails?

Tilebox records task failures so you can inspect the error, fix the cause, and retry the job without losing all previously completed work. If a runner stops responding, heartbeat detection allows its task to be retried on a compatible runner, subject to retry limits. Tasks should be idempotent because a retry can execute them more than once.

Can our agent use Tilebox too?

Yes. Your agent can use the CLI and skills to query data, run workflows, and inspect job status and logs through authenticated access. This gives the agent real execution context.

See Agentic development →
What can I test for free?

The free Labs plan lets you prototype workflows with open data or your own catalog. You can start with an existing analysis or one of our templates, connect its inputs, run it, and inspect the results.

See current plans and included usage →