เข้าสู่ระบบด้วย Google

📧 Read Mail API

API สำหรับตรวจสอบสถานะบัญชี Gmail แบบ real-time รวดเร็ว แม่นยำ

Base URL: https://read-mail.me

Authentication

ทุก request ต้องแนบ API Key โดยใส่ใน HTTP Header:

X-API-Key: your_api_key_here

หรือแนบใน request body:

{
  "api_key": "your_api_key_here",
  "emails": [...]
}
รับ API Key ได้ที่ Dashboard → API Keys

Rate Limiting

แพคเกจLimit/วันMax/Request
Free100 emails/วัน1,000 emails
Premium 1 เดือน100,000 emails/วัน1,000 emails
Premium 3 เดือน500,000 emails/วัน1,000 emails
Premium 1 ปี1,000,000 emails/วัน1,000 emails
หมายเหตุ: ส่งได้สูงสุด 1,000 emails ต่อ 1 request (เกินจะถูกตัดอัตโนมัติ) — หากมีมากกว่านี้ให้แบ่งส่งเป็นชุด

เมื่อเกิน limit จะได้รับ HTTP 429 พร้อม remaining และ reset_at

Error Codes

HTTP CodeErrorความหมาย
400Missing emailsไม่ได้ส่ง emails array
401Missing API Keyไม่ได้แนบ API Key
401Invalid API KeyAPI Key ไม่ถูกต้อง
403API Key DisabledAPI Key ถูกปิดใช้งาน
403Account Suspendedบัญชีถูกระงับ
429Rate Limit Exceededเกิน quota รายวัน
502Upstream Errorระบบตรวจสอบขัดข้อง

Gmail Check

POST /api/gmail/check

ตรวจสอบสถานะ Gmail หลายบัญชีพร้อมกัน (สูงสุด 100 emails/request)

Request Headers

HeaderRequiredค่า
Content-Typerequiredapplication/json
X-API-KeyrequiredAPI Key ของคุณ

Request Body

FieldTypeRequiredรายละเอียด
emailsarrayrequiredรายการ email สูงสุด 1,000 รายการต่อ request

Response

{
  "success": true,
  "job_id": "job-1234-1789476141356",
  "total": 3,
  "status_url": "https://read-mail.me/api/gmail/status",
  "limit": 100,
  "used": 3,
  "remaining": 97,
  "reset_at": "2026-09-16 00:00:00 (Asia/Bangkok)"
}
ขั้นตอนการใช้งาน (2 ขั้น)
1. ส่ง POST /api/gmail/check พร้อมรายการอีเมล → ได้ job_id กลับมาทันที
2. เรียก POST /api/gmail/status ทุก 2-3 วินาที เพื่อดูความคืบหน้าและผลลัพธ์ จนกว่า state จะเป็น completed

Check Status

POST /api/gmail/status

ดูความคืบหน้าและผลลัพธ์ของงานที่ส่งไว้ (เรียกซ้ำได้จนกว่างานจะเสร็จ)

Request Body

FieldTypeRequiredรายละเอียด
job_idstringrequiredรหัสงานที่ได้จาก /api/gmail/check

Response

{
  "success": true,
  "job_id": "job-1234-1789476141356",
  "state": "processing",
  "total": 3,
  "completed": 2,
  "results": [
    { "email": "[email protected]", "status": "live" },
    { "email": "[email protected]", "status": "ver" },
    { "email": "[email protected]", "status": "pending" }
  ]
}

Job State

Stateความหมาย
pendingงานอยู่ในคิว รอเริ่มประมวลผล
processingกำลังตรวจสอบ (ผลบางส่วนพร้อมใช้งานแล้ว)
completedตรวจสอบครบทุกอีเมลแล้ว

Status Values

Statusความหมาย
liveบัญชีใช้งานได้ปกติ
disabledบัญชีถูกระงับการใช้งาน
unregisteredยังไม่ได้ลงทะเบียน Gmail
not_existsบัญชีไม่มีอยู่จริง
unknownไม่สามารถระบุสถานะได้
verบัญชีต้องยืนยันตัวตน (phone verification)
failedตรวจสอบไม่สำเร็จ ระบบคืนเครดิตอัตโนมัติ
pendingยังตรวจสอบไม่เสร็จ (จะเปลี่ยนเป็นสถานะจริงเมื่อเสร็จ)

ตัวอย่างการเรียกใช้

# 1) submit -> job_id
curl -s -X POST https://read-mail.me/api/gmail/check \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"emails":["[email protected]","[email protected]"]}'

# 2) poll status (repeat every 2-3s until state = completed)
curl -s -X POST https://read-mail.me/api/gmail/status \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"job_id":"job-1234-1789476141356"}'
<?php
$apiKey = 'YOUR_API_KEY';
$base   = 'https://read-mail.me/api/gmail';

function callApi($url, $apiKey, $payload) {
    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => json_encode($payload),
        CURLOPT_HTTPHEADER     => [
            'Content-Type: application/json',
            'X-API-Key: ' . $apiKey,
        ],
        CURLOPT_TIMEOUT        => 60,
    ]);
    $res = curl_exec($ch);
    curl_close($ch);
    return json_decode($res, true);
}

// 1) submit
$job = callApi("$base/check", $apiKey, [
    'emails' => ['[email protected]', '[email protected]']
]);
if (empty($job['job_id'])) {
    die('Error: ' . ($job['message'] ?? 'submit failed'));
}
echo "Job: {$job['job_id']} ({$job['total']} emails)\n";

// 2) poll จนเสร็จ
while (true) {
    sleep(3);
    $st = callApi("$base/status", $apiKey, ['job_id' => $job['job_id']]);
    echo "  {$st['state']} {$st['completed']}/{$st['total']}\n";
    if (($st['state'] ?? '') === 'completed') break;
}

// 3) แสดงผล
foreach ($st['results'] as $r) {
    echo $r['email'] . ' => ' . $r['status'] . "\n";
}
import requests, time

API_KEY = 'YOUR_API_KEY'
BASE = 'https://read-mail.me/api/gmail'
HEADERS = {'Content-Type': 'application/json', 'X-API-Key': API_KEY}

# 1) submit
job = requests.post(f'{BASE}/check', headers=HEADERS, json={
    'emails': ['[email protected]', '[email protected]']
}).json()

if not job.get('job_id'):
    raise SystemExit('Error: ' + job.get('message', 'submit failed'))
print(f"Job: {job['job_id']} ({job['total']} emails)")

# 2) poll until completed
while True:
    time.sleep(3)
    st = requests.post(f'{BASE}/status', headers=HEADERS,
                       json={'job_id': job['job_id']}).json()
    print(f"  {st['state']} {st['completed']}/{st['total']}")
    if st.get('state') == 'completed':
        break

# 3) results
for r in st['results']:
    print(f"{r['email']} => {r['status']}")
const API_KEY = 'YOUR_API_KEY';
const BASE = 'https://read-mail.me/api/gmail';
const HEADERS = {
  'Content-Type': 'application/json',
  'X-API-Key': API_KEY
};

const post = (path, payload) =>
  fetch(`${BASE}/${path}`, {
    method: 'POST',
    headers: HEADERS,
    body: JSON.stringify(payload)
  }).then(r => r.json());

async function checkEmails(emails) {
  // 1) submit
  const job = await post('check', { emails });
  if (!job.job_id) throw new Error(job.message || 'submit failed');
  console.log(`Job: ${job.job_id} (${job.total} emails)`);

  // 2) poll until completed
  while (true) {
    await new Promise(r => setTimeout(r, 3000));
    const st = await post('status', { job_id: job.job_id });
    console.log(`  ${st.state} ${st.completed}/${st.total}`);
    if (st.state === 'completed') return st.results;
  }
}

// 3) results
checkEmails(['[email protected]', '[email protected]'])
  .then(results => results.forEach(r =>
    console.log(`${r.email} => ${r.status}`)))
  .catch(err => console.error('Error:', err.message));

แพคเกจ

แพคเกจราคาLimit/วัน
Freeฟรี100 emails/วัน (ไม่มีวันหมดอายุ)
Premium 1 เดือน5 USDT100,000 emails/วัน (30 วัน)
Premium 3 เดือน12 USDT500,000 emails/วัน (90 วัน)
Premium 1 ปี45 USDT1,000,000 emails/วัน (365 วัน)
ดูแพคเกจและซื้อ