CINXE.COM

Real-Time Interactive Map by PurpleAir

<!doctype html> <html class="no-js" lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"> <link rel="canonical" href="https://map.purpleair.com/"> <title>Real-Time Interactive Map by PurpleAir</title> <meta name="description" content="Watch: With two minute updates, PurpleAir sensors are small, easy to install and require only power and WiFi."> <meta property="og:site_name" content="PurpleAir"> <meta property="og:url" content="https://map.purpleair.com/"> <meta property="og:title" content="Real-Time Interactive Map by PurpleAir"> <meta property="og:type" content="website"> <meta property="og:description" content="Watch: With two minute updates, PurpleAir sensors are small, easy to install and require only power and WiFi."> <meta name="twitter:site" content="@thepurpleair"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Real-Time Interactive Map by PurpleAir"> <meta name="twitter:description" content="Watch: With two minute updates, PurpleAir sensors are small, easy to install and require only power and WiFi."> <link href="//www2.purpleair.com/cdn/shop/t/7/assets/theme.scss.css?v=144101378031039768281734981920" rel="stylesheet" type="text/css" media="all"> <script> var theme = { strings: { addToCart: "Add to cart", soldOut: "Sold out", unavailable: "Unavailable", regularPrice: "Regular price", sale: "Sale", showMore: "Show More", showLess: "Show Less", addressError: "Error looking up that address", addressNoResults: "No results for that address", addressQueryLimit: "You have exceeded the Google API usage limit. Consider upgrading to a \u003ca href=\"https:\/\/developers.google.com\/maps\/premium\/usage-limits\"\u003ePremium Plan\u003c\/a\u003e.", authError: "There was a problem authenticating your Google Maps account.", newWindow: "Opens in a new window.", external: "Opens external website.", newWindowExternal: "Opens external website in a new window." }, moneyFormat: "${{amount}}" } document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); </script> <script src="https://www2.purpleair.com/cdn/shop/t/7/assets/vendor.js?v=12001839194546984181624491340" defer></script> <script src="https://www2.purpleair.com/cdn/shop/t/7/assets/theme.js?v=95902132052375593451730532462" defer></script> <link rel="preconnect" href="https://shop.app" crossorigin="anonymous"> <link rel="stylesheet" media="screen" href="https://www2.purpleair.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> <link href="//www2.purpleair.com/cdn/shop/t/7/assets/legal.css?v=175547602615841121771663261417" rel="stylesheet" type="text/css" media="all"> <meta property="og:image" content="https://cdn.shopify.com/s/files/1/0080/5552/1377/files/logo_purple_branded.png?height=628&amp;pad_color=ffffff&amp;v=1614297769&amp;width=1200"> <meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0080/5552/1377/files/logo_purple_branded.png?height=628&amp;pad_color=ffffff&amp;v=1614297769&amp;width=1200"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="628"> <link rel="shortcut icon" href="/favicon.ico"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?12345"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?12345"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?12345"> <link rel="manifest" href="/manifest.json"> <meta name="mobile-web-app-capable" content="yes"> <meta name="theme-color" content="#ffffff"> <meta name="application-name" content="Real-Time Interactive Map"> <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png?12345"> <link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png?12345"> <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png?12345"> <link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png?12345"> <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png?12345"> <link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png?12345"> <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png?12345"> <link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png?12345"> <link rel="apple-touch-icon" sizes="167x167" href="/apple-touch-icon-167x167.png?12345"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png?12345"> <link rel="apple-touch-icon" sizes="1024x1024" href="/apple-touch-icon-1024x1024.png?12345"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="apple-mobile-web-app-title" content="PurpleAir Map"> <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/apple-touch-startup-image-640x1136.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/apple-touch-startup-image-750x1334.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/apple-touch-startup-image-828x1792.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/apple-touch-startup-image-1125x2436.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/apple-touch-startup-image-1242x2208.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/apple-touch-startup-image-1242x2688.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/apple-touch-startup-image-1536x2048.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/apple-touch-startup-image-1668x2224.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/apple-touch-startup-image-1668x2388.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/apple-touch-startup-image-2048x2732.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/apple-touch-startup-image-1620x2160.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/apple-touch-startup-image-1136x640.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/apple-touch-startup-image-1334x750.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/apple-touch-startup-image-1792x828.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/apple-touch-startup-image-2436x1125.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/apple-touch-startup-image-2208x1242.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/apple-touch-startup-image-2688x1242.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/apple-touch-startup-image-2048x1536.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/apple-touch-startup-image-2224x1668.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/apple-touch-startup-image-2388x1668.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/apple-touch-startup-image-2732x2048.png?12345"> <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/apple-touch-startup-image-2160x1620.png?12345"> <link rel="icon" type="image/png" sizes="228x228" href="/coast-228x228.png?12345"> <meta name="msapplication-TileColor" content="#aa44aa"> <meta name="msapplication-TileImage" content="/mstile-144x144.png?12345"> <meta name="msapplication-config" content="/browserconfig.xml"> <link rel="yandex-tableau-widget" href="/yandex-browser-manifest.json"> <meta name="facebook-domain-verification" content="80ync8g4hkawdlasvkyo5kf0rafcus"> <style>.ios-prompt { background-color: #fcfcfc; border: 1px solid #666; padding: 0.8rem 1rem 0 0.5rem; text-decoration: none; font-size: 1.0rem; color: #555; position: absolute; margin: 0 auto 1rem; left: 1rem; right: 1rem; bottom: 0; z-index: 1000000; text-align: center; } .ios-prompt p { margin-top: -3px; line-height: 1rem; } .ios-prompt-close-button { color: rgb(187, 187, 187); float: right; font-size: 1.8rem; font-weight: bold; } .ios-add-2-home-icon { float: left; height: 2.5em; width: auto; margin-top: -8px; } .ios-share-icon { display: inline-block; margin-top: 4px; margin-bottom: -4px; height: 2em; width: auto; } #main-navbar { display: none; } #loader { /* position: absolute; margin: -40px 0; */ width: 100%; text-align: center; top: 30%; } #loader p { font-family: "Roboto Condensed"; padding-top: 80px; margin-left: -4px; } .spinner { margin: 0 auto; width: 60px; height: 60px; position: relative; } .loader_message { display: inline-block; margin: 100px auto; text-align: center; } .spinner .spinner-container { position: absolute; width: 100%; height: 100%; } .container1 > div, .container2 > div, .container3 > div { width: 14px; height: 14px; background-color: #aa44aa; border-radius: 100%; position: absolute; -webkit-animation: bouncedelay 1.2s infinite ease-in-out; animation: bouncedelay 1.2s infinite ease-in-out; /* Prevent first frame from flickering when animation starts */ -webkit-animation-fill-mode: both; animation-fill-mode: both; } .container2 { -webkit-transform: rotateZ(45deg); transform: rotateZ(45deg); } .container3 { -webkit-transform: rotateZ(90deg); transform: rotateZ(90deg); } .circle1 { top: 0; left: 0; } .circle2 { top: 0; right: 0; } .circle3 { right: 0; bottom: 0; } .circle4 { left: 0; bottom: 0; } .container2 .circle1 { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .container3 .circle1 { -webkit-animation-delay: -1.0s; animation-delay: -1.0s; } .container1 .circle2 { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .container2 .circle2 { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .container3 .circle2 { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .container1 .circle3 { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .container2 .circle3 { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .container3 .circle3 { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .container1 .circle4 { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .container2 .circle4 { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .container3 .circle4 { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes bouncedelay { 0%, 80%, 100% { -webkit-transform: scale(0.0) } 40% { -webkit-transform: scale(1.0) } } @keyframes bouncedelay { 0%, 80%, 100% { transform: scale(0.0); -webkit-transform: scale(0.0); } 40% { transform: scale(1.0); -webkit-transform: scale(1.0); } }</style> <script>const APP_NAME = "pa.map";</script> <script defer src="/pa.loader.3.1.4.legacy.js"></script> </head> <body class="template-page"> <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a> <div id="SearchDrawer" class="search-bar drawer drawer--top" role="dialog" aria-modal="true" aria-label="Search"> <div class="search-bar__table"> <div class="search-bar__table-cell search-bar__form-wrapper"> <form class="search search-bar__form" action="https://www2.purpleair.com/search" method="get" role="search"> <input class="search__input search-bar__input" type="search" name="q" value="" placeholder="Search" aria-label="Search"> <button class="search-bar__submit search__submit btn--link" type="submit"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 37 40"> <path d="M35.6 36l-9.8-9.8c4.1-5.4 3.6-13.2-1.3-18.1-5.4-5.4-14.2-5.4-19.7 0-5.4 5.4-5.4 14.2 0 19.7 2.6 2.6 6.1 4.1 9.8 4.1 3 0 5.9-1 8.3-2.8l9.8 9.8c.4.4.9.6 1.4.6s1-.2 1.4-.6c.9-.9.9-2.1.1-2.9zm-20.9-8.2c-2.6 0-5.1-1-7-2.9-3.9-3.9-3.9-10.1 0-14C9.6 9 12.2 8 14.7 8s5.1 1 7 2.9c3.9 3.9 3.9 10.1 0 14-1.9 1.9-4.4 2.9-7 2.9z" /> </svg><span class="icon__fallback-text">Submit</span></button> </form> </div> <div class="search-bar__table-cell text-right"> <button type="button" class="btn--link search-bar__close js-drawer-close"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 40 40"> <path d="M23.868 20.015L39.117 4.78c1.11-1.108 1.11-2.77 0-3.877-1.109-1.108-2.773-1.108-3.882 0L19.986 16.137 4.737.904C3.628-.204 1.965-.204.856.904c-1.11 1.108-1.11 2.77 0 3.877l15.249 15.234L.855 35.248c-1.108 1.108-1.108 2.77 0 3.877.555.554 1.248.831 1.942.831s1.386-.277 1.94-.83l15.25-15.234 15.248 15.233c.555.554 1.248.831 1.941.831s1.387-.277 1.941-.83c1.11-1.109 1.11-2.77 0-3.878L23.868 20.015z" class="layer" /> </svg><span class="icon__fallback-text">Close search</span></button> </div> </div> </div> <div id="shopify-section-header" class="shopify-section"> <style> .site-header__logo-image { max-width: 150px; } .site-header__logo-image { margin: 0; } </style> <div data-section-id="header" data-section-type="header-section"> <style> .announcement-bar { background-color: #aa44aa; } .announcement-bar--link:hover { background-color: #bf5ebf; } .announcement-bar__message { color: #ffffff; } </style> <header class="nav-down site-header logo--left" role="banner"> <div class="grid grid--no-gutters grid--table site-header__mobile-nav"> <div class="grid__item medium-up--one-quarter logo-align--left"> <div class="site-header__logo"> <a href="https://www2.purpleair.com/" class="site-header__logo-image"> <img class="lazyload js" src="//www2.purpleair.com/cdn/shop/files/logo-white-branded-side-2_e54af3e4-6386-4856-aec9-69c59691d543_300x300.png?v=1630517683" data-src="//www2.purpleair.com/cdn/shop/files/logo-white-branded-side-2_e54af3e4-6386-4856-aec9-69c59691d543_{width}x.png?v=1630517683" data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" data-aspectratio="3.9130434782608696" data-sizes="auto" alt="PurpleAir" style="max-width: 150px"> <noscript> <img src="//www2.purpleair.com/cdn/shop/files/logo-white-branded-side-2_e54af3e4-6386-4856-aec9-69c59691d543_150x.png?v=1630517683" srcset="//www2.purpleair.com/cdn/shop/files/logo-white-branded-side-2_e54af3e4-6386-4856-aec9-69c59691d543_150x.png?v=1630517683 1x, //www2.purpleair.com/cdn/shop/files/logo-white-branded-side-2_e54af3e4-6386-4856-aec9-69c59691d543_150x@2x.png?v=1630517683 2x" alt="PurpleAir" style="max-width: 150px;"> </noscript></a> </div> </div> <nav class="grid__item medium-up--one-half small--hide" id="AccessibleNav" role="navigation"> <ul class="site-nav list--inline " id="SiteNav"> <li class="site-nav--has-dropdown" data-has-dropdowns><a href="https://map.purpleair.com" class="site-nav__link site-nav__link--main"> <span class="site-nav__label">Map</span> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 498.98 284.49"> <defs> <style>.cls-1{fill:#231f20} </style> </defs><path class="cls-1" d="M80.93 271.76A35 35 0 0 1 140.68 247l189.74 189.75L520.16 247a35 35 0 1 1 49.5 49.5L355.17 511a35 35 0 0 1-49.5 0L91.18 296.5a34.89 34.89 0 0 1-10.25-24.74z" transform="translate(-80.93 -236.76)" /> </svg></a> <div class="site-nav__dropdown" id="SiteNavLabel-map"> <ul> <li><a href="https://map.purpleair.com/" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Real-time Map</span> </a></li> <li><a href="https://community.purpleair.com/t/map-start-up-guide/90" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Map Startup Guide</span> </a></li> <li><a href="https://community.purpleair.com/t/sensor-start-up-guide/182#register-your-sensor-for-use-on-the-map-7" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Add Your Sensor</span> </a></li> <li><a href="https://community.purpleair.com/c/real-time-map/11" class="site-nav__link site-nav__child-link site-nav__link--last"> <span class="site-nav__label">Map Community</span> </a></li> </ul> </div></li> <li class="site-nav--has-dropdown" data-has-dropdowns><a href="https://www2.purpleair.com/products/list" class="site-nav__link site-nav__link--main"> <span class="site-nav__label">Sensors</span> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 498.98 284.49"> <defs> <style>.cls-1{fill:#231f20} </style> </defs><path class="cls-1" d="M80.93 271.76A35 35 0 0 1 140.68 247l189.74 189.75L520.16 247a35 35 0 1 1 49.5 49.5L355.17 511a35 35 0 0 1-49.5 0L91.18 296.5a34.89 34.89 0 0 1-10.25-24.74z" transform="translate(-80.93 -236.76)" /> </svg></a> <div class="site-nav__dropdown" id="SiteNavLabel-sensors"> <ul> <li><a href="https://www2.purpleair.com/products/list" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">View Products</span> </a></li> <li><a href="https://community.purpleair.com/t/which-sensor-to-choose/125" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Which Sensor to Choose</span> </a></li> <li><a href="https://www2.purpleair.com/pages/trusting-purpleair-sensor-evaluations" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Sensor Evaluations</span> </a></li> <li><a href="https://community.purpleair.com/t/sensor-start-up-guide/182" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Sensor Startup Guide</span> </a></li> <li><a href="https://www.purpleair.com/register" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Register Your Sensor</span> </a></li> <li><a href="https://community.purpleair.com/c/sensors/10" class="site-nav__link site-nav__child-link site-nav__link--last"> <span class="site-nav__label">Sensor Community</span> </a></li> </ul> </div></li> <li class="site-nav--has-dropdown" data-has-dropdowns><a href="https://community.purpleair.com/c/purpleair-data/7" class="site-nav__link site-nav__link--main"> <span class="site-nav__label">Data</span> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 498.98 284.49"> <defs> <style>.cls-1{fill:#231f20} </style> </defs><path class="cls-1" d="M80.93 271.76A35 35 0 0 1 140.68 247l189.74 189.75L520.16 247a35 35 0 1 1 49.5 49.5L355.17 511a35 35 0 0 1-49.5 0L91.18 296.5a34.89 34.89 0 0 1-10.25-24.74z" transform="translate(-80.93 -236.76)" /> </svg></a> <div class="site-nav__dropdown" id="SiteNavLabel-data"> <ul> <li><a href="https://develop.purpleair.com" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Develop Portal</span> </a></li> <li><a href="https://community.purpleair.com/t/purpleair-data-download-tool/3787" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Data Download Tool</span> </a></li> <li><a href="https://www2.purpleair.com/pages/purpleair-data-use-cases" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Data Use Cases</span> </a></li> <li><a href="https://community.purpleair.com/t/about-the-purpleair-api/7145" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">PurpleAir API </span> </a></li> <li><a href="https://community.purpleair.com/c/purpleair-data/7" class="site-nav__link site-nav__child-link site-nav__link--last"> <span class="site-nav__label">Data Community</span> </a></li> </ul> </div></li> <li class="site-nav--has-dropdown" data-has-dropdowns><a href="#" class="site-nav__link site-nav__link--main"> <span class="site-nav__label">About</span> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 498.98 284.49"> <defs> <style>.cls-1{fill:#231f20} </style> </defs><path class="cls-1" d="M80.93 271.76A35 35 0 0 1 140.68 247l189.74 189.75L520.16 247a35 35 0 1 1 49.5 49.5L355.17 511a35 35 0 0 1-49.5 0L91.18 296.5a34.89 34.89 0 0 1-10.25-24.74z" transform="translate(-80.93 -236.76)" /> </svg></a> <div class="site-nav__dropdown" id="SiteNavLabel-about"> <ul> <li><a href="https://community.purpleair.com" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">PurpleAir Community</span> </a></li> <li><a href="https://www2.purpleair.com/pages/from-schools-to-satellites-who-uses-purpleair-and-why" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Who Uses PurpleAir</span> </a></li> <li><a href="https://www2.purpleair.com/pages/exploring-air-quality-across-the-globe" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">PurpleAir in Research</span> </a></li> <li><a href="https://community.purpleair.com/c/community-projects/8" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Community Projects</span> </a></li> <li><a href="https://community.purpleair.com/c/faq/" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">FAQ</span> </a></li> <li><a href="https://www2.purpleair.com/blogs/blog-home" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">PurpleAir Blog</span> </a></li> <li><a href="https://www2.purpleair.com/blogs/collaborations" class="site-nav__link site-nav__child-link"> <span class="site-nav__label">Collaborations Blog</span> </a></li> <li><a href="https://www2.purpleair.com/pages/contact-us" class="site-nav__link site-nav__child-link site-nav__link--last"> <span class="site-nav__label">Contact Us</span> </a></li> </ul> </div></li> </ul> </nav> <div class="grid__item medium-up--one-quarter text-right site-header__icons site-header__icons--plus"> <div class="site-header__icons-wrapper"> <div class="site-header__search site-header__icon"> <form action="https://www2.purpleair.com/search" method="get" class="search-header search" role="search"> <input class="search-header__input search__input" type="search" name="q" placeholder="Search" aria-label="Search"> <button class="search-header__submit search__submit btn--link site-header__icon" type="submit"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 37 40"> <path d="M35.6 36l-9.8-9.8c4.1-5.4 3.6-13.2-1.3-18.1-5.4-5.4-14.2-5.4-19.7 0-5.4 5.4-5.4 14.2 0 19.7 2.6 2.6 6.1 4.1 9.8 4.1 3 0 5.9-1 8.3-2.8l9.8 9.8c.4.4.9.6 1.4.6s1-.2 1.4-.6c.9-.9.9-2.1.1-2.9zm-20.9-8.2c-2.6 0-5.1-1-7-2.9-3.9-3.9-3.9-10.1 0-14C9.6 9 12.2 8 14.7 8s5.1 1 7 2.9c3.9 3.9 3.9 10.1 0 14-1.9 1.9-4.4 2.9-7 2.9z" /> </svg><span class="icon__fallback-text">Submit</span></button> </form> </div> <button type="button" class="btn--link site-header__icon site-header__search-toggle js-drawer-open-top"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 37 40"> <path d="M35.6 36l-9.8-9.8c4.1-5.4 3.6-13.2-1.3-18.1-5.4-5.4-14.2-5.4-19.7 0-5.4 5.4-5.4 14.2 0 19.7 2.6 2.6 6.1 4.1 9.8 4.1 3 0 5.9-1 8.3-2.8l9.8 9.8c.4.4.9.6 1.4.6s1-.2 1.4-.6c.9-.9.9-2.1.1-2.9zm-20.9-8.2c-2.6 0-5.1-1-7-2.9-3.9-3.9-3.9-10.1 0-14C9.6 9 12.2 8 14.7 8s5.1 1 7 2.9c3.9 3.9 3.9 10.1 0 14-1.9 1.9-4.4 2.9-7 2.9z" /> </svg><span class="icon__fallback-text">Search</span></button><a href="/login" class="site-header__icon site-header__account" title="Login to PurpleAir with your Google account"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-login" viewBox="0 0 28.33 37.68"> <path d="M14.17 14.9a7.45 7.45 0 1 0-7.5-7.45 7.46 7.46 0 0 0 7.5 7.45zm0-10.91a3.45 3.45 0 1 1-3.5 3.46A3.46 3.46 0 0 1 14.17 4zM14.17 16.47A14.18 14.18 0 0 0 0 30.68c0 1.41.66 4 5.11 5.66a27.17 27.17 0 0 0 9.06 1.34c6.54 0 14.17-1.84 14.17-7a14.18 14.18 0 0 0-14.17-14.21zm0 17.21c-6.3 0-10.17-1.77-10.17-3a10.17 10.17 0 1 1 20.33 0c.01 1.23-3.86 3-10.16 3z" /> </svg><span class="icon__fallback-text">Log in</span> </a> <a href="https://www2.purpleair.com/cart" class="site-header__icon site-header__cart"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 37 40"> <path d="M36.5 34.8L33.3 8h-5.9C26.7 3.9 23 .8 18.5.8S10.3 3.9 9.6 8H3.7L.5 34.8c-.2 1.5.4 2.4.9 3 .5.5 1.4 1.2 3.1 1.2h28c1.3 0 2.4-.4 3.1-1.3.7-.7 1-1.8.9-2.9zm-18-30c2.2 0 4.1 1.4 4.7 3.2h-9.5c.7-1.9 2.6-3.2 4.8-3.2zM4.5 35l2.8-23h2.2v3c0 1.1.9 2 2 2s2-.9 2-2v-3h10v3c0 1.1.9 2 2 2s2-.9 2-2v-3h2.2l2.8 23h-28z" /> </svg><span class="icon__fallback-text">Cart</span> </a> <button type="button" class="btn--link site-header__icon site-header__menu js-mobile-nav-toggle mobile-nav--open" aria-controls="MobileNav" aria-expanded="false" aria-label="Menu"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 37 40"> <path d="M33.5 25h-30c-1.1 0-2-.9-2-2s.9-2 2-2h30c1.1 0 2 .9 2 2s-.9 2-2 2zm0-11.5h-30c-1.1 0-2-.9-2-2s.9-2 2-2h30c1.1 0 2 .9 2 2s-.9 2-2 2zm0 23h-30c-1.1 0-2-.9-2-2s.9-2 2-2h30c1.1 0 2 .9 2 2s-.9 2-2 2z" /> </svg> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 40 40"> <path d="M23.868 20.015L39.117 4.78c1.11-1.108 1.11-2.77 0-3.877-1.109-1.108-2.773-1.108-3.882 0L19.986 16.137 4.737.904C3.628-.204 1.965-.204.856.904c-1.11 1.108-1.11 2.77 0 3.877l15.249 15.234L.855 35.248c-1.108 1.108-1.108 2.77 0 3.877.555.554 1.248.831 1.942.831s1.386-.277 1.94-.83l15.25-15.234 15.248 15.233c.555.554 1.248.831 1.941.831s1.387-.277 1.941-.83c1.11-1.109 1.11-2.77 0-3.878L23.868 20.015z" class="layer" /> </svg></button> </div> </div> </div> <nav class="mobile-nav-wrapper medium-up--hide" role="navigation"> <ul id="MobileNav" class="mobile-nav"> <li class="mobile-nav__item border-bottom"> <button type="button" class="btn--link js-toggle-submenu mobile-nav__link" data-target="map-1" data-level="1" aria-expanded="false"><span class="mobile-nav__label">Map</span> <div class="mobile-nav__icon"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 7 11"> <path d="M1.5 11A1.5 1.5 0 0 1 .44 8.44L3.38 5.5.44 2.56A1.5 1.5 0 0 1 2.56.44l4 4a1.5 1.5 0 0 1 0 2.12l-4 4A1.5 1.5 0 0 1 1.5 11z" fill="#fff" /> </svg> </div></button> <ul class="mobile-nav__dropdown" data-parent="map-1" data-level="2"> <li class="visually-hidden" tabindex="-1" data-menu-title="2">Map Menu</li> <li class="mobile-nav__item border-bottom"> <div class="mobile-nav__table"> <div class="mobile-nav__table-cell mobile-nav__return"> <button class="btn--link js-toggle-submenu mobile-nav__return-btn" type="button" aria-expanded="true" aria-label="Map"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 7 11"> <path d="M5.5.037a1.5 1.5 0 0 1 1.06 2.56l-2.94 2.94 2.94 2.94a1.5 1.5 0 0 1-2.12 2.12l-4-4a1.5 1.5 0 0 1 0-2.12l4-4A1.5 1.5 0 0 1 5.5.037z" fill="#fff" class="layer" /> </svg></button> </div><span class="mobile-nav__sublist-link mobile-nav__sublist-header mobile-nav__sublist-header--main-nav-parent"> <span class="mobile-nav__label">Map</span> </span> </div></li> <li class="mobile-nav__item border-bottom"><a href="https://map.purpleair.com/" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Real-time Map</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://community.purpleair.com/t/map-start-up-guide/90" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Map Startup Guide</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://community.purpleair.com/t/sensor-start-up-guide/182#register-your-sensor-for-use-on-the-map-7" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Add Your Sensor</span> </a></li> <li class="mobile-nav__item"><a href="https://community.purpleair.com/c/real-time-map/11" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Map Community</span> </a></li> </ul></li> <li class="mobile-nav__item border-bottom"> <button type="button" class="btn--link js-toggle-submenu mobile-nav__link" data-target="sensors-2" data-level="1" aria-expanded="false"><span class="mobile-nav__label">Sensors</span> <div class="mobile-nav__icon"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 7 11"> <path d="M1.5 11A1.5 1.5 0 0 1 .44 8.44L3.38 5.5.44 2.56A1.5 1.5 0 0 1 2.56.44l4 4a1.5 1.5 0 0 1 0 2.12l-4 4A1.5 1.5 0 0 1 1.5 11z" fill="#fff" /> </svg> </div></button> <ul class="mobile-nav__dropdown" data-parent="sensors-2" data-level="2"> <li class="visually-hidden" tabindex="-1" data-menu-title="2">Sensors Menu</li> <li class="mobile-nav__item border-bottom"> <div class="mobile-nav__table"> <div class="mobile-nav__table-cell mobile-nav__return"> <button class="btn--link js-toggle-submenu mobile-nav__return-btn" type="button" aria-expanded="true" aria-label="Sensors"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 7 11"> <path d="M5.5.037a1.5 1.5 0 0 1 1.06 2.56l-2.94 2.94 2.94 2.94a1.5 1.5 0 0 1-2.12 2.12l-4-4a1.5 1.5 0 0 1 0-2.12l4-4A1.5 1.5 0 0 1 5.5.037z" fill="#fff" class="layer" /> </svg></button> </div><span class="mobile-nav__sublist-link mobile-nav__sublist-header mobile-nav__sublist-header--main-nav-parent"> <span class="mobile-nav__label">Sensors</span> </span> </div></li> <li class="mobile-nav__item border-bottom"><a href="https://www2.purpleair.com/products/list" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">View Products</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://community.purpleair.com/t/which-sensor-to-choose/125" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Which Sensor to Choose</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://www2.purpleair.com/pages/trusting-purpleair-sensor-evaluations" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Sensor Evaluations</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://community.purpleair.com/t/sensor-start-up-guide/182" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Sensor Startup Guide</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://www.purpleair.com/register" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Register Your Sensor</span> </a></li> <li class="mobile-nav__item"><a href="https://community.purpleair.com/c/sensors/10" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Sensor Community</span> </a></li> </ul></li> <li class="mobile-nav__item border-bottom"> <button type="button" class="btn--link js-toggle-submenu mobile-nav__link" data-target="data-3" data-level="1" aria-expanded="false"><span class="mobile-nav__label">Data</span> <div class="mobile-nav__icon"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 7 11"> <path d="M1.5 11A1.5 1.5 0 0 1 .44 8.44L3.38 5.5.44 2.56A1.5 1.5 0 0 1 2.56.44l4 4a1.5 1.5 0 0 1 0 2.12l-4 4A1.5 1.5 0 0 1 1.5 11z" fill="#fff" /> </svg> </div></button> <ul class="mobile-nav__dropdown" data-parent="data-3" data-level="2"> <li class="visually-hidden" tabindex="-1" data-menu-title="2">Data Menu</li> <li class="mobile-nav__item border-bottom"> <div class="mobile-nav__table"> <div class="mobile-nav__table-cell mobile-nav__return"> <button class="btn--link js-toggle-submenu mobile-nav__return-btn" type="button" aria-expanded="true" aria-label="Data"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 7 11"> <path d="M5.5.037a1.5 1.5 0 0 1 1.06 2.56l-2.94 2.94 2.94 2.94a1.5 1.5 0 0 1-2.12 2.12l-4-4a1.5 1.5 0 0 1 0-2.12l4-4A1.5 1.5 0 0 1 5.5.037z" fill="#fff" class="layer" /> </svg></button> </div><span class="mobile-nav__sublist-link mobile-nav__sublist-header mobile-nav__sublist-header--main-nav-parent"> <span class="mobile-nav__label">Data</span> </span> </div></li> <li class="mobile-nav__item border-bottom"><a href="https://develop.purpleair.com" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Develop Portal</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://community.purpleair.com/t/purpleair-data-download-tool/3787" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Data Download Tool</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://www2.purpleair.com/pages/purpleair-data-use-cases" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Data Use Cases</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://community.purpleair.com/t/about-the-purpleair-api/7145" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">PurpleAir API </span> </a></li> <li class="mobile-nav__item"><a href="https://community.purpleair.com/c/purpleair-data/7" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Data Community</span> </a></li> </ul></li> <li class="mobile-nav__item"> <button type="button" class="btn--link js-toggle-submenu mobile-nav__link" data-target="about-4" data-level="1" aria-expanded="false"><span class="mobile-nav__label">About</span> <div class="mobile-nav__icon"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 7 11"> <path d="M1.5 11A1.5 1.5 0 0 1 .44 8.44L3.38 5.5.44 2.56A1.5 1.5 0 0 1 2.56.44l4 4a1.5 1.5 0 0 1 0 2.12l-4 4A1.5 1.5 0 0 1 1.5 11z" fill="#fff" /> </svg> </div></button> <ul class="mobile-nav__dropdown" data-parent="about-4" data-level="2"> <li class="visually-hidden" tabindex="-1" data-menu-title="2">About Menu</li> <li class="mobile-nav__item border-bottom"> <div class="mobile-nav__table"> <div class="mobile-nav__table-cell mobile-nav__return"> <button class="btn--link js-toggle-submenu mobile-nav__return-btn" type="button" aria-expanded="true" aria-label="About"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 7 11"> <path d="M5.5.037a1.5 1.5 0 0 1 1.06 2.56l-2.94 2.94 2.94 2.94a1.5 1.5 0 0 1-2.12 2.12l-4-4a1.5 1.5 0 0 1 0-2.12l4-4A1.5 1.5 0 0 1 5.5.037z" fill="#fff" class="layer" /> </svg></button> </div><span class="mobile-nav__sublist-link mobile-nav__sublist-header mobile-nav__sublist-header--main-nav-parent"> <span class="mobile-nav__label">About</span> </span> </div></li> <li class="mobile-nav__item border-bottom"><a href="https://community.purpleair.com" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">PurpleAir Community</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://www2.purpleair.com/pages/from-schools-to-satellites-who-uses-purpleair-and-why" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Who Uses PurpleAir</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://www2.purpleair.com/pages/exploring-air-quality-across-the-globe" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">PurpleAir in Research</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://community.purpleair.com/c/community-projects/8" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Community Projects</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://community.purpleair.com/c/faq/" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">FAQ</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://www2.purpleair.com/blogs/blog-home" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">PurpleAir Blog</span> </a></li> <li class="mobile-nav__item border-bottom"><a href="https://www2.purpleair.com/blogs/collaborations" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Collaborations Blog</span> </a></li> <li class="mobile-nav__item"><a href="https://www2.purpleair.com/pages/contact-us" class="mobile-nav__sublist-link"> <span class="mobile-nav__label">Contact Us</span> </a></li> </ul></li> </ul> </nav> </header> </div> </div> <div class="page-container" id="PageContainer"> <main class="main-content js-focus-hidden" id="MainContent" role="main" tabindex="-1"> <body> <div id="loader"> <div class="spinner"> <div class="spinner-container container1"> <div class="circle1"></div> <div class="circle2"></div> <div class="circle3"></div> <div class="circle4"></div> </div> <div class="spinner-container container2"> <div class="circle1"></div> <div class="circle2"></div> <div class="circle3"></div> <div class="circle4"></div> </div> <div class="spinner-container container3"> <div class="circle1"></div> <div class="circle2"></div> <div class="circle3"></div> <div class="circle4"></div> </div> <p>Loading...</p> </div> </div> <div class="ios-prompt" style="display: none;"> <span class="ios-prompt-close-button">X</span> <img src="/assets/images/add2home.svg" alt="Add to home screen" class="ios-add-2-home-icon"> <p>To install this application press <img src="/assets/images/share.svg" alt="Share icon" class="ios-share-icon"> and then select 'Add to Home Screen'.</p> </div> <div id="content"></div> </body> </main> </div> <ul hidden> <li id="a11y-refresh-page-message">choosing a selection results in a full page refresh</li> <li id="a11y-selection-message">press the space key then arrow keys to make a selection</li> </ul> <div id="shopify-block-AK2cvU1YxM2RudVVoa__17368511000352060744" class="shopify-block shopify-app-block"> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10