Docs ยท Conversion
CSV to Markdown
CSV text into a Markdown table. Delimiter auto-detected (<code>,</code> <code>;</code> <code>|</code> <code>\t</code>).
POST
/v1/convert/csv-to-markdown Customer supplies CSV text as a string (no base64 needed โ CSV is plain text). Delimiter auto-detected from the first 8KB by Python's csv.Sniffer; override with the delimiter parameter. First row is treated as the header. Cells containing pipes are escaped; cells with newlines are flattened. Caps at max_rows (default 5000) โ past that, a Markdown table stops being useful.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| csv_text | string | yes | โ | Raw CSV text. Up to 1 MB. |
| delimiter | string | no | โ | Override auto-detect. Single character. Default: auto. |
| max_rows | integer | no | 5000 | Cap on output rows. Range 1-50000. |
Request
curl -X POST https://api.qcrawl.com/v1/convert/csv-to-markdown \
-H "Authorization: Bearer osk_..." \
-d '{"csv_text": "name,role,salary\nAlice,Engineer,120000\nBob,Designer,95000"}' Response
{
"status": "success",
"markdown": "| name | role | salary |\n|---|---|---|\n| Alice | Engineer | 120000 |\n| Bob | Designer | 95000 |",
"byte_count": 95,
"row_count": 3,
"total_input_rows": 3,
"column_count": 3,
"delimiter": ",",
"truncated": false
}