
🏠 Home
Build Hope
Help every family have a place to call home — funded through OseloHelp.com, our tax-exempt non-profit corporation.
Global Music Distribution Coming Soon!
TimTim.Live Developer Preview
Five small steps. No account needed to try it.
Choose a city.
Copy the code.
Paste it into your page.
Reload the page.
Events appear.
<script src="https://timtim.live/widget/events.js"
data-city="Miami" data-category="music" async></script>This runs the exact code above, right here on this page.
That is it. Without a key you see sample events, so you can build safely. When you are ready for real events, get a website key and add data-key="tt_pk_live_…".
Add any of these to the script tag.
| Attribute | What it does |
|---|---|
| data-city | A city name, like Miami or Paris. |
| data-country | A two-letter country code, like US or FR. |
| data-category | music, festival, nightlife, conference… |
| data-near | A place, like "Paris,FR". |
| data-artist | Only events with this performer. |
| data-limit | How many events, 1 to 24. Six if you leave it out. |
| data-lang | The widget's language, like fr or es. Your page's own language if you leave it out. |
| data-color | The button color, like #0e7490. |
| data-key | Your website key (tt_pk_live_…) for real events. Without it you get sample events. |
The widget draws inside its own box (a shadow root), so your styles cannot break it and it cannot break yours. It only ever writes text, never HTML.
Ask the API yourself. This works in any browser or in Node 18+, with no key, for sample events.
const res = await fetch("https://api.timtim.live/v1/demo/events?city=Miami&category=music");
const { events } = await res.json();
for (const event of events) {
console.log(event.name, event.display.date_label, event.tickets.buy_url);
}For your own events, use a key and /v1/events instead of /v1/demo/events:
const res = await fetch("https://api.timtim.live/v1/events?city=Miami&category=music", {
headers: { Authorization: "Bearer tt_test_YOUR_KEY" },
});Keys that start tt_sk_live_ are secret: keep them on your server, never in a web page.
Learn how TimTim.Live distribution partnerships work.
Partner Program →Our Purpose
We invite everyone to help leave a legacy for humanity.
Join Three Missions That Will Outlive Us All

Build Hope
Help every family have a place to call home — funded through OseloHelp.com, our tax-exempt non-profit corporation.

Preserve Humanity Through Music
Preserve humanity's music and stories for the next 1,000+ years.

Inspire the Next Generation of Explorers
Make the opportunity to explore space available to everyone.

A design for a spaceplane that takes off from a runway instead of launching on a rocket. It is a concept, not a finished craft.
See how it worksHow it all connects
Nothing here is a separate business — each stage strengthens the next.
One purpose. Many reinforcing businesses.
Whether you listen to a song, share a story, wear the merchandise, attend a concert, translate lyrics, recommend a country, or simply tell a friend — you become part of something designed to last for generations.
Everyone can participate. No contribution is too small.
TimTim.Live — Explore the World Through Music.
TimTim.Live already maps 233,839 places across all 195 countries, reaching communities with populations as small as 1,000 people, including:
257 states • 1,690 provinces • 4,808 counties • 41,130 districts • 13,471 cities • 117,896 towns • 40,988 villages
© 2026 TimTim.Live. All Rights Reserved.