---
title: "CSV Merge"
method: POST
path: "/api/v1/tools/csv-merge"
tags: ["tools"]
---

# CSV Merge

`POST /api/v1/tools/csv-merge`

## Request

- Base URL: `https://toolforte.com`
- URL: `https://toolforte.com/api/v1/tools/csv-merge`
- Auth: HTTP bearer

Append several CSV files into one. By header, columns are matched by name (case-insensitive) and the headers are unioned, so files with different column orders or an extra column combine cleanly; by position, rows are appended under the first file's header. Optionally adds a Source column with each file's name. Returns the merged CSV.

## Request body

- object
  - `files` object[]
    - `name` string
    - `text` string
  - `mode` string
  - `sourceColumn` boolean
  - `delimiter` string

## Response `200`

Successful result

- object
  - `ok` boolean
  - `data` object
    - `result` string
    - `header` string[]
    - `rows` integer
    - `files` integer

## Other responses

- `400`: Missing or invalid request fields
- `401`: Invalid or missing API key
- `429`: Monthly plan limit reached

---

[API](https://skmtc.dev/toolforte/apis/toolforte-api.md) · [All operations](https://skmtc.dev/toolforte/apis/toolforte-api/llms.txt) · [OpenAPI document](https://skmtc.dev/toolforte/apis/toolforte-api/revisions/4d814d484dfc?raw)
