Tools · data
Latest satellite images of any point (Sentinel-2)
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.
$0.009 per call, paid in USDC on Base or Solana with x402 — no account, no API key. POST https://fiatdock.com/v1/geo/satellite (or GET with the same fields as query parameters) · MCP tool satellite_scenes. An answer the tool cannot produce is refused with 4xx/5xx and is not charged.
Inputs
| Field | Type | Description | Example |
|---|---|---|---|
lat | number | Latitude in decimal degrees (-90 to 90) | 48.8584 |
lon | number | Longitude in decimal degrees (-180 to 180) | 2.2945 |
maxCloudPct | number | Only scenes with at most this much cloud, 0-100 (default 30) | 30 |
days | integer | How far back to look, in days, 1-365 (default 60) | 60 |
limit | integer | How many scenes, 1-10, newest first (default 3) | 3 |
Example
Request body
{"lat":48.8584,"lon":2.2945}
Answer (the published example)
{"point":{"lat":48.8584,"lon":2.2945},"collection":"sentinel-2-l2a","filters":{"maxCloudPct":30,"days":60},"matched":10,"count":1,"scenes":[{"id":"S2B_31UDQ_20261004_0_L2A","datetime":"2026-10-04T11:07:24.330000Z","cloudCoverPct":6.09,"platform":"sentinel-2b","mgrsTile":"31UDQ","sunElevationDeg":34.1,"gsdMeters":10,"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","stacItemUrl":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_31UDQ_20261004_0_L2A"}],"attribution":"Contains modified Copernicus Sentinel data 2026","source":"Element 84 Earth Search (STAC) over Sentinel-2 L2A on AWS Open Data","asOf":"2026-10-05T00:00:00.000Z","note":"thumbnailUrl is a small JPEG preview; visualUrl is the full true-colour image as a Cloud-Optimized GeoTIFF."}
Call it
curl
# 1) ask: an unpaid call answers 402 with the exact price (free)
curl -i -X POST https://fiatdock.com/v1/geo/satellite -H 'content-type: application/json' -d '{"lat":48.8584,"lon":2.2945}'
# 2) pay: any x402 client signs that 402 and resends — see Node or Python below
Node
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";
const pay = wrapFetchWithPaymentFromConfig(fetch, {
schemes: [{ network: "eip155:*", client: new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_PRIVATE_KEY)) }],
});
const r = 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(r.status, await r.json());
Python
# pip install "x402[httpx,evm]"
import asyncio, json, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm.exact import register_exact_evm_client
async def main():
client = register_exact_evm_client(x402Client(), Account.from_key(os.environ["AGENT_PRIVATE_KEY"]))
async with x402HttpxClient(client) as http:
r = await http.post("https://fiatdock.com/v1/geo/satellite", json=json.loads("{\"lat\":48.8584,\"lon\":2.2945}"))
print(r.status_code, r.json())
asyncio.run(main())
MCP (Claude, Cursor, any MCP client)
{"mcpServers":{"fiatdock":{"command":"npx","args":["-y","fiatdock-mcp"],"env":{"AGENT_PRIVATE_KEY":"0x<your agent wallet key>"}}}}
// then call the tool "satellite_scenes" — the package pays each call from that wallet
The wallet needs USDC on Base. Prefer no install? The remote server https://fiatdock.com/mcp answers the 402 as tool output for an agent that signs its own payments.
Related tools
- Address intelligence on Base — $0.0045
- Base gas price — $0.001
- Base latest block — $0.001
- ETH balance on Base — $0.001
- USDC balance on Base — $0.001
- ERC-20 token metadata — $0.002
Machine-readable: OpenAPI · tools.json · llms.txt · /.well-known/x402