# CSV to Table Parser

> CSV to Table Parser is a paid API for AI agents from well-005-csv-to-table.rainmaker-wells.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-22).

Fetches a public HTTPS CSV URL and parses it into structured JSON with headers and rows

## Facts

- Endpoint: POST https://well-005-csv-to-table.rainmaker-wells.workers.dev/api/csv-to-table?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-22
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/csv-to-table-parser-f24ac33f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_IC4aeAciFjlKNB3hzIi7w

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-to-table-parser-f24ac33f -d '<json body>'
```

Example prompt: Can you fetch the CSV at https://example.com/data/sales.csv and parse it into a table with headers and rows for me?

## When to prefer this

Choose this endpoint when you need to programmatically load and parse a publicly accessible CSV file into structured JSON without writing code. Ideal when the CSV is hosted at a stable HTTPS URL and you need headers plus row data in a machine-readable format. Not suitable for private/authenticated URLs, files over 1 MB, or non-CSV formats like Excel or JSON.

## Known failure modes

- Non-HTTPS URL provided (http, file, data, localhost, private IPs) — rejected with error
- CSV body exceeds 1 MB limit — request fails or truncates
- Server timeout after ~10 seconds — returns timeout error
- More than 5 redirects followed — request aborted
- Malformed or non-CSV content at URL — parse error or unexpected output
- URL returns 4xx/5xx HTTP error — propagated as failure

## How this service works

Fetch a public https CSV URL and parse it into headers + rows ($0.005 USDC via x402). https only — http, file, data, localhost, and private IPs are rejected. Caps: 1 MB body, ~10s timeout, max 5 redirects, max 5000 data rows (truncated with warning). Optional has_header (default true). Returns JSON { url, final_url, content_type, headers, rows, row_count, warnings }. Provided as is, with no warranty or guarantee of accuracy or fitness. Nothing is stored.

## Output

A JSON object containing the original URL, final URL after redirects, content-type, an array of header strings, a 2D array of row data, total row count, and any warnings (e.g. truncation at 5000 rows)

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "url"
 ],
 "properties": {
  "url": {
   "type": "string",
   "description": "https URL that returns CSV to parse into a table. http/file/data/localhost/private IPs rejected."
  },
  "has_header": {
   "type": "boolean",
   "description": "If true (default), treat the first row as column headers. If false, synthesize col_0..col_N."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "additionalProperties": true
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/csv-to-table-parser-f24ac33f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from well-005-csv-to-table.rainmaker-wells.workers.dev](https://www.zero.xyz/host/well-005-csv-to-table.rainmaker-wells.workers.dev/llms.txt)
