ZapBounce and Mailjet
You can verify Mailjet contacts with ZapBounce four ways: upload a contact list export as a CSV, call the ZapBounce API before a contact is created, catch our batch.completed webhook when a bulk run ends, or add a check to a Zap. Each address comes back valid, invalid, catch_all or unknown, and 1,000 checks cost $5.
Mailjet runs marketing campaigns and transactional email from one account. That's handy, and it means a bad address can hurt both streams. You'll want invalid contacts off your campaign lists without cutting off the receipts and password resets your app sends through the Send API.
Mailjet's own contact tools make that split easy, and the steps below use them.
Campaign bounces and app email share one sender record
Your campaigns and your Send API messages leave from the same Mailjet account. A campaign to an old list that bounces hard drags down the reputation your password resets rely on too.
Mailjet gives you a campaign exclusion list for this. A contact with IsExcludedFromCampaigns set to true stops getting marketing, yet Mailjet still delivers Send API messages to it (read on dev.mailjet.com, 25 September 2026).
Imports carry a trap as well. The addforce import method subscribes every row again, including contacts who had unsubscribed. Re-importing a verified file with it can turn an unsubscribe into a complaint, so use addnoforce, which keeps each contact's status as it was.
How the data moves
Export the contact list
Export the list from Mailjet's Contacts screen as a CSV, with your contact properties included. Those columns come back untouched in the results.
Verify the file on the bulk page or by API
Drop the CSV on the bulk page or post it to
POST /v1/files. Abatch.completedwebhook tells your code when the results are ready, and an address that appears twice costs one credit.Exclude invalid contacts from campaigns
Upload the invalid rows through Mailjet's CSV import with the
excludemarketingmethod, or setIsExcludedFromCampaignsper contact through/contact/managemanycontacts. Those contacts leave your campaigns and stay reachable for transactional mail.Store the verdict as a contact property
Add a verdict contact property and import the results with
addnoforce. You can then build segments on it and keep catch_all contacts apart.
Setting it up
- Export the contact list from Mailjet as a CSV with its contact properties.
- Upload it on the bulk page or through the file upload endpoint.
- Create a verdict contact property in Mailjet.
- Import the results with the
addnoforcemethod so unsubscribed contacts stay unsubscribed. - Import the invalid rows again with
excludemarketingto put them on the campaign exclusion list. - Build a segment on the verdict property and send your next campaign to valid contacts.
Mailjet: common questions
How do I verify a Mailjet contact list?
Export the list as a CSV, verify it with ZapBounce, then re-import the results into a verdict contact property with the addnoforce method. A 10,000-contact list costs $25, and unknown results cost nothing.
How do I stop campaigns to invalid Mailjet contacts?
Put them on Mailjet's campaign exclusion list by importing the invalid rows with the excludemarketing method, or by setting IsExcludedFromCampaigns to true through the API. Mailjet keeps delivering Send API messages to those contacts.
Which Mailjet import method should I use for verified results?
Use addnoforce. It adds or updates contacts and keeps their subscription status. The addforce method subscribes every row again, including people who had unsubscribed.
Can I verify contacts before they reach Mailjet?
Yes. Call the ZapBounce API from your sign-up handler and create the Mailjet contact only when the result is valid or catch_all. A Zap between your form and Mailjet does the same without code.
Check a Mailjet export today
100 free checks a month, no card. Unknown results and duplicates are never billed.