# jev-filter Lead Scorer

> jev-filter Lead Scorer is a paid API for AI agents from x402-production-0f93.up.railway.app, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-30).

Scores and qualifies a batch of leads (up to 25) against an ideal customer profile, returning a verdict, numeric score, and rationale for each record.

## Facts

- Endpoint: POST https://x402-production-0f93.up.railway.app/v1/score-leads?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/jev-filter-lead-scorer-7eb95685
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_KG7r1QODkoSDIjUwhfnEs

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 jev-filter-lead-scorer-7eb95685 -d '<json body>'
```

Example prompt: Score these 10 company leads against our ICP — we sell DevOps tooling to engineering managers and VPs of Engineering at Series B+ SaaS companies in North America, exclude our competitors HashiCorp and Pulumi, and prioritize leads showing cloud migration or infrastructure scaling signals.

## When to prefer this

Choose this endpoint when you have a concrete list of up to 25 lead or contact records and a defined ideal customer profile and need a structured, explainable score-per-lead with sub-scores and verdicts — rather than just a binary filter. Prefer it over generic LLM prompting when you need consistent, auditable scoring with exclusion logic and buying-trigger detection built in. The flat $0.10 USDC per-call pricing via x402 makes it suitable for automated workflows without per-record cost unpredictability.

## Known failure modes

- Leads array empty or exceeds 25 items — validation error
- Missing or malformed lead objects — partial results with failure count in meta
- Insufficient buyerProfile detail — lower scoring precision and lower confidence ratings
- Payment not provided or invalid x402 header — 402 Payment Required response
- Model timeout on complex profiles — elevated elapsed_ms, potential partial results
- Ambiguous role or industry fields in leads — lower sub-scores and medium/low confidence

## How this service works

Score up to 25 company or contact records against an ideal customer profile: 0-10 fit score, qualified / review / disqualified verdict, reason label. Calibrated on 240 labelled leads: 0.879 accuracy, and no qualified lead ever disqualified or vice versa. Catches competitor name variants and subsidiaries of excluded accounts that string matching misses. Uncertainty widens the net: sparse records, unnamed contacts and low-confidence calls go to review, never to disqualified.

## Output

A JSON array with one result object per lead, each containing: a numeric score (0–10), a verdict (e.g. 'qualified' or 'disqualified'), a primary reason code (e.g. 'buying_trigger'), a free-text rationale, a confidence level, and sub-scores for industry match, geo match, role authority, buying trigger, and exclusion hit. Also includes metadata: item count, elapsed time, model cost in USD, and bundle version.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "leads": {
   "type": "array",
   "items": {
    "type": "object"
   },
   "maxItems": 25,
   "minItems": 1,
   "description": "Company or contact records, any shape."
  },
  "buyerProfile": {
   "type": "object",
   "properties": {
    "sells": {
     "type": "string"
    },
    "exclusions": {
     "type": "object",
     "properties": {
      "competitors": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "blocked_domains": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "existing_customers": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    },
    "buyer_roles": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "target_size": {
     "type": "string"
    },
    "target_regions": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "buying_triggers": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "target_industries": {
     "type": "array",
     "items": {
      "type": "string"
     }
    }
   },
   "description": "Who you sell to. All fields optional, more detail means sharper scoring."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "meta": {
   "items": 1,
   "bundle": "lead-qualifier",
   "failures": 0,
   "elapsed_ms": 910,
   "bundle_version": "0.4.1",
   "model_cost_usd": 0.000067
  },
  "results": [
   {
    "id": "l1",
    "score": 9.05,
    "reason": "buying_trigger",
    "verdict": "qualified",
    "rationale": "jev@openrouter: qualified; reason buying_trigger; industry_match 0.93, geo_match 0.99, role_authority 0.95, buying_trigger 0.98, exclusion_hit 0.01",
    "confidence": "medium",
    "rules_applied": []
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/jev-filter-lead-scorer-7eb95685/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-production-0f93.up.railway.app](https://www.zero.xyz/host/x402-production-0f93.up.railway.app/llms.txt)
