Excel exports for your app, in one API call

Send JSON or CSV, get back a formatted .xlsx: the same spreadsheet this site's converter makes, nested data included.

Free tier needs no credit card. Your key is ready in seconds.

Example request and result

You send

curl -X POST …/v1/convert \
  -H "x-api-key: $KEY" \
  -d '{"data": [
    {"name": "Alice", "plan": "Pro",
     "address": {"city": "Austin"}, "seats": 12},
    {"name": "Bob", "plan": "Free",
     "address": {"city": "Leeds"}, "seats": 3}
  ]}' -o team.xlsx

You get team.xlsx

Nested address.city became its own column. No spreadsheet code on your side.

Start free. Go Pro when you ship.

Pro works out to under a tenth of a cent per conversion.

We use it for your account and sign-in links. Your key appears right here, once, so save it.

Free

$0

Try it on your real data.

  • 10 requests a month
  • 5 requests per second
  • Both endpoints: to Excel and to JSON
  • Nested JSON flattened into columns
  • No credit card
  • No-code webhooks

What people build with it

  • Export buttons. Add "Download as Excel" to a dashboard or admin panel without writing spreadsheet code.
  • Automated reports. With Pro webhooks, a Zap or n8n flow posts the day's data and a formatted Excel file arrives by email.
  • Spreadsheet imports. Turn the Excel or CSV files your users upload into JSON your app can read.

API reference

Two endpoints, one key. Send your key in the x-api-key header; both share your plan's quota.

Convert JSON or CSV to Excel

POST https://veqix61rpf.execute-api.us-east-1.amazonaws.com/dev/v1/convert
x-api-key: <your API key>
Content-Type: application/json

{"data": [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]}

Returns a binary .xlsx file (same output as the web converter, including headers and formatting). A single JSON object is automatically wrapped in an array.

Example

curl -X POST https://veqix61rpf.execute-api.us-east-1.amazonaws.com/dev/v1/convert \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data": [{"name": "Alice", "age": 30}]}' \
  -o converted.xlsx

Convert Excel or CSV to JSON

The reverse direction: same key, same quota, no separate signup. The file field is base64-encoded for xlsx, or raw text for csv.

POST https://veqix61rpf.execute-api.us-east-1.amazonaws.com/dev/v1/excel-to-json
x-api-key: <your API key>
Content-Type: application/json

{"format": "xlsx", "file": "<base64-encoded .xlsx contents>"}

Returns {"data": [...]}: the header row becomes object keys, one JSON object per following row.

Example

curl -X POST https://veqix61rpf.execute-api.us-east-1.amazonaws.com/dev/v1/excel-to-json \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"format\": \"xlsx\", \"file\": \"$(base64 -w0 report.xlsx)\"}"

No-code webhooks with Zapier (Pro)

Zapier has no built-in step for turning JSON into a spreadsheet. Pro accounts get an inbound webhook URL that fills the gap with zero code: Zapier posts JSON, JSON Support converts it and emails back a formatted .xlsx file.

  1. Create a webhook. On the account page, create a webhook and set the email address that should receive the converted file.
  2. Add a "Webhooks by Zapier: POST" action. In your Zap, use Zapier's built-in Webhooks action, set the method to POST, and paste in your webhook URL.
  3. Set the payload. Configure the request body as {"data": [...]}, an array of objects built from your Zap's trigger data.
  4. Turn it on. Every time the Zap fires, an Excel file lands in the destination inbox.

It works the same way with any no-code tool that can send an outbound webhook, such as Make, n8n or IFTTT.