# Task Relay CSV Structure Parser

> Task Relay CSV Structure Parser is a paid API for AI agents from task-relay-production.up.railway.app, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-13).

Fetches a public CSV URL and returns ordered row arrays with column and dialect metadata, without type inference or AI enrichment

## Facts

- Endpoint: POST https://task-relay-production.up.railway.app/x402/csv-structure
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/task-relay-csv-structure-parser-a6e53730
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_uoQpV0pmvlOkbnG0ZF7L3

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 task-relay-csv-structure-parser-a6e53730 -d '<json body>'
```

Example prompt: Fetch the CSV at https://example.com/data/sales.csv and give me back the structured rows, column names, and dialect info so I can load it into my pipeline.

## When to prefer this

Choose this endpoint when you need deterministic, raw CSV parsing from a public URL in an automated pipeline — especially when you want no type inference, no AI enrichment, and predictable dialect metadata. Ideal for ETL ingestion steps where downstream code will handle typing and transformation. Not suited for Excel files, private URLs requiring auth, very large files beyond parse limits, or cases where you need type coercion or database loading.

## Known failure modes

- URL is not publicly accessible or returns a non-200 status
- File at URL is not valid UTF-8 encoded CSV
- CSV exceeds fixed parse size limits
- URL points to a non-CSV content type
- Network timeout fetching the remote URL

## How this service works

When a machine must ingest a public CSV URL into structured rows for an automated load or transform step, Task Relay fetches UTF-8 CSV and returns ordered row arrays with column and dialect metadata under fixed parse limits. No type inference, Excel semantics, database loading, or AI enrichment.

## Output

Returns ordered arrays of rows from the CSV, along with column names and CSV dialect metadata (e.g. delimiter, quote character). No type inference, database loading, Excel semantics, or AI enrichment is applied. Parse limits are fixed.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "Public HTTP or HTTPS URL of a UTF-8 CSV to parse into ordered row arrays with dialect/column metadata (row/column/byte caps enforced)"
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "task_id",
      "task_status",
      "result",
      "error"
     ],
     "properties": {
      "error": {
       "type": [
        "string",
        "null"
       ]
      },
      "result": {
       "type": [
        "object",
        "null"
       ],
       "properties": {
        "rows": {
         "type": "array"
        },
        "source": {
         "type": "object"
        },
        "status": {
         "enum": [
          "structured",
          "partial",
          "empty",
          "invalid_csv",
          "unsupported_encoding",
          "too_many_columns",
          "fetch_error",
          "unknown"
         ],
         "type": "string"
        },
        "dialect": {
         "type": "object"
        },
        "document": {
         "type": "object"
        },
        "warnings": {
         "type": "array"
        },
        "final_url": {
         "type": "string"
        },
        "elapsed_ms": {
         "type": "integer"
        },
        "processed_at": {
         "type": "string"
        },
        "row_warnings": {
         "type": "array"
        },
        "requested_url": {
         "type": "string"
        },
        "billable_units": {
         "type": "integer"
        }
       }
      },
      "task_id": {
       "type": "string"
      },
      "task_status": {
       "enum": [
        "succeeded",
      
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/task-relay-csv-structure-parser-a6e53730/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from task-relay-production.up.railway.app](https://www.zero.xyz/host/task-relay-production.up.railway.app/llms.txt)
