डेवलपर

ईमेल सत्यापन API जो बस काम करता है

रियल टाइम में एक पते का सत्यापन करें, या पूरी सूची बैच के रूप में भेजें। सभी अनुरोध HTTPS का इस्तेमाल करते हैं और JSON लौटाते हैं। अपने डैशबोर्ड में API कुंजियाँ के अंतर्गत API कुंजियाँ बनाएँ।

  • REST और JSON
  • बैच कॉलबैक
  • डैशबोर्ड वाले ही क्रेडिट
BounceBell में API कुंजियों का पेज, सक्रिय कुंजियों और नई कुंजी बनाने के फ़ॉर्म के साथ

ऑथेंटिकेशन

हर अनुरोध पर अपनी API कुंजी को Authorization हेडर में bearer टोकन के रूप में भेजें। कुंजियाँ अपने सर्वर पर रखें। इन्हें कभी ब्राउज़र कोड या मोबाइल ऐप में न डालें।

Authorization: Bearer YOUR_API_KEY

हर एंडपॉइंट का बेस URL https://bouncebell.com/api/v1 है।

एक पते का सत्यापन करें

GET https://bouncebell.com/api/v1/verify

पैरामीटरज़रूरीविवरण
emailहाँजाँचने के लिए पता। इसे URL-एन्कोड करें।
timeoutनहींमेल सर्वर के लिए इंतज़ार के सेकंड, 3 से 30 तक। डिफ़ॉल्ट 10। समय खत्म होने पर स्थिति unknown होती है और कोई क्रेडिट इस्तेमाल नहीं होता।

उदाहरण

curl "https://bouncebell.com/api/v1/verify?email=rini.elizabeth%40acme-foods.example" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "email": "rini.elizabeth@acme-foods.example",
  "status": "valid",
  "reason": "mailbox_exists",
  "domain": "acme-foods.example",
  "mx_record": "mx1.acme-foods.example",
  "disposable": false,
  "role": false,
  "free_provider": false,
  "catch_all": false,
  "did_you_mean": null,
  "checked_at": "2026-10-30T09:30:12Z",
  "credits_used": 1
}

नतीजे के फ़ील्ड

फ़ील्डप्रकारविवरण
emailstringपता, जैसा आपने भेजा।
statusstringनतीजा। स्थितियाँ देखें।
reasonstringहम इस नतीजे तक क्यों पहुँचे, जैसे mailbox_not_found या no_mail_server।
domainstringडोमेन वाला हिस्सा, छोटे अक्षरों में।
mx_recordstring or nullसबसे ऊँची प्राथमिकता वाला मेल सर्वर।
disposablebooleanअगर डोमेन अस्थायी इनबॉक्स सेवा है, तो true।
rolebooleaninfo@ या support@ जैसे साझा इनबॉक्स के लिए true।
free_providerbooleanGmail जैसे मुफ़्त मेलबॉक्स प्रोवाइडर के लिए true।
catch_allbooleanजब डोमेन हर पता स्वीकार करता है, तब true।
did_you_meanstring or nullजब डोमेन में टाइपो लगे, तो सुधारा हुआ पता।
checked_atstringजाँच कब चली, ISO 8601 UTC में।
credits_usedinteger1, या 0 जब स्थिति unknown हो।

स्थितियाँ

स्थितिअर्थसुझाई गई कार्रवाई
validमेलबॉक्स मौजूद है और मेल स्वीकार करता है।भेजें
invalidपता, डोमेन या मेलबॉक्स मौजूद नहीं है।हटाएँ
disposableअस्थायी इनबॉक्स सेवा।हटाएँ
catch_allडोमेन सभी पते स्वीकार करता है, इसलिए मेलबॉक्स की पुष्टि नहीं हो सकती।समीक्षा करें
roleएक साझा इनबॉक्स जो मौजूद है।समीक्षा करें
unknownमेल सर्वर ने समय पर जवाब नहीं दिया। कोई शुल्क नहीं।बाद में फिर कोशिश करें

बैच

एक अनुरोध में अधिकतम 1,00,000 पते भेजें। बैच बैकग्राउंड में चलता है; इसकी स्थिति पोल करें या callback_url दें, बैच पूरा होने पर हम उसे कॉल करेंगे।

बैच बनाएँ

POST https://bouncebell.com/api/v1/batches

curl -X POST "https://bouncebell.com/api/v1/batches" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "October import", "emails": ["a@example.com", "b@example.com"],
       "callback_url": "https://yourapp.example/hooks/bouncebell"}'
{ "id": "bat_8f2k1q3m9x7w4p", "status": "queued", "total": 2, "done": 0 }

बैच बनाते समय हर यूनिक पते के क्रेडिट रोक लिए जाते हैं, और बैच पूरा होने पर अज्ञात नतीजों के क्रेडिट वापस कर दिए जाते हैं। कॉलबैक को {"event": "batch.completed", "batch_id": "...", "status": "done", "counts": {...}} के साथ एक POST मिलता है। कॉलबैक URL में HTTPS होना ज़रूरी है।

प्रगति देखें

GET https://bouncebell.com/api/v1/batches/{id}

{ "id": "bat_8f2k1q3m9x7w4p", "status": "running", "total": 2, "done": 1 }

स्थिति queued, running या done होती है। done होने पर जवाब में स्थिति के अनुसार counts भी होते हैं।

नतीजे डाउनलोड करें

GET https://bouncebell.com/api/v1/batches/{id}/results

डिफ़ॉल्ट रूप से JSON लौटाता है। CSV फ़ाइल के लिए ?format=csv जोड़ें। हर पंक्ति में वही फ़ील्ड होते हैं जो एकल जाँच में होते हैं।

क्रेडिट

GET https://bouncebell.com/api/v1/credits

{ "credits_remaining": 33420 }

एरर और सीमाएँ

एरर होने पर एक JSON बॉडी मिलती है, जिसमें error कोड और पढ़ने योग्य message होता है।

HTTP कोडएररक्या करें
400bad_requestकोई पैरामीटर नहीं है या गलत है। संदेश पढ़ें।
401invalid_keyजाँचें कि कुंजी सही है और निरस्त नहीं की गई है।
402no_creditsऔर क्रेडिट खरीदें।
403email_not_confirmedसाइन अप करते समय हमने जो पुष्टि लिंक ईमेल किया था, उसे खोलें।
404not_foundबैच मौजूद नहीं है या 30 दिन बाद हटा दिया गया।
429rate_limitedधीमे चलें। Retry-After हेडर में दिए गए सेकंड तक इंतज़ार करें।
500server_errorथोड़ी देर रुककर फिर कोशिश करें। अगर समस्या बनी रहे, तो सपोर्ट से संपर्क करें।

एकल जाँचें हर कुंजी पर प्रति सेकंड 20 अनुरोधों तक सीमित हैं। ज़्यादा चाहिए तो हमसे कहें।