Cloudflare Docs
Visit Workers on GitHub
Set theme to dark (⇧+D)

Geolocation: Weather application

Fetch weather data from an API using the user's geolocation data.
addEventListener('fetch', event => {
async function handleRequest(request) {
let endpoint = '';
const token = ''; //Use a token from
let html_style = `body{padding:6em; font-family: sans-serif;} h1{color:#f6821f}`;
let html_content = '<h1>Weather 🌦</h1>';
latitude =;
longitude =;
endpoint += `${latitude};${longitude}/?token=${token}`;
const init = {
headers: {
'content-type': 'application/json;charset=UTF-8',
const response = await fetch(endpoint, init);
const content = await response.json();
html_content += `<p>This is a demo using Workers geolocation data. </p>`;
html_content += `You are located at: ${latitude},${longitude}.</p>`;
html_content += `<p>Based off sensor data from <a href="${}">${}</a>:</p>`;
html_content += `<p>The AQI level is: ${}.</p>`;
html_content += `<p>The N02 level is: ${}.</p>`;
html_content += `<p>The O3 level is: ${}.</p>`;
html_content += `<p>The temperature is: ${}°C.</p>`;
let html = `
<!DOCTYPE html>
<title>Geolocation: Weather</title>
<div id="container">
return new Response(html, {
headers: {
'content-type': 'text/html;charset=UTF-8',