# Temp Mail — Zapi reference > Alamat email sekali pakai dari berbagai provider — buat alamat, baca pesan masuk, terima OTP tanpa memakai email asli. **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a key at https://zpi.web.id/dashboard/keys (free tier — 2,000 req/mo, no credit card). **Response envelope:** `{ status: "success" | "error", message: string, content: }` **Rate limit:** 60 req/min (free tier). Per-endpoint cache TTL is documented below. **Errors:** standard HTTP codes (`401` invalid key, `429` rate limited, `5xx` upstream). Body always has `{ status: "error", message, errors? }`. ```bash curl "https://api.zpi.web.id/v1/CATEGORY:SCRAPER/ENDPOINT?param=value" \ -H "x-api-key: $ZAPI_KEY" ``` **Category page:** https://zpi.web.id/category/temp-mail **Full catalog:** https://zpi.web.id/apis · **Index:** https://zpi.web.id/llms-full.txt --- ## Guerrilla Mail **Category:** temp-mail · **Slug:** `guerrillamail` **Detail page:** https://zpi.web.id/api/temp-mail/guerrillamail Alamat email sekali pakai dari Guerrilla Mail — buat alamat lalu baca pesan yang masuk. **Tags:** tempmail, email, disposable, otp ### Create Buat alamat email sekali pakai. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:guerrillamail/create` **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:guerrillamail/create" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:guerrillamail/create", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:guerrillamail/create", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "address": "guqttpip@guerrillamailblock.com", "createdAt": "2026-08-07T09:43:34.000Z", "expiresAt": "2026-08-07T10:43:34.000Z", "durationMinutes": 60 } ``` --- ### Inbox Baca pesan yang masuk ke alamat sekali pakai. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:guerrillamail/inbox/:address` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `address` | string | path | yes | The disposable address to read (as returned by create). | **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:guerrillamail/inbox/:address" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:guerrillamail/inbox/:address", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:guerrillamail/inbox/:address", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 1, "items": [ { "id": "1", "from": "no-reply@guerrillamail.com", "isRead": false, "content": "Dear Random User,\r\n\r\nThank you for using Guerrilla Mail - your temporary email address friend and spam fighter's ally!\r\n\r\nYour disposable email address has been created ready for use.\r\n\r\nEmail: aqqifnke@sharklasers.com\r\n\r\nTips & Notes:\r\n\r\n- You can change this email address! Place your mouse over the Inbox ID at the top of this page and click to edit.\r\n\r\n- Once you change to a new address, the old address will remain available, simply change back to it. (Note: email is kept for 1 hour)\r\n\r\n- Waiting for your mail? There is no need to refresh the page, new emails will be added to the list as they come in.\r\n\r\n- All Emails are deleted after 1 hour.\r\n\r\nClick on the back the \"« Back to inbox\" to go back to the mail list\r\n\r\nThanks,\r\n\r\nGuerrilla Mail Team\r\nhttp://www.guerrillamail.com/\r\n\r\n\"Free to download, but you have to give your email address so they can inevitably attempt to sell you stuff in the future? guerrillamail.com FTW!\"\r\n\r\nConnect with us:\r\nhttps://www.facebook.com/GuerrillaMail\r\nhttps://twitter.com/GuerrillaMail", "preview": "Dear Random User,\r\n\r\nThank you for using Guerrilla Mail - your temporary email address friend and spam fighter's ally!\r\n\r\nYour disposable email address has been created ready for use.\r\n\r\nEmail: aqqifn", "subject": "Welcome to Guerrilla Mail" } ], "address": "aqqifnke@guerrillamailblock.com" } ``` --- ## Mail.gw **Category:** temp-mail · **Slug:** `mail-gw` **Detail page:** https://zpi.web.id/api/temp-mail/mail-gw Alamat email sekali pakai dari Mail.gw — buat alamat lalu baca pesan yang masuk. **Tags:** tempmail, email, disposable, otp ### Create Buat alamat email sekali pakai. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:mail-gw/create` **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:mail-gw/create" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:mail-gw/create", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:mail-gw/create", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "address": "zp1j6c673t1v4y@oakon.com", "createdAt": "2026-08-07T09:43:38+00:00", "expiresAt": "2026-08-15T17:43:38+00:00", "durationMinutes": 12000 } ``` --- ### Inbox Baca pesan yang masuk ke alamat sekali pakai. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:mail-gw/inbox/:address` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `address` | string | path | yes | The disposable address to read (as returned by create). | **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:mail-gw/inbox/:address" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:mail-gw/inbox/:address", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:mail-gw/inbox/:address", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 0, "items": [], "address": "zp1j6c673t1v4y@oakon.com" } ``` --- ## Mail.tm **Category:** temp-mail · **Slug:** `mail-tm` **Detail page:** https://zpi.web.id/api/temp-mail/mail-tm Alamat email sekali pakai dari Mail.tm — buat alamat lalu baca pesan yang masuk. **Tags:** tempmail, email, disposable, otp ### Create Buat alamat email sekali pakai. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:mail-tm/create` **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:mail-tm/create" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:mail-tm/create", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:mail-tm/create", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "address": "zp3e571w4m19g3@web-library.net", "createdAt": "2026-08-07T09:43:41+00:00", "expiresAt": null, "durationMinutes": null } ``` --- ### Inbox Baca pesan yang masuk ke alamat sekali pakai. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:mail-tm/inbox/:address` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `address` | string | path | yes | The disposable address to read (as returned by create). | **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:mail-tm/inbox/:address" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:mail-tm/inbox/:address", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:mail-tm/inbox/:address", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 0, "items": [], "address": "zp3e571w4m19g3@web-library.net" } ``` --- ## Temp-Mail.io **Category:** temp-mail · **Slug:** `temp-mail-io` **Detail page:** https://zpi.web.id/api/temp-mail/temp-mail-io Alamat email sekali pakai dari Temp-Mail.io — buat alamat lalu baca pesan yang masuk. **Tags:** tempmail, email, disposable, otp ### Create Buat alamat email sekali pakai. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:temp-mail-io/create` **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:temp-mail-io/create" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:temp-mail-io/create", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:temp-mail-io/create", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "address": "jkh13oxzfk@yzcalo.com", "createdAt": "2026-08-07T09:43:45.926Z", "expiresAt": null, "durationMinutes": null } ``` --- ### Inbox Baca pesan yang masuk ke alamat sekali pakai. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:temp-mail-io/inbox/:address` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `address` | string | path | yes | The disposable address to read (as returned by create). | **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:temp-mail-io/inbox/:address" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:temp-mail-io/inbox/:address", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:temp-mail-io/inbox/:address", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 0, "items": [], "address": "jkh13oxzfk@yzcalo.com" } ``` --- ## Temp Mail (tempmail.ing) **Category:** temp-mail · **Slug:** `tempmail` **Detail page:** https://zpi.web.id/api/temp-mail/tempmail Generate a disposable email address and read its inbox. **Tags:** email, temp-mail, disposable, inbox ### Create address Generate a new disposable email address. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:tempmail/create` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `duration` | number | query | no | Lifetime of the address in minutes (1-60). Default 10 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:tempmail/create?duration=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:tempmail/create?duration=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:tempmail/create?duration=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "address": "mrwcqeq5sd61@animateany.com", "createdAt": "2026-07-22T17:23:58.369Z", "expiresAt": "2026-07-22T17:33:58.360Z", "durationMinutes": 10 } ``` --- ### Read inbox Read messages received by a disposable address. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/temp-mail:tempmail/inbox/:address` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `address` | string | path | yes | The disposable address to read (as returned by create). | **cURL:** ```bash curl "https://api.zpi.web.id/v1/temp-mail:tempmail/inbox/:address" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/temp-mail:tempmail/inbox/:address", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/temp-mail:tempmail/inbox/:address", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 0, "items": [], "address": "mrwcqeq5sd61@animateany.com" } ``` ---