ASTRA OS
FeaturesUse CasesPricingDocsBlog

Documentation

Getting StartedAuthenticationUnified SearchScene DetailsAsset ResolverProcessingData SourcesSDKs
Getting StartedAuthenticationUnified SearchScene DetailsAsset ResolverProcessingData SourcesSDKs
Asset Resolver

Asset Resolver API

Resolve download URLs for specific spectral bands and output formats. The asset resolver handles COG routing, band selection, and format conversion so you always get consistent, analysis-ready data.

Endpoint

GET/api/v1/assets

Requires authentication via Bearer token.

Query Parameters

ParameterTypeRequiredDescription
scene_idstringRequiredThe provider-scoped scene ID (e.g., sentinel-2:S2B_MSIL2A_20250115T184929). See Scene Details for ID format.
bandsstringOptionalComma-separated list of band names to include. Accepts both native names (B04,B08) and common names (red,nir). Omit to return all available bands.
formatstringOptionalOutput format. One of: cog (default), geotiff, png, jpeg. COG is recommended for analysis workflows.

COG Routing Logic

The asset resolver intelligently routes requests to the most efficient data source based on the scene provider and requested format. This is handled transparently so you always get a direct download URL.

How it works

1
Scene lookup -- The resolver identifies the upstream provider and original asset catalog for the given scene ID.
2
Band mapping -- Common band names (e.g., nir) are translated to provider-specific names (e.g., Sentinel-2 B08, Landsat B05).
3
COG preference -- If the provider already serves COGs (e.g., Planetary Computer), the resolver returns the direct URL. If the source format is not COG, it routes through the ASTRA conversion pipeline.
4
Signed URLs -- All returned URLs are pre-signed with a 1-hour expiry. No additional authentication is needed to download the assets.

Example Request

cURL

terminal
curl "https:"color: #6b7280">//astraos.cloud/api/v1/assets?\
scene_id=sentinel-2:S2B_MSIL2A_20250115T184929&\
bands=red,nir&\
format=cog" \
-H "Authorization: Bearer astra_sk_live_your_key_here"

Python

assets_example.py
import requests
response = requests.get(
"https://astraos.cloud/api/v1/assets",
params={
"scene_id": "sentinel-2:S2B_MSIL2A_20250115T184929",
"bands": "red,nir",
"format": "cog",
},
headers={"Authorization": "Bearer astra_sk_live_your_key_here"},
)
assets = response.json()
for band_name, asset in assets["assets"].items():
print(f"{band_name}: {asset[&"color: #6b7280">#39;href']}")
"color: #6b7280"># Download the red band COG
import urllib.request
red_url = assets["assets"]["B04"]["href"]
urllib.request.urlretrieve(red_url, "red_band.tif")

JavaScript

assets_example.js
const params = new URLSearchParams({
scene_id: "sentinel-2:S2B_MSIL2A_20250115T184929",
bands: "red,nir",
format: "cog",
});
const res = await fetch(`https:"color: #6b7280">//astraos.cloud/api/v1/assets?${params}`, {
headers: { Authorization: "Bearer astra_sk_live_your_key_here" },
});
const data = await res.json();
Object.entries(data.assets).forEach(([band, asset]) => {
console.log(`${band}: ${asset.href}`);
});

Response Format

response.json
1{
2 "scene_id": "sentinel-2:S2B_MSIL2A_20250115T184929",
3 "format": "cog",
4 "assets": {
5 "B04": {
6 "href": "https://storage.astraos.cloud/assets/abc123/B04.tif?sig=...",
7 "type": "image/tiff; application=geotiff; profile=cloud-optimized",
8 "title": "Red (B04) - 10m",
9 "file:size": 52428800,
10 "eo:bands": [{ "name": "B04", "common_name": "red", "center_wavelength": 0.665 }],
11 "expires_at": "2025-01-15T20:00:00Z"
12 },
13 "B08": {
14 "href": "https://storage.astraos.cloud/assets/abc123/B08.tif?sig=...",
15 "type": "image/tiff; application=geotiff; profile=cloud-optimized",
16 "title": "NIR (B08) - 10m",
17 "file:size": 52428800,
18 "eo:bands": [{ "name": "B08", "common_name": "nir", "center_wavelength": 0.842 }],
19 "expires_at": "2025-01-15T20:00:00Z"
20 }
21 },
22 "metadata": {
23 "crs": "EPSG:32610",
24 "resolution": 10,
25 "source_provider": "copernicus",
26 "routing": "direct"
27 }
28}
FieldDescription
assets[].hrefPre-signed download URL. Valid for 1 hour. No additional auth required.
assets[].file:sizeFile size in bytes for the resolved asset.
assets[].expires_atISO 8601 timestamp when the signed URL expires.
metadata.routingdirect if the provider natively serves COGs; converted if ASTRA ran a format conversion.
metadata.resolutionGround sample distance in meters for the resolved bands.

Common Band Names

You can use either provider-native band names or STAC common names. The resolver maps common names to the correct provider band automatically.

Common NameSentinel-2Landsat 8/9
blueB02B02
greenB03B03
redB04B04
nirB08B05
swir16B11B06
swir22B12B07
← Scene DetailsProcessing →
ASTRA OS

The Operating System for Earth Observation Data.

Product

  • Features
  • Pricing
  • Use Cases
  • Changelog

Developers

  • Documentation
  • API Reference
  • SDKs
  • Status

Company

  • About
  • Blog
  • Careers
  • Contact

Legal

  • Privacy
  • Terms
  • Security

© 2026 ASTRA OS. All rights reserved.