# NetIntel Domain Vendor Risk Score

> NetIntel Domain Vendor Risk Score is a paid API for AI agents from netintel.dev, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-13).

Returns a composite 0-100 trust/risk score for a domain by blending domain age, SSL/TLS, DNS health, email authentication (SPF/DKIM/DMARC), IP reputation, and certificate transparency into a single vendor-risk verdict with per-signal breakdown.

## Facts

- Endpoint: POST https://netintel.dev/domain/vendor-risk?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/netintel-domain-vendor-risk-score-a96b15e1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Tfs15CKnKTzGabNmjzNGr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability netintel-domain-vendor-risk-score-a96b15e1 -d '<json body>'
```

Example prompt: Can you run a full vendor risk check on acme.com and tell me the trust score, risk band, and any red flags I should know about before we onboard them as a supplier?

## When to prefer this

Choose this endpoint when you need a single, comprehensive domain trust verdict that blends multiple security signals (DNS, SSL, email auth, IP reputation, certificate transparency) into one score, rather than calling separate blacklist, DMARC, or SSL checkers individually. Ideal for vendor onboarding pipelines, fraud detection, phishing investigation, or any workflow where you need a fast, authoritative 'safe to do business with?' answer for an unknown domain.

## Known failure modes

- Domain not resolvable or non-existent — returns error or low-confidence score
- SSL/TLS signal unavailable due to network timeout — listed in signals_unavailable
- DNS lookup failure for one or more signals — partial signal coverage noted
- Malformed domain input (e.g. includes protocol or path) — validation error
- Rate limiting or payment failure via x402 — HTTP 402 or 429 response

## How this service works

Composite 0-100 trust/risk score for a domain in one call — blends domain age, SSL/TLS, DNS health, email auth (SPF/DKIM/DMARC), IP reputation, and certificate transparency into a single "safe to do business with this domain?" verdict with per-signal breakdown and actionable flags. Partial results never read as safe.

## Output

Returns a JSON object containing: a numeric risk_score (0-100), a letter grade, a risk_band label (e.g. low/medium/high), a confidence level, a per-signal signals object covering domain age, SSL/TLS, DNS, SPF/DKIM/DMARC, IP reputation, and certificate transparency, an array of actionable flags, a findings array with detailed per-signal observations, a list of any signals_unavailable, a run_id, and the elapsed duration_ms. Partial results are never returned as safe.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "domain"
     ],
     "properties": {
      "domain": {
       "type": "string",
       "description": "Bare domain, e.g. acme.com"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "flags": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "grade": {
       "type": "string"
      },
      "score": {
       "type": "number"
      },
      "domain": {
       "type": "string"
      },
      "run_id": {
       "type": "string"
      },
      "signals": {
       "type": "object"
      },
      "findings": {
       "type": "array",
       "items": {
        "type": "object"
       }
      },
      "risk_band": {
       "type": "string"
      },
      "confidence": {
       "type": "string"
      },
      "risk_score": {
       "type": "number"
      },
      "duration_ms": {
       "type": "number"
      },
      "signals_unavailable": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "flags": [
   "dmarc_missing",
   "spf_missing"
  ],
  "grade": "A",
  "score": 100,
  "domain": "example.com",
  "run_id": "b3f1c2a4-9d8e-4c7a-9f21-6e2d5a1b0c3d",
  "signals": {
   "ssl": {
    "score": 95,
    "detail": "Valid, TLSv1.3, expires in 210d"
   },
   "domain_age": {
    "score": 100,
    "detail": "Registered 1995-08, 29.9 yrs"
   },
   "email_auth": {
    "score": 12,
    "detail": "SPF missing, DMARC missing"
   }
  },
  "findings": [],
  "risk_band": "medium",
  "confidence": "partial",
  "risk_score": 69,
  "duration_ms": 1420,
  "signals_unavailable": [
   "dns",
   "ip_reputation",
   "cert_transparency"
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/netintel-domain-vendor-risk-score-a96b15e1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from netintel.dev](https://www.zero.xyz/host/netintel.dev/llms.txt)
