It's 4:20 Somewhere. Now a Free, Open-Source API Tells You Exactly Where
<p><strong><a href="https://420.menow.us/">The Official 420 World Clock</a> at 420.menow.us shows, live, exactly where on Earth it is 4:20 right now, and how long until it is 4:20 everywhere else.</strong> And everything behind it is a free, open-source API that anyone can build on: no account, no key, no cost.</p>
<p>It's 4:20 somewhere. Now there is a precise, public answer to <em>where</em>.</p>
<figure> <img src="https://blog.jelia.nyc/img/rel-420-og.jpg" alt="The Official 420 World Clock: a world map divided into time zones, colored from red to bright green by how close each zone is to 4:20" width="1200" height="630"> <figcaption>The Official 420 World Clock at <a href="https://420.menow.us/">420.menow.us</a>.</figcaption> </figure>
<h2>The clock</h2> <ul> <li><b>A live map of every time zone on Earth</b>: 66 zones, built from the open <a href="https://github.com/evansiroky/timezone-boundary-builder">timezone-boundary-builder</a> boundaries, colored by how far each one is from 4:20, from deep red (hours away) to bright green (right now).</li> <li><b>Your own clock, privately.</b> The page reads your time zone from your browser. No location prompt, and nothing is sent to a server.</li> <li><b>The countdown.</b> The header shows the closest 4:20, the next one coming, and the minutes until it lands.</li> <li><b>Fly there.</b> Every place name links to Google Earth.</li> <li><b>Know the law before you light up.</b> Hearts mark the 32 countries where cannabis is legal or decriminalized nationally; skulls mark the 15 where a cannabis offense can carry the death penalty. Every zone has a plain-language law card.</li> </ul>
<figure> <img src="https://blog.jelia.nyc/img/rel-420-map.jpg" alt="The 420 World Clock web page showing the status line, a row of city clocks and the color-coded world map" width="1400" height="900"> <figcaption>The live page: status line, city clocks, and the map.</figcaption> </figure>
<h2>The API: free, read-only, no key</h2>
<p><a href="https://api.420.menow.us/">api.420.menow.us</a> serves the same data the clock uses. Open any address in a browser and you get a readable page; ask from code and you get JSON. Full reference: <a href="https://api.420.menow.us/docs">api.420.menow.us/docs</a>.</p>
<div class="dk-tablewrap"> <table> <thead><tr><th>Endpoint</th><th>What it answers</th></tr></thead> <tbody> <tr><td><a href="https://api.420.menow.us/v1/now">/v1/now</a></td><td>Is it 4:20 anywhere right now? The closest place, what's next, and the countdown queue</td></tr> <tr><td><a href="https://api.420.menow.us/v1/zones">/v1/zones</a></td><td>Every map zone with its local time and distance from 4:20</td></tr> <tr><td>/v1/zones/{tzid}</td><td>One zone, e.g. <a href="https://api.420.menow.us/v1/zones/America/New_York">America/New_York</a></td></tr> <tr><td>/v1/zones/{tzid}/law</td><td>The law card for one zone</td></tr> <tr><td>/v1/zones/{tzid}/places</td><td>Every place in one zone, each with its own law card</td></tr> <tr><td><a href="https://api.420.menow.us/v1/laws">/v1/laws</a></td><td>Cannabis law status for every country</td></tr> <tr><td>/v1/laws/{iso2}</td><td>Full law card for one country, e.g. <a href="https://api.420.menow.us/v1/laws/NL">NL</a></td></tr> <tr><td><a href="https://api.420.menow.us/v1/laws.sqlite">/v1/laws.sqlite</a></td><td>The whole law database as one SQLite file, for offline apps</td></tr> <tr><td><a href="https://api.420.menow.us/v1/time">/v1/time</a></td><td>The server clock, cross-checked against the U.S. Naval Observatory</td></tr> <tr><td><a href="https://api.420.menow.us/v1/meta">/v1/meta</a></td><td>Data version, and the offline database for apps</td></tr> </tbody> </table> </div>
<p>One call answers the question. Asked at 4:03 p.m. New York time today, <code>/v1/now</code> said the next 4:20 was <b>17 minutes</b> away, landing at once in <b>Caracas, Havana, New York and Manila</b>:</p>
<pre><code>curl https://api.420.menow.us/v1/now
"is_420_somewhere": false, "closest": { "place": "Caracas", "minutes_until_next_420": 17 }, "queue": [ { "in_minutes": 17, "places": ["Caracas", "Havana", "New York", "Manila"] } ]</code></pre>
<figure> <img src="https://blog.jelia.nyc/img/rel-420-api.jpg" alt="420 World Clock API banner: a glowing globe clock reading 04:20 with the words Free, Read-only, No key required" width="1200" height="593"> <figcaption>Free. Read-only. No key required.</figcaption> </figure>
<h2>Open source</h2>
<p>The API's code is public on GitHub under the MIT license: <a href="https://github.com/LIBCSYS/420-world-clock-api">github.com/LIBCSYS/420-world-clock-api</a>. Read it, run it, fork it, put it in your own app. Time zone rules are pinned to the official tz database (2026e), so the answers stay correct when governments change their clocks.</p>
<p>Built by LIBCSystems in Long Island, New York.</p>
<h2>All the links</h2> <ul> <li>The clock: <a href="https://420.menow.us/">https://420.menow.us/</a></li> <li>The API: <a href="https://api.420.menow.us/">https://api.420.menow.us/</a></li> <li>API reference: <a href="https://api.420.menow.us/docs">https://api.420.menow.us/docs</a></li> <li>Source code (MIT): <a href="https://github.com/LIBCSYS/420-world-clock-api">https://github.com/LIBCSYS/420-world-clock-api</a></li> <li>Right now: <a href="https://api.420.menow.us/v1/now">https://api.420.menow.us/v1/now</a></li> </ul>