80trust / 100

Domain Lookup

by 1gateway in Email & messaging

x402 APIPassing, checked 2 h ago

Use when an agent must check a domain: does it resolve, who hosts its DNS and mail, is email authenticated, how old is it, when does it expire. Input: domain (e.g. example.com; URLs accepted). Output: JSON DNS records (A, AAAA, CNAME, MX, NS, TXT, CAA, SOA), mail provider, parsed SPF and DMARC, DNS provider, and RDAP registration (registrar, created, expires, age in days, status, DNSSEC). No contact data. Example: ?domain=google.com

GET https://1gateway.dev/v1/domain/lookup

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
44 ms typical, 44 ms slowest 5%
Last check
2 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://1gateway.dev/v1/domain/lookup?domain=google.com"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2F1gateway.dev%2Fv1%2Fdomain%2Flookup
const res = await pay("https://1gateway.dev/v1/domain/lookup?domain=google.com");
console.log(await res.json());

Example input

{
  "domain": "google.com"
}

Example output

{
  "cache": "miss",
  "dns": {
    "A": [
      "192.178.232.113"
    ],
    "AAAA": [
      "2607:f8b0:4023:1431::64"
    ],
    "MX": [
      "10 smtp.google.com."
    ],
    "NS": [
      "ns3.google.com."
    ]
  },
  "dnsProvider": "Google",
  "dnsStatus": "NOERROR",
  "domain": "google.com",
  "mail": {
    "acceptsMail": true,
    "dmarc": {
      "aggregateReportTargets": 1,
      "alignmentDkim": "r",
      "alignmentSpf": "r",
      "forensicReportTargets": 0,
      "pct": 100,
      "policy": "reject",
      "present": true,
      "subdomainPolicy": null
    },
    "provider": "Google Workspace",
    "spf": {
      "all": "~all",
      "includes": [
        "_spf.google.com"
      ],
      "lookupMechanisms": 1,
      "multipleRecords": false,
      "policy": "softfail",
      "present": true,
      "record": "v=spf1 include:_spf.google.com ~all"
    }
  },
  "mx": [
    {
      "host": "smtp.google.com",
      "priority": 10
    }
  ],
  "notes": [
    "Registrant/admin/tech contacts are intentionally not returned."
  ],
  "registration": {
    "ageDays": 10616,
    "available": true,
    "created": "1997-09-15T04:00:00Z",
    "daysUntilExpiry": 705,
    "dnssec": false,
    "domain": "google.com",
    "expires": "2028-09-14T04:00:00Z",
    "nameservers": [
      "ns1.google.com"
    ],
    "registeredDomain": "google.com",
    "registrar": {
      "ianaId": "292",
      "name": "MarkMonitor Inc."
    },
    "source": "https://rdap.verisign.com/com/v1/",
    "status": [
      "client delete prohibited"
    ],
    "updated": "2019-09-09T15:39:04Z"
  },
  "resolves": true,
  "sources": [
    "DNS: Cloudflare 1.1.1.1 DNS-over-HTTPS"
  ],
  "verificationTokens": [
    "apple-domain-verification"
  ]
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed40243 ms$0.0045
5 h agoPassed402720 ms$0.0045
10 h agoPassed40244 ms$0.0045