81trust / 100
Geo Satellite
by FiatDock in Developer tools
x402 APIPassing, checked 2 h ago
The latest Sentinel-2 satellite images of any point on Earth - date, cloud cover, tile, a JPEG preview link and the full true-colour image (10 m per pixel, Cloud-Optimized GeoTIFF) - newest first, under a cloud limit (default 30%) within a look-back window (default 60 days). Copernicus open data via Earth Search; the required attribution is included. Send {} for the published example point. No scene is not charged. Pay-per-call via x402.
POST https://fiatdock.com/v1/geo/satellite
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 43 ms typical, 43 ms slowest 5%
- Last check
- 2 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X POST "https://fiatdock.com/v1/geo/satellite" \
-H "content-type: application/json" \
-d '{"lat":48.8584,"lon":2.2945}'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%2Ffiatdock.com%2Fv1%2Fgeo%2Fsatellite
const res = await pay("https://fiatdock.com/v1/geo/satellite", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"lat":48.8584,"lon":2.2945}),
});
console.log(await res.json());Example input
{
"lat": 48.8584,
"lon": 2.2945
}Example output
{
"asOf": "2026-10-05T00:00:00.000Z",
"attribution": "Contains modified Copernicus Sentinel data 2026",
"collection": "sentinel-2-l2a",
"count": 1,
"filters": {
"days": 60,
"maxCloudPct": 30
},
"matched": 10,
"note": "thumbnailUrl is a small JPEG preview; visualUrl is the full true-colour image as a Cloud-Optimized GeoTIFF.",
"point": {
"lat": 48.8584,
"lon": 2.2945
},
"scenes": [
{
"cloudCoverPct": 6.09,
"datetime": "2026-10-04T11:07:24.330000Z",
"gsdMeters": 10,
"id": "S2B_31UDQ_20261004_0_L2A",
"mgrsTile": "31UDQ",
"platform": "sentinel-2b",
"stacItemUrl": "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_31UDQ_20261004_0_L2A",
"sunElevationDeg": 34.1,
"thumbnailUrl": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/31/U/DQ/2026/10/S2B_31UDQ_20261004_0_L2A/thumbnail.jpg",
"visualUrl": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/31/U/DQ/2026/10/S2B_31UDQ_20261004_0_L2A/TCI.tif"
}
],
"source": "Element 84 Earth Search (STAC) over Sentinel-2 L2A on AWS Open Data"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 2 h ago | Passed | 402 | 164 ms | $0.009 |
| 8 h ago | Passed | 402 | 43 ms | $0.009 |