---
title: "Validate contact data in Mailchimp"
url: "https://lookvalid.com/integrations/mailchimp.md"
canonical_url: "https://lookvalid.com/integrations/mailchimp"
last_updated: "2026-10-22"
type: "how-to"
summary: "Check the domain behind each Mailchimp subscriber address and write the result into merge fields, so segments can set aside throwaway."
related: ["https://lookvalid.com/integrations.md", "https://lookvalid.com/docs/api/email-domain-check.md", "https://lookvalid.com/docs/quickstart.md"]
---

# Validate contact data in Mailchimp

Check the domain behind each Mailchimp subscriber address and write the result into merge fields, so segments can set aside throwaway.

A Mailchimp audience grows from forms, imports and checkout sign-ups, and every typo domain or disposable address in it drags down open rates and sender standing for the whole list. Because merge fields live on each member, a bad address keeps getting campaigns until someone notices it, so flagging it once at the moment it enters the audience keeps later sends clean.

## What LookValid checks

- [Email Domain Check](https://lookvalid.com/products/email-domain-check.md): Reads the address domain for mail routing records, mail authentication policy, disposable domains, free mailbox providers and role mailboxes such as info@. It never contacts the mail server, so it cannot confirm that one mailbox exists. (1 credit per address checked)
- [Domain Age](https://lookvalid.com/products/domain-age.md): Returns when a subscriber company domain was registered, which helps you separate long-standing business domains from ones created last week. (2 credits per registered domain (unregistered domains are free))
- [Domain Authority](https://lookvalid.com/products/domain-authority.md): Scores a business domain from open web-graph data so you can rank B2B subscribers by how established their company site is. An unranked domain is not proof of low standing. (10 credits per domain found in the rank data (an unranked domain is free))

## Connect it in four steps

1. Create a LookValid account and generate an API key from the dashboard.
2. Store the key as the LOOKVALID_API_KEY environment variable of the function that talks to Mailchimp, next to your Mailchimp API key, never in the audience form or a merge field.
3. Send the subscriber address to the email domain check; if the answer says found is false, leave the member untouched, and if the API returns an error, log its code and retry later instead of blocking the signup.
4. Add LV_SIGNAL, LV_FREE and LV_ROLE as merge fields on the audience, then send the returned values in merge_fields on the PUT to the member URL, which Mailchimp keys by the MD5 hash of the lowercased address.

A serverless function or small web handler that receives a new subscriber, checks the address, then upserts the member with the result. The call is `POST https://YOUR_API_HOST/v1/email-domain-check`.

```js
const API_URL = "https://YOUR_API_HOST/v1/email-domain-check";

export async function validateMailchimpEmail(value) {
  const response = await fetch(API_URL, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.LOOKVALID_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      "email": value,
    }),
  });
  const result = await response.json();
  if (!response.ok) throw new Error(`${result.error.code}: ${result.error.fix}`);
  if (!result.found) return null;
  return {
      "LV_SIGNAL": result.data?.deliverability_signal ?? null,
      "LV_FREE": result.data?.free_provider ?? null,
      "LV_ROLE": result.data?.role_account ?? null,
  };
}
```

| Response field | Goes into |
| --- | --- |
| `data.deliverability_signal` | LV_SIGNAL |
| `data.free_provider` | LV_FREE |
| `data.role_account` | LV_ROLE |

## Without code

If you would rather not host a function, build the same thing in any automation platform with a generic HTTP request step: trigger on a new Mailchimp subscriber, post the address to the LookValid endpoint with your key in the Authorization header, and add an update-member action that fills the three merge fields from the response. No dedicated LookValid app is involved; it is one POST and one mapping.

## Questions

### What does a Mailchimp check cost in credits?

Each check spends credits from your LookValid balance. The current amount for the email domain check is listed on the pricing page.

### Does it tell me a subscriber mailbox exists?

No. It inspects the domain only, so it can flag a domain with no mail routing, a disposable domain or a role mailbox, but a made-up name at a working domain still passes.

### Where does the key go?

In the environment of the code that calls Mailchimp. Mailchimp accepts a bearer token for its own API, and your LookValid key sits beside it as a separate variable.

## Sources

- [Mailchimp Marketing API: add or update list member](https://mailchimp.com/developer/marketing/api/lists/members/upsert-member.md), read 2026-10-18

## Related

- [LookValid integrations](https://lookvalid.com/integrations.md)
- [Email Domain Check reference](https://lookvalid.com/docs/api/email-domain-check.md)
- [Quickstart](https://lookvalid.com/docs/quickstart.md)
