Email validation · Use cases · Mailchimp

Use case

Mailchimp list cleaning, via API.

Mailchimp list cleaning with Trueguard takes three steps. Export your audience to CSV, check every address with Trueguard's email validation API, then tag the bad contacts and archive them in Mailchimp. Archive rather than unsubscribe: archived contacts do not count toward your Mailchimp bill, and unsubscribed contacts still do. There is no app to install.

Before the next send

One request, four possible answers.

safeLeave it.
riskyTag tg-risky.
invalidTag, then archive.
unknownLeave and re-check.
Median responseSub-1s
False positive rate<1%
Free tier100 / month
Standard plan$49.99 / 50,000

Try one address.

The same check your cleaning script would call. 10 free checks a day, no key and nothing sent to the address.

Or try

Why clean before Mailchimp cleans for you?

Suspension is per send

Mailchimp is required to enforce ISP limits on bounces, unsubscribes, and complaints. Suspensions are automatic when a single send exceeds industry thresholds. Sending stops; logging in and accessing your data continue. One campaign to an old, unchecked list is enough to trigger it.

The limits are not published

Mailchimp says ISP bounce limits vary and change through the year, and ISPs do not release them. You cannot aim just below a number nobody publishes. Removing the addresses you know will bounce is the part you control.

Dead contacts are billed contacts

A subscribed address on a dead domain counts toward your contact total until it bounces and is cleaned. Validate and archive first, and you stop paying for contacts that can never be reached.

Soft bounces linger

An address that soft bounces can stay in your sends for 7 to 15 bounces before Mailchimp cleans it. The deliverability check flags many of these in one pass instead of across months of campaigns.

How do you clean a Mailchimp list?

You clean a Mailchimp list by checking the addresses outside Mailchimp, then bringing the verdict back in. Mailchimp's own guidance is plain on this point: "Mailchimp should never be used as a list cleaning service." There is no Trueguard app in Mailchimp and no uploader on our side. You call Trueguard's API against the addresses you exported, and you decide what Mailchimp does with each result.

01

Export the audience

You can export an entire audience, a segment, a tag, or a group. The export is prepared in the background and Mailchimp emails you when it is ready. It may arrive as a ZIP with a separate CSV for each contact type: subscribed, unsubscribed, non-subscribed, and cleaned. Only Owners and Admins can export, and the files stay in your account for 30 days.
02

Check the addresses that still cost you

Skip the cleaned file. Cleaned contacts are already excluded from future sends and already excluded from your bill, so validating them spends checks for nothing. Run the subscribed, non-subscribed, and unsubscribed files through the email verification API, one call per address.
03

Tag the results back in Mailchimp

Write a CSV with an Email Address column and a column named Tags, holding tg-invalid or tg-risky for each flagged address. Import it into the same audience and choose to update existing contacts. If a tag does not exist yet, Mailchimp creates it on import.
04

Archive the invalid contacts

Open the audience, view the contacts with the tg-invalid tag, select them, choose Archive, and type ARCHIVE to confirm. Tag first, archive second. Mailchimp automatically unarchives any archived contact that appears in a later import, so the import has to happen before the archive, not after.

What should Mailchimp do with each result?

Each status maps to a tag, then to an action inside your audience.

safe

Format, MX, and SMTP confirm a real, deliverable mailbox.

Leave the contact as it is. No tag needed.

risky

Deliverable at the server but unconfirmed at the mailbox. Catch-all domains land here.

Tag tg-risky. Keep the contact, but watch engagement on the next sends before deciding to archive.

invalid

Bad format, no MX, or the server rejected the address. Undeliverable.

Tag tg-invalid, then archive. This address will bounce on the next campaign.

unknown

The server blocked the probe or gave no clear answer.

Leave the contact in place. Re-check later or judge it on engagement.

Four things to know before you run it.

Archive, do not unsubscribe

Mailchimp counts subscribed, unsubscribed, and non-subscribed contacts toward your contact total. Archived, cleaned, and deleted contacts do not count toward your contact total or the price of your marketing plan. An invalid address you unsubscribe stays a billable contact. An invalid address you archive does not.

Mailchimp's import check stops at syntax

On import, Mailchimp checks for duplicates, for addresses already stored in the audience as bounced or unsubscribed, for incorrect file formats, and for syntax errors. Its import documentation describes no check of MX records or mailbox deliverability.

No Mailchimp app required

There is no Trueguard app in Mailchimp's integration directory and no bulk uploader in Trueguard. You call the API against the addresses from your export, from a short script. That keeps the decision with you.

Peak-month billing

Mailchimp bills on the peak contact total in the billing period, so your bill reflects the highest number of contacts stored that month even if the total drops later. Archiving removes those contacts from the count from that point on.

What does a Mailchimp list cleaning run cost?

Start free. The first 100 validations a month are free with no card, enough to check a sample of your oldest contacts and see how many come back invalid. The full run uses the email verification API at $49.99 a month for 50,000 validations, then $0.001 per validation beyond that. Every address you send counts as a validation, including the ones that come back invalid, so skip the cleaned file and remove duplicates before you start. An audience of 40,000 billable contacts fits inside one month of the plan. One of 100,000 costs $49.99 plus $50.00 in overage.

Why archive bad contacts instead of unsubscribing them?

Because unsubscribing does not change your Mailchimp bill, and archiving does. Mailchimp counts subscribed, unsubscribed, and non-subscribed contacts toward your contact total. In Mailchimp's words: "Archived, cleaned, and deleted contacts don't count toward your contact total or the price of your marketing plan." An invalid address you unsubscribe stays a billable contact. An invalid address you archive does not.

Two details are worth knowing before you count the savings. First, cleaned contacts are already off the bill. Mailchimp says so directly: "If you archive cleaned contacts, it will not reduce your contact count for billing." Archiving them tidies the audience view and changes nothing on the invoice. Second, Mailchimp bills on the peak contact total in the billing period: "even if your contact total decreases, your bill will reflect the highest number of contacts stored in your account that month." A drop after the peak does not lower that month's bill.

Archiving is also not erasure. Mailchimp notes that for GDPR purposes, "archiving is not a legal substitute for deletion." If a contact has asked to be erased, the API's permanent delete action removes their personal information and makes it impossible to re-import them. Use it on purpose, not as the default for a cleaning run.

What does Mailchimp check when you import addresses?

If you searched for a Mailchimp "issue validating address" message, the first thing to know is that Mailchimp's help center and developer docs do not document that error text. What they do document is the set of checks Mailchimp runs when you import contacts.

On import, Mailchimp checks for duplicates, for addresses already stored in the audience as bounced or unsubscribed, for incorrect file formats, and for syntax errors. Incorrect or incomplete addresses count as syntax errors and are not added. Mailchimp also blocks role-based addresses such as abuse@, admin@, billing@, and noreply@ from imports, because some of these addresses are associated with high bounce rates and spam complaints. Files over 200 MB or around one million contacts can cause errors, so split large files. Errors stay visible in Import History for 24 hours.

Mailchimp's import documentation describes no check of MX records or mailbox deliverability. An address that is correctly formed but sits on a dead domain or a closed mailbox enters the audience, and Mailchimp learns it is bad the way it learns everything about deliverability: when a campaign bounces. Hard-bounced addresses are usually cleaned automatically and immediately. Soft bounces take longer: 7 for a contact with no activity, up to 15 for a contact with past activity, before Mailchimp converts them to a hard bounce. A hard-bounced address that recently engaged is not removed right away. Until then, every one of those addresses goes out with your campaigns and counts in your bounce rate.

Can I run this through Mailchimp's API instead of CSV files?

Yes. If you would rather not move files around, a script can do the whole run. List the audience members through the Marketing API (up to 1,000 per page), call Trueguard for each address, then act on the flagged ones. Archiving a member is a DELETE on /lists/{list_id}/members/{subscriber_hash}. Tagging is a POST to the member's /tags endpoint. Use Mailchimp's member docs for how the subscriber hash is formed.

Send the Mailchimp side as one request to the Batch endpoint (POST /batches) and poll GET /batches/{batch_id} for the result. The Marketing API allows 10 simultaneous connections per user, not per API key, and returns 429 above that. A second key or a second process does not raise it. A single Batch request does. Individual requests time out at 120 seconds.

The API path also reaches contacts the CSV path cannot. An import only updates subscribed and non-subscribed contacts and will not change a contact's marketing status. Invalid addresses sitting in the unsubscribed file still count toward your bill, so archive those through the API.

For the Trueguard call itself, the JavaScript email validation and Python email validation guides have working request code.

Is it fine to check a Mailchimp list with an outside service?

Yes. Checking a list with an outside verification service is allowed and common. Mailchimp's own bounce-rate guide lists email verification services as a way to "check if an address in your marketing list is real, active, and safe to send to, reducing the risk of hard bounces." Its integration directory lists several third-party verification apps built on the Mailchimp API. Trueguard is not one of them, and Mailchimp does not endorse or partner with us. You call our API yourself.

Mailchimp is also candid about the limits of the category, and we agree with it. It says accuracy "varies and is never 100%." Ours is not 100% either: that is why the API returns risky and unknown instead of forcing every address into valid or invalid. Mailchimp also says a cleaning service is "only a viable option if you have a good record of subscriber permission." Validation removes addresses that cannot receive mail. It does not fix a list collected without consent.

Mailchimp notes that most cleaning services flag addresses and expect you to remove them yourself. That is the shape here too, by design. Trueguard returns the verdict. You choose what gets tagged, archived, or kept.

To keep the list clean after this run, check addresses where they enter. The signup form, lead form, and HubSpot pages cover validation at the point of capture.

What does the API response look like?

Check each exported address and write a Tags file for re-import. The status decides whether a contact is tagged; the signals underneath tell you why.

// Check a Mailchimp export and write a Tags file for re-import. import { writeFileSync } from "node:fs"; const rows = ["Email Address,Tags"]; for (const email of emails) { // addresses from your Mailchimp export const check = await fetch("https://api.trueguard.io/v2/email/validation", { method: "POST", headers: { "X-API-KEY": process.env.TRUEGUARD_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ email }) }).then((r) => r.json()); const status = check.deliverability.status; if (status === "invalid" || status === "risky") { rows.push(`${email},tg-${status}`); } } writeFileSync("mailchimp-tags.csv", rows.join("\n"));
{ "email": "name@gmail.com", "rawEmail": "name@gmail.com", "syntax": { "isValid": true }, "deliverability": { "status": "safe", "isSmtpValid": true, "isMxValid": true, "isCatchall": false, "isInboxFull": false, "isDeliverable": true, "isDisabled": false, "mxRecords": [ "gmail-smtp-in.l.google.com", "alt1.gmail-smtp-in.l.google.com", "alt2.gmail-smtp-in.l.google.com", "alt3.gmail-smtp-in.l.google.com", "alt4.gmail-smtp-in.l.google.com" ] }, "domain": { "name": "gmail.com", "age": 11363, "isLive": true, "isRisky": false }, "quality": { "isDisposable": false, "isFree": true, "isRole": false, "isSubaddress": false } }

Frequently asked questions.

Still deciding? Contact support or read the API reference.

How do I clean my Mailchimp list?

Export the audience to CSV, check each address with Trueguard's email validation API, and import a file with a `Tags` column that marks the invalid and risky contacts. Then view the contacts with the invalid tag, select them, and archive them. Do the import before the archive, because Mailchimp automatically unarchives any archived contact that appears in a later import.

Is there a Trueguard Mailchimp app or bulk CSV uploader?

No. There is no Trueguard app in Mailchimp's integration directory and no bulk uploader in Trueguard. You call the API against the addresses from your export, from a short script. That keeps the decision with you: you choose which statuses get tagged, archived, or kept, rather than inheriting a connector's fixed rules.

Should I archive or unsubscribe invalid Mailchimp contacts?

Archive them. Mailchimp counts subscribed, unsubscribed, and non-subscribed contacts toward your contact total, so an unsubscribed invalid address still costs you. Archived, cleaned, and deleted contacts do not count toward your contact total or the price of your plan. Cleaned contacts are already excluded, so archiving them does not lower the bill further.

What does Mailchimp's "issue validating address" message mean?

Mailchimp's help center and developer docs do not document that error text, so we will not guess at it. What Mailchimp does document is its import checks: duplicates, addresses already bounced or unsubscribed in the audience, file format, syntax errors, and a block on role-based addresses such as `abuse@` and `noreply@`. Its import docs describe no MX or mailbox deliverability check.

What bounce rate should worry me in Mailchimp?

Mailchimp's own guide puts the average campaign bounce rate between 1% and 2%. Above 2%, it says to look at your list and how you collect addresses. Above 5%, it says to review it urgently. Mailchimp does not publish a numeric suspension threshold, because ISP limits vary and are not released.

Will archiving lower this month's Mailchimp bill?

Not necessarily. Mailchimp bills on the peak contact total during the billing period, so your bill reflects the highest number of contacts stored that month even if the total drops later. Archiving removes those contacts from the count from that point on.

Is there a free tier to test a Mailchimp list?

Yes. The first 100 validations a month are free with no card, enough to check a sample of your oldest contacts before you run the whole audience. For a single address, the free email verifier at https://trueguard.io/email-verifier runs the same validation in the browser. The paid plan is $49.99 a month for 50,000 validations, then $0.001 per validation.

Archive the dead weight before the next send.

100 validations a month, free, no card. Check a sample of your oldest contacts and see how many come back invalid.

Get your free API key

No credit card required.

trueguard-logo© 2026 Trueguardinfo@trueguard.io