Location intelligence

Flood Risk Screening API

Screen a property location against flood probability, recorded flood history, nearby EA defences, river, sea, surface-water, reservoir and English coastal mapping.

Endpoint

GET/api/v1/property/flood-risk

Provide postcode, or both latitude and longitude.

Geographic availability

Coverage by UK nation

Green: supported Amber: partial Red: not supported

The colour is a geographic coverage indicator, not a risk score. Always inspect source status and completeness in the API response.

England

Supported

River, sea, surface water, defended probability, reservoirs, recorded outlines, defences and NCERM coastal mapping.

Wales

Partial

River, sea and surface-water mapping is configured. English reservoir, defence, recorded-history and NCERM layers do not apply.

Scotland

Not supported

SEPA flood sources are not configured.

Northern Ireland

Not supported

DfI Rivers flood sources are not configured.

Cost per successful request

Pricing

A successful request costs 10 credits and checks the flood categories available for the property location.

API credits
10 credits

Deducted after a successful response.

Rejected or failed
No charge

Handler errors are not charged. A successful partial screen is charged.

What the API provides

River and sea flood zones

Checks whether the location point falls within published river or sea mapping and normalises the returned classification into a severity.

Defended flood probability

For England, returns the RoFRS high, medium, low or very-low likelihood band and available minimum-depth layers. This dataset takes account of flood defences.

Surface-water mapping

Returns published risk bands and confidence values where the relevant source layer matches.

Reservoir scenarios

For England, checks dry-day and wet-day credible worst-case reservoir failure extents and returns available reservoir and lead-authority context.

Coastal erosion and instability

For England, checks 2055 and 2105 NCERM projections plus coastal ground-instability zones, including shoreline plan references where published.

Recorded flood history

For England, checks whether the location intersects an Environment Agency Recorded Flood Outline and returns available event dates, source, cause and data quality.

Nearby flood defences

For England, returns up to 25 EA-managed, owned or inspected defence assets inside the requested radius, with rounded distance and selected condition data.

Completeness

complete=false means at least one expected provider failed. Provider plumbing is deliberately excluded from the response.

Risk summary

Returns the highest normalised severity and matching category details.

Response guide

FieldMeaning
data.completeTrue only when every source expected for the resolved country answered successfully.
data.coverageResolved country, both England and Wales providers for coordinate-only input, or not-covered.
data.locationResolved property location and the radius used for nearby flood-defence checks.
data.riskLevelHighest normalised level: none, low, medium or high.
data.risksEight fixed risk keys. Each contains riskLevel, count and a short details array.

Useful request variants

Use canonical coordinates

curl -X GET "https://propertyinsights.co.uk/api/v1/property/flood-risk?latitude=52.123&longitude=-1.234" \
  -H "x-api-key: YOUR_API_KEY"

Use a wider defence search radius

curl -X GET "https://propertyinsights.co.uk/api/v1/property/flood-risk?postcode=ZZ1%201ZZ&radiusMetres=1000" \
  -H "x-api-key: YOUR_API_KEY"

Not included

  • Recorded Flood Outlines are known mapped records, not a complete incident or property-claims history.
  • Groundwater flooding and sewer flooding are not currently configured.
  • RoFRS, recorded flood outlines, defence, reservoir and NCERM coastal categories are currently England-only.
  • The result is not a Flood Risk Assessment, official search or statement of insurability.

Billing details in the response

Successful chargeable JSON responses include a top-level billing object. The endpoint examples on this page focus on the endpoint-specific data, so this repeated block may not be shown in every example.

"billing": {
  "mode": "prepaid",
  "creditsCharged": 1,
  "creditsRemaining": 1999,
  "creditsRefreshAt": "2026-08-14T09:30:00.000Z"
}
Field or headerMeaning
billing.creditsCharged
X-Credits-Charged
Credits charged by this call. Failed and non-chargeable calls return 0 in the header.
billing.creditsRemaining
X-Credits-Remaining
The credit balance after the call.
billing.creditsRefreshAt
X-Credits-Refresh-At
The next monthly credit refresh as an ISO 8601 timestamp. Trial and non-renewing balances return null and omit the header.

All authenticated API-key calls expose the billing headers, including validation errors and zero-credit status or management requests. Only successful chargeable JSON responses add the billing object to the response body.

Parameters

NameRequiredTypeDescription
postcodeNostringFull England or Wales postcode. Alternatively provide coordinates.
latitudeNonumberLatitude when postcode is omitted.
longitudeNonumberLongitude when postcode is omitted.
radiusMetresNointegerNearby flood-defence search radius from 25 to 2,000 metres. Defaults to 250.

Source and coverage

Source
Environment Agency and Natural Resources Wales
Coverage
England and Wales

This is mapped screening data, not a property-specific flood assessment. An empty result does not establish that a property has never flooded or is insurable.

Example request

curl -X GET "https://propertyinsights.co.uk/api/v1/property/flood-risk?postcode=ZZ1%201ZZ" \
  -H "x-api-key: YOUR_API_KEY"

Example response

{
  "success": true,
  "data": {
    "location": {
      "postcode": "ZZ1 1ZZ",
      "country": "england",
      "latitude": 52.123,
      "longitude": -1.234,
      "radiusMetres": 250
    },
    "coverage": "england",
    "complete": true,
    "riskLevel": "medium",
    "risks": {
      "riverAndSea": {
        "riskLevel": "medium",
        "count": 1,
        "details": [
          {
            "type": "river",
            "classification": "2"
          }
        ]
      },
      "riverAndSeaLikelihood": {
        "riskLevel": "medium",
        "count": 1,
        "details": [
          {
            "classification": "Medium",
            "minimumDepthMetres": 0
          }
        ]
      },
      "surfaceWater": {
        "riskLevel": "none",
        "count": 0,
        "details": []
      },
      "reservoir": {
        "riskLevel": "none",
        "count": 0,
        "details": []
      },
      "coastalErosion": {
        "riskLevel": "none",
        "count": 0,
        "details": []
      },
      "coastalGroundInstability": {
        "riskLevel": "none",
        "count": 0,
        "details": []
      },
      "historicFlooding": {
        "riskLevel": "none",
        "count": 0,
        "details": []
      },
      "floodDefences": {
        "riskLevel": "low",
        "count": 1,
        "details": [
          {
            "name": "Fictional Flood Wall",
            "distanceMetres": 85
          }
        ]
      }
    }
  }
}

OpenAPI specification

Authentication, parameters, billing headers and response schemas are also published in the machine-readable OpenAPI documents in JSON and YAML.