Embeds
Put your events, join form and registration cards on your own website with a small iframe snippet that resizes itself.
Each club and track gets embeddable widgets that run on any website. They’re chromeless iframes served from https://app.outlap.xyz/embed, and they resize themselves to fit.
?limit=, default 5. Get your snippet
Open your club’s dashboard, choose Embed, pick a widget and copy the code. The dialog fills in your club slug, event and limit, and always uses the production domain so it works wherever you paste it.
The snippet
<div id="outlap-events" data-outlap-widget="events"
data-outlap-src="https://app.outlap.xyz/embed/events/your-club?limit=5"></div>
<script>
(function(){
var c=document.getElementById("outlap-events");
if(!c)return;
var f=document.createElement("iframe");
f.src=c.getAttribute("data-outlap-src");
f.style.cssText="width:100%;border:none;overflow:hidden;min-height:400px;border-radius:8px;";
f.setAttribute("loading","lazy");
f.setAttribute("title","Upcoming Events");
c.appendChild(f);
window.addEventListener("message",function(e){
if(e.origin!=="https://app.outlap.xyz"||e.source!==f.contentWindow)return;
var h=e.data&&Number(e.data.height);
if(e.data.type==="outlap-resize"&&e.data.widget==="events"&&h>0&&h<10000){
f.style.height=h+"px";
}
});
})();
</script>
URLs
| Widget | URL | Query |
|---|---|---|
| Event listings | https://app.outlap.xyz/embed/events/{clubSlug} | limit (default 5) |
| Event registration | https://app.outlap.xyz/embed/event/{eventId} | n/a |
| Join club | https://app.outlap.xyz/embed/join/{clubSlug} | n/a |
| Track calendar | https://app.outlap.xyz/embed/track/{clubSlug}/calendar | n/a |
Auto-resize protocol
The widget posts a message to the parent whenever its content height changes:
{ "type": "outlap-resize", "widget": "events", "height": 412 }
The snippet above accepts it only if the message comes from the Outlap origin and from that exact iframe, then clamps to 0 to 10,000 px. If you write your own listener, keep both checks.
Good to know
- Sign-in happens on Outlap. Third-party cookies are blocked in many browsers, so signing in inside an iframe is unreliable. When someone needs to sign in, buy or register, the widget opens Outlap in a new tab.
- Only public data shows. Event listings include events that are both published and public.
- The page that embeds must allow iframes. If your site sends a restrictive
Content-Security-Policy, allowframe-src https://app.outlap.xyz. - Want data, not a widget? Use the Track API or the public calendar feed, or render the leaderboard yourself.