Api Endpoint

Satellite Change Detection

Before/after satellite comparison of the same area on two dates from NASA GIBS true-color imagery (MODIS or VIIRS, about 250 m per pixel): one side-by-side JPEG with date labels plus pixel-based change metrics (share of changed pixels, brightness change) and a cloud, haze and snow estimate for each date, with a plain-language reading that says whether the change is likely real or just weather.

Open interactive test console

Offering

Provider
agentsvc.io
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Weather And Environment
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://agentsvc.io/api/v1/proxy/satellite-compare
MIME type
application/json
First seen
2026-10-16T01:51:10.599Z
Last seen
Tags
satellite-image, change-detection, before-and-after, satellite, flood-mapping

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.013 USDC
Atomic price: 13000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.013 USDC
Atomic price: 13000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Payment option 3
0.013 USDC
Atomic price: 13000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Payment option 4
0.013 USDC
Atomic price: 13000 · Network: eip155:42161 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "13000",
    "payTo": "0x622efA6Ceb83a5b6EdBC931332f4db68B7f74F27"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "13000",
    "payTo": "5JzPS5qpEwUM1vTC9GG7uqvwJdHzbEwfoPHf2Ki977tg"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "13000",
    "payTo": "0x622efA6Ceb83a5b6EdBC931332f4db68B7f74F27"
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "13000",
    "payTo": "0x622efA6Ceb83a5b6EdBC931332f4db68B7f74F27"
  }
]

Observed health

Status
Healthy
Latest latency
320 ms
Average latency
878 ms
HTTP status
204
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "POST",
        "PUT",
        "PATCH"
      ]
    },
    "bodyType": {
      "type": "string",
      "enum": [
        "json",
        "form-data",
        "text"
      ]
    },
    "body": {
      "properties": {
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "minItems": 4,
          "maxItems": 4
        },
        "lat": {
          "type": "number"
        },
        "lon": {
          "type": "number"
        },
        "radius_km": {
          "type": "number",
          "minimum": 5,
          "maximum": 500,
          "default": 50
        },
        "layer": {
          "type": "string",
          "enum": [
            "modis_terra",
            "modis_aqua",
            "viirs_snpp",
            "viirs_noaa20"
          ],
          "default": "modis_terra"
        },
        "width": {
          "type": "integer",
          "minimum": 64,
          "maximum": 768,
          "default": 384,
          "description": "Width of each of the two images; the composite is 2 x width + 8 px"
        },
        "place": {
          "type": "string",
          "description": "Place name instead of coordinates, e.g. \"Valencia, Spain\" (GeoNames, cities and towns)"
        },
        "date_before": {
          "type": "string",
          "description": "YYYY-MM-DD, default 365 days before date_after"
        },
        "date_after": {
          "type": "string",
          "description": "YYYY-MM-DD, default yesterday"
        },
        "include_separate": {
          "type": "boolean",
          "default": false,
          "description": "Also return both images separately as base64"
        }
      },
      "required": []
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "additionalProperties": false
}

Output schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "example": {
      "type": "object",
      "required": [
        "success",
        "data"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "data": {
          "type": "object",
          "properties": {
            "image_base64": {
              "type": "string"
            },
            "mime_type": {
              "type": "string"
            },
            "width": {
              "type": "integer"
            },
            "height": {
              "type": "integer"
            },
            "layout": {
              "type": "string"
            },
            "bbox": {
              "type": "object",
              "properties": {
                "min_lat": {
                  "type": "number"
                },
                "min_lon": {
                  "type": "number"
                },
                "max_lat": {
                  "type": "number"
                },
                "max_lon": {
                  "type": "number"
                }
              }
            },
            "date_before": {
              "type": "string"
            },
            "date_after": {
              "type": "string"
            },
            "layer": {
              "type": "string"
            },
            "layer_id": {
              "type": "string"
            },
            "change": {
              "type": "object",
              "properties": {
                "mean_brightness_change_pct": {
                  "type": "number"
                },
                "changed_pixels_pct": {
                  "type": "number"
                },
                "before": {
                  "type": "object",
                  "properties": {
                    "cloud_or_snow_pct": {
                      "type": "number"
                    },
                    "cloud_haze_or_snow_pct": {
                      "type": "number"
                    },
                    "no_data_pct": {
                      "type": "integer"
                    },
                    "mean_brightness": {
                      "type": "number"
                    }
                  }
                },
                "after": {
                  "type": "object",
                  "properties": {
                    "cloud_or_snow_pct": {
                      "type": "number"
                    },
                    "cloud_haze_or_snow_pct": {
                      "type": "number"
                    },
                    "no_data_pct": {
                      "type": "integer"
                    },
                    "mean_brightness": {
                      "type": "number"
                    }
                  }
                },
                "reliable": {
                  "type": "boolean"
                },
                "reading": {
                  "type": "string"
                }
              }
            },
            "size_bytes": {
              "type": "integer"
            },
            "attribution": {
              "type": "string"
            },
            "note": {
              "type": "string"
            }
          },
          "required": [
            "image_base64",
            "date_before",
            "date_after",
            "change"
          ]
        }
      }
    }
  },
  "required": [
    "type"
  ]
}