Public web interface for backing up an entire Qualtrics account — no R required.
This app ports the workflow from giladfeldman/qualtrics_backup:
.qsfsurvey definition files- Response data as CSV
- YAML metadata per survey
- JSON question maps
- A survey catalog JSON file
SPSS .sav export is not included in v1 (CSV opens in Excel and SPSS).
The R script works well if you use RStudio, but many researchers do not. Qualtrics also blocks direct browser calls to its API (CORS), so this app uses a small, stateless proxy on Vercel while keeping your token and backup files out of storage.
The entire codebase is public so you can verify we store nothing. See SECURITY.md and PRIVACY.md.
npm install
npm run devOpen http://localhost:3000, enter your Qualtrics datacenter ID and API token, select surveys, and download a ZIP.
Deploy the qualtricsbackupapp folder to Vercel. No environment variables are required for user tokens.
Production: https://qualtricsbackupapp.vercel.app
npm run buildapp/ Next.js pages and API proxy
components/ Backup wizard UI
lib/qualtrics/ Qualtrics API client
lib/backup/ Backup orchestration (retries, rate limits)
lib/zip/ Client-side ZIP builder
backup.zip
├── survey_catalog.json
├── qsf/
├── data/response_data-SV_xxx.csv
├── metadata/metadata-SV_xxx.yaml
└── question_data/question_data-SV_xxx.json
npm run lint
npm testSame spirit as the original R script — use at your own risk, especially with large accounts. The app mirrors the R script's sequential export with 5-second QSF rate limiting and up to 5 retries per survey.