One-Time Spam Test
A spam test measures where your email lands (inbox, promotions, or spam) across a seedlist of Gmail and Outlook addresses. It also reports authentication results (SPF, DKIM, DMARC), content analysis, and blacklist hits on your sending IP and links.
Running a test through the API is a three-step flow:
- Create the test to get a
public_full_idand the seedlist addresses. - Send your email to every seedlist address, with
public_full_idembedded in the body so MailReach can match it to your test. - Poll for the result until
completedistrue.
All endpoints are documented in full in the MailReach API reference. This page walks through the happy path.
Each test consumes one Spam Checker credit. See pricing. Credits are not charged if the test fails to collect results.
1. Create the test
POST https://api.mailreach.co/api/v1/spam_tests
X-Api-Key: Bearer YOUR_API_KEY
Content-Type: application/json
{
"seedlist": 1
}
seedlist is optional (values 1 to 4, default 1) and selects which seedlist variant to use. Rotating between variants across tests reduces the risk of any single seedlist skewing your results.
The response contains:
public_full_id: the identifier you must embed in the body of the email you send (e.g.mr_abc123...). This is how MailReach attributes incoming emails to your test.public_id: the short identifier used to poll the result.results[]: one entry per seedlist address withemail,first_name, andprovider(gmailoroutlook). These are the recipients you send to.
2. Send your email to the seedlist
Send the email you want to test from the sending setup you want to measure: your own ESP, SMTP server, or inbox. Requirements:
- To: every
emailfrom theresults[]array returned above. - Body: must contain the
public_full_idstring somewhere in the message (plain text or HTML).
MailReach collects each email as it arrives on the seedlist mailboxes and scores the test. The test typically completes within a few minutes, depending on delivery speed.
Send from the exact setup you want to test: the same domain, IP, and ESP you use in production. Sending from a different setup will not reflect your real deliverability.
3. Fetch the result
Poll the test until completed is true:
GET https://api.mailreach.co/api/v1/spam_tests/{public_id}
X-Api-Key: Bearer YOUR_API_KEY
We recommend polling every 10–15 seconds. Most tests complete within 3–5 minutes.
The response includes:
| Field | Description |
|---|---|
completed |
true when all seedlist results have been collected |
score |
Overall deliverability score (0–100) |
btob_score |
Score against professional inboxes (Google Workspace, Microsoft 365) |
btoc_score |
Score against personal inboxes (Gmail, Outlook.com, Hotmail) |
analysis_results |
Per-seedlist placement: inbox, categories, spam, or missing |
blacklist_sending_ip |
Blacklist hits on the sending IP |
blacklist_links |
Blacklist hits on links inside the email |
summary |
Human-readable summary of the findings |
Understanding btob_score vs btoc_score
Professional (B2B) and personal (B2C) inboxes apply different spam filters, so the two scores can diverge significantly for the same test.
btob_score: computed only against Google Workspace and Microsoft 365.btoc_score: computed only against Gmail.com, Outlook.com, and Hotmail.
Use the score that matches your actual audience. If you send to business email addresses, btoc_score is not meaningful for you, and vice versa.
You can change the audience scoring after the fact with POST /v1/spam_tests/{public_id}: pass "audience": "btob", "btoc", or "all".
Credits
Each test consumes one Spam Checker credit. See pricing.
Next steps
- Automated spam tests: run tests on a recurring schedule without manual sends.
- Account statistics: track inbox placement trends over time.