Jspreadsheet Server Documentation
ULTIMATE
Jspreadsheet Server is included in the Ultimate plan. See pricing.
Jspreadsheet Server is the collaborative backend for Jspreadsheet. It keeps one live spreadsheet per document, applies every change as an ordered operation, resolves conflicts at cell level, and persists everything through your own storage, while a complete REST API exposes the same documents to your backend systems.
Guide
Everything you need to run the server in production, from the first npm install to a multi-node deployment.
- Getting started: install, run a minimal server and connect a client
- Architecture: how documents, operations and revisions fit together
- Sync & conflicts: real-time synchronization and conflict resolution
- Scaling: partition documents across nodes
- Deployment: run the server in production
- Express integration: mount the server in an existing Express app
- Nginx: reverse proxy and WebSocket configuration
- Authentication: the three hooks that guard access
- Login & security: JWTs, sessions and security practices
- Sharing & privacy: invitations and document permissions
- Extensions: extend the server with your own features
- Server API extension: expose custom endpoints
- Images & media: uploads rewritten to bucket URLs
- Snapshots: point-in-time backups to S3
- Comments: threaded cell comments
- Formify: forms backed by spreadsheets
- AI integration: connect OpenAI ChatGPT
- MCP server: expose documents to AI agents
- Troubleshooting: common problems and fixes
- FAQ: frequently asked questions
Adapters & Persistence
The server persists per-operation, not per-document. Use a ready-made adapter or implement five async handlers to plug in any storage you already run.
Technical Reference
The contracts behind the implementation, for when you need the exact behaviour.
REST API
Every spreadsheet is an HTTP resource. Read values, write cells, insert rows and manage worksheets from any language.