Api Endpoint

17711 Domain Security Check

Domain security check: SSL certificate, DMARC/SPF, DNSSEC, security headers and blocklist status with a score

Open interactive test console

Offering

Provider
api.17711.xyz
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Security
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://api.17711.xyz/registry/domain-security-service/v1/domain-security/get_report
MIME type
Not provided
First seen
2026-10-16T01:50:32.458Z
Last seen
Tags
domain-security, security-audit, ssl-checker, dmarc-spf-check, security-headers

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.009 USDC
Atomic price: 9000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "9000",
    "payTo": "0x19824cf672f28fa63024731ebc7405aa3733e0ba"
  }
]

Observed health

Status
Healthy
Latest latency
292 ms
Average latency
994 ms
HTTP status
200
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "properties": {
    "body": {
      "properties": {
        "domain": {
          "description": "The domain to assess: `stripe.com`, `www.stripe.com` or a full URL (only the host is used).",
          "type": "string"
        },
        "max_age_seconds": {
          "default": null,
          "description": "The oldest report you accept, in seconds. Omit it for the default (reports up to 1 hour old);\n`0` forces a fresh assessment. The response always says how old it is.",
          "format": "uint64",
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "domain"
      ],
      "title": "GetReportRequest",
      "type": "object"
    },
    "bodyType": {
      "const": "json"
    },
    "method": {
      "const": "POST"
    },
    "type": {
      "const": "http"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "$defs": {
    "BlocklistHit": {
      "properties": {
        "cidr": {
          "type": "string"
        },
        "ip": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      },
      "required": [
        "ip",
        "source",
        "cidr"
      ],
      "type": "object"
    },
    "DnsSecurity": {
      "properties": {
        "caa": {
          "description": "CAA records: the certificate authorities allowed to issue for the domain.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "dnssec": {
          "description": "Whether the answer for the domain is validated by DNSSEC.",
          "type": "boolean"
        },
        "name_servers": {
          "description": "Authoritative name servers (at most 8).",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "dnssec",
        "name_servers",
        "caa"
      ],
      "type": "object"
    },
    "Finding": {
      "properties": {
        "code": {
          "description": "Stable machine-readable code, e.g. `tls.expired`, `mail.dmarc_absent`, `http.hsts_missing`.",
          "type": "string"
        },
        "message": {
          "description": "What was observed and why it matters, in one sentence.",
          "type": "string"
        },
        "severity": {
          "description": "`critical`, `high`, `medium`, `low` or `info`.",
          "type": "string"
        }
      },
      "required": [
        "severity",
        "code",
        "message"
      ],
      "type": "object"
    },
    "HttpSecurity": {
      "properties": {
        "discloses_version": {
          "description": "Whether the `Server` / `X-Powered-By` headers disclose a software version.",
          "type": "boolean"
        },
        "headers_missing": {
          "description": "The ones that are missing.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "headers_present": {
          "description": "Security headers found on the HTTPS response (`strict-transport-security`,\n`content-security-policy`, `x-content-type-options`, `x-frame-options`, `referrer-policy`,\n`permissions-policy`).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "http_redirects_to_https": {
          "description": "`true` when plain HTTP on port 80 redirects to HTTPS, `false` when it serves content or\nredirects elsewhere, absent when port 80 does not answer.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "https_status": {
          "description": "Status of `GET https://<domain>/`.",
          "format": "uint16",
          "maximum": 65535,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "headers_present",
        "headers_missing",
        "discloses_version"
      ],
      "type": "object"
    },
    "MailSecurity": {
      "properties": {
        "dmarc": {
          "description": "DMARC policy: `reject`, `quarantine`, `none` or `absent`.",
          "type": [
            "string",
            "null"
          ]
        },
        "mta_sts": {
          "description": "Whether an MTA-STS policy is published (`_mta-sts` TXT record).",
          "type": "boolean"
        },
        "mx": {
          "description": "Mail servers (MX) of the website's domain, highest priority first (at most 5).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "provider": {
          "description": "Mail platform deduced from the MX records (`google-workspace`, `microsoft-365`, ...).",
          "type": [
            "string",
            "null"
          ]
        },
        "spf": {
          "description": "SPF policy: `strict` (-all), `soft` (~all), `neutral` (?all), `open` (+all) or `none`.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "mx",
        "mta_sts"
      ],
      "type": "object"
    },
    "TlsSecurity": {
      "properties": {
        "days_remaining": {
          "description": "Days left before expiry (negative once expired).",
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        },
        "error": {
          "description": "Why the handshake or validation failed, when it did.",
          "type": [
            "string",
            "null"
          ]
        },
        "expires_at": {
          "description": "Certificate end of validity (UTC).",
          "type": [
            "string",
            "null"
          ]
        },
        "issuer": {
          "type": [
            "string",
            "null"
          ]
        },
        "protocol": {
          "description": "`TLS1.3` or `TLS1.2`.",
          "type": [
            "string",
            "null"
          ]
        },
        "reachable": {
          "description": "Whether HTTPS answered on port 443.",
          "type": "boolean"
        },
        "san_count": {
          "description": "Number of host names the certificate covers.",
          "format": "uint32",
          "minimum": 0,
          "type": "integer"
        },
        "valid": {
          "description": "Whether the certificate chain validates for this host name.",
          "type": "boolean"
        }
      },
      "required": [
        "reachable",
        "valid",
        "san_count"
      ],
      "type": "object"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "properties": {
        "body": {
          "properties": {
            "domain": {
              "description": "The domain to assess: `stripe.com`, `www.stripe.com` or a full URL (only the host is used).",
              "type": "string"
            },
            "max_age_seconds": {
              "default": null,
              "description": "The oldest report you accept, in seconds. Omit it for the default (reports up to 1 hour old);\n`0` forces a fresh assessment. The response always says how old it is.",
              "format": "uint64",
              "minimum": 0,
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "required": [
            "domain"
          ],
          "title": "GetReportRequest",
          "type": "object"
        },
        "bodyType": {
          "const": "json"
        },
        "method": {
          "const": "POST"
        },
        "type": {
          "const": "http"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "age_seconds": {
              "description": "How old this report is, in seconds (0 for a fresh assessment).",
              "format": "uint64",
              "minimum": 0,
              "type": "integer"
            },
            "blocklisted": {
              "description": "Addresses found on a public IP blocklist (IPv4 only).",
              "items": {
                "$ref": "#/$defs/BlocklistHit"
              },
              "type": "array"
            },
            "dns": {
              "$ref": "#/$defs/DnsSecurity"
            },
            "domain": {
              "description": "The host that was assessed, lowercased, without scheme or path.",
              "type": "string"
            },
            "findings": {
              "description": "Everything worth acting on, most severe first.",
              "items": {
                "$ref": "#/$defs/Finding"
              },
              "type": "array"
            },
            "from_cache": {
              "description": "`true` when this report was served from a stored result.",
              "type": "boolean"
            },
            "grade": {
              "description": "`A` (90+), `B` (80+), `C` (65+), `D` (50+), `F`.",
              "type": "string"
            },
            "http": {
              "$ref": "#/$defs/HttpSecurity"
            },
            "ip_addresses": {
              "description": "Public IPv4/IPv6 addresses of the host (at most 8).",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "mail": {
              "$ref": "#/$defs/MailSecurity"
            },
            "retrieved_at": {
              "description": "When the assessment was made (UTC).",
              "type": "string"
            },
            "score": {
              "description": "0 to 100, higher is better; derived from the findings.",
              "format": "uint32",
              "minimum": 0,
              "type": "integer"
            },
            "tls": {
              "$ref": "#/$defs/TlsSecurity"
            }
          },
          "required": [
            "domain",
            "ip_addresses",
            "blocklisted",
            "dns",
            "mail",
            "tls",
            "http",
            "findings",
            "score",
            "grade",
            "retrieved_at",
            "age_seconds",
            "from_cache"
          ],
          "title": "GetReportResponse",
          "type": "object"
        },
        "type": {
          "const": "json"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}