Real-time state
Polls at a controlled interval and uses ETags to avoid downloading unchanged events.
Add a compact Living Event card to a developer blog, documentation portal, newsletter archive, or internal intelligence page. The widget polls only for fresh event state, sends no cookies, and links every update to its canonical AIBuzzHub page.
Polls at a controlled interval and uses ETags to avoid downloading unchanged events.
The widget uses anonymous cross-origin requests with no publisher cookies or third-party analytics.
Every card links to the Living Event Page so readers can inspect sources, claims, and timeline deltas.
Replace YOUR-EVENT-SLUG with the slug from an AIBuzzHub event URL. Polling is clamped between 30 seconds and 15 minutes; 120 seconds is the default.
<div
class="aibuzzhub-widget"
data-aibuzzhub-event="YOUR-EVENT-SLUG"
data-aibuzzhub-poll="120"
data-aibuzzhub-theme="dark"
></div>
<script
async
src="https://www.aibuzzhub.com/embed/aibuzzhub-widget.js"
></script>Use data-aibuzzhub-theme="light" on a light publication and adjust data-aibuzzhub-poll for your editorial cadence.
Use this when your CMS strips external scripts. It renders the same server-generated card but does not poll in place.
<iframe
src="https://www.aibuzzhub.com/api/embed/event/YOUR-EVENT-SLUG"
title="AIBuzzHub Living Event"
loading="lazy"
style="width:100%;min-height:260px;border:0"
></iframe>The endpoint returns ETag, Last-Modified, and cache headers. Send the previous ETag in If-None-Match; unchanged events return HTTP 304.
fetch(
"https://www.aibuzzhub.com/api/embed/event/YOUR-EVENT-SLUG?format=json",
{ headers: { Accept: "application/json" } }
).then((response) => response.json())
.then((event) => console.log(event));