Home Docs Leaderboard Categories Free Run audit

Documentation

Probe is a compliance auditing tool for AI agent APIs. It runs 44 automated checks (including 10 Voice AI checks) and scores your API 0–100. 100% free.

Quick start

No account needed. Paste any https:// URL on the homepage and click Run free audit.

The 44 checks

Every audit runs these checks against your API:

Core checks (34)

CheckWhat it testsMax score
SSL / TLSValid HTTPS certificate, TLS version, HTTP/2-3 detection, certificate expiry warning10
x402 discovery/.well-known/x402.json with accepts/facilitator, v1/v2 detection, multi-chain support10
Agent identity/agent.json per A2A protocol10
llms.txtMachine-readable LLM instructions file5
security.txt/.well-known/security.txt contact info5
CORSAccess-Control-Allow-Origin headers for agent access5
Security headersCritical: X-Content-Type-Options, HSTS, CSP. Bonus: X-Frame-Options, Referrer-Policy10
Response timeAverage latency across 3 requests (<500ms = pass)10
MCP serverModel Context Protocol endpoint discovery5
API endpointsScans common paths (/v1/, /api/, /health, etc.)10
Error handlingProper 404 responses for unknown paths5
x402 compliance402 Payment Required responses on protected endpoints5
Rate limitingX-RateLimit headers present5
Documentation/docs or /api-docs endpoint exists5
robots.txt AI crawlersAI crawler directives (GPTBot, ClaudeBot, Google-Extended, etc.)10
AI plugin manifest/.well-known/ai-plugin.json for ChatGPT/LLM integration5
OpenAPI specMachine-readable OpenAPI/Swagger specification with paths, auth, servers10
Privacy / GDPRPrivacy policy page or GDPR data deletion endpoint10
Status / HealthHealth check or status page for uptime monitoring5
EU AI Act disclosureModel card, AI disclosure, or risk classification endpoint10
Travel Rule (FATF)VASP disclosure, TRISA/TRP/OpenVASP endpoint, threshold declaration10
A2A Protocol (Google)A2A-compliant Agent Card with skills, capabilities, auth, streaming10
Wallet trustMulti-chain wallet verification (EVM, Solana, Bitcoin) via x402 v1/v2 payTo5
DNSSECDNS Security Extensions — validates DNSSEC is enabled on the domain5
CAA RecordsCertificate Authority Authorization — restricts which CAs can issue certificates5
DMARC / SPFEmail authentication — DMARC policy, SPF record, and enforcement level5
ERC-8004 on-chainVerifies wallet is registered in ERC-8004 Identity Registry on-chain10
Auth maturityAuthentication method detection — OAuth 2.0, OIDC validation, Bearer, API key, x402 payment gate10
API versioningChecks for versioned paths (/v1/), Sunset & Deprecation lifecycle headers (RFC 8594)5
Human oversightEU AI Act Art. 14 — human oversight / kill switch endpoint detection10
Terms of ServiceChecks for /terms, /.well-known/terms-of-service, or equivalent ToS endpoint5
Content-TypeValidates correct application/json Content-Type with charset on API responses5
OASF complianceOpen Agent Service Framework compliance5
MCP transport securityMCP transport-level security validation5

Voice AI checks (10)

Based on EU AI Act Article 50, FCC/TCPA rules, and GDPR requirements:

CheckWhat it testsMax score
Voice AI disclosureDedicated voice agent disclosure endpoint (EU AI Act Art. 50 — AI-generated calls must be declared)10
Synthetic voice labelingDeclaration of synthetic voice usage and labeling (EU AI Act Art. 50)10
Synthetic content labelingMachine-readable label marking audio as AI-generated (Art. 50 requirement)5
Emotion recognitionDeclaration of emotion recognition opt-in/out (EU AI Act bans unconsented emotion detection)5
Call recording consentRecording disclosure and consent mechanism (GDPR, two-party consent states)10
FCC/TCPA complianceCompliance declaration for US AI voice calls (FCC AI robocall ban, TCPA)10
Operator identityOperator name, email, and verification status (Art. 50 requires identifiable deployer)10
Opt-out & human escalationOpt-out mechanism and transfer to human agent (FCC + EU AI Act requirement)10
Voice call policyCalling hours, frequency limits, recording disclosure, call purpose10
Caller identity declarationWho is calling, AI status declaration, callback number for recipients10

Scoring & grades

GradeScore rangeMeaning
A+95–100Fully compliant, production-ready
A85–94Minor issues only
B70–84Some improvements needed
C50–69Significant gaps
D / F0–49Major compliance failures

Probe Score Badge

Add a live badge to your README showing your latest Probe score:

[![Probe](https://getprobe.xyz/api/badge?domain=YOUR-DOMAIN)](https://getprobe.xyz/report/YOUR-REPORT-ID)

The badge updates automatically after each audit.

API endpoints

POST /api/audit

Run a full audit on a URL.

curl -X POST https://getprobe.xyz/api/audit \
  -H "Content-Type: application/json" \
  -d '{"url": "https://your-api.xyz"}'

Example response:

{
  "id": "probe_abc123",
  "url": "https://your-api.xyz",
  "score": 85,
  "grade": "A",
  "label": "Listing-ready · 2 non-critical fixes remaining",
  "timestamp": "2026-03-27T14:30:00Z",
  "engine": { "version": "probe@4.0.0", "checkSet": "default-44@2026-04-02" },
  "summary": { "pass": 11, "warn": 1, "fail": 2 },
  "checks": [
    { "id": "ssl", "name": "SSL / TLS", "status": "pass", "value": "Valid HTTPS", "score": 10, "maxScore": 10 },
    { "id": "x402", "name": "x402 discovery", "status": "pass", "value": "/.well-known/x402.json found", "score": 10, "maxScore": 10 },
    { "id": "sec_headers", "name": "Security headers", "status": "pass", "value": "4/5 — critical headers OK", "score": 8, "maxScore": 10 },
    { "id": "cors", "name": "CORS headers", "status": "pass", "value": "origin: * (open)", "score": 5, "maxScore": 5 },
    { "id": "mcp", "name": "MCP server", "status": "fail", "value": "Not found", "score": 0, "maxScore": 5 },
    { "id": "rate_limit", "name": "Rate limiting", "status": "warn", "value": "No rate-limit headers", "score": 3, "maxScore": 5 }
  ],
  "findings": [
    {
      "severity": "critical", "title": "MCP server failed", "description": "Not found",
      "check_id": "mcp",
      "fix": { "title": "Expose MCP endpoint", "steps": ["Implement MCP server at /mcp..."], "code": "// ...", "docs": "https://modelcontextprotocol.io" }
    },
    {
      "severity": "warning", "title": "Rate limiting needs attention", "description": "No rate-limit headers",
      "check_id": "rate_limit",
      "fix": { "title": "Add rate limiting", "steps": ["Set rate limits per IP..."], "code": "// ...", "docs": "https://www.npmjs.com/package/express-rate-limit" }
    }
  ]
}

GET /api/report/:id

Retrieve a saved audit report by its ID. Returns the same format as the audit response above.

GET /api/badge?domain=DOMAIN

Returns an SVG badge with the latest score for a domain. Add &style=seal for a larger trust seal. Use in your README or site footer:

<img src="https://getprobe.xyz/api/badge?domain=your-api.xyz" alt="Probe" />

<!-- Footer trust seal -->
<a href="https://getprobe.xyz/report/YOUR-ID">
  <img src="https://getprobe.xyz/api/badge?domain=your-api.xyz&style=seal" alt="Verified by Probe" width="120">
</a>

GET /api/leaderboard

Returns the top 20 audited APIs sorted by score.

[
  { "domain": "api.example.com", "score": 92, "grade": "A", "reportId": "probe_abc123", "auditedAt": "2026-03-27T14:30:00Z" },
  ...
]

Engine versioning

Every audit response includes engine metadata for traceability:

"engine": {
  "version": "probe@4.0.0",
  "checkSet": "default-44@2026-04-02"
}

Each check also includes maxScore so you can see exactly how points are distributed (e.g. "score": 8, "maxScore": 10).

CI/CD integration

Fail your build if your API drops below a compliance threshold. Here's a GitHub Actions example:

# .github/workflows/probe-check.yml
name: Probe Compliance Check
on: [push, pull_request]

jobs:
  compliance:
    runs-on: ubuntu-latest
    steps:
      - name: Run Probe audit
        run: |
          REPORT=$(curl -s -X POST https://getprobe.xyz/api/audit \
            -H "Content-Type: application/json" \
            -d '{"url": "${{ vars.API_URL }}"}')

          SCORE=$(echo "$REPORT" | jq -r '.score')
          GRADE=$(echo "$REPORT" | jq -r '.grade')
          FAILURES=$(echo "$REPORT" | jq -r '.summary.fail')

          echo "Probe score: $SCORE ($GRADE)"
          echo "Critical failures: $FAILURES"

          if [ "$FAILURES" -gt 0 ]; then
            echo "::error::Probe found $FAILURES critical failures"
            echo "$REPORT" | jq '.findings[] | select(.severity=="critical")'
            exit 1
          fi

          if [ "$SCORE" -lt 70 ]; then
            echo "::error::Probe score $SCORE is below threshold (70)"
            exit 1
          fi

          echo "✅ Probe compliance check passed ($GRADE)"

Set API_URL in your repository variables (Settings → Variables). Adjust the score threshold to match your compliance requirements.

The same pattern works for GitLab CI, CircleCI, or any CI system that can run curl + jq.

CI/CD API endpoint

For simpler integration, use the dedicated /api/ci endpoint which returns 200 if above threshold, 422 if below:

curl -s -X POST https://getprobe.xyz/api/ci \
  -H "Content-Type: application/json" \
  -d '{"url": "https://your-api.com", "threshold": 70}'

# Response includes: passed (bool), score, grade, checks, badge_url

README badge

Add a live compliance badge to your README:

![Probe](https://getprobe.xyz/api/badge?domain=your-api.com)

The badge updates hourly and shows your latest audit grade and score. Colors: green (A/A-), amber (B/C), red (D/F).

Rate limits

Probe is free and unlimited for normal use. We reserve the right to rate-limit abusive automated traffic to protect the service. The API returns 429 Too Many Requests in those cases.

Private, internal, and metadata URLs (127.0.0.0/8, 10.0.0.0/8, 169.254.x.x, etc.) are blocked for security.

Pricing

Probe is 100% free — unlimited audits, all 44 checks, autofix, shareable reports. No account, no credit card. We're building the largest AI agent compliance dataset and want maximum adoption.

Need enterprise features (SSO, SLA, DPA, dedicated support)? Contact us.

Security & privacy

Probe only makes standard HTTP requests to publicly accessible endpoints. We never:

Audit metadata (scores, check results) is stored for report sharing and leaderboard. Infrastructure runs on Cloudflare (edge functions) and Supabase (PostgreSQL). All data encrypted in transit (TLS) and at rest.

Need a DPA or security addendum? Contact us at contact@getprobe.xyz.

FAQ

What is AI agent API monitoring?

AI agent API monitoring is the practice of continuously checking your agent's API endpoints for compliance with emerging standards (x402, ERC-8004), security best practices (CORS, HSTS, CSP), and operational health (response times, error handling). As AI agents increasingly connect to payments, identity, and onchain services, monitoring ensures your endpoints stay compliant and secure.

How is Probe different from uptime monitoring?

Traditional uptime monitors check if your server responds with HTTP 200. Probe goes deeper: it validates x402 payment disclosures, ERC-8004 agent identity, security headers, llms.txt, MCP endpoints, rate limiting, and 8 more compliance-specific checks. It's purpose-built for the AI agent ecosystem.

What does Probe check for?

Probe runs 44 automated checks: 34 core checks (SSL, x402, agent identity, security headers, MCP, EU AI Act, and more) plus 10 Voice AI compliance checks (synthetic voice disclosure, operator identity, call recording consent, FCC/TCPA, opt-out mechanisms). See the full list above.

Is Probe free?

Yes — Probe is 100% free. Unlimited audits, all 44 checks including 10 Voice AI compliance checks, autofix, and shareable reports. No account, no credit card, no limits.

Does Probe store my API data?

No. Probe only makes read-only GET/HEAD requests to your public endpoints. We never store request bodies, response payloads, or API keys. Only audit metadata (score, check results, timestamps) is persisted.

What is an x402 check?

x402 is an emerging standard for AI agent trust and payment disclosure. Probe auto-discovers your /.well-known/x402.json file and validates that it contains correct accepts, facilitator, and pricing metadata.

Can I use Probe with any API?

Yes. Probe works with any publicly accessible HTTPS endpoint. It's optimized for AI agent APIs but can audit any REST API for security headers, CORS, response times, and documentation.

Disclaimer

Probe is a technical compliance monitoring tool, not a law firm. Our checks support your compliance work but do not constitute legal advice. For regulatory questions about EU AI Act, MiCA, or other frameworks, consult qualified legal counsel.

Contact

contact@getprobe.xyz · X