Try one now

The badge, right on this page.

This is the exact widget, fetching the exact reading, that a visitor to Lanzarote's own page would see right now.

Get your own

Pick a city, take the code.

No key, no sign-up, no rate limit that matters to a normal site. It updates on its own, nothing to keep in sync.

<div class="glotemp-badge" data-glotemp-city="lanzarote"></div>
<script src="https://glo-temp.com/embed.js" async></script>
Copied

The routes

Two products, clearly different.

The badge and the API answer different questions. Neither pretends to be the other.

GET/v1/badge/{slug}

No key. The same curated reading that city's own Glotemp page shows right now: band and a 0-10 score. This is what embed.js calls. Cached 5 minutes.

GET/v1/cities/{slug}?hours=24

Key required (Authorization: Bearer glo_live_... or X-API-Key). Crowd check-ins over a rolling window (1-168h): observation count, average intensity, band, most common mode. Sparse where check-ins are still sparse, reported as it stands rather than padded. Free plan: 500 calls/month.

GET/v1/health

No key. Uptime check.

Example:

curl https://hnysztednzqfzbmiqqgl.supabase.co/functions/v1/api-v1/v1/cities/lanzarote \
  -H "Authorization: Bearer glo_live_your_key_here"

Free key

For the metered API.

One key per email, 500 calls a month, shown once. The badge above needs none of this: it's only for /v1/cities.

Contact

Need more than 500 calls?

Write to [email protected]. Paid plans exist for that.