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/assetsRequires authentication via Bearer token.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| scene_id | string | Required | The provider-scoped scene ID (e.g., sentinel-2:S2B_MSIL2A_20250115T184929). See Scene Details for ID format. |
| bands | string | Optional | Comma-separated list of band names to include. Accepts both native names (B04,B08) and common names (red,nir). Omit to return all available bands. |
| format | string | Optional | Output 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 requestsresponse = 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;href39;]}")"color: #6b7280"># Download the red band COGimport urllib.requestred_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}| Field | Description |
|---|---|
| assets[].href | Pre-signed download URL. Valid for 1 hour. No additional auth required. |
| assets[].file:size | File size in bytes for the resolved asset. |
| assets[].expires_at | ISO 8601 timestamp when the signed URL expires. |
| metadata.routing | direct if the provider natively serves COGs; converted if ASTRA ran a format conversion. |
| metadata.resolution | Ground 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 Name | Sentinel-2 | Landsat 8/9 |
|---|---|---|
| blue | B02 | B02 |
| green | B03 | B03 |
| red | B04 | B04 |
| nir | B08 | B05 |
| swir16 | B11 | B06 |
| swir22 | B12 | B07 |