CSV Repair API
CSV Repair API: turns CSV a parser rejects into valid CSV without changing any cell - fixes quotes, pads short rows, unwraps Markdown tables, chat text and fences; 1,250 and 007 stay as written. $0.004 USDC per call, no account, no language model: a too-long row, an ambiguous row or prose with no table gets a paid CANNOT REPAIR verdict. POST JSON {input} up to 60 000 chars; free example at https://api.aiskills402.com/v1/run/csv-repair/example
Answeringour last check, 2026-10-18
1 of 1checks answered this week
355 msmedian answer time
$0.004listed price per call
$0.004price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://api.aiskills402.com/v1/run/csv-repair
| Category | Everything else |
|---|---|
| Provider host | api.aiskills402.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 2 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-18 | valid payment request | 402 | $0.004 | 355 ms |
Example input (from the provider)
{
"body": {
"input": "Here is the export:\n\n```csv\nid,amount,note\n7,\"1,250\",ok\n8,40,Bolt 5\" long\n9,12\n```\n\nHope this helps!",
"line_endings": "lf"
},
"bodyType": "json",
"headers": {
"content-type": "application/json"
},
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"input": {
"description": "Text that was meant to be a CSV table and does not parse: open quotes, stray quotes, short rows, a Markdown table, chat text or a fence around the data.",
"maxLength": 60000,
"minLength": 1,
"type": "string"
},
"line_endings": {
"default": "lf",
"description": "Line break between rows in the output; breaks inside cells are kept as written.",
"enum": [
"lf",
"crlf"
]
}
},
"required": [
"input"
],
"type": "object"
},
"bodyType": {
"enum": [
"json"
],
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}