# ManyLives Transaction Categoriser

> ManyLives Transaction Categoriser is a paid API for AI agents from api.manylives.me, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-29).

Categorises bank or payment transaction rows from CSV data into labelled expense/income categories using a combination of rules and AI

## Facts

- Endpoint: POST https://api.manylives.me/paid/data/categorise-transactions?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/manylives-transaction-categoriser-5d91693c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JXUBROSVJVKs64NDDiRix

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 manylives-transaction-categoriser-5d91693c -d '<json body>'
```

Example prompt: Take this bank statement CSV and categorise each transaction — date,description,amount headers — into income, expenses, and fees. Use my own categories: income, ad_spend, payment_processing, and software_subscriptions.

## When to prefer this

Choose this endpoint when you have raw bank statement or payment processor CSV data and need each transaction row labelled with an expense or income category — especially useful for bookkeeping automation, accounting agent workflows, or expense reporting pipelines. It combines rule-based fast categorisation with AI fallback, making it accurate for both common patterns (like 'CARD PROCESSING FEES') and ambiguous descriptions. Prefer it over general-purpose LLM calls when you want structured JSON output with per-category totals and per-row attribution at a fixed low cost per call.

## Known failure modes

- Missing or malformed CSV/rows input returns an error
- Unrecognisable column names with no overrides cause auto-detection failure
- Ambiguous transaction descriptions may be miscategorised by the AI component
- Very large CSVs may incur multiple per-call charges or hit size limits
- Invalid or empty category list causes fallback to default categories

## How this service works

Pay-per-call tools for people building AI agents: live web search and page contents, prompt-injection checks, market data and risk sizing for trading agents, company profiles and quick AI. Ask us to turn a public website into a JSON endpoint. Pay per call, no account, free trial.

## Output

Returns a JSON object with the total number of rows processed, counts of rows categorised by rule vs AI, per-category amount totals, and a labelled array of each transaction row with its assigned category, amount, description, and the method used (rule or ai).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "csv": {
   "type": "string",
   "examples": [
    "date,description,amount\n2026-10-01,AD NETWORK INV 4411,-120.00\n2026-10-02,ACME PTY LTD INVOICE 1032,2400.00\n2026-10-03,CARD PROCESSING FEES,-31.20"
   ],
   "description": "CSV text with a header row"
  },
  "rows": {
   "type": "string",
   "description": "array of {description, amount} (or csv)"
  },
  "categories": {
   "type": "string",
   "description": "optional list of your own category names to use instead of ours"
  },
  "amount_column": {
   "type": "string",
   "description": "optional column name (auto-detected: amount or value, or separate paid-in and paid-out columns)"
  },
  "description_column": {
   "type": "string",
   "description": "optional column name (auto-detected: description, memo, details, narrative, payee)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "rows": 3,
  "by_ai": 1,
  "totals": {
   "income": 2400,
   "payment_processing_fees": -31.2
  },
  "by_rule": 2,
  "labelled": [
   {
    "by": "rule",
    "row": 1,
    "amount": -31.2,
    "category": "payment_processing_fees",
    "description": "CARD PROCESSING FEES"
   },
   {
    "by": "ai",
    "row": 2,
    "amount": 2400,
    "category": "income",
    "description": "ACME PTY LTD INV 4410"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/manylives-transaction-categoriser-5d91693c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.manylives.me](https://www.zero.xyz/host/api.manylives.me/llms.txt)
