78trust / 100

Proxy Satellite Compare

by Satellite Change Detection in Weather & location

x402 APIPassing, checked 45 min ago

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.

POST https://agentsvc.io/api/v1/proxy/satellite-compare

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
115 ms typical, 149 ms slowest 5%
Last check
45 min ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://agentsvc.io/api/v1/proxy/satellite-compare" \
  -H "content-type: application/json" \
  -d '{"date_after":"2016-05-10","date_before":"2014-05-10","lat":-18.75,"lon":-67.1,"radius_km":50,"width":256}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fagentsvc.io%2Fapi%2Fv1%2Fproxy%2Fsatellite-compare
const res = await pay("https://agentsvc.io/api/v1/proxy/satellite-compare", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"date_after":"2016-05-10","date_before":"2014-05-10","lat":-18.75,"lon":-67.1,"radius_km":50,"width":256}),
});
console.log(await res.json());

Example input

{
  "date_after": "2016-05-10",
  "date_before": "2014-05-10",
  "lat": -18.75,
  "lon": -67.1,
  "radius_km": 50,
  "width": 256
}

Example output

{
  "data": {
    "attribution": "NASA EOSDIS GIBS / Worldview",
    "bbox": {
      "max_lat": -18.2995,
      "max_lon": -66.6243,
      "min_lat": -19.2005,
      "min_lon": -67.5757
    },
    "change": {
      "after": {
        "cloud_haze_or_snow_pct": 18.3,
        "cloud_or_snow_pct": 6.4,
        "mean_brightness": 49.8,
        "no_data_pct": 0
      },
      "before": {
        "cloud_haze_or_snow_pct": 8.6,
        "cloud_or_snow_pct": 0.5,
        "mean_brightness": 42.6,
        "no_data_pct": 13
      },
      "changed_pixels_pct": 20.1,
      "mean_brightness_change_pct": 7.3,
      "reading": "Visible change in part of the area (for example water level, burn scars, floo...",
      "reliable": true
    },
    "date_after": "2016-05-10",
    "date_before": "2014-05-10",
    "height": 264,
    "image_base64": "/9j/2wBDAAYEBAUEBAYFBQUG…",
    "layer": "modis_terra",
    "layer_id": "MODIS_Terra_CorrectedReflectance_TrueColor",
    "layout": "side_by_side: left = date_before, right = date_after, date labels on top",
    "mime_type": "image/jpeg",
    "note": "Daily true-color mosaics at about 250 m per pixel. Change metrics are compute...",
    "size_bytes": 22150,
    "width": 520
  },
  "success": true
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
45 min agoPassed402127 ms$0.013
5 h agoPassed40260 ms$0.013
8 h agoPassed402121 ms$0.013
12 h agoPassed402111 ms$0.013
15 h agoPassed402115 ms$0.013
19 h agoPassed40258 ms$0.013
23 h agoPassed402149 ms$0.013
26 h agoPassed402112 ms$0.013
30 h agoPassed402120 ms$0.013
34 h agoPassed402314 ms$0.013
37 h agoPassed402118 ms$0.013
42 h agoPassed40255 ms$0.013