Developer Reference

Reverse MX Lookup (Deprecated)

Explore Reverse MX Lookup (Deprecated) API documentation, request parameters, response fields, code examples, and error handling for DomScan integrations.

Reverse MX Lookup (Deprecated)

Deprecated: this endpoint performs exact-hostname searches only against a best-effort seven-day index populated by prior /v1/dns/all lookups. Each MX host keeps at most 10,000 recent entries. The API evaluates limit entries before returning one row per apex by default, and it is not an internet-wide dataset.

GET /v1/reverse/mx

Query Parameters

ParameterTypeDescription
mx required string Exact mail server hostname to check in the deprecated DomScan passive cache (alias: mailserver; e.g., "aspmx.l.google.com")
match optional string Matching mode. Only exact is supported.
include_apex_only optional boolean When true (default), return one row per apex domain. Set false to preserve observed hostnames.
limit optional number Maximum recent index entries to evaluate before optional apex deduplication. Default: 100, max: 1000.

Use Cases

  • Check cached DomScan observations for an MX host
  • Review prior API lookup context for mail infrastructure
  • Confirm whether DomScan has seen matching domains before
  • Use as a limited legacy signal, not a full dataset

Example Request

# Deprecated limited cache lookup for prior DomScan DNS observations
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/reverse/mx?mx=aspmx.l.google.com&limit=100"

# Deprecated limited cache lookup for another MX hostname
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/reverse/mx?mx=outlook.protection.outlook.com"

Example Response

{
  "query": {
    "mx": "aspmx.l.google.com",
    "match": "exact",
    "include_apex_only": true
  },
  "deprecated": true,
  "deprecation_notice": "This endpoint is deprecated. It only searches a best-effort seven-day passive index populated by prior /v1/dns/all lookups and capped at 10,000 recent entries per key. It is not an internet-wide reverse DNS dataset.",
  "results": [],
  "summary": {
    "total_found": 0,
    "returned": 0
  },
  "freshness_summary": {
    "source": "passive_dns",
    "cache_status": "passive_cache_only",
    "result_count": 0,
    "returned_count": 0,
    "apex_domain_count": 0,
    "apex_deduped_count": 0,
    "warnings": ["passive_cache_only", "no_cached_matches"]
  },
  "page": {
    "limit": 100,
    "next_cursor": null
  },
  "meta": {
    "source": "passive_dns",
    "note": "Best-effort seven-day index populated only by prior /v1/dns/all lookups"
  }
}

Response Fields

Field Type
query object
query.mx string
query.match string
query.include_apex_only boolean
deprecated boolean
deprecation_notice string
results[] object[]
results[] object
results[].domain string
results[].apex string
results[].mx string
results[].all_mx[] object[]
results[].all_mx[] object
results[].all_mx[].host string
results[].all_mx[].priority integer | null
results[].last_seen string | null
results[].reason object
results[].reason.type string
results[].reason.matched string
summary object
summary.total_found integer
summary.returned integer
freshness_summary object
freshness_summary.source string
freshness_summary.cache_status string
freshness_summary.result_count integer
freshness_summary.returned_count integer
freshness_summary.apex_domain_count integer
freshness_summary.apex_deduped_count integer
freshness_summary.warning_count integer
freshness_summary.warnings[] string[]
freshness_summary.last_seen_span_days integer | null
page object
page.limit integer
page.next_cursor string | null
meta object
meta.generated_at string
meta.source string
meta.query_time_ms integer
meta.note string
cache object
cache.hit boolean | null
cache.age_s integer | null
cache.ttl_s integer | null
cache.key string | null