Skip to main content

    Public API

    Floodi publishes a free, CORS-open GeoJSON feed of NWS-confirmed severe flood reports across the State of Florida. No API key is required for the public feed, and fair-use caching is expected. Built for emergency managers, newsrooms, and civic developers.

    Endpoint

    GET https://floodi.app/api/floods.geojson

    This is the single canonical endpoint — the same URL works in code, servers, ArcGIS, WebEOC, and a browser. It returns application/geo+json with CORS open.

    Example response

    {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": { "type": "Point", "coordinates": [-80.1918, 25.7617] },
          "properties": {
            "id": "8b6f1c2a-...",
            "severity": "severe",
            "nws_confirmed": true,
            "county": "Miami-Dade",
            "created_at": "2026-05-10T14:32:00Z"
          }
        }
      ]
    }

    Field definitions

    FieldTypeDescription
    idUUIDUnique report identifier.
    latnumberLatitude (WGS84). Also second value of geometry.coordinates.
    lngnumberLongitude (WGS84). Also first value of geometry.coordinates.
    severitystringOne of: minor, moderate, severe.
    nws_confirmedbooleanTrue if the report falls inside an active NWS flood polygon.
    countystringFlorida county name (e.g. "Miami-Dade").
    created_atISO 8601Submission timestamp in UTC.

    Update frequency

    The feed regenerates approximately every 15 minutes, matching our NWS polling cadence. New community reports become eligible for the feed as soon as they are NWS-confirmed.

    CORS policy

    The endpoint sends Access-Control-Allow-Origin: *. You can fetch it from any browser, server, or dashboard without a proxy.

    Attribution

    Use of the feed is free for government, press, and civic use. Attribution is required: Powered by Floodi (floodi.app).

    JavaScript example

    // Fetch the latest NWS-confirmed severe flood reports in Florida
    const res = await fetch("https://floodi.app/api/floods.geojson");
    const geojson = await res.json();
    
    geojson.features.forEach((f) => {
      const [lng, lat] = f.geometry.coordinates;
      console.log(f.properties.county, lat, lng, f.properties.severity);
    });

    Future report filters

    Floodi also includes an internal readiness endpoint for public-safe report filters by city, county, severity, date range, and verified status. This endpoint is protected by lightweight per-IP throttling and is intended for approved partner pilots, not unrestricted private API access.

    Access paths

    Start with the free public feed. Move up only when your volume or use case needs it — every path is scoped and honest about what exists today.

    Public feed

    Free · live now

    Live Florida flood reports and USGS/NWS readings as GeoJSON and CAP v1.2. No API key, CORS-open, ~15-minute refresh. Attribution required.

    For: Government GIS, newsrooms, researchers, civic developers.

    Pilot / scoped access

    On request

    Public-safe report filters (city, county, severity, date, verified status), higher-volume coordination, and ArcGIS / WebEOC integration support. Provided to approved partner pilots, not as open private API access.

    For: HOAs, property operators, and agencies running an integration pilot.

    Commercial license

    Custom

    Negotiated terms for high-volume or commercial use beyond the public feed's fair-use and attribution terms. No standard published price — scoped to your use case.

    For: InsurTech, reinsurance, risk analytics, infrastructure, real-estate data.

    Government evaluation

    Pilot-based

    Evaluate Floodi data feeds inside your existing operating picture as a supplemental layer, with an MOU or data-sharing agreement. No cost for the pilot period.

    For: County / municipal emergency management, public works, transportation.

    Questions, a higher-volume feed, or commercial use? See full developer docs, discuss a pilot, or email [email protected].