Welcome to The Rainy Haven — your cozy escape into the peaceful sound of rain. 🌧️

Step into a warm and cozy bedroom on a quiet rainy night, where soft rain falls against the window and the outside world fades away.

Here you'll find relaxing rain sounds for sleeping, cozy bedroom ambience, rain on window sounds, peaceful rainy nights, and soothing sleep sounds designed for deep sleep, relaxation, studying, reading, meditation, and focus.

Whether you're looking for gentle rain to help you fall asleep, calming rain sounds to relax after a long day, or a peaceful cozy bedroom atmosphere for studying and focusing, The Rainy Haven is here to create a quiet space for you.

🌧️ Rain Sounds for Sleeping
🛏️ Cozy Bedroom Ambience
🪟 Rain on Window
🌙 Night Rain
😴 Sleep & Relaxation
📚 Study & Focus
🧘 Peaceful Meditation
🌿 Cozy Night Ambience

Turn down the lights, get comfortable, and let the rain begin.

Welcome to The Rainy Haven.

Your cozy escape into rain and sleep. 🌧️


Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "metadataRows" (KeyError)`
Date: `2026-10-02T07:57:03Z`
Route: `/channel/UCkygOGNAPlFDotWZBXaDpnw/streams`
Version: `2.20260723.0- @ master`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "metadataRows" (KeyError)
  from /usr/share/crystal/src/hash.cr:1200:15 in '[]'
  from /usr/share/crystal/src/json/any.cr:113:7 in '[]'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'dig'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'dig'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'dig'
  from src/invidious/yt_backend/extractors.cr:665:26 in 'parse_internal'
  from src/invidious/yt_backend/extractors.cr:41:16 in 'parse'
  from src/invidious/yt_backend/extractors.cr:647:16 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'parse_internal'
  from src/invidious/yt_backend/extractors.cr:41:16 in 'parse'
  from src/invidious/yt_backend/extractors.cr:516:16 in 'process'
  from src/invidious/yt_backend/extractors.cr:1162:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1209:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_livestreams:sort_by'
  from src/invidious/channels/videos.cr:79:34 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from src/invidious/routing.cr:121:35 in '->'
  from lib/kemal/src/kemal/route.cr:12:26 in '->'
  from src/invidious/helpers/handlers.cr:31:5 in 'process_request'
  from lib/kemal/src/kemal/route_handler.cr:17:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/websocket_handler.cr:13:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from /usr/share/crystal/src/http/server/handlers/static_file_handler.cr:60:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:163:5 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:145:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:132:5 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from /usr/share/crystal/src/http/server/handlers/compress_handler.cr:14:5 in 'call'
  from src/invidious/helpers/handlers.cr:70:5 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/exception_handler.cr:8:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/head_request_handler.cr:57:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/logger.cr:21:35 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/init_handler.cr:15:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:58:11 in 'process'
  from /usr/share/crystal/src/http/server.cr:521:5 in 'handle_client'
  from /usr/share/crystal/src/http/server.cr:451:5 in '->'
  from /usr/share/crystal/src/fiber.cr:168:11 in 'run'
  from /usr/share/crystal/src/fiber.cr:103:3 in '->'
  from ???
```
</p>
</details>

Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "metadataRows" (KeyError)`
Date: `2026-10-02T07:57:03Z`
Route: `/channel/UCkygOGNAPlFDotWZBXaDpnw/streams`
Version: `2.20260723.0- @ master`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "metadataRows" (KeyError)
  from /usr/share/crystal/src/hash.cr:1200:15 in '[]'
  from /usr/share/crystal/src/json/any.cr:113:7 in '[]'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'dig'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'dig'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'dig'
  from src/invidious/yt_backend/extractors.cr:665:26 in 'parse_internal'
  from src/invidious/yt_backend/extractors.cr:41:16 in 'parse'
  from src/invidious/yt_backend/extractors.cr:647:16 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'parse_internal'
  from src/invidious/yt_backend/extractors.cr:41:16 in 'parse'
  from src/invidious/yt_backend/extractors.cr:516:16 in 'process'
  from src/invidious/yt_backend/extractors.cr:1162:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1209:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_livestreams:sort_by'
  from src/invidious/channels/videos.cr:79:34 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from src/invidious/routing.cr:121:35 in '->'
  from lib/kemal/src/kemal/route.cr:12:26 in '->'
  from src/invidious/helpers/handlers.cr:31:5 in 'process_request'
  from lib/kemal/src/kemal/route_handler.cr:17:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/websocket_handler.cr:13:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from /usr/share/crystal/src/http/server/handlers/static_file_handler.cr:60:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:163:5 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:145:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:132:5 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from /usr/share/crystal/src/http/server/handlers/compress_handler.cr:14:5 in 'call'
  from src/invidious/helpers/handlers.cr:70:5 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/exception_handler.cr:8:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/head_request_handler.cr:57:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/logger.cr:21:35 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/init_handler.cr:15:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:58:11 in 'process'
  from /usr/share/crystal/src/http/server.cr:521:5 in 'handle_client'
  from /usr/share/crystal/src/http/server.cr:451:5 in '->'
  from /usr/share/crystal/src/fiber.cr:168:11 in 'run'
  from /usr/share/crystal/src/fiber.cr:103:3 in '->'
  from ???
```
</p>
</details>