Local drop-in replacement for Vercel, GitHub, Google, Slack, Apple, Microsoft, AWS, Okta, MongoDB Atlas, Resend, Stripe, and Auth0 APIs. Built for CI and no-network sandboxes. Fully stateful, production-fidelity API emulation. Not mocks.
npx emulateAll services start with sensible defaults. No config file needed:
- Vercel on
http://localhost:4000 - GitHub on
http://localhost:4001 - Google on
http://localhost:4002 - Slack on
http://localhost:4003 - Apple on
http://localhost:4004 - Microsoft on
http://localhost:4005 - AWS on
http://localhost:4006 - Okta on
http://localhost:4007 - MongoDB Atlas on
http://localhost:4008 - Resend on
http://localhost:4009 - Stripe on
http://localhost:4010 - Auth0 on
http://localhost:4012
# Start all services (zero-config)
npx emulate
# Start specific services
npx emulate --service vercel,github
# Custom port
npx emulate --port 3000
# Use a seed config file
npx emulate --seed config.yaml
# Generate a starter config
npx emulate init
# Generate config for a specific service
npx emulate init --service github
# List available services
npx emulate list| Flag | Default | Description |
|---|---|---|
-p, --port |
4000 |
Base port (auto-increments per service) |
-s, --service |
all | Comma-separated services to enable |
--seed |
auto-detect | Path to seed config (YAML or JSON) |
The port can also be set via EMULATE_PORT or PORT environment variables.
You can also use emulate as a library in your tests. See the Programmatic API page for createEmulator, Vitest/Jest setup, and instance methods.
Embed emulators directly in your Next.js app so they run on the same origin. See the Next.js Integration page for setup instructions.