420 World Clock API
The world's only 4:20 API — and a friendly first API to learn on. Free and read-only. Ask it where it's 4:20 right now, who's next, what time it is in every zone, and what the law says in each country. No sign-up, no key.
Asking the API…
That line comes from the API itself, live, using the 5 lines of code shown under “Your first program” below.
What is an API?
An API is a way for one program to ask another program a question and get back an answer it can use.
Think of a restaurant. You don't walk into the kitchen; you give the waiter your order, and the waiter brings back your food. The API is the waiter:
- You ask by visiting an address (a URL), like
https://api.420.menow.us/v1/now. - The API answers with data in a format called JSON — plain text that looks like labelled boxes:
"place": "New York". Try it: when is New York's next 4:20? - Your program reads the box it wants (for example
place) and shows it however you like.
Every address in this API is a GET request — it only reads. You can't change anything, so you can't break anything. Experiment freely.
Try it right now
Press a button. You'll see exactly what a program receives.
Pick a button above.
The addresses (endpoints)
| Address | What you get back |
|---|---|
/v1/now | Is it 4:20 anywhere right now, the closest place, what's next, and the next 7 moments in the countdown queue. |
/v1/zones/America/New_York | One zone: its local time and minutes until its next 4:20. |
/v1/zones | Every zone on the map: local time, UTC offset, minutes from 4:20, minutes until its next 4:20. |
/v1/laws | Every country's status: legal, decriminalized, medical, illegal or death. Add ?status=legal to filter. |
/v1/laws/NL | One country's full law card (use the two-letter code: NL, CA, SG…), with sources. |
/v1/zones/Europe/Paris/law | The local law card for one map zone (the zone's tzid from /v1/zones). |
/v1/zones/America/Lima/places | Every place named in a zone (Lima, Bogotá, Panama), each with its own law card and coordinates. |
/v1/time | The server's clock in milliseconds, cross-checked against the US Naval Observatory. |
/v1/meta | When the law data was last checked, plus the offline database's size and fingerprint. |
/v1/laws.sqlite | The whole law database as one SQLite file, for apps that work offline. |
Full technical reference: /docs (every field, try-it-out forms).
Your first program
1 · No code at all: your browser
Paste this into the address bar. Your browser shows the raw answer.
https://api.420.menow.us/v1/now
2 · JavaScript (a web page)
Save this as 420.html and open it. It shows where it's 4:20 next.
<p id="next">Loading…</p>
<script>
fetch('https://api.420.menow.us/v1/now') // 1. ask the API
.then(response => response.json()) // 2. read the JSON answer
.then(data => {
const n = data.next; // 3. pick the box you want
document.getElementById('next').textContent =
`Next 4:20: ${n.place} in ${n.minutes_until_next_420} minutes`;
});
</script>
3 · Python
Uses only what comes with Python — nothing to install.
import json, urllib.request
with urllib.request.urlopen("https://api.420.menow.us/v1/now") as r:
data = json.load(r)
if data["is_420_somewhere"]:
print("It's 4:20 now in:", ", ".join(p["place"] for p in data["now_at_420"]))
print("Next up:", data["next"]["place"], "in", data["next"]["minutes_until_next_420"], "minutes")
4 · The command line
curl https://api.420.menow.us/v1/laws/CA
Reading the answer
Part of a /v1/now answer, with notes:
{
"time_utc": "2026-10-25T16:05:12+00:00", ← when the API answered (UTC)
"is_420_somewhere": false, ← true during a 4:20 minute
"next": {
"place": "Chicago",
"local_time": "3:05 PM",
"minutes_until_next_420": 15 ← the countdown
},
"queue": [ ← the next moments, in order
{ "in_minutes": 15, "places": ["Chicago", "Lima"] },
{ "in_minutes": 45, "places": ["Kathmandu"] }
],
"attribution": "Data: The Official 420 World Clock (420.menow.us) · LIBCSystems LLC"
}
Fair use
- Free for personal, school and commercial use.
- Please show the attribution line (it's in every answer) and link to 420.menow.us.
- Be gentle: there's a per-address rate limit. For live displays, asking once a minute is plenty — the clock only changes once a minute.
- Law data is researched with sources and dated (see
as_of), but laws change. Information and education only — not legal advice.