
🏠 Rumah
Bangun Harapan
Bantu setiap keluarga memiliki tempat untuk disebut rumah — dibiayai melalui OseloHelp.com, korporasi nirlaba kami yang bebas pajak.
Distribusi musik global: segera hadir!
3.004.606+ halaman artis · 8.684.003+ halaman bisnis · Tersedia dalam 417+ bahasa

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 →Tujuan Kami
Kami mengundang semua orang untuk membantu meninggalkan warisan bagi kemanusiaan.
Bergabunglah dalam tiga misi yang akan bertahan melampaui kita semua

Bangun Harapan
Bantu setiap keluarga memiliki tempat untuk disebut rumah — dibiayai melalui OseloHelp.com, korporasi nirlaba kami yang bebas pajak.

Melestarikan Kemanusiaan melalui Musik
Melestarikan musik dan cerita umat manusia untuk lebih dari 1.000 tahun ke depan.

Mengilhami Generasi Penjelajah Berikutnya
Buat kesempatan menjelajah luar angkasa tersedia untuk semua orang.

Rancangan pesawat antariksa yang lepas landas dari landasan pacu, bukan diluncurkan dengan roket. Ini sebuah konsep, bukan wahana jadi.
Lihat cara kerjanyaBagaimana semuanya saling terhubung
Tidak ada yang di sini merupakan bisnis terpisah — setiap tahap memperkuat tahap berikutnya.
Satu tujuan. Banyak bisnis yang saling menguatkan.
Entah Anda mendengarkan lagu, membagikan cerita, memakai merchandise, menghadiri konser, menerjemahkan lirik, merekomendasikan sebuah negara, atau sekadar menceritakannya kepada seorang teman — Anda menjadi bagian dari sesuatu yang dirancang untuk bertahan lintas generasi.
Semua orang bisa berpartisipasi. Tidak ada kontribusi yang terlalu kecil.
TimTim.Live — Jelajahi dunia melalui musik.
Menghubungkan orang di 195 negara: saat ini 3.004.606+ halaman artis, berkembang hingga 4+ juta · 8.684.003+ halaman bisnis, berkembang hingga 400 juta · situs ini akan diterjemahkan ke 417 bahasa lokal di seluruh dunia.
TimTim.Live sudah memetakan 233.870 tempat di seluruh 195 negara, menjangkau komunitas dengan populasi sekecil 1.000 jiwa, termasuk:
257 negara bagian • 1.690 provinsi • 4.808 kabupaten • 41.161 distrik • 13.471 kota • 117.896 kota kecil • 40.988 desa
© 2026 TimTim.Live. Hak cipta dilindungi.