# CSV Join By Key

> CSV Join By Key is a paid API for AI agents from api.delx.ai, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Inner-joins two CSV tables on a shared key column and returns the merged result as deterministic JSON with row counts and normalized values.

## Facts

- Endpoint: POST https://api.delx.ai/api/v1/x402/csv-join-by-key
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/csv-join-by-key-af18600a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hvdt5FqZPAVsyVuesqg_K

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 csv-join-by-key-af18600a -d '<json body>'
```

Example prompt: Inner-join these two CSV tables on the 'order_id' key column — left table is my orders export and right table is my shipments export — and give me the merged rows with counts.

## When to prefer this

Use this endpoint when an agent needs to perform a deterministic, in-memory inner join of two small-to-medium bounded CSV datasets on a single key column without standing up external database infrastructure. It is ideal as a pre-processing step before handing structured merged data to a downstream tool with a strict schema contract. Prefer this over SQL-based joins when no database is available, and over Python/pandas when code execution is not permitted in the agent's environment.

## Known failure modes

- Key column not found in one or both CSV inputs — returns validation error identifying the missing column
- Malformed CSV input that cannot be parsed — returns parse error with line/column details
- Key column values produce zero matches — returns empty result set with zero match count
- Input size exceeds 8192 character limit per field — returns size exceeded error
- Mismatched column types on key column cause no matches — empty result with counts showing mismatch

## How this service works

CSV Join By Key: CSV Join By Key inner-joins two bounded CSV tables on one key column from bounded caller-supplied values without an external provider. Call CSV Join By Key before an agent hands structured data or a batch plan to a downstream tool with a stricter contract. Returns the bounded transformation or validation finding with counts, normalized values, and a versioned result contract for CSV Join By Key as versioned deterministic JSON. Price: $0.001 USDC via x402 on Base. First-party, s…

## Output

A versioned deterministic JSON object containing the inner-joined rows from both CSV inputs matched on the specified key column, along with row counts for left, right, and matched rows, normalized column values, and a versioned result contract identifier. All processing is done in memory with no data retention.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "key": {
   "type": "string",
   "maxLength": 8192,
   "description": "Key supplied to CSV Join By Key; used only for this bounded calculation and processed in memory without retention."
  },
  "left": {
   "type": "string",
   "maxLength": 8192,
   "description": "Left supplied to CSV Join By Key; used only for this bounded calculation and processed in memory without retention."
  },
  "right": {
   "type": "string",
   "maxLength": 8192,
   "description": "Right supplied to CSV Join By Key; used only for this bounded calculation and processed in memory without retention."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "result": {
   "csv": "id,name,score\n1,Ada,10",
   "row_count": 1
  },
  "schema": "delx/util-csv-join-by-key/v1",
  "status": "pass",
  "evidence": {
   "retained": false,
   "input_sha256": "57022525cee3a1a6a7c28356dba473bc310bef220434f10ff449553cbb91cf73",
   "external_calls": 0
  },
  "operation": "data_batch:csv_join_by_key"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/csv-join-by-key-af18600a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.delx.ai](https://www.zero.xyz/host/api.delx.ai/llms.txt)
