80trust / 100
Flood Risk
by Factline in Security & trust
x402 APIPassing, checked 3 h ago
Use when the user asks if a Dutch address can flood: annual flood probability (any water, over 20, 50 and 200 cm) from Rijkswaterstaat LIWO, 2050 and 2100 climate scenarios, worst-case water depth and ground height vs sea level (AHN). Input: postcode + house number.
GET https://factline.dev/v1/flood-risk
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 53 ms typical, 53 ms slowest 5%
- Last check
- 3 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://factline.dev/v1/flood-risk?house_number=100&postcode=2517AS"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%2Ffactline.dev%2Fv1%2Fflood-risk
const res = await pay("https://factline.dev/v1/flood-risk?house_number=100&postcode=2517AS");
console.log(await res.json());Example input
{
"house_number": 100,
"postcode": "2517AS"
}Example output
{
"address": {
"city": "'s-Gravenhage",
"house_number": 100,
"label": "Laan van Meerdervoort 100, 2517AS 's-Gravenhage",
"lat": 52.08359668,
"lon": 4.29193161,
"postcode": "2517AS"
},
"flood_probability_over_50_cm_future": {
"2050": {
"annual": "1 in 3,000 to 1 in 30,000 per year",
"class": 2,
"label": "very small"
},
"2100": {
"annual": "1 in 3,000 to 1 in 30,000 per year",
"class": 2,
"label": "very small"
}
},
"flood_probability_today": {
"any_water": {
"annual": "less than 1 in 30,000 per year",
"class": 1,
"label": "extremely small"
},
"over_200_cm": {
"annual": "none modelled",
"class": 0,
"label": "not exposed"
},
"over_20_cm": {
"annual": "less than 1 in 30,000 per year",
"class": 1,
"label": "extremely small"
},
"over_50_cm": {
"annual": "less than 1 in 30,000 per year",
"class": 1,
"label": "extremely small"
}
},
"ground_height": {
"below_sea_level": false,
"metres_nap": 1.44
},
"source": "Rijkswaterstaat LIWO (basisinformatie-overstromingen.nl), AHN via PDOK",
"summary": "Chance of flooding deeper than 50 cm: less than 1 in 30,000 per year (extremely small). Worst modelled water depth: 1.44 m.",
"worst_case_max_water_depth_m": 1.44
}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 |
|---|---|---|---|---|
| 3 h ago | Passed | 402 | 53 ms | $0.004 |
| 7 h ago | Passed | 402 | 64 ms | $0.004 |
| 12 h ago | Passed | 402 | 46 ms | $0.004 |