Email Verification API with SMTP 550 Hard Bounce Support 2026
Stop losing sends to invalid emails. Use our email verification API with SMTP 550 hard bounce detection to clean your list and boost deliverability.
Why does an SMTP 550 hard bounce code matter for your email list?
You send an email. It never lands in the inbox. It doesn’t bounce back with a note. It just vanishes. That’s often a 550 hard bounce — not a glitch, not a delay, but a permanent rejection.
When an email address returns a 550 error, it means the server has definitively said: “This address doesn’t exist, or it’s blocked.” Ignoring these signals isn’t just inefficient — it’s dangerous. Each ignored 550 erodes your sender reputation, increases the risk of being flagged as spam, and drains your deliverability budget.
An email verification API that supports SMTP 550 hard bounce codes doesn’t just check syntax or domain validity. It simulates the actual delivery process, probing the real mail server behavior. Only that level of testing catches invalid addresses before they hit your send queue.
Key takeaways
- SMTP 550 errors indicate a permanent rejection — the address is dead or blocked.
- Ignoring 550 codes harms sender reputation and increases spam risk.
- Only an email verification API that tests against real SMTP behavior can accurately detect hard bounces.
How does your email verification API detect SMTP 550 hard bounces?
Our email verification API detects SMTP 550 hard bounces by establishing a real, temporary connection to the recipient’s mail server and simulating the full email delivery process. When the server responds with a 550 code — a standard SMTP rejection indicating a permanent failure — we flag the address as invalid. This isn’t guesswork; it’s real-time SMTP testing, completed in under 10 seconds per address, using actual protocols, not heuristics. You’re not just checking syntax — you’re testing actual server behavior.
The Process Behind the Verification
- Initiate a real SMTP session — The API connects directly to the recipient’s mail server using the standard SMTP protocol, just like a real sender would. This ensures we’re testing against real infrastructure, not just patterns.
- Simulate the HELO/EHLO and MAIL FROM steps — We send the standard initial commands to establish identity and sender information. This mimics a real email send attempt and triggers any early detection mechanisms the server might have.
- Send RCPT TO with the target address — At this stage, we attempt to deliver to the specific email address. If the server responds with a
550code — meaning "User unknown," "Mailbox not found," or similar — that’s a definitive, server-backed sign the address is invalid. - Record the 550 response as a hard bounce — Unlike fuzzy logic or domain-level checks, a 550 response is a standardized, machine-readable signal of permanent failure. We log it immediately and mark the address as invalid.
- Close the connection cleanly — The session ends after the response, preventing any real email delivery or abuse risk. No messages are sent, no data is stored, and no impact is made on the recipient’s inbox.
Why It Works Better Than Heuristics
Many services use pattern matching or domain reputation to guess whether an email is valid. But a 550 response from the actual mail server is concrete. It’s a direct, documented rejection — the same kind of signal used by sending platforms like SendGrid or Amazon SES to manage their own bounce rates.
SMTP response codes like 550 are defined in RFC 5321, the foundational standard for email delivery. When an email server returns 550, it means the address is not accepted for delivery, and that decision is not temporary. This is a hard, unambiguous signal.
If you’re sending at scale, relying on real SMTP behavior — not guesses — is the only way to reduce bounces, avoid blacklists, and protect your sender reputation. Our real-time verification API uses this approach to ensure every address you send to is validated at the server level, in real time, before you ever hit “send.”
What does 'SMTP 550' actually mean during email verification?
SMTP 550 is a server response code meaning the email address is permanently undeliverable—no amount of retrying will help. It signals a hard bounce: the mailbox doesn’t exist, was disabled, or the server blocked the sender outright. If you see 550 during verification, that address should be removed from your list immediately.
Why does SMTP 550 happen?
When your mail server receives a 550, it's receiving a definitive "no" from the recipient’s server. Common causes include a typo in the email, an account that was deleted, or the domain’s policies rejecting your sender. Some mail providers even block entire IP ranges or domains from sending, resulting in 550 responses without further explanation.
Let’s be clear: a 550 is not a temporary glitch. Unlike 4xx codes that signal a transient issue (like a full inbox), a 550 means this address will never receive mail. Trying again later won’t fix it. If you're sending to addresses that return 550, your sender reputation takes a hit—especially if you're not filtering them out first.
How does email verification handle 550 codes?
During verification, we connect directly to the recipient’s mail server using the standard SMTP protocol. If the server responds with a 550, we flag the email as invalid and return it to you with a clear reason. This isn’t guesswork. It’s a direct, real-time check.
Some tools only check syntax or domain existence and miss the real server-level feedback—but a true email verification API like ours validates the full delivery path. Our system parses and categorizes each response, including 550 errors, so you get accurate, actionable data without guesswork.
For businesses that rely on clean lists, detecting 550 codes early prevents wasted sends, protects sender reputation, and improves inbox placement. You’re not just removing bad emails—you’re improving deliverability by default.
Learn how our real-time email verification API handles these responses with precision: check the API integration details. We test in real time, not just by rules. You’re protected against hard bounces before they happen.
The SMTP protocol, defined in RFC 5321, standardizes how mail servers communicate. A 550 is one of the most definitive codes in that system. When your software sees it, you should too—especially before it hits your sender reputation.
Email address verifications: what each verdict really means
You're not just checking syntax — you're validating whether an email actually receives mail. A 550 SMTP hard bounce means the server rejected the address permanently. Our API checks every address in real time using full SMTP conversations, so you see what truly matters: valid, invalid, catch-all, or risky. No guesswork.
SMTP 550 and the truth behind rejection codes
When an email service returns a 550 error, it’s saying: "This address doesn’t exist, or is permanently blocked." That’s not a temporary glitch — it’s a definitive no. Many tools skip real SMTP checks and guess based on syntax or domain reputation. But only direct SMTP validation can confirm a 550 is legitimate. For senders, acting on a 550 means you’re avoiding wasted sends and protecting sender reputation. RFC 5321 defines the standard codes, including 550, so when services adhere to it, you can trust the signal.
What each email verification verdict means in practice
Here’s how we interpret each result — not just with labels, but with real-world impact.
| Verdict | What It Means | Recommended Action |
|---|---|---|
| Valid | The mailbox exists and accepts mail. Confirmed via full SMTP handshake, including 250 success codes. We only mark an address valid after a real connection to the receiving server. |
Safe to include. High likelihood of inbox delivery with proper authentication. |
| Invalid | The address fails syntax rules or is rejected by the server with a 550 or similar hard bounce. This includes domains that are known to block all mail. |
Remove immediately. Sending to these addresses hurts deliverability and inflates bounce rates. |
| Catch-all | The domain accepts mail for any address, even if it doesn’t exist. Common with older systems or spam-friendly setups. High risk of being a trap. | Avoid. These often lead to spam complaints and blocklists. Even valid-looking addresses can be unclaimed. |
| Risky | Flags include role-based addresses (e.g. admin@, sales@), disposable domains (e.g. tempmail.org), or domains linked to high fraud rates. | Evaluate carefully. These have low engagement and can signal poor list hygiene to inbox providers. |
Some tools label everything as “valid” or “invalid” without depth. We don’t. You need to know not just if an address is deliverable, but also how risky it is. That’s why our real-time verification API gives you granular, actionable verdicts — so you know exactly which addresses to send to, and which to remove.
Why basic syntax checks aren’t enough — and why SMTP 550 matters
You can't rely on a correct email format to guarantee deliverability. An address like [email protected] may pass syntax checks, but if the server permanently rejects it with an SMTP 550 error code, it’s invalid — even if the spelling is perfect. Only real SMTP validation detects whether a mail server will accept a message, not just whether the address looks right. Without testing actual server responses, you’re guessing, not verifying.
What syntax checks miss
Syntax validation catches obvious typos: [email protected] or [email protected]. It doesn’t see that [email protected] might be invalid due to a permanently blocked inbox, a disabled mailbox, or a policy that rejects all messages from unknown sources. A valid format doesn’t mean an acceptably configured one.
Think of it this way: a correctly formatted address is like a working phone number — but the line could still be disconnected, ported, or blocked by carrier policy. Syntax checks don’t know. Only a live connection can confirm.
Why SMTP 550 matters
SMTP 550 is a server-specific response indicating a permanent rejection — the mail server says, “No, this address does not accept messages.” This code means the recipient is not just inactive; it’s closed, suspended, or explicitly blocked. You can see this behavior only by initiating a real SMTP session.
Standard email verification tools that only check syntax or use passive domain checks miss these real-time rejections. They leave you with a list of “valid” addresses that never reach inboxes. The result? High bounce rates, poor sender reputation, and reduced deliverability.
Real SMTP validation — like the kind used in our real-time email verification API — simulates an actual send. It connects to the recipient's mail server, sends a test SMTP handshake, and reads the response code. If the server returns 550, the address is rejected. Period.
Industry standards — such as those from the Internet Engineering Task Force (IETF) in RFC 5321 — confirm that SMTP error codes like 550 are definitive indicators of final delivery failure. Relying on them isn’t optional; it’s fundamental to deliverability hygiene.
How to integrate a real-time email verification API with your workflow
You can integrate the Email List Validation API into your workflow by installing it via your preferred language, sending emails in a POST request with your API key, and receiving detailed verdicts—including SMTP 550 hard bounce codes—so you can filter out invalid or risky addresses before sending. This reduces bounces, protects sender reputation, and improves inbox placement.
Step-by-step integration process
- Choose your programming language—Python, JavaScript, PHP, or another supported runtime—and install the Email List Validation API client library. This gives you ready-made functions to send requests without reinventing the HTTP stack.
- Send each email address as a JSON payload in a POST request to the API endpoint. Include your API key in the headers. The request should be synchronous if you’re doing real-time checks during sign-up or data entry.
- Receive a structured response containing a verdict (valid, invalid, catch-all, risky) and, if available, the SMTP code (like 550) that explains why the email failed. The 550 code specifically indicates a permanent delivery failure—useful for filtering addresses that will never receive your messages.
- Use the response to filter your list. Only proceed with sending to addresses marked as valid. Exclude catch-all and risky addresses to prevent unnecessary delivery attempts and reduce the risk of being flagged as spam.
- Automate the process by wrapping the API call in a middleware layer or webhook. For example, when a user signs up, run verification before saving the email to your database. This stops bad addresses at the source.
Why real-time SMTP codes matter
SMTP 550 responses are not just error codes—they’re signals. RFC 5321 defines 550 as a permanent failure due to an undeliverable address, such as a nonexistent mailbox or a non-existent domain. Seeing these in real time lets you act before sending. Unlike some tools that only return "invalid" without context, our API surfaces the actual SMTP code when available—giving you insight into why an email is undeliverable.
Industry-standard practices for email validation now require more than syntax checks. According to research from the Spamhaus Project, improper bounce handling is a major driver of sender reputation damage. Real-time validation with SMTP feedback prevents these issues before they impact deliverability.
For users managing large volumes, you can also use our real-time email verification API as part of a larger automation stack. It’s designed to integrate smoothly with systems like Mailchimp, HubSpot, and SendGrid, and supports bulk processing through our bulk verification solution. You get 100 free verifications to start—credits that never expire.
What makes Email List Validation’s API different from others?
You need an email verification API that doesn’t just guess — it checks like an actual mail server. Unlike tools that rely on heuristics or incomplete data, our API uses real SMTP sessions to detect 550 hard bounces with precision. No false positives. No shortcuts. It’s how you catch invalid addresses early, reduce bounces, and maintain sender reputation at scale — whether you're cleaning a 50,000-row list or validating 1,000 emails in real time.
Real SMTP checks, not guesses
- Our API performs actual SMTP handshakes with mail servers to identify hard bounces (including SMTP 550 codes), not just pattern-matching or domain reputation scores.
- This means you’re not relying on third-party databases or incomplete indicators — you're seeing what the actual mail server says.
- For instance, a 550 error means "user unknown" or "mailbox does not exist," which is the definitive signal to remove an address. We catch these with 98.9% accuracy on verified data.
- Compare this to tools that simulate email delivery without completing the full SMTP handshake — those can miss hard bounces or flag valid addresses as invalid.
Enterprise-ready features, built-in integrations
- You can verify 100,000+ emails at once with our bulk verification engine, designed for high-volume senders who need accuracy at scale. Clean your entire list in minutes.
- Get inbox placement reports across Gmail, Outlook, Yahoo, and Apple Mail — not just validity, but how likely your email actually lands in the inbox.
- Test deliverability before sending by checking if your message would be marked as spam or filtered based on authentication, content, and sending history.
- Our native apps integrate directly with Mailchimp, HubSpot, Klaviyo, and SendGrid, so you can validate emails at point of entry or during campaign prep.
- And unlike competitors that use credit expiration gimmicks, your purchased credits never expire — no time pressure, no wasted spend.
SMTP is the foundation of email delivery. When a server says 550, it’s not a suggestion — it’s a final decision. Our API respects that.Is there a difference between 550 and 551 SMTP codes for email verification?
Yes—550 means the email address is permanently invalid; the server refuses it outright. 551 means the server is redirecting the address to another domain, not rejecting it. Treating 551 as a success can lead to misclassified lists, but reliable email verification APIs like Email List Validation properly flag it as a redirect, not a valid mailbox.
Understanding 550: The Permanent Hard Bounce
When an SMTP server returns a 550 code, it signals that the email address doesn’t exist or has been permanently blocked. This is a hard bounce, and it should be treated as invalid. According to the IETF’s RFC 5321, 550 errors are definitive—no retry will succeed. If you’re verifying a list at scale, ignoring 550 codes leads to bounces, sender reputation damage, and wasted sends.
What 551 Really Means—and Why It’s Misunderstood
A 551 response means the server doesn’t host the mailbox and is forwarding the message elsewhere. It could be a forwarding alias, a role account redirect, or an address moved to a different domain. Because the address isn’t permanently invalid, some email verification systems treat 551 as a success, which is misleading. The mailbox might still exist, but not where you think.
Let’s be clear: 551 is not a hard bounce. That’s why ignoring it can cause issues. If your verification tool reports “valid” for a 551 response, you’re assuming the address is active—when it may just be a pointer. This is especially problematic with role addresses (like admin@ or info@) that forward to a shared inbox.
That’s why choosing an email verification API with proper 550 and 551 support matters. Email List Validation processes both codes accurately—flagging 550 as invalid, and 551 as a redirect, so you can decide whether to keep or remove the address. This transparency helps keep your list clean and deliverability high.
For a deeper look at how SMTP codes affect deliverability, the IETF’s SMTP standard remains the definitive reference. When building or auditing a verification pipeline, ensuring your API respects these codes is as important as SPF or DKIM setup.
How to handle catch-all and role-based email addresses in your list
You should treat catch-all domains and role-based addresses as high-risk entries in your email list. Catch-alls accept any address, making them unreliable for engagement. Role addresses like sales@ or info@ often see low open rates and high churn. Email List Validation identifies both as 'risky' or 'catch-all' based on server responses during verification, helping you exclude them before sending.
Catch-all domains: invisible delivery traps
Catch-all domains silently accept all incoming mail—regardless of whether the address exists. This means you might send to a non-existent user and still get a "delivered" status. But that's a false signal. The message never reaches a real person. This skews your delivery metrics and can harm your sender reputation. According to the SMTP RFC 5321, catch-alls aren't recommended for public-facing services because they defeat the purpose of address validation.
Some services use catch-alls for legacy reasons or misconfiguration. When your verification tool returns a 'catch-all' flag, it’s indicating that the domain doesn’t distinguish between valid and invalid addresses. You should not include these in mass campaigns. You might still use them for internal tools or one-off messages, but only if you accept the risk of non-delivery to real users.
Role accounts: low engagement, high attrition
Role-based emails—sales@, support@, admin@—are common in email lists. But they’re rarely personal. These often belong to shared inboxes, are monitored by teams, or auto-respond with templates. That means open rates are low, and engagement is even lower. Over time, these addresses become inactive or get filtered into spam.
Let’s be honest: a sales@ address isn’t a real contact. It’s a placeholder. Sending to it regularly can hurt your domain reputation, especially if it triggers spam complaints or low engagement signals. Even if the address exists, it’s not a reliable long-term touchpoint. Many deliverability experts (including those at Return Path) warn that shared email identities reduce overall campaign performance.
Best practice: flag or exclude these during list hygiene. Use the real-time email verification API to catch them as 'risky' before sending. For targeted outreach, consider using the email finder to locate individual decision-makers instead.
Validation isn’t just about bouncing. It’s about understanding who’s on your list—and who isn’t worth reaching.
Your list hygiene workflow: a complete cycle using the email verification API
You start with a list from your CRM or ESP, run it through the Email List Validation API to catch invalid and risky addresses—including those that trigger SMTP 550 hard bounce codes—filter them out, run a real inbox placement test to confirm deliverability, re-import only verified addresses, and repeat the process monthly to keep your bounce rate below 0.5%. This reduces sender reputation risk and maintains high inbox placement.
- Import your list from your CRM or email tool. Pull the latest list of subscribers or contacts. This is where your campaign begins—clean data starts here.
- Run bulk verification using the Email List Validation API. This API checks each address in real time, including SMTP 550 hard bounce codes that indicate permanent delivery failure. Unlike basic syntax checks, it validates whether the mailbox exists and is willing to accept mail.
- Filter out 'invalid' and 'risky' addresses. Remove emails marked as invalid (non-existent, syntactically broken). Also exclude risky addresses—like role-based or disposable domains—that often lead to low engagement or high bounce rates. This step reduces your list size by 10–15% on average, but improves quality significantly.
- Test deliverability with an inbox placement assessment. Use the inbox placement feature to send test emails to real inboxes across major providers. This reveals how your message lands—whether in primary inbox, spam folder, or blocked entirely. It’s a live simulation of real user experience. (See RFC 5321 for SMTP error code definitions [RFC 5321].)
- Re-import only verified, deliverable addresses. Send only your cleaned list to your ESP. This reduces hard bounces, protects sender reputation, and increases engagement. Platforms like Mailchimp and Klaviyo integrate directly with the verification system.
- Monitor bounce rates and re-verify monthly. Even clean lists degrade over time. Set up a monthly review cycle. Use the API to scrub new sign-ups and maintain hygiene. Consistent monitoring keeps hard bounces below 0.5%, which is widely recognized as a threshold for email health (Return Path data).
Why SMTP 550 matters
SMTP 550 codes mean the server permanently rejected the email—often because the address doesn’t exist or is blocked. Ignoring these early leads to high bounce rates, damaged sender reputation, and possible blacklisting. A real-time API catches these before you send, saving time and improving deliverability.
Maintain long-term performance
Use your verification system not just at the start, but as a gatekeeper: verify new sign-ups and periodically refresh existing lists. The Email List Validation API supports low-latency, high-volume verification, making it feasible to keep your list clean over time. No more sending to ghost addresses. No more wasted campaigns. Just consistent results. Try the real-time verification API to start automating this workflow today.
Cleaning your list with SMTP 550 detection improves deliverability and reduces send costs
SMTP 550 hard bounce codes signal permanent delivery failures. Detecting them early prevents sends to invalid addresses, directly lowering your bounce rate. ISPs track this metric closely — consistently low bounce rates strengthen your sender reputation over time.
Every invalid address you remove reduces the risk of triggering spam traps or being flagged by blocklists. This proactive cleansing keeps your domain and IP warm. Verified addresses also drive higher engagement, which improves inbox placement. On average, each clean address increases your deliverability rate by 1.5–3%.
With fewer failed deliveries, you use email infrastructure more efficiently. This means lower costs per send and better return on your campaign investment. A clean list is not a luxury — it’s a necessity for consistent, high-performing email outreach.
Keep reading
- Bounce management: hard bounces, soft bounces and bounce rate (complete guide)
- Predictive Bounce Analysis for Email Campaigns Using Historical Data
- How to Prevent Bounces from Ambiguous Email Addresses in CRM Systems
- How Slice-Based Email List Maintenance Prevents Throttling in 2026
- Using Data Science to Forecast Email Bounce Rates for Large Lists
Ready to put this into practice? Email List Validation verifies emails with 98.9% accuracy — start with 100 free verifications.
Frequently asked questions
Does Email List Validation detect SMTP 550 errors in real time?
Yes. The API establishes a real SMTP connection and records the server response code. A 550 code is returned as a hard bounce.
How accurate is the email verification API with 550 detection?
It achieves 98.9% accuracy based on real SMTP tests and comparison with known-good lists.
Can I verify bulk email lists using the API?
Yes. The API supports batch verification of any size. Results are returned in JSON format with individual verdicts.
What’s the cost of using the email verification API?
You get 100 free verifications to start. Purchased credits never expire. Pricing scales by volume.
Does the API work with Mailchimp and SendGrid?
Yes. It integrates with Mailchimp, HubSpot, Klaviyo, and SendGrid via native apps and API connectors.
What happens if a server doesn’t respond during verification?
The API records the response as 'risky' or 'unknown'. It does not guess — it flags uncertainty.
Can I test inbox placement with this API?
Yes. The inbox placement test sends real messages to real inboxes across Gmail, Outlook, Yahoo, and others.
Are disposable email addresses detected by the API?
Yes. The API identifies and flags disposable domains based on known patterns and server behavior.
Does the API check SPF, DKIM, and DMARC?
No. It only verifies the existence and acceptability of the email address. It does not check sender authentication.
How fast is the verification process?
Each address is verified in under 10 seconds, with no impact on system performance during bulk use.
Can I use the API with a role-based email address?
Yes, but the API will flag it as 'risky' if it matches known role addresses (e.g. sales@, admin@).
Does Email List Validation support greylisting detection?
Yes. The API detects greylisting responses and marks them as 'risky' with a note for follow-up.