Skip to content
Eden Engine

Digital Earth Africa Scene Search: Satellite Scenes by Collection, Area and Date

digitalearthafrica/search-items

Searches Digital Earth Africa's satellite data catalogue (STAC) for scenes of one collection, such as s2_l2a (Sentinel-2), ls8_sr (Landsat 8), wofs_ls (water observations) or rainfall_chirps_monthly, optionally within a bounding box and a date or date range. Returns up to 20 scenes with id, footprint, acquisition time, product properties and links to the data files, plus the total number of matching scenes and an offset to page. Catalogue metadata only: the files themselves are not fetched. Large collections can take 25 seconds without a date range or box. Use the catalogue root tool for collection ids. Digital Earth Africa data, passed through unmodified and served by Eden Engine; not an official Digital Earth Africa product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

Digital Earth Africa

Catalogue metadata from Digital Earth Africa (digitalearthafrica.org), Open Data Cube Explorer STAC API. Each product has its own licence and credit line, which the catalogue links to; check it before reusing the files a scene points to. Served by Eden Engine; not an official Digital Earth Africa product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "digitalearthafrica/search-items" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "digitalearthafrica/search-items" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "digitalearthafrica/search-items", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "digitalearthafrica/search-items", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 21, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "collection",
    "limit"
  ],
  "properties": {
    "bbox": {
      "type": "string",
      "pattern": "^-?[0-9]{1,3}(\\.[0-9]+)?(,-?[0-9]{1,3}(\\.[0-9]+)?){3}$",
      "description": "Optional bounding box as west,south,east,north in decimal degrees (WGS84), no spaces, for example 36.7,-1.4,36.9,-1.2 (Nairobi). Leave out for the whole collection."
    },
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "How many scenes to return, 1 to 20. Required."
    },
    "offset": {
      "type": "integer",
      "maximum": 99999,
      "minimum": 0,
      "description": "Number of scenes to skip, for reading the next page (the `_o` value of the `next` link). Leave out to start at the first scene."
    },
    "datetime": {
      "type": "string",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}Z)?(/[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}Z)?)?$",
      "description": "Optional date or range: 2024-01-15, 2024-01-01/2024-01-31 or 2024-01-01T00:00:00Z/2024-01-31T23:59:59Z (UTC). Leave out for all dates. A date range keeps large collections fast."
    },
    "collection": {
      "enum": [
        "alos_palsar_mosaic",
        "cci_landcover",
        "cgls_landcover",
        "cgls_lwq100_2019_2024",
        "cgls_lwq100_2024_nrt",
        "cgls_lwq300_2002_2012",
        "cgls_lwq300_2016_2024",
        "cgls_lwq300_2024_nrt",
        "crop_mask",
        "crop_mask_central",
        "crop_mask_eastern",
        "crop_mask_indian_ocean",
        "crop_mask_northern",
        "crop_mask_sahel",
        "crop_mask_southeast",
        "crop_mask_southern",
        "crop_mask_western",
        "dem_cop_30",
        "dem_cop_90",
        "dem_srtm",
        "dem_srtm_deriv",
        "esa_worldcereal_activecropland",
        "esa_worldcereal_maize_active",
        "esa_worldcereal_maize_irrigation",
        "esa_worldcereal_maize_main",
        "esa_worldcereal_temporarycrops",
        "esa_worldcereal_wintercereals",
        "esa_worldcereal_wintercereals_irrigation",
        "esa_worldcover",
        "esa_worldcover_2020",
        "esa_worldcover_2021",
        "fc_ls",
        "fc_ls_summary_annual",
        "gm_ls5_ls7_annual",
        "gm_ls5_ls7_annual_lowres",
        "gm_ls8_annual",
        "gm_ls8_annual_lowres",
        "gm_ls8_ls9_annual",
        "gm_ls8_ls9_annual_lowres",
        "gm_s2_annual",
        "gm_s2_annual_lowres",
        "gm_s2_rolling",
        "gm_s2_semiannual",
        "gm_s2_semiannual_lowres",
        "gmw",
        "io_lulc",
        "io_lulc_v2",
        "isda_soil_bedrock_depth",
        "isda_soil_bulk_density",
        "isda_soil_carbon_total",
        "isda_soil_clay_content",
        "isda_soil_sand_content",
        "isda_soil_silt_content",
        "iwmi_beneficial_fraction_monthly",
        "iwmi_blue_et_monthly",
        "iwmi_et_fraction_monthly",
        "iwmi_evaporation_monthly",
        "iwmi_evaporative_stress_index_monthly",
        "iwmi_green_et_monthly",
        "iwmi_interception_monthly",
        "iwmi_number_of_rainy_days_monthly",
        "iwmi_transpiration_monthly",
        "jers_sar_mosaic",
        "landsat_c2l2_ar",
        "ls5_sr",
        "ls5_st",
        "ls7_sr",
        "ls7_st",
        "ls8_sr",
        "ls8_st",
        "ls9_sr",
        "ls9_st",
        "nasadem",
        "ndvi_anomaly",
        "ndvi_climatology_ls",
        "rainfall_chirps_daily",
        "rainfall_chirps_monthly",
        "s1_monthly_mosaic",
        "s1_rtc",
        "s2_l2a",
        "s2_l2a_c1",
        "s3_ol_2_wfr_nrt",
        "s3_olci_l2_lfr",
        "s3_olci_l2_wfr",
        "s3_slstr_l2_lst",
        "s3_syn_2_vg1",
        "s5p_tropomi_l2_aer_ai",
        "s5p_tropomi_l2_ch4",
        "s5p_tropomi_l2_cloud",
        "s5p_tropomi_l2_co",
        "s5p_tropomi_l2_hcho",
        "s5p_tropomi_l2_no2",
        "s5p_tropomi_l2_o3",
        "s5p_tropomi_l2_so2",
        "wapor_soil_moisture",
        "wofs_ls",
        "wofs_ls_summary_alltime",
        "wofs_ls_summary_annual",
        "wq_annual",
        "wsf_2015",
        "wsf_2019",
        "wsf_evolution"
      ],
      "type": "string",
      "description": "The collection id to search, for example s2_l2a (Sentinel-2), ls8_sr (Landsat 8 surface reflectance), wofs_ls (water observations from Landsat) or rainfall_chirps_monthly. The catalogue root tool lists them."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "type",
    "features"
  ],
  "properties": {
    "type": {
      "type": "string",
      "description": "Always FeatureCollection."
    },
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "features": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type",
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The scene or tile dataset id."
          },
          "bbox": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "[west, south, east, north]."
          },
          "type": {
            "type": "string",
            "description": "Always Feature."
          },
          "links": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "assets": {
            "type": "object",
            "description": "The files of the scene: each asset has an `href` (usually an s3:// URL) and a `type`. This tool lists them; it does not fetch them.",
            "additionalProperties": true
          },
          "geometry": {
            "type": [
              "object",
              "null"
            ],
            "description": "The footprint, a GeoJSON geometry.",
            "additionalProperties": true
          },
          "collection": {
            "type": "string"
          },
          "properties": {
            "type": "object",
            "description": "Acquisition time (`datetime`, or `start_datetime` and `end_datetime` for products spanning a period), platform and product-specific fields.",
            "additionalProperties": true
          },
          "stac_version": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "description": "The scenes. Empty when nothing matches; that is not an error."
    },
    "numberMatched": {
      "type": "integer"
    },
    "numberReturned": {
      "type": "integer"
    }
  },
  "description": "A STAC FeatureCollection: `features` is the page, `numberMatched` the total matching scenes and `numberReturned` the page size. A `next` link in `links` carries the offset of the next page.",
  "additionalProperties": true
}