Node.js SDK
Install it from npm and call it from your app.
npm install @runstamp/sdkUpdate spreadsheets, fill PDF forms and compare Word documents from your code. Formatting and formulas stay the way they were.
Apache-2.0 SDKNo Office installnpm install @runstamp/sdk


xlsx.repair removes broken links and bad text references from a workbook, then lists what it fixed.
See what it can doThe SDK, the runstamp CLI and the MCP server all come in one npm package.
Read the docsGive runstamp ops invoke a JSON file and get the same result the API gives you.
Read the quick startEvery run page lists the cells that changed and the checks that passed.
See the checksSome spreadsheet libraries lose charts and images when they save a workbook. Runstamp changes only the cells you name, then reopens the file to check the rest is still there.
One npm package gives you the SDK, the runstamp CLI and an MCP server, and all three return the same result.
curl -fsS -X POST \
-H "Authorization: Bearer $RUNSTAMP_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: budget-fy26-c5-190000" \
https://runstamp.com/api/v2/operations/xlsx/transform \
--data '{
"input": {
"workbookBase64": "UEsDBAoAAAAIAAEAIQD1BHjlZwEA…",
"artifactId": "try-sample-marketing-budget",
"writes": [
{
"locator": {
"artifactId": "try-sample-marketing-budget",
"scheme": "xlsx.a1",
"value": ["FY26 Plan", "C5"]
},
"value": 190000
}
]
},
"options": {
"deterministic": true,
"lossPolicy": "collect"
}
}'Install it from npm and call it from your app.
npm install @runstamp/sdkRun it in scripts and CI.
npx -p @runstamp/sdk runstamp ops listLet Claude, Cursor and other MCP clients update spreadsheets and fill PDF forms.
See the integrationsSee the original and the updated file side by side, with every change highlighted. Hold the files you choose until someone on your team approves them.
Your reviewer only has to read what changed.
+ 11 more changed cells
…is entered into as of May 4, June 1, 2026 by Bramwell &…
See who approved each file and when. Approve in our cloud dashboard and your app gets a webhook.
IfrequesthasapprovalRequired=true
Then the file waits
To switch formats, change the operation name and the input. Everything else stays the same.
Sets the cells you name in an Excel workbook and keeps its formulas. Only the formulas that depend on those cells recalculate.
runstamp.operations.run( "xlsx.transform", input)Read the docs Fills a PDF form from your data, and the form stays fillable. Shown here: a vendor onboarding form, before and after.
runstamp.operations.run( "pdf.transform.form-fill", input)Read the docs Compares two Word documents and gives you one with every difference as a tracked change. Shown here: the first changed paragraph in two drafts of a statement of work.
runstamp.operations.run( "docx.diff", input)Read the docs | A | C | F | G | |
|---|---|---|---|---|
| 3 | Channel / program | Q2 | FY total | % of budget |
| 5 | Paid search (Google, Bing) | 190,000 | 753,000 | 15.5% |
| 6 | Paid social (LinkedIn, Meta) | 148,000 | 618,000 | 12.7% |
| 7 | Display & programmatic (ABM tier 1) | 102,000 | 414,000 | 8.5% |
| 9 | Subtotal — Demand Generation | 504,000 | $2,042,000 | 42.1% |
| 12 | PR & analyst relations retainer | 45,000 | 180,000 | 3.7% |
| 14 | Subtotal — Brand & Content | 171,000 | $740,000 | 15.3% |
Pro adds production support if you self-host. Platform is our cloud API, with output files, approvals, webhooks and an audit log included. Compare plans
Run the Apache-2.0 SDK on your own servers, or call our API.
If you self-host, files never leave your servers. If you use our cloud API, the security page says where they're processed and how long we keep them.
Read the security pageRun the SDK on your own servers and your customers' files stay there. Nothing reaches us unless you call our API.
Our cloud runs on Vercel and Supabase, with the database and storage in the United States. Read the DPA and the subprocessors.
Each successful run gives you a signed receipt naming the file you sent and the file you got back, so you can show which file went to your customer.
The SDK is Apache-2.0 on npm, so the code you ship stays yours to run and change. Every release is in the changelog.
Our VPAT covers the Word, Excel, PowerPoint and PDF files Runstamp writes, for when your procurement team asks.
Hi, I'm Jake. I built Runstamp so you can see what changed in a file, and what was checked, before it goes to your customer.
$0
For self-hosting. No signup and no usage limits.
Read the quick start$199per month
For teams self-hosting in production. One price for your whole team.
Start Pro$1,500per month
For our cloud API. 50,000 successful output files a month included. Try it free: 100 successful output files for 30 days, no card.
Start free trialCustom
For shipping Runstamp inside your product. From $50,000 a year.
Contact salesIt's built not to. Runstamp changes only the cells or fields you name, then reopens the file to check that everything else is still there. If anything had to be dropped, the receipt tells you.
Yes. Try a sample file in your browser with no signup, or run npm install @runstamp/sdk and call it on your own machine.
Yes. Self-hosting is free under Apache-2.0. Pro adds production support, and Platform is our cloud API. See the plans above or the pricing page. You can also try the cloud API free for 30 days with 100 successful runs, no card needed.
If you self-host, they stay on your servers. If you use our cloud API, they're processed on Vercel and Supabase, with the database in the United States, and we delete output files 7 days after the run. The security page, the DPA and the subprocessor list have the details.
No. Runstamp runs on Node.js 20 or later and reads and writes the files directly.
Yes. The SDK ships an MCP server, runstamp-mcp, so Claude, Cursor and other MCP clients can list the operations and run them. See the integrations.
Check the diff before the file goes out. It shows each changed cell or paragraph next to the original. With approvals on, the file stays locked until someone on your team approves it. If a change can't be made, you get an error instead of a file.
Jake at The Plain Works. The SDK, the runstamp CLI and the MCP server all come in one Apache-2.0 package, @runstamp/sdk, so the code you run is yours to keep. Every release is in the changelog.
Those libraries read and write the file, and checking what else changed is up to you. Runstamp makes the change you ask for, then tells you what it checked across the whole file and what it couldn't check.
No. Runstamp works with the cells, fields and text already in the file.
A run that returns several files counts once per file. Failed and blocked runs are not charged.
No signup. Change a cell, fill a form or compare two drafts in your browser.
Rather start in code? Install the SDK and call it from your app.
npm install @runstamp/sdkRead the quick startShipping Runstamp inside your product? Contact sales