AWS SES vs SendGrid for Cold Email
Cost per email comparison and deliverability control differences.
What AWS SES Actually Is
Amazon Simple Email Service is a raw email sending API. AWS built it for developers who need to move large volumes of email reliably at low cost. It does not include a dashboard for building campaigns, a drag-and-drop template editor, a warmup scheduler, or a deliverability advisor. It accepts email messages and delivers them. Everything else is your responsibility.
You access SES through SMTP or its HTTP API. To send from a domain, you verify ownership through DNS. To move out of sandbox mode and send to addresses you do not own, you submit a production access request to AWS. Your sending quota starts low and scales as you demonstrate good sending hygiene. AWS monitors bounce and complaint rates across your account and will place your account under review or suspend it if those rates climb above their thresholds.
The infrastructure you get is dedicated to your AWS account. No other SES customer shares your sending reputation by default. What that means in practice: your deliverability is yours to build and yours to protect. There is no support team to call about inbox placement. There is no built-in warmup. SES is a building block, not a finished product.
What SendGrid Actually Is
SendGrid is a managed email platform, now owned by Twilio. It wraps email delivery infrastructure in a higher-level product that includes template builders, analytics dashboards, A/B testing, webhook integrations, and an email validation API. The product targets both developers and marketing teams who want sending infrastructure plus tooling in a single subscription.
SendGrid was built primarily for transactional email and permission-based marketing: password resets, receipts, newsletters to opted-in lists. That focus shapes both the product design and the policy enforcement. Their acceptable use policy requires affirmative opt-in consent for every non-transactional email sent through their platform. Unsolicited email — including B2B cold outreach — is explicitly prohibited. Accounts that send it are suspended, often without warning.
On Essentials plans, you share IP addresses with other SendGrid senders. Other customers' sending behavior affects your deliverability. The Pro plan includes one dedicated IP, which protects your reputation from other senders but does not change their cold email policy. Even with a dedicated IP, unsolicited outreach violates their terms.
Pricing: Real Numbers
AWS SES charges $0.10 per 1,000 emails sent. There are no monthly minimums, no seat fees, and no plan tiers. You pay for what you send. Sending 50,000 emails costs $5. Sending 100,000 costs $10. Sending 500,000 costs $50. If you receive emails using SES, there are additional charges for incoming messages, but outbound sending is flat at $0.10 per thousand.
SendGrid uses tiered monthly plans. Their Essentials 50K plan costs $19.95 per month for up to 50,000 emails on shared IPs. The Essentials 100K plan costs $34.95 per month. Both Essentials tiers use shared IP pools — no dedicated IP is available at those price points. To get a dedicated IP, you move to Pro, which starts at $89.95 per month for 100,000 emails. At 500,000 emails per month, the Pro 300K plan at $249 per month plus overage charges for the additional 200,000 emails at $0.0009 each brings the effective monthly cost to approximately $429. A Pro 500K tier is available in their billing interface at approximately $499 per month.
The cost gap compounds at volume. At 50,000 emails per month, SES costs $5 versus $19.95 for SendGrid Essentials — a 4x difference. At 100,000 emails, SES costs $10 versus $34.95 on shared IPs or $89.95 for a dedicated IP — an 8.5x difference on the Pro plan. At 500,000 emails, SES costs $50 versus approximately $429 to $499 on SendGrid — roughly a 9x difference. For cold email senders running high volume, the annual savings of choosing SES over SendGrid can exceed $5,000.
Cold Email Policy
AWS SES permits cold email with compliance requirements. You must follow CAN-SPAM regulations, include unsubscribe mechanisms, and maintain bounce and complaint rates within AWS thresholds. AWS will place accounts under review if complaint rates exceed 0.10 percent and suspend accounts that remain elevated. Within those limits, sending to business contacts who have not previously opted in is allowed.
SendGrid explicitly prohibits cold email. Their policy requires affirmative consent before sending any non-transactional email. Consent must be given directly by each recipient to each sender — purchased lists, scraped addresses, and LinkedIn-sourced contacts are all disqualifying. Their terms state: sending unsolicited or unwanted emails in bulk and using purchased or rented email lists are prohibited regardless of the sending plan, IP type, or sending volume.
This is not a grey area in SendGrid's enforcement. B2B cold outreach — even single-touch, highly targeted emails to business addresses — falls under their prohibited use policy. Upgrading to a Pro plan with a dedicated IP does not change this. Accounts discovered sending cold email through SendGrid face suspension. If your use case is cold outreach, SendGrid is the wrong infrastructure regardless of its other attributes.
Infrastructure and Reputation Control
With Amazon SES, your sending IP addresses are associated with your AWS account by default. Other SES customers do not share your sending reputation unless you opt into shared IP pools. Your domain authentication — SPF, DKIM, and DMARC records — is set up under your own domain. Every signal that inbox providers use to evaluate your mail comes from your account's history, not from the aggregate behavior of thousands of other senders.
Reputation isolation matters for cold email specifically. When you reach out to contacts who have not previously heard from you, inbox placement depends on the IP and domain reputation you have built over time. Warming a new IP from zero and sending clean, targeted campaigns builds that reputation incrementally. On a shared IP, you inherit whatever reputation the pool has accumulated — including abuse from other senders you have no visibility into or control over.
SendGrid's Essentials plans use shared IP pools. The Pro plan includes one dedicated IP per account. Dedicated IP protection helps with transactional mail and marketing to opted-in lists, where the question is whether one sender's abuse affects another's inbox rate. For cold email, the dedicated IP question is secondary to the policy question: SendGrid prohibits the use case regardless of IP type.
Setup Complexity
Amazon SES requires more technical setup than SendGrid. You need an AWS account, IAM credentials scoped for SES, DNS records for domain verification, SPF and DKIM authentication under your domain, and a production access request approved before you can send to external addresses. SES starts every account in sandbox mode — you cannot send to unverified recipients until AWS approves your production request. That approval typically takes 24 to 48 hours and requires you to describe your use case and expected sending behavior.
Once out of sandbox, SES works over standard SMTP or the HTTP API. Most cold email tools that support SMTP can connect to SES directly. The technical overhead is a one-time cost. After setup, the infrastructure runs without ongoing maintenance beyond monitoring bounce and complaint rates.
SendGrid setup is simpler. You create an account, generate an API key, verify your sending domain through DNS, and you are ready to send. The guided onboarding reduces the barrier to entry. For teams without AWS experience, that simplicity has real value. For cold email specifically, however, simpler setup leads to faster account suspension if the policy violation is caught.
Feature Comparison
| Factor | AWS SES | SendGrid |
|---|---|---|
| Pricing model | Pay per email ($0.10 per 1,000) | Monthly plan tiers with overage rates |
| Starting cost at 50k/month | $5/month | $19.95/month (Essentials) |
| Cold email policy | Allowed with CAN-SPAM compliance | Prohibited — affirmative opt-in required |
| IP type | Dedicated to your AWS account | Shared (Essentials) or dedicated (Pro, $89.95+/mo) |
| Warmup included | No — requires external tool or manual warmup | No built-in warmup scheduler |
| Campaign management | No — sending infrastructure only | Basic marketing campaign tools included |
| Analytics | Basic via CloudWatch and SNS notifications | Detailed dashboard with opens, clicks, bounces |
| AWS account required | Yes | No |
Which One Fits Your Situation
Choose AWS SES if cold email outreach is your primary use case. It is the only option of the two that permits it. SES also wins on cost at every volume level, gives you full reputation isolation, and scales without a change in pricing model. The technical setup is real but one-time. If your team has someone comfortable with AWS IAM and DNS, SES is the correct infrastructure choice for outreach.
Choose SendGrid if your sending is transactional — password resets, receipts, notifications — or if you are sending to lists of people who explicitly opted in to hear from you. SendGrid's built-in analytics and template tooling have genuine value for those use cases. The higher price reflects those features. For opted-in marketing campaigns where you are not doing cold outreach, SendGrid is a reasonable choice, particularly if your team is already in the Twilio ecosystem.
Do not use SendGrid for cold email hoping to stay under the radar. Their compliance team monitors sending patterns, and accounts sending unsolicited email get suspended. You lose your sending history, your domain warm-up progress, and any active campaigns. The enforcement is real and the recovery is not quick.
How EmailQo Works with SES
EmailQo connects directly to your Amazon SES account as the sending layer. You provide SMTP credentials from your AWS account, and EmailQo handles sequences, follow-ups, sender rotation, reply detection, and unsubscribe processing on top of that infrastructure. AWS bills you directly at $0.10 per 1,000 emails with no markup. EmailQo does not sit between you and AWS — you own the sending account and the billing relationship. Every EmailQo plan includes built-in IP and domain warmup for SES-connected accounts and pre-send inbox health checks that validate DNS authentication, scan content for spam triggers, and check blacklist status before each campaign goes out.
Related Resources
Keep reading