Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: YourAITools Domain Check API
version: 1.0.0
description: Pay-per-call tools for AI agents, paid per request in USDC via x402 on Base, Polygon, Arbitrum One or Solana, with each tool's own spec at https://api.youraitools.co//openapi.json.
contact:
email: hello@youraitools.co
url: https://youraitools.co/built-by-us
servers:
- url: https://api.youraitools.co
tags:
- name: DomainCheck
paths:
/domaincheck/v1/domain:
get:
operationId: check_domain
summary: Domain trust report (DNS, email auth, RDAP age, flags, score)
tags:
- DomainCheck
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.002'
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '2000'
assetSymbol: USDC
x402Versions:
- 2
- 1
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
name: Solana
asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
symbol: USDC
payTo: FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte
parameters:
- name: domain
in: query
required: true
schema:
type: string
description: Domain, URL or email address
responses:
'200':
description: Domain report (payment settled)
content:
application/json:
schema:
type: object
properties:
domain:
type: string
registrable_domain:
type: string
public_suffix:
type: string
exists:
type: boolean
verdict:
type: string
enum:
- low_risk
- medium_risk
- high_risk
- nonexistent
score:
type: integer
minimum: 0
maximum: 100
flags:
type: array
items:
type: object
properties:
id:
type: string
severity:
type: string
enum:
- critical
- high
- medium
- low
- info
penalty:
type: integer
description:
type: string
detail:
type: string
dns:
type: object
description: a, aaaa, ns, mx[{priority,host}], null_mx, cname, dnssec_validated, caa
email:
type: object
description: accepts_mail, mx_provider, spf, dmarc, dkim, mta_sts, tls_rpt, bimi, grade (A-F)
registration:
type: object
description: 'RDAP: registrar, created, expires, age_days, expires_in_days, status, nameservers, dnssec_signed'
'400':
description: Invalid input (never charged)
'402':
description: Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)
'422':
description: Invalid email syntax (never charged)
'504':
description: Lookup timed out (never charged)
description: 'Domain lookup and trust check API (WHOIS/RDAP, DNS and email security). Domain trust report (DNS, email auth, RDAP age, flags, score) Search intents: domain lookup api, whois api, domain age check, dns lookup api, spf dmarc check, phishing domain check.'
post:
operationId: check_domain_post
summary: Domain trust report (POST {"domain"})
tags:
- DomainCheck
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.002'
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '2000'
assetSymbol: USDC
x402Versions:
- 2
- 1
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
name: Solana
asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
symbol: USDC
payTo: FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
required:
- domain
responses:
'200':
description: Domain report (payment settled)
content:
application/json:
schema:
type: object
properties:
domain:
type: string
registrable_domain:
type: string
public_suffix:
type: string
exists:
type: boolean
verdict:
type: string
enum:
- low_risk
- medium_risk
- high_risk
- nonexistent
score:
type: integer
minimum: 0
maximum: 100
flags:
type: array
items:
type: object
properties:
id:
type: string
severity:
type: string
enum:
- critical
- high
- medium
- low
- info
penalty:
type: integer
description:
type: string
detail:
type: string
dns:
type: object
description: a, aaaa, ns, mx[{priority,host}], null_mx, cname, dnssec_validated, caa
email:
type: object
description: accepts_mail, mx_provider, spf, dmarc, dkim, mta_sts, tls_rpt, bimi, grade (A-F)
registration:
type: object
description: 'RDAP: registrar, created, expires, age_days, expires_in_days, status, nameservers, dnssec_signed'
'400':
description: Invalid input (never charged)
'402':
description: Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)
'422':
description: Invalid email syntax (never charged)
'504':
description: Lookup timed out (never charged)
description: 'Domain lookup and trust check API (WHOIS/RDAP, DNS and email security). Domain trust report (POST {"domain"}) Search intents: domain lookup api, whois api, domain age check, dns lookup api, spf dmarc check, phishing domain check.'
/domaincheck/v1/email:
get:
operationId: check_email
summary: Email address check (syntax, disposable, MX, domain age, verdict)
tags:
- DomainCheck
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '1000'
assetSymbol: USDC
x402Versions:
- 2
- 1
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
name: Solana
asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
symbol: USDC
payTo: FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte
parameters:
- name: email
in: query
required: true
schema:
type: string
description: Email address
responses:
'200':
description: Email check (payment settled)
content:
application/json:
schema:
type: object
properties:
input:
type: string
normalized:
type: string
canonical:
type: string
domain:
type: string
verdict:
type: string
enum:
- valid
- risky
- undeliverable
- invalid
score:
type: integer
minimum: 0
maximum: 100
syntax:
type: object
disposable:
type: boolean
role:
type: boolean
free_provider:
type: boolean
plus_tag:
type:
- string
- 'null'
deliverability:
type: object
description: domain_exists, accepts_mail, mx, null_mx, mx_provider
domain_auth:
type: object
description: spf, dmarc policy and grade
registration:
type:
- object
- 'null'
flags:
type: array
items:
type: object
properties:
id:
type: string
severity:
type: string
enum:
- critical
- high
- medium
- low
- info
penalty:
type: integer
description:
type: string
detail:
type: string
mailbox_checked:
type: boolean
const: false
'400':
description: Invalid input (never charged)
'402':
description: Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)
'422':
description: Invalid email syntax (never charged)
'504':
description: Lookup timed out (never charged)
description: 'Email verification API. Email address check (syntax, disposable, MX, domain age, verdict) Search intents: email verification api, email validation, disposable email check, mx record check, email deliverability, email risk score.'
post:
operationId: check_email_post
summary: Email address check (POST {"email"})
tags:
- DomainCheck
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '1000'
assetSymbol: USDC
x402Versions:
- 2
- 1
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
name: Solana
asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
symbol: USDC
payTo: FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
required:
- email
responses:
'200':
description: Email check (payment settled)
content:
application/json:
schema:
type: object
properties:
input:
type: string
normalized:
type: string
canonical:
type: string
domain:
type: string
verdict:
type: string
enum:
- valid
- risky
- undeliverable
- invalid
score:
type: integer
minimum: 0
maximum: 100
syntax:
type: object
disposable:
type: boolean
role:
type: boolean
free_provider:
type: boolean
plus_tag:
type:
- string
- 'null'
deliverability:
type: object
description: domain_exists, accepts_mail, mx, null_mx, mx_provider
domain_auth:
type: object
description: spf, dmarc policy and grade
registration:
type:
- object
- 'null'
flags:
type: array
items:
type: object
properties:
id:
type: string
severity:
type: string
enum:
- critical
- high
- medium
- low
- info
penalty:
type: integer
description:
type: string
detail:
type: string
mailbox_checked:
type: boolean
const: false
'400':
description: Invalid input (never charged)
'402':
description: Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)
'422':
description: Invalid email syntax (never charged)
'504':
description: Lookup timed out (never charged)
description: 'Email verification API. Email address check (POST {"email"}) Search intents: email verification api, email validation, disposable email check, mx record check, email deliverability, email risk score.'
/domaincheck/v1/domain/preview:
get:
operationId: domain_preview
summary: Free DNS / MX / SPF / DMARC summary (10/min/IP)
security: []
responses:
'200':
description: OK
parameters:
- name: domain
in: query
required: true
schema:
type: string
description: Domain
tags:
- DomainCheck
post:
operationId: domain_preview_post
summary: Free domain preview (POST {"domain"})
security: []
responses:
'200':
description: OK
tags:
- DomainCheck
/domaincheck/v1/email/preview:
get:
operationId: email_preview
summary: Free syntax + disposable / role / free-provider check (10/min/IP)
security: []
responses:
'200':
description: OK
parameters:
- name: email
in: query
required: true
schema:
type: string
description: Email address
tags:
- DomainCheck
post:
operationId: email_preview_post
summary: Free email preview (POST {"email"})
security: []
responses:
'200':
description: OK
tags:
- DomainCheck
components:
securitySchemes:
creditsKey:
type: http
scheme: bearer
description: yatc_... credits key