American Whitewater

Iowa Navigability Report

Summary

In Iowa, the public may float on any navigable stream and engage in activities that are incident to navigation, including fishing, swimming, and wading. Navigable waters are all lakes, rivers and streams that can support a vessel capable of carrying one or more persons during a total six-month period in one out of every ten years. The right to portage is unknown.

State Test of Navigability

The Iowa legislature enacted a definition of “navigable” in relation to the right of the public to use streams flowing in privately-owned beds. “Navigable waters” means all lakes, rivers, and streams which can support a vessel capable of carrying one or more persons during a total six-month period in one out of every ten years.1) Coupled with the statutory definition of “navigable waters,” Iowa law further clarifies that the public has the right to navigate for recreational purposes on non-meandered streams that have enough flow to float a small recreational vessel.2)

Extent of Public Rights in Navigable and Non-Navigable Waters

The public may float on any navigable stream in Iowa and engage in activities that are incident to navigation, including fishing, swimming, and wading.3) To the extent that hunting waterfowl in Iowa stream beds is customary, some particular types of waterfowl hunting might be considered as incidental to public recreational navigation.4)

The Attorney General of Iowa opined that portaging over shallow areas in a navigable stream is permissible under Iowa law.5) The opinion does not address whether it is permissible to portage over privately-owned banks. Iowa statutes similarly are silent on the issue.

Miscellaneous

The owner of a non-meandered navigable stream bed has a right to erect a fence across the stream as necessary to confine livestock on the owner's land in a manner that affords boaters safe passage.6)

Motor vehicles may not be used in any portion of a meandered stream, any portion of the bed of a nonmeandered stream that has been identified as a navigable stream or river, and which is covered by water, and any portion of a stream identified as a trout stream.7)

An air mattress, inner tube, or similar water toy is not clearly within the scope of the term “vessel” as defined in Iowa Code section 462A.2(29) and used in Iowa Code section 462A.9(6). Thus, Iowa does not require that a person wear a personal flotation device while floating on an air mattress, inner tube, or similar water toy in a public water body.8)

1) Iowa Code § 462A.2 (2005).
2) Iowa Code §462A.69 (2005) (“Water occurring in any river, stream, or creek having definite banks and bed with visible evidence of the flow of water is flowing surface water and is declared to be public waters of the state of Iowa and subject to use by the public for navigation purposes in accordance with law”).
3) Office of the Attorney General of the State of Iowa, Opinion No. 96-2-3, 1996 Iowa AG LEXIS 5, February 6, 1996.
4) , 5) , 6) Id.
7) Iowa Code § 462A.34A (2005) (one may ford a navigable stream, however).
8) Office of the Attorney General of the State of Iowa, Opinion No. 99-8-1(L), 1999 Iowa AG LEXIS 2, August 31, 1999.
Join AW and support river stewardship nationwide!
7.4.3PHP Version618msRequest Duration6MBMemory UsageGET content/{url}Route
    • Booting (63.21ms)
    • Application (554ms)
    • 1 x Application (89.76%)
      554ms
      1 x Booting (10.24%)
      63.21ms
      14 templates were rendered
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • app::layout.gadget (resources/views/layout/gadget.blade.php)2blade
        Params
        0
        contents
        1
        formRenderService
      • layout.columnstyle.one (resources/views/layout/columnstyle/one.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.columnstyle.componentstack (resources/views/layout/columnstyle/componentstack.blade.php)9blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        stack
        8
        component
      • layout.main (resources/views/layout/main.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._headers (resources/views/layout/_headers.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.header (resources/views/layout/header.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._scripts (resources/views/layout/_scripts.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.navigation (resources/views/layout/navigation.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • includes.alert.membership (resources/views/includes/alert/membership.blade.php)17blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
        15
        shouldNotifyUser
        16
        user
      • navigation.menu.static (resources/views/navigation/menu/static.blade.php)15blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
      • includes.footer (resources/views/includes/footer.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • layout.pagemap (resources/views/layout/pagemap.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      uri
      GET content/{url}
      middleware
      web
      controller
      App\Http\Controllers\Wh2oController@content
      namespace
      App\Http\Controllers
      where
      as
      generated::Os9R4mqMKRF5ktoI
      file
      app/Http/Controllers/Wh2oController.php:34-68
      4 statements were executed, 4 of which were duplicated, 0 unique17.65ms
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        8.36ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        3.82ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        3.39ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        2.08ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
          _token
          2YxBwwAYogLvuPO8k1vmhymlNYtDKhPMeJuvXj8w
          page
          array:1 [ "count" => -1 ]
          PHPDEBUGBAR_STACK_DATA
          []
          path_info
          /content/Wiki/access:ia
          status_code
          200
          
          status_text
          OK
          format
          html
          content_type
          text/html; charset=UTF-8
          request_query
          []
          
          request_request
          []
          
          request_headers
          0 of 0
          array:15 [ "priority" => array:1 [ 0 => "u=0, i" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "host" => array:1 [ 0 => "beta.americanwhitewater.org" ] ]
          request_server
          0 of 0
          array:42 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_PRIORITY" => "u=0, i" "HTTP_ACCEPT_ENCODING" => "gzip, deflate, br, zstd" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_HOST" => "beta.americanwhitewater.org" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "beta.americanwhitewater.org" "SERVER_PORT" => "443" "SERVER_ADDR" => "172.31.18.125" "REMOTE_PORT" => "36108" "REMOTE_ADDR" => "18.222.188.129" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => true "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/opt/americanwhitewater.org/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/content/Wiki/access:ia" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "PHP_VALUE" => "post_max_size=20M" "SCRIPT_FILENAME" => "/opt/americanwhitewater.org/public/index.php" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1743712499.129 "REQUEST_TIME" => 1743712499 ]
          request_cookies
          []
          
          response_headers
          0 of 0
          array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 03 Apr 2025 20:34:59 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IktJcmpIL1VFbEUramNWc0ZkbStZZnc9PSIsInZhbHVlIjoiWksrdGZEUU5oeXFzUXpkdlFweDFDbnVBRjVaT0pKRkVMTFRtQm5LNmp3WWhxK3g3cGVHbUxwSUoyRk1CVjZJckZJYmxkSnU1SjljdUFBL2hoanMyT2FLUmM5T1ZsNElJOUV3aERKVStiVmM2OUN0TTY5ZEJTRWtiRkx1UUNLSXciLCJtYWMiOiJjNDgxM2I3MGE2NmIxNzZkZTY5YjY4YzAzNDc2YjYwZmZlNGExM2VhYTRlNTdmZmU5ZWUwNWNjNjYzMTk1NGFjIn0%3D; expires=Thu, 03-Apr-2025 22:34:59 GMT; Max-Age=7200; path=/XSRF-TOKEN=eyJpdiI6IktJcmpIL1VFbEUramNWc0ZkbStZZnc9PSIsInZhbHVlIjoiWksrdGZEUU5oeXFzUXpkdlFweDFDbnVBRjVaT0pKRkVMTFRtQm5LNmp3WWhxK3g3cGVHbUxwSUoyRk1CVjZJckZJYmxkS" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6Ikw0YWtBaW1sRElJNDBMSmI5a3FrZHc9PSIsInZhbHVlIjoiOU83djV5Y2tSZkhRRkRNaEk0V3BmWnJURGF1SzlCc1VmdWZNeE5MUWlxYi9jalVVWDFuRnB3b053anV2S2djYSIsIm1hYyI6IjJkOGU4MzRjMzMyMDYyYWM4MWU0ODdlN2MzNmJhNmViZTkwM2I3ZDk4ZTMzYmRhZmY5ZDAyZjMzMDUzMWE0ZGIifQ%3D%3D; expires=Thu, 03-Apr-2025 20:33:59 GMT; Max-Age=0; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6Ikw0YWtBaW1sRElJNDBMSmI5a3FrZHc9PSIsInZhbHVlIjoiOU83djV5Y2tSZkhRRkRNaEk0V3BmWnJURGF1SzlCc1VmdWZNeE5MUWlxYi9jalVVWDFuR" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IktJcmpIL1VFbEUramNWc0ZkbStZZnc9PSIsInZhbHVlIjoiWksrdGZEUU5oeXFzUXpkdlFweDFDbnVBRjVaT0pKRkVMTFRtQm5LNmp3WWhxK3g3cGVHbUxwSUoyRk1CVjZJckZJYmxkSnU1SjljdUFBL2hoanMyT2FLUmM5T1ZsNElJOUV3aERKVStiVmM2OUN0TTY5ZEJTRWtiRkx1UUNLSXciLCJtYWMiOiJjNDgxM2I3MGE2NmIxNzZkZTY5YjY4YzAzNDc2YjYwZmZlNGExM2VhYTRlNTdmZmU5ZWUwNWNjNjYzMTk1NGFjIn0%3D; expires=Thu, 03-Apr-2025 22:34:59 GMT; path=/XSRF-TOKEN=eyJpdiI6IktJcmpIL1VFbEUramNWc0ZkbStZZnc9PSIsInZhbHVlIjoiWksrdGZEUU5oeXFzUXpkdlFweDFDbnVBRjVaT0pKRkVMTFRtQm5LNmp3WWhxK3g3cGVHbUxwSUoyRk1CVjZJckZJYmxkS" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6Ikw0YWtBaW1sRElJNDBMSmI5a3FrZHc9PSIsInZhbHVlIjoiOU83djV5Y2tSZkhRRkRNaEk0V3BmWnJURGF1SzlCc1VmdWZNeE5MUWlxYi9jalVVWDFuRnB3b053anV2S2djYSIsIm1hYyI6IjJkOGU4MzRjMzMyMDYyYWM4MWU0ODdlN2MzNmJhNmViZTkwM2I3ZDk4ZTMzYmRhZmY5ZDAyZjMzMDUzMWE0ZGIifQ%3D%3D; expires=Thu, 03-Apr-2025 20:33:59 GMT; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6Ikw0YWtBaW1sRElJNDBMSmI5a3FrZHc9PSIsInZhbHVlIjoiOU83djV5Y2tSZkhRRkRNaEk0V3BmWnJURGF1SzlCc1VmdWZNeE5MUWlxYi9jalVVWDFuR" ] ]
          session_attributes
          0 of 0
          array:3 [ "_token" => "2YxBwwAYogLvuPO8k1vmhymlNYtDKhPMeJuvXj8w" "page" => array:1 [ "count" => -1 ] "PHPDEBUGBAR_STACK_DATA" => [] ]