# Foresight Engine > Sourced ten-year forecasts of insured losses for one driver, claim cause and geography, and a catalog of the technology ventures that mitigate them. Every number traces to an archived source and two named approvers. Read everything through a public, read-only JSON API with no key. Foresight Engine is the application form of the VIG Claims-Tech Foresight Methodology, built for Vienna Insurance Group. Each run takes a scope (for example climate change driving flood damage to property in the EU, UK and Switzerland over 2025 to 2035) and produces a venture catalog, a ten-year insured-loss forecast with low and high bands, a sensitivity analysis and the evidence graph behind them. ## When to use Foresight Engine - You need a list of companies and initiatives working on a specific insured loss (flood or wildfire damage to property in Europe today), with their country, impact channel (hazard, vulnerability or recovery), evidence tier and sources. - You need a ten-year insured-loss trajectory for one of those scopes, before and after mitigating technology, with its uncertainty band and the parameters that move it most. - You need to cite where a figure comes from: every value links to an archived snapshot (by SHA-256 digest) and to the research leads who signed it off. - Do not use it for live market prices, insurance quotes, policy terms or claims about individual people. It holds none of those. ## How to call it 1. `GET https://foresight-engine.pages.dev/api/runs` lists every run with its scope, stage and counts. Pick a run `id`. 2. `GET /api/runs/{run_id}/ventures` returns the venture catalog; `/categories` the mitigation categories; `/forecast` the loss forecast; `/sensitivity` its drivers; `/evidence` the sources. 3. `GET /api/runs/{run_id}/snapshots/{digest}` returns the archived bytes of a cited source. 4. Any page of the site is also served as Markdown when you send `Accept: text/markdown`. No authentication. JSON bodies are exactly what the engine's kernel returns. Writing (new runs, sign-offs, task replies) happens in the web app and is not part of the API. ## API - [OpenAPI 3.1 document](https://foresight-engine.pages.dev/openapi.json): every endpoint with operationIds, parameters and response schemas, ready for function calling - [API and agent guide](https://foresight-engine.pages.dev/docs): quickstart, endpoints, errors and limits - [Engine health and version](https://foresight-engine.pages.dev/api/health): `GET /api/health`, operationId `getHealth` - [List industry packs](https://foresight-engine.pages.dev/api/packs): `GET /api/packs`, operationId `listPacks` - Get one industry pack: `GET https://foresight-engine.pages.dev/api/packs/{pack_id}`, operationId `getPack` - [List forecast runs](https://foresight-engine.pages.dev/api/runs): `GET /api/runs`, operationId `listRuns` - Get one run with its stages and sign-offs: `GET https://foresight-engine.pages.dev/api/runs/{run_id}`, operationId `getRun` - List a run's venture catalog: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/ventures`, operationId `listRunVentures` - List a run's mitigation categories: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/categories`, operationId `listRunCategories` - Get a run's loss forecast: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/forecast`, operationId `getRunForecast` - Get a run's sensitivity analysis: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/sensitivity`, operationId `getRunSensitivity` - Get a run's evidence graph: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/evidence`, operationId `getRunEvidence` - Get a run's event log: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/log`, operationId `getRunLog` - List a run's agent tasks: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/tasks`, operationId `listRunTasks` - Get a run's methodology gate findings: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/gates`, operationId `getRunGates` - Get a run's category tiering check: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/evals/tiering`, operationId `getRunTieringEval` - [List agent tasks across all runs](https://foresight-engine.pages.dev/api/tasks): `GET /api/tasks`, operationId `listTasks` - Download an archived source snapshot: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/snapshots/{digest}`, operationId `getRunSnapshot` - Download a venture's logo: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/logos/{vid}`, operationId `getVentureLogo` - Download a run's venture catalog workbook: `GET https://foresight-engine.pages.dev/api/runs/{run_id}/exports/catalog.xlsx`, operationId `downloadVentureCatalog` - [Command-line client](https://foresight-engine.pages.dev/docs#command-line): run from the repository with Node 18 or later; `runs`, `ventures`, `forecast`, `evidence` and more, with `--json` for piping - [Contacting the team](https://foresight-engine.pages.dev/docs#contacting-the-team): `POST /api/contact` with `name` and `message`; delivered privately to the research team ## Runs - [Flood damage to property, Europe (EU + UK + CH)](https://foresight-engine.pages.dev/runs/2026-flooding-europe): Climate Change driving flood damage to property in Europe (EU + UK + CH); JSON at https://foresight-engine.pages.dev/api/runs/2026-flooding-europe; frozen 2026-05-22 - [Flood damage to property, Europe (EU + UK + CH)](https://foresight-engine.pages.dev/runs/2026-flooding-europe-catalog): Climate Change driving flood damage to property in Europe (EU + UK + CH); JSON at https://foresight-engine.pages.dev/api/runs/2026-flooding-europe-catalog - [Flood damage to property, Europe (EU + UK + CH)](https://foresight-engine.pages.dev/runs/2026-flooding-europe-categories): Climate Change driving flood damage to property in Europe (EU + UK + CH); JSON at https://foresight-engine.pages.dev/api/runs/2026-flooding-europe-categories - [Flood damage to property, Europe (EU + UK + CH)](https://foresight-engine.pages.dev/runs/2026-flooding-europe-matrix): Climate Change driving flood damage to property in Europe (EU + UK + CH); JSON at https://foresight-engine.pages.dev/api/runs/2026-flooding-europe-matrix; frozen 2026-06-07 - [Wildfire damage to property, Southern Europe (ES + PT + IT + GR)](https://foresight-engine.pages.dev/runs/2026-wildfire-southern-europe): Climate Change driving wildfire damage to property in Southern Europe (ES + PT + IT + GR); JSON at https://foresight-engine.pages.dev/api/runs/2026-wildfire-southern-europe ## About - [About](https://foresight-engine.pages.dev/about): what the engine is and the methodology rules every number follows - [Contact](https://foresight-engine.pages.dev/contact): who maintains it - [Privacy](https://foresight-engine.pages.dev/privacy): what is stored, and where ## Optional - [Full text of every page](https://foresight-engine.pages.dev/llms-full.txt) - [Sitemap](https://foresight-engine.pages.dev/sitemap.xml) --- Source: https://foresight-engine.pages.dev/about # About Foresight Engine Foresight Engine is the working application of the **VIG Claims-Tech Foresight Methodology**, a reproducible research method for forecasting an insured market's losses over ten years for one driver, one claim cause and one geography, net of the technology that mitigates them. It is built for Vienna Insurance Group and designed so other insurers, and other industries, can use the same method. ## What it produces For every scope it produces a venture catalog (who is working on the loss, verified and clustered into mitigation categories), a ten-year loss forecast with its uncertainty bands and sensitivity analysis, and the evidence graph that connects both to their sources. The first pilots cover flood damage to property in Europe and wildfire damage to property in Southern Europe. ## The rules it follows - **Every number cites a source.** Each parameter rests on at least one top-tier source (T1 or T2); weaker sources only support. - **Every source is archived twice.** The engine keeps the exact bytes it read, addressed by their SHA-256 hash, plus an Internet Archive copy. - **Two people sign off every stage.** Both research leads approve before a run moves on; either can send it back with notes. - **Frozen pilots stay frozen.** A pilot is pinned to the version of the method it started under and never edited in place; a re-run is a new pilot. - **Sources are read lawfully.** The engine respects robots.txt and text-and-data-mining opt-outs and never bypasses a login. ## This deployment This site is a public working deployment. The engine's Python kernel runs inside your browser, and shared state is kept on Cloudflare. Anyone with the link can read every run, and anyone can currently create runs and record sign-offs, so treat what you see as a working record rather than a published report. See [privacy](/privacy) for what is stored and [contact](/contact) to reach the team. --- Source: https://foresight-engine.pages.dev/contact # Contact Foresight Engine is maintained by the research team of the VIG Claims-Tech Foresight Methodology: two research leads who sign off every stage of every run, working with analysts and research partners who run the stages and answer the engine's agent tasks. The team is based in Berkeley, California. ## Where to look first - **A number looks wrong.** Open it in the app: every value links to its source snapshot and to the sign-offs behind it. Each run has a Log page that shows who changed what and when. - **You want the data.** Everything on this site is readable without an account through the [public API](/docs). - **You are an AI agent.** Read [llms.txt](/llms.txt) for what this site holds and when to use it. ## Reaching the team Use the form below. Your message goes privately to the research team: it is stored apart from the runs, never shown on the site, and read only by the team. Leave an email address if you want a reply, and if your message is about a run, name the run id (for example `2026-wildfire-southern-europe`) and the figure or venture concerned. Agents and scripts can send the same message without the form, with `POST /api/contact`: the [API and agent guide](/docs#contacting-the-team) shows the request. --- Source: https://foresight-engine.pages.dev/docs # API and agent guide Foresight Engine publishes every run through a read-only JSON API. There is no sign-up and no API key: send a GET request and you get the same bytes the engine's own kernel returns for that path. - **Base URL:** `https://foresight-engine.pages.dev` - **OpenAPI 3.1 document:** [/openapi.json](/openapi.json) (also at `/api/openapi.json`) - **Agent summary:** [/llms.txt](/llms.txt), with every page in full at [/llms-full.txt](/llms-full.txt) - **Authentication:** none. All endpoints are public and read-only. - **Formats:** JSON for data, binary for snapshots, logos and workbooks. Every HTML page is also served as Markdown when you send `Accept: text/markdown`. ## When to use this API Use it when you need sourced, reviewable numbers about a specific insured loss and the technology that mitigates it, for example: - listing the ventures working on flood or wildfire damage to property in Europe, with their country, impact channel and evidence; - quoting a ten-year insured-loss trajectory with its low and high bands, and saying which parameters move it most; - tracing a figure back to the archived report it came from, and to the research leads who approved it. Do not use it for live market prices, policy quotes or claims data about individual people: it holds none of those. ## Quickstart List the runs, then read one run's catalog and forecast: ```sh curl -s https://foresight-engine.pages.dev/api/runs curl -s https://foresight-engine.pages.dev/api/runs/2026-wildfire-southern-europe/ventures curl -s https://foresight-engine.pages.dev/api/runs/2026-wildfire-southern-europe/forecast ``` Download the archived source behind a figure by its SHA-256 digest, as listed in a run's evidence: ```sh curl -s https://foresight-engine.pages.dev/api/runs/2026-wildfire-southern-europe/evidence curl -sO https://foresight-engine.pages.dev/api/runs/2026-wildfire-southern-europe/snapshots/ ``` ## Endpoints | Endpoint | Operation | What it returns | | --- | --- | --- | | `GET /api/health` | `getHealth` | Engine health and version. | | `GET /api/packs` | `listPacks` | List industry packs. | | `GET /api/packs/{pack_id}` | `getPack` | Get one industry pack. | | `GET /api/runs` | `listRuns` | List forecast runs. | | `GET /api/runs/{run_id}` | `getRun` | Get one run with its stages and sign-offs. | | `GET /api/runs/{run_id}/ventures` | `listRunVentures` | List a run's venture catalog. | | `GET /api/runs/{run_id}/categories` | `listRunCategories` | List a run's mitigation categories. | | `GET /api/runs/{run_id}/forecast` | `getRunForecast` | Get a run's loss forecast. | | `GET /api/runs/{run_id}/sensitivity` | `getRunSensitivity` | Get a run's sensitivity analysis. | | `GET /api/runs/{run_id}/evidence` | `getRunEvidence` | Get a run's evidence graph. | | `GET /api/runs/{run_id}/log` | `getRunLog` | Get a run's event log. | | `GET /api/runs/{run_id}/tasks` | `listRunTasks` | List a run's agent tasks. | | `GET /api/runs/{run_id}/gates` | `getRunGates` | Get a run's methodology gate findings. | | `GET /api/runs/{run_id}/evals/tiering` | `getRunTieringEval` | Get a run's category tiering check. | | `GET /api/tasks` | `listTasks` | List agent tasks across all runs. | | `GET /api/runs/{run_id}/snapshots/{digest}` | `getRunSnapshot` | Download an archived source snapshot. | | `GET /api/runs/{run_id}/logos/{vid}` | `getVentureLogo` | Download a venture's logo. | | `GET /api/runs/{run_id}/exports/catalog.xlsx` | `downloadVentureCatalog` | Download a run's venture catalog workbook. | ## Errors Errors are JSON with a `detail` field that says what went wrong in plain words. An unknown run, pack, venture or snapshot answers `404`. A forecast or sensitivity request on a run that has not reached its computed stage answers with the status the kernel gives it. Unknown pages answer a real `404`, in Markdown if you asked for it. ## Command line Clone the repository and run the zero-dependency CLI with Node 18 or later: ```sh node engine/cli/bin/foresight-engine.mjs runs node engine/cli/bin/foresight-engine.mjs forecast 2026-wildfire-southern-europe node engine/cli/bin/foresight-engine.mjs ventures 2026-wildfire-southern-europe --channel V node engine/cli/bin/foresight-engine.mjs catalog 2026-wildfire-southern-europe -o catalog.xlsx ``` Add `--json` to any command for the API's own JSON. Commands: `runs`, `run`, `ventures`, `categories`, `forecast`, `evidence`, `tasks`, `packs`, `pack`, `catalog`, `snapshot`, `get`. The CLI reads the same public API as above, so it needs no key either. ## Contacting the team Send a message with `POST /api/contact` and a JSON body holding `name`, `message` (at least 20 characters) and, optionally, `email`, `organisation` and `topic` (`question`, `correction`, `data`, `collaboration` or `other`). It answers `201` when the message is stored and `429` after five messages from one sender in a day. People can use the form on the [contact page](/contact). ```sh curl -s -X POST https://foresight-engine.pages.dev/api/contact \ -H 'content-type: application/json' \ -d '{"name": "Ada", "email": "ada@example.org", "topic": "data", "message": "Is the wildfire catalog updated quarterly?"}' ``` ## Writing Creating runs, answering agent tasks and signing off stages happen in the web app, where the engine runs inside your browser and commits its changes to shared storage. They are deliberately not part of the public API. Open [the app](/) to do them. ## Limits The site runs on Cloudflare's free plan, so every request shares one daily quota. Cache what you read, avoid polling more than once a minute, and prefer `/api/runs` to discover what changed. Responses may be gzip-compressed; send `Accept-Encoding: gzip` or let your client decompress. --- Source: https://foresight-engine.pages.dev/ # Foresight Engine Sourced ten-year forecasts of insured losses, and a catalog of the technology ventures that cut them. Foresight Engine is the application form of the VIG Claims-Tech Foresight Methodology, built for Vienna Insurance Group. You give it a scope: a driver such as climate change, a claim cause such as flood damage to property, a geography and a horizon. It returns three things: - **A venture catalog.** Every company and initiative working on that loss, checked for identity, clustered into mitigation categories and tiered by the strength of its evidence. - **A loss forecast.** The insured market's loss over ten years, before and after the mitigating technology is adopted, with low and high bands and a sensitivity analysis. - **The evidence behind both.** Every number opens its source: an archived snapshot of the page or report, its publisher's tier and the two research leads who signed it off. It is not a market map and not a chatbot. A value with no source is shown as a gap, never as a number. ## How a run works A run moves through seven stages: scope, evidence, ventures, parameters, impact matrix, computed forecast and publication. Agent steps (scouting ventures, clustering them, writing descriptions, checking company domains) are issued as tasks with a fixed input file. The engine validates each reply before it is applied, and both research leads approve a stage before the run moves on. ## For agents and developers All runs are readable through a public JSON API with no key: start with [the API and agent guide](/docs), the [OpenAPI document](/openapi.json) or [llms.txt](/llms.txt). Every page of this site is also available as Markdown: send `Accept: text/markdown`. --- Source: https://foresight-engine.pages.dev/privacy # Privacy This page describes what this deployment of Foresight Engine actually does with data. It has no accounts, sets no cookies and runs no analytics or advertising scripts. Data is stored only where this page says. ## What you submit is public Runs you create, task replies you paste, notes you attach when sending a stage back, and the name you type when you sign off are stored in the site's shared state and are visible to everyone who opens the site. They are kept until the team removes them, so do not enter personal data, client data or anything confidential. ## Messages you send the team The [contact form](/contact) stores your name, your message, and the email address and organisation if you give them. These are kept privately in the site's state, readable only by the research team, and deleted once dealt with. To limit abuse, the site also keeps a one-way hash of your IP address for the rest of the day, then discards it. Your IP address itself is never stored. ## What stays in your browser The app keeps a few preferences in your browser's local storage: your light or dark theme, the reviewer name you last signed off with, the producer name you last used on a task, and which filter panels you left open. They never leave your device. Your browser also caches the engine's files (about 15 MB) so the next visit starts faster. Clearing site data removes all of it. ## What the engine fetches for you When you run a step that checks a company's web domain, the engine in your browser looks up domain names through Cloudflare's public DNS service (cloudflare-dns.com) and fetches the pages it needs through this site's own relay, one request at a time, respecting robots.txt. The relay does not store what it fetches. ## Hosting The site is hosted on Cloudflare Pages, and shared state is kept in a Cloudflare Durable Object. Cloudflare processes each request, including your IP address, to deliver the site and protect it from abuse, under [Cloudflare's privacy policy](https://www.cloudflare.com/privacypolicy/). The team does not receive or keep access logs. ## Questions See [contact](/contact). This page changes when the deployment changes; the methodology itself never collects personal data.