{"uid":"cap_uoQpV0pmvlOkbnG0ZF7L3","slug":"task-relay-csv-structure-parser-a6e53730","name":"Task Relay CSV Structure Parser","description":"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.","url":"https://task-relay-production.up.railway.app/x402/csv-structure","method":"POST","headers":{},"bodySchema":{"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","failed"],"type":"string"}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_sbkiET2UGjfrhZky1ELWP","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a public CSV URL and returns ordered row arrays with column and dialect metadata, without type inference or AI enrichment","exampleAgentPrompt":"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.","exampleUseCases":[{"title":"ETL pipeline CSV ingestion","prompt":"Pull the CSV from https://data.example.com/inventory.csv and return the parsed rows and column headers so I can feed them into my warehouse loader."},{"title":"Automated report data extraction","prompt":"I have a public CSV at https://reports.example.com/q3-results.csv — can you fetch it and give me the structured row arrays and column metadata so my transform step can process it?"},{"title":"Data validation pre-check","prompt":"Before I run my pipeline, fetch the CSV at https://opendata.city.gov/permits.csv and return the columns and first few rows so I can verify the structure looks right."}],"resultDescription":"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.","failureModes":["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"],"whenToPreferThis":"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.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:32:12.759Z","isFirstParty":false}