Hometrack Flood Twinn API

The Flood Twinn API from Hometrack — 1 operation(s) for flood twinn.

Operations 1

GET /flood-twinn/{uprn} Returns Flood data for a given property #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hometrack-flood-twinn-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

hometrack-flood-twinn-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Climate API (v2) Flood Twinn API
  description: ''
  version: v2
  x-api-evangelist-provenance:
    provider: Hometrack
    portal: https://developer.hometrack.com
    harvested: '2026-07-26'
    method: Azure API Management developer data-plane, anonymous
    sources:
    - url: https://developer.hometrack.com/developer/apis/climate-api-v2?api-version=2022-04-01-preview&export=true&format=openapi-link
      status: 200
      note: OpenAPI 3.0.1 export (info/servers/securitySchemes verbatim; paths empty in export)
    - url: https://developer.hometrack.com/developer/apis/climate-api-v2/operations?api-version=2022-04-01-preview
      status: 200
      note: operation list
    - url: https://developer.hometrack.com/developer/apis/climate-api-v2/operations/{operationId}?api-version=2022-04-01-preview
      status: 200
      note: per-operation request/response metadata
    - url: https://developer.hometrack.com/developer/apis/climate-api-v2/schemas?api-version=2022-04-01-preview
      status: 200
      note: component schema documents
    note: paths and components.schemas were reassembled verbatim from Hometrack's own APIM operation and schema metadata; nothing was invented.
servers:
- url: https://api.hometrack.com/climate
- url: https://api.hometrack.local/climate
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Flood Twinn
paths:
  /flood-twinn/{uprn}:
    get:
      operationId: Flood
      summary: Returns Flood data for a given property
      description: Returns Flood data for a given property
      parameters:
      - name: dataVersion
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/Flood-twinn-uprn-GetRequest'
        description: Data Version Number
      - name: uprn
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/Flood-twinn-uprn-GetRequest-1'
        description: Format - int64. Data Version Number
      - name: X-Client-ID
        in: header
        required: false
        schema:
          $ref: '#/components/schemas/Flood-twinn-uprn-GetRequest-2'
        description: Client Identifer used for tracking
      - name: X-Client-Reference
        in: header
        required: false
        schema:
          $ref: '#/components/schemas/Flood-twinn-uprn-GetRequest-3'
        description: Client Reference used for tracking
      - name: X-Correlation-ID
        in: header
        required: false
        schema:
          $ref: '#/components/schemas/Flood-twinn-uprn-GetRequest-4'
        description: Unique Transaction ID, used for tracking and support
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FloodScoreResponseModelV2'
              example:
                current:
                - versionNumber: string
                  year: string
                  scenario: string
                  floodDefenceLevel: 0
                  defendedScore: 0
                  defendedRiskRatio: 0
                  defendedADR: 0
                  defendedAAL: 0
                  defendedFluvialScore: 0
                  defendedFluvialRiskRatio: 0
                  defendedFluvialMaxDepth30Years: 0
                  defendedFluvialMaxDepth75Years: 0
                  defendedFluvialMaxDepth100Years: 0
                  defendedFluvialMaxDepth250Years: 0
                  defendedFluvialMaxDepth500Years: 0
                  defendedFluvialMaxDepth1000Years: 0
                  defendedFluvialADR: 0
                  defendedFluvialAAL: 0
                  defendedTidalScore: 0
                  defendedTidalRiskRatio: 0
                  defendedTidalMaxDepth30Years: 0
                  defendedTidalMaxDepth75Years: 0
                  defendedTidalMaxDepth100Years: 0
                  defendedTidalMaxDepth250Years: 0
                  defendedTidalMaxDepth500Years: 0
                  defendedTidalMaxDepth1000Years: 0
                  defendedTidalADR: 0
                  defendedTidalAAL: 0
                  undefendedScore: 0
                  undefendedRiskRatio: 0
                  undefendedADR: 0
                  undefendedAAL: 0
                  undefendedFluvialScore: 0
                  undefendedFluvialRiskRatio: 0
                  undefendedFluvialMaxDepth30Years: 0
                  undefendedFluvialMaxDepth75Years: 0
                  undefendedFluvialMaxDepth100Years: 0
                  undefendedFluvialMaxDepth250Years: 0
                  undefendedFluvialMaxDepth500Years: 0
                  undefendedFluvialMaxDepth1000Years: 0
                  undefendedFluvialADR: 0
                  undefendedFluvialAAL: 0
                  undefendedTidalScore: 0
                  undefendedTidalRiskRatio: 0
                  undefendedTidalMaxDepth30Years: 0
                  undefendedTidalMaxDepth75Years: 0
                  undefendedTidalMaxDepth100Years: 0
                  undefendedTidalMaxDepth250Years: 0
                  undefendedTidalMaxDepth500Years: 0
                  undefendedTidalMaxDepth1000Years: 0
                  undefendedTidalADR: 0
                  undefendedTidalAAL: 0
                  undefendedPluvialScore: 0
                  undefendedPluvialRiskRatio: 0
                  undefendedPluvialMaxDepth30Years: 0
                  undefendedPluvialMaxDepth75Years: 0
                  undefendedPluvialMaxDepth100Years: 0
                  undefendedPluvialMaxDepth250Years: 0
                  undefendedPluvialMaxDepth500Years: 0
                  undefendedPluvialMaxDepth1000Years: 0
                  undefendedPluvialADR: 0
                  undefendedPluvialAAL: 0
                future:
                - versionNumber: string
                  year: string
                  scenario: string
                  floodDefenceLevel: 0
                  defendedScore: 0
                  defendedRiskRatio: 0
                  defendedADR: 0
                  defendedAAL: 0
                  defendedFluvialScore: 0
                  defendedFluvialRiskRatio: 0
                  defendedFluvialMaxDepth30Years: 0
                  defendedFluvialMaxDepth75Years: 0
                  defendedFluvialMaxDepth100Years: 0
                  defendedFluvialMaxDepth250Years: 0
                  defendedFluvialMaxDepth500Years: 0
                  defendedFluvialMaxDepth1000Years: 0
                  defendedFluvialADR: 0
                  defendedFluvialAAL: 0
                  defendedTidalScore: 0
                  defendedTidalRiskRatio: 0
                  defendedTidalMaxDepth30Years: 0
                  defendedTidalMaxDepth75Years: 0
                  defendedTidalMaxDepth100Years: 0
                  defendedTidalMaxDepth250Years: 0
                  defendedTidalMaxDepth500Years: 0
                  defendedTidalMaxDepth1000Years: 0
                  defendedTidalADR: 0
                  defendedTidalAAL: 0
                  undefendedScore: 0
                  undefendedRiskRatio: 0
                  undefendedADR: 0
                  undefendedAAL: 0
                  undefendedFluvialScore: 0
                  undefendedFluvialRiskRatio: 0
                  undefendedFluvialMaxDepth30Years: 0
                  undefendedFluvialMaxDepth75Years: 0
                  undefendedFluvialMaxDepth100Years: 0
                  undefendedFluvialMaxDepth250Years: 0
                  undefendedFluvialMaxDepth500Years: 0
                  undefendedFluvialMaxDepth1000Years: 0
                  undefendedFluvialADR: 0
                  undefendedFluvialAAL: 0
                  undefendedTidalScore: 0
                  undefendedTidalRiskRatio: 0
                  undefendedTidalMaxDepth30Years: 0
                  undefendedTidalMaxDepth75Years: 0
                  undefendedTidalMaxDepth100Years: 0
                  undefendedTidalMaxDepth250Years: 0
                  undefendedTidalMaxDepth500Years: 0
                  undefendedTidalMaxDepth1000Years: 0
                  undefendedTidalADR: 0
                  undefendedTidalAAL: 0
                  undefendedPluvialScore: 0
                  undefendedPluvialRiskRatio: 0
                  undefendedPluvialMaxDepth30Years: 0
                  undefendedPluvialMaxDepth75Years: 0
                  undefendedPluvialMaxDepth100Years: 0
                  undefendedPluvialMaxDepth250Years: 0
                  undefendedPluvialMaxDepth500Years: 0
                  undefendedPluvialMaxDepth1000Years: 0
                  undefendedPluvialADR: 0
                  undefendedPluvialAAL: 0
            text/json:
              schema:
                $ref: '#/components/schemas/FloodScoreResponseModelV2'
              example:
                current:
                - versionNumber: string
                  year: string
                  scenario: string
                  floodDefenceLevel: 0
                  defendedScore: 0
                  defendedRiskRatio: 0
                  defendedADR: 0
                  defendedAAL: 0
                  defendedFluvialScore: 0
                  defendedFluvialRiskRatio: 0
                  defendedFluvialMaxDepth30Years: 0
                  defendedFluvialMaxDepth75Years: 0
                  defendedFluvialMaxDepth100Years: 0
                  defendedFluvialMaxDepth250Years: 0
                  defendedFluvialMaxDepth500Years: 0
                  defendedFluvialMaxDepth1000Years: 0
                  defendedFluvialADR: 0
                  defendedFluvialAAL: 0
                  defendedTidalScore: 0
                  defendedTidalRiskRatio: 0
                  defendedTidalMaxDepth30Years: 0
                  defendedTidalMaxDepth75Years: 0
                  defendedTidalMaxDepth100Years: 0
                  defendedTidalMaxDepth250Years: 0
                  defendedTidalMaxDepth500Years: 0
                  defendedTidalMaxDepth1000Years: 0
                  defendedTidalADR: 0
                  defendedTidalAAL: 0
                  undefendedScore: 0
                  undefendedRiskRatio: 0
                  undefendedADR: 0
                  undefendedAAL: 0
                  undefendedFluvialScore: 0
                  undefendedFluvialRiskRatio: 0
                  undefendedFluvialMaxDepth30Years: 0
                  undefendedFluvialMaxDepth75Years: 0
                  undefendedFluvialMaxDepth100Years: 0
                  undefendedFluvialMaxDepth250Years: 0
                  undefendedFluvialMaxDepth500Years: 0
                  undefendedFluvialMaxDepth1000Years: 0
                  undefendedFluvialADR: 0
                  undefendedFluvialAAL: 0
                  undefendedTidalScore: 0
                  undefendedTidalRiskRatio: 0
                  undefendedTidalMaxDepth30Years: 0
                  undefendedTidalMaxDepth75Years: 0
                  undefendedTidalMaxDepth100Years: 0
                  undefendedTidalMaxDepth250Years: 0
                  undefendedTidalMaxDepth500Years: 0
                  undefendedTidalMaxDepth1000Years: 0
                  undefendedTidalADR: 0
                  undefendedTidalAAL: 0
                  undefendedPluvialScore: 0
                  undefendedPluvialRiskRatio: 0
                  undefendedPluvialMaxDepth30Years: 0
                  undefendedPluvialMaxDepth75Years: 0
                  undefendedPluvialMaxDepth100Years: 0
                  undefendedPluvialMaxDepth250Years: 0
                  undefendedPluvialMaxDepth500Years: 0
                  undefendedPluvialMaxDepth1000Years: 0
                  undefendedPluvialADR: 0
                  undefendedPluvialAAL: 0
                future:
                - versionNumber: string
                  year: string
                  scenario: string
                  floodDefenceLevel: 0
                  defendedScore: 0
                  defendedRiskRatio: 0
                  defendedADR: 0
                  defendedAAL: 0
                  defendedFluvialScore: 0
                  defendedFluvialRiskRatio: 0
                  defendedFluvialMaxDepth30Years: 0
                  defendedFluvialMaxDepth75Years: 0
                  defendedFluvialMaxDepth100Years: 0
                  defendedFluvialMaxDepth250Years: 0
                  defendedFluvialMaxDepth500Years: 0
                  defendedFluvialMaxDepth1000Years: 0
                  defendedFluvialADR: 0
                  defendedFluvialAAL: 0
                  defendedTidalScore: 0
                  defendedTidalRiskRatio: 0
                  defendedTidalMaxDepth30Years: 0
                  defendedTidalMaxDepth75Years: 0
                  defendedTidalMaxDepth100Years: 0
                  defendedTidalMaxDepth250Years: 0
                  defendedTidalMaxDepth500Years: 0
                  defendedTidalMaxDepth1000Years: 0
                  defendedTidalADR: 0
                  defendedTidalAAL: 0
                  undefendedScore: 0
                  undefendedRiskRatio: 0
                  undefendedADR: 0
                  undefendedAAL: 0
                  undefendedFluvialScore: 0
                  undefendedFluvialRiskRatio: 0
                  undefendedFluvialMaxDepth30Years: 0
                  undefendedFluvialMaxDepth75Years: 0
                  undefendedFluvialMaxDepth100Years: 0
                  undefendedFluvialMaxDepth250Years: 0
                  undefendedFluvialMaxDepth500Years: 0
                  undefendedFluvialMaxDepth1000Years: 0
                  undefendedFluvialADR: 0
                  undefendedFluvialAAL: 0
                  undefendedTidalScore: 0
                  undefendedTidalRiskRatio: 0
                  undefendedTidalMaxDepth30Years: 0
                  undefendedTidalMaxDepth75Years: 0
                  undefendedTidalMaxDepth100Years: 0
                  undefendedTidalMaxDepth250Years: 0
                  undefendedTidalMaxDepth500Years: 0
                  undefendedTidalMaxDepth1000Years: 0
                  undefendedTidalADR: 0
                  undefendedTidalAAL: 0
                  undefendedPluvialScore: 0
                  undefendedPluvialRiskRatio: 0
                  undefendedPluvialMaxDepth30Years: 0
                  undefendedPluvialMaxDepth75Years: 0
                  undefendedPluvialMaxDepth100Years: 0
                  undefendedPluvialMaxDepth250Years: 0
                  undefendedPluvialMaxDepth500Years: 0
                  undefendedPluvialMaxDepth1000Years: 0
                  undefendedPluvialADR: 0
                  undefendedPluvialAAL: 0
        '400':
          description: Request was not valid
          content:
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '404':
          description: Flood data not found
        '500':
          description: An error has occured
      tags:
      - Flood Twinn
components:
  schemas:
    ClimateChangeDataWithVersionResponseFloodScoreDataModel:
      type: object
      properties:
        versionNumber:
          type:
          - string
          - 'null'
        year:
          type:
          - string
          - 'null'
        scenario:
          type:
          - string
          - 'null'
        floodDefenceLevel:
          type:
          - integer
          - 'null'
          format: int32
        defendedScore:
          type:
          - integer
          - 'null'
          format: int32
        defendedRiskRatio:
          type:
          - integer
          - 'null'
          format: int32
        defendedADR:
          type:
          - number
          - 'null'
          format: double
        defendedAAL:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialScore:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialRiskRatio:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialMaxDepth30Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialMaxDepth75Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialMaxDepth100Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialMaxDepth250Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialMaxDepth500Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialMaxDepth1000Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialADR:
          type:
          - integer
          - 'null'
          format: int32
        defendedFluvialAAL:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalScore:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalRiskRatio:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalMaxDepth30Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalMaxDepth75Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalMaxDepth100Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalMaxDepth250Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalMaxDepth500Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalMaxDepth1000Years:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalADR:
          type:
          - integer
          - 'null'
          format: int32
        defendedTidalAAL:
          type:
          - integer
          - 'null'
          format: int32
        undefendedScore:
          type:
          - integer
          - 'null'
          format: int32
        undefendedRiskRatio:
          type:
          - integer
          - 'null'
          format: int32
        undefendedADR:
          type:
          - number
          - 'null'
          format: double
        undefendedAAL:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialScore:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialRiskRatio:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialMaxDepth30Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialMaxDepth75Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialMaxDepth100Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialMaxDepth250Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialMaxDepth500Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialMaxDepth1000Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialADR:
          type:
          - integer
          - 'null'
          format: int32
        undefendedFluvialAAL:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalScore:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalRiskRatio:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalMaxDepth30Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalMaxDepth75Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalMaxDepth100Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalMaxDepth250Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalMaxDepth500Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalMaxDepth1000Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalADR:
          type:
          - integer
          - 'null'
          format: int32
        undefendedTidalAAL:
          type:
          - integer
          - 'null'
          format: int32
        undefendedPluvialScore:
          type:
          - integer
          - 'null'
          format: int32
        undefendedPluvialRiskRatio:
          type:
          - integer
          - 'null'
          format: int32
        undefendedPluvialMaxDepth30Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedPluvialMaxDepth75Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedPluvialMaxDepth100Years:
          type:
          - integer
          - 'null'
          format: int32
        undefendedPluvialMaxDepth250Years:
          type:
          - number
          - 'null'
          format: double
        undefendedPluvialMaxDepth500Years:
          type:
          - number
          - 'null'
          format: double
        undefendedPluvialMaxDepth1000Years:
          type:
          - number
          - 'null'
          format: double
        undefendedPluvialADR:
          type:
          - number
          - 'null'
          format: double
        undefendedPluvialAAL:
          type:
          - integer
          - 'null'
          format: int32
      additionalProperties: false
    FloodScoreResponseModelV2:
      required:
      - current
      - future
      type: object
      properties:
        current:
          type: array
          items:
            $ref: '#/components/schemas/ClimateChangeDataWithVersionResponseFloodScoreDataModel'
        future:
          type: array
          items:
            $ref: '#/components/schemas/ClimateChangeDataWithVersionResponseFloodScoreDataModel'
      additionalProperties: false
    Flood-twinn-uprn-GetRequest-2:
      maxLength: 20
      type: string
      x-apim-inline: true
    Flood-twinn-uprn-GetRequest-4:
      maxLength: 50
      type: string
      x-apim-inline: true
    Flood-twinn-uprn-GetRequest-1:
      type: integer
      format: int64
      x-apim-inline: true
    Flood-twinn-uprn-GetRequest:
      type: string
      x-apim-inline: true
    Flood-twinn-uprn-GetRequest-3:
      maxLength: 50
      type: string
      x-apim-inline: true
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      name: Ocp-Apim-Subscription-Key
      in: header
    apiKeyQuery:
      type: apiKey
      name: subscription-key
      in: query