MX Record Checker
Pricing
Pay per event
MX Record Checker
This actor checks MX records for domains to identify email hosting providers and mail server configuration. It queries MX records, sorts by priority, and detects providers (Google Workspace, Microsoft 365, ProtonMail, etc.). Useful for email deliverability auditing and provider identification.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Check MX (mail exchange) DNS records for domains.
What does MX Record Checker do?
This actor checks MX records for domains to identify email hosting providers and mail server configuration. It queries MX records, sorts them by priority, and detects providers (Google Workspace, Microsoft 365, ProtonMail, etc.). Useful for email deliverability auditing, provider identification, and lead enrichment. Simply provide a list of domains and get structured results showing each domain's mail servers and detected email provider.
Use cases
- Sales teams -- identify which email provider a prospect uses to tailor outreach and integration pitches
- Email marketers -- verify that target domains have valid MX records before sending campaigns to avoid bounces
- IT administrators -- audit MX record configuration across all company domains to ensure correct mail routing
- Security researchers -- assess email infrastructure for domains during security evaluations
- Competitive analysts -- discover which email platforms competitors and industry peers are using
Why use MX Record Checker?
- Provider detection -- automatically identifies major email providers like Google Workspace, Microsoft 365, ProtonMail, Zoho, and more
- Priority sorting -- MX records are returned sorted by priority so you can see the primary mail server at a glance
- Batch processing -- check hundreds of domains in a single run instead of querying them one by one
- Structured JSON output -- each result includes the domain, MX records, provider name, and error information
- Pay-per-event pricing -- only $0.001 per domain checked, making large-scale audits cost-effective
- No infrastructure needed -- runs on Apify cloud with no servers to set up or maintain
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
domains | array of strings | Yes | -- | List of domains to check for MX records. Example: ["google.com", "github.com"] |
{"domains": ["google.com", "github.com", "example.com"]}
Output example
Each domain produces a result object with the following fields:
| Field | Type | Description |
|---|---|---|
domain | string | The domain that was checked |
hasMxRecords | boolean | Whether MX records were found |
records | object[] | List of MX records with priority and exchange fields |
recordCount | number | Number of MX records found |
provider | string/null | Detected email provider name, if recognized |
error | string/null | Error message if the lookup failed |
{"domain": "google.com","hasMxRecords": true,"records": [{ "priority": 10, "exchange": "smtp.google.com" },{ "priority": 20, "exchange": "smtp2.google.com" }],"recordCount": 2,"provider": "Google Workspace","error": null}
A domain without MX records returns:
{"domain": "example-no-email.com","hasMxRecords": false,"records": [],"recordCount": 0,"provider": null,"error": null}
How much does it cost?
| Event | Price | Description |
|---|---|---|
| Start | $0.035 | One-time per run |
| Domain checked | $0.001 | Per domain checked |
Example costs:
- 10 domains: $0.035 + 10 x $0.001 = $0.045
- 100 domains: $0.035 + 100 x $0.001 = $0.135
- 1,000 domains: $0.035 + 1,000 x $0.001 = $1.035
Using the Apify API
You can start MX Record Checker programmatically from your own applications using the Apify API. The following examples show how to run the actor and retrieve results.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('automation-lab/mx-record-checker').call({domains: ['google.com', 'github.com'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('automation-lab/mx-record-checker').call(run_input={'domains': ['google.com', 'github.com'],})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Integrations
MX Record Checker works with all major integration platforms supported by Apify. Connect it to Make (formerly Integromat), Zapier, n8n, or Slack to build automated email infrastructure monitoring workflows. Export results directly to Google Sheets for collaborative analysis or use webhooks to get notified when a run completes. You can also combine this actor with other DNS checkers in a multi-step pipeline for comprehensive domain audits.
Common integration patterns include:
- Google Sheets -- export MX records and detected providers to a spreadsheet for lead enrichment or DNS documentation
- Slack -- receive notifications when a domain changes its email provider or loses MX records
- Zapier / Make -- trigger MX checks when new leads are added to your CRM and enrich records with email provider data
- Webhooks -- receive results via POST request for real-time enrichment in your own applications
Tips and best practices
- Use root domains -- MX records are set on root domains (e.g.,
google.com), not on subdomains. Always check the root domain for mail server information. - Combine with Email Deliverability Checker -- for a complete email audit, pair MX Record Checker with the Email Deliverability Checker to also validate SPF, DKIM, and DMARC.
- Use provider detection for lead enrichment -- the
providerfield tells you if a domain uses Google Workspace, Microsoft 365, or another service, which is valuable for sales intelligence. - Batch your requests -- processing many domains in a single run is more cost-effective than running the actor once per domain, since the $0.035 start fee is charged only once.
- Schedule periodic checks -- use Apify Schedules to run this actor regularly and detect when domains change their email provider or misconfigure MX records.
FAQ
What is an MX record? An MX (Mail Exchange) record is a DNS record that specifies which mail servers are responsible for receiving email for a domain. Each MX record has a priority value -- lower numbers indicate higher priority.
What does it mean if a domain has no MX records?
A domain with no MX records cannot receive email. This could mean the domain is not used for email, or the MX records are misconfigured. The actor will return hasMxRecords: false in this case.
How does provider detection work?
The actor matches MX record hostnames against known patterns for major email providers. For example, MX records containing google.com or googlemail.com are identified as Google Workspace, and records containing outlook.com are identified as Microsoft 365.
What does MX record priority mean? MX priority is a number that determines the order in which mail servers are tried. Lower numbers have higher priority. If the primary server (lowest number) is unavailable, email is delivered to the next server in priority order. Most domains have 2-5 MX records for redundancy.
Can I check which provider a specific email address uses?
This actor checks domains, not individual email addresses. To check which provider handles email for user@example.com, pass example.com as the domain. All email addresses at that domain use the same MX records.