API and MCP documentation

The web editor isn't the only way to work with your sheets! You can write scripts that read and update them over HTTP, and your agents can connect over MCP.

The sheet API

A sheet's unguessable URL is its only credential — anyone with the link can read and write it. Reading a sheet is a GET; its CSV is the response body:

$ curl api.webcsv.com/sheet/aGmQQjCVJsANWd
city,population
Oslo,700000
Bergen,290000

Appending rows is a POST of CSV text to the same URL. Rows land after the last row with content (a fresh sheet's empty placeholder rows fill up first), and rows wider than the sheet widen it for everyone, live:

$ curl -X POST api.webcsv.com/sheet/aGmQQjCVJsANWd \
       -d 'Trondheim,210000'
{"appended":1,"row":4,"rows":4}

Rows are addressed 1-based, exactly as the editor numbers them. Replace one with PUT, remove one with DELETE:

$ curl -X PUT api.webcsv.com/sheet/aGmQQjCVJsANWd/rows/2 \
       -d 'Oslo,709000'
{"row":2}

$ curl -X DELETE api.webcsv.com/sheet/aGmQQjCVJsANWd/rows/4
{"rows":3}

Errors are JSON with a human-readable message and a meaningful status:

$ curl -X DELETE api.webcsv.com/sheet/aGmQQjCVJsANWd/rows/99
{"message":"Row 99 doesn't exist — the sheet has 3 row(s)."}

The same API is served on the main host with a .csv suffix (keeping API and editor URLs distinct): https://webcsv.com/sheet/<id>.csv.

Creating sheets

Creation is the one call that needs an account: Pro subscribers mint API keys in Settings and send them as a bearer token. The new sheet belongs to your account and shows up in your directory:

$ curl -X POST 'api.webcsv.com/sheet?name=Expenses' \
       -H 'Authorization: Bearer webcsv_...' \
       -d 'date,amount,notes'
{"id":"aGmQQjCVJsANWd",
 "url":"https://webcsv.com/sheet/aGmQQjCVJsANWd",
 "csvUrl":"https://webcsv.com/sheet/aGmQQjCVJsANWd.csv"}

POST with no body to start from the editor's empty 10×5 grid.

The MCP server

The same operations are available to AI agents as Model Context Protocol tools. Point any MCP client at:

https://webcsv.com/mcp

Claude Code:

$ claude mcp add --transport http webcsv https://webcsv.com/mcp

Add your API key to unlock the account tools:

$ claude mcp add --transport http webcsv https://webcsv.com/mcp \
        --header 'Authorization: Bearer webcsv_...'

On claude.ai, add https://webcsv.com/mcp as a custom connector. Six tools are exposed:

read_sheetthe sheet as CSV, by URL or id
append_rowsadd rows (JSON arrays of string cells)
replace_rowreplace one row, 1-based
delete_rowremove one row, 1-based
create_sheetnew owned sheet (API key)
list_sheetsyour sheets, searchable (API key)

The fine print