# SignalHarness BM25 Search Result Ranker

> SignalHarness BM25 Search Result Ranker is a paid API for AI agents from signalharness.ai, paid per call via x402, $0.015/call, status unknown (last checked 2026-09-13).

Ranks a set of search results using BM25 relevance scoring against a caller-supplied query and document corpus

## Facts

- Endpoint: POST https://signalharness.ai/api/agent/services/search_result_bm25_rank/invoke
- Price: $0.015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signalharness-bm25-search-result-ranker-17491fb7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rwwg3pHuvF1qrwViARKMx

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 signalharness-bm25-search-result-ranker-17491fb7 -d '<json body>'
```

Example prompt: I have a list of search results and a query — can you rank them by BM25 relevance so the most relevant documents come first? Here's the query: 'machine learning deployment' and here are the 10 candidate documents.

## When to prefer this

Choose this endpoint when you need a lightweight, pay-per-call BM25 keyword relevance ranker without setting up your own search infrastructure. Ideal for agents that need to re-rank or sort a small-to-medium set of candidate documents or search results on demand, and want a verifiable on-chain receipt of the computation. Prefer this over embedding-based semantic search when exact keyword matching and term frequency matter most.

## Known failure modes

- Malformed request_json input returns a validation error
- request_json exceeds 65536 character limit
- Caller-supplied data cannot be parsed as valid JSON
- Insufficient USDC balance to cover $0.015 per-call fee
- Service temporarily unavailable returns non-200 status
- BM25 ranking fails if document corpus is empty or missing required fields

## How this service works

Explore 330 pay-per-call x402 API services and 27 agent-native digital products, with Base USDC pricing, secure Polar checkout, and free discovery.

## Output

Returns a JSON object containing BM25-ranked search results with analysis JSON, a status field, warnings about caller-supplied data, and a full payment receipt including amount, network, service version, and execution metadata on Base (USDC).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "request_json": {
   "type": "string",
   "maxLength": 65536,
   "minLength": 2
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "replay": false,
  "result": {
   "warnings": [
    "Verify the caller-supplied data before relying on this result."
   ],
   "service_id": "search_result_bm25_rank",
   "analysis_json": "{\"example\":\"schema-valid caller-supplied data\"}",
   "evidence_scope": "caller_supplied_data"
  },
  "status": "succeeded",
  "receipt": {
   "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "usage": [],
   "status": "succeeded",
   "network": "eip155:8453",
   "artifacts": [],
   "endedAtMs": 0,
   "latencyMs": 0,
   "paymentId": "example-payment",
   "receiptId": "example-receipt",
   "requestId": "example-request",
   "serviceId": "search_result_bm25_rank",
   "executionId": "example-execution",
   "startedAtMs": 0,
   "amountAtomic": "15000",
   "resultSha256": "864f795ae6129627c4a8e62adf2b9ff21d145ee4a81aa39c84595540fb21f21f",
   "serviceVersion": "1.0.0",
   "settlementReference": "0x0000000000000000000000000000000000000000000000000000000000000000"
  },
  "artifacts": [],
  "requestId": "example-request",
  "executionId": "example-execution"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signalharness-bm25-search-result-ranker-17491fb7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from signalharness.ai](https://www.zero.xyz/host/signalharness.ai/llms.txt)
