API terbuka, tanpa API key. Pakai domain mana pun: oot.web.id, ruru.my.id, atau workers.dev. Semua respons berbentuk JSON. Inbox bersifat publik: siapa pun yang tahu alamatnya bisa membaca isinya, jadi jangan pakai untuk hal sensitif.
Buat alamat, tunggu email masuk, lalu baca inbox-nya.
curl "https://oot.web.id/api/random?domain=oot.web.id" curl "https://oot.web.id/api/inbox?address=ALAMAT" curl "https://oot.web.id/api/message?address=ALAMAT&id=ID_PESAN"
Alamat juga bisa dibuka langsung lewat URL, jadi inbox bisa disimpan sebagai bookmark atau dibagikan lewat link: https://oot.web.id/nama@oot.web.id. Begitu alamat dibuat atau dipilih di web, URL halaman otomatis berubah mengikuti alamatnya. Buka link itu kapan pun untuk melihat inbox yang sama lagi (pesan tetap hilang sendiri setelah 24 jam).
Ambil semua domain email yang tersedia.
/api/domains
{
"domains": ["ruru.my.id", "oot.web.id"]
}
Buat alamat email acak. Alamat langsung bisa menerima email, tidak perlu didaftarkan.
/api/random?domain={domain}
| Parameter | Keterangan |
|---|---|
| domain | Salah satu domain dari /api/domains (default ruru.my.id) |
{
"address": "k3x9pq2a7b@oot.web.id"
}
Buat alamat email dengan nama pilihan sendiri.
/api/custom?username={nama}&domain={domain}
| Parameter | Keterangan |
|---|---|
| username wajib | 3-32 karakter: huruf kecil, angka, titik, strip, underscore |
| domain | Salah satu domain dari /api/domains (default ruru.my.id) |
{
"address": "tokoku@oot.web.id"
}
Ambil semua email masuk untuk sebuah alamat. Hasilnya array, kosong kalau belum ada email.
/api/inbox?address={email}
| Parameter | Keterangan |
|---|---|
| address wajib | Alamat email, misal nama@oot.web.id |
{
"address": "tokoku@oot.web.id",
"messages": [
{
"id": "a1b2c3",
"from": "Canva <no-reply@canva.com>",
"subject": "Kode verifikasi Anda: 482913",
"date": "Wed, 28 Oct 2026 13:18:26 GMT",
"ts": 1793192306000,
"snippet": "Gunakan kode 482913 untuk ..."
}
]
}
Ambil isi lengkap satu pesan (teks bersih, tanpa tag HTML).
/api/message?address={email}&id={id}
| Parameter | Keterangan |
|---|---|
| address wajib | Alamat email pemilik inbox |
| id wajib | ID pesan dari endpoint Baca Inbox |
{
"id": "a1b2c3",
"address": "tokoku@oot.web.id",
"from": "Canva <no-reply@canva.com>",
"subject": "Kode verifikasi Anda: 482913",
"date": "Wed, 28 Oct 2026 13:18:26 GMT",
"ts": 1793192306000,
"text": "Gunakan kode 482913 untuk ...",
"snippet": "Gunakan kode 482913 untuk ..."
}
Endpoint ringan untuk polling. Cek apakah ada email baru sejak waktu tertentu (Unix timestamp, detik). Panggil tiap beberapa detik, lalu ambil inbox kalau new = true.
/api/poll?address={email}&since={timestamp}
| Parameter | Keterangan |
|---|---|
| address wajib | Alamat email |
| since | Unix timestamp terakhir dicek, detik (default 0) |
{
"address": "tokoku@oot.web.id",
"new": true,
"count": 2,
"latest": 1793192306
}
Hapus satu email dari inbox. Kirim sebagai JSON.
/api/delete
| Field | Keterangan |
|---|---|
| address wajib | Alamat email pemilik inbox |
| id wajib | ID pesan dari endpoint Baca Inbox |
curl -X POST "https://oot.web.id/api/delete" -H "Content-Type: application/json" -d '{"address": "tokoku@oot.web.id", "id": "a1b2c3"}'
{
"success": true
}
var API = "https://oot.web.id";
var email = await fetch(API + "/api/random?domain=oot.web.id").then(function (r) { return r.json(); }).then(function (d) { return d.address; });
console.log("alamat:", email);
var since = 0;
for (var i = 0; i < 24; i++) {
var poll = await fetch(API + "/api/poll?address=" + encodeURIComponent(email) + "&since=" + since).then(function (r) { return r.json(); });
if (poll.new) {
var inbox = await fetch(API + "/api/inbox?address=" + encodeURIComponent(email)).then(function (r) { return r.json(); });
console.log(inbox.messages[0].subject, inbox.messages[0].snippet);
break;
}
since = poll.latest;
await new Promise(function (res) { setTimeout(res, 5000); });
}
Kalau gagal, respons berisi field error. Selalu cek field ini dulu.
| Kode | Arti |
|---|---|
| 400 | Alamat atau parameter tidak valid |
| 404 | Pesan tidak ditemukan / alamat dan ID tidak cocok |
| 405 | Method salah (hapus email wajib POST) |
{
"error": "alamat tidak valid, pakai @ruru.my.id atau @oot.web.id"
}
Hasilnya muncul di sini.