# security-txt-bulk

> security-txt-bulk is a paid API for AI agents from intel.rallylive.ca, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-14).

Fetches and parses security.txt files for up to 20 domains concurrently in a single call, returning per-item results in input order with error fields and a failure count.

## Facts

- Endpoint: GET https://intel.rallylive.ca/bulk/site/security-txt
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/security-txt-bulk-8863cd42
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_82QbB8aX_EghMgsKFy8qv

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 security-txt-bulk-8863cd42
```

Example prompt: Can you look up the security.txt files for these 10 domains all at once and tell me which ones have a security contact listed: example.com, acme.org, foo.io, bar.net, baz.co, alpha.dev, beta.app, gamma.io, delta.co, omega.net?

## When to prefer this

Use this endpoint when you have a list of 2–20 domains and need their security.txt data fetched in a single API call with concurrency and ordered results. It is more efficient than calling the single-domain /site/security-txt endpoint repeatedly and handles partial failures gracefully via per-item error fields.

## Known failure modes

- Domain unreachable or times out — per-item error field set, counted in failure total
- Domain has no security.txt file — per-item error or empty result returned
- Malformed security.txt content — partial parse or error indicated per item
- More than 20 domains submitted — may be rejected or only first 20 processed
- Input list is empty — likely returns empty results or validation error
- Network-level DNS resolution failure for a domain — error field populated for that item

## How this service works

Bulk security txt: up to 20 domains in one call, processed concurrently, results returned in input order with a per-item error field and a count of failures. Same answer per item as the single /site/security-txt endpoint (security). Batch enrichment for agents that hold a list. $0.01 per batch.

## Output

An ordered array of per-domain results matching the input domain list, each containing the parsed contents of that domain's security.txt file (contact, encryption key, disclosure policy, etc.) or an error field if the file could not be fetched, along with a top-level count of how many items failed.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {}
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/security-txt-bulk-8863cd42/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from intel.rallylive.ca](https://www.zero.xyz/host/intel.rallylive.ca/llms.txt)
