
Eas Hosting
Deploy Expo websites and Expo Router API routes to EAS Hosting - export the web bundle...
Install
npx skills add expo/skills --skill eas-hosting -g -a claude-code -y- Repository
- expo/skills4k
- Category
- DevOps
- Updated
- 3d ago
- License
- MIT
- Context cost
- Mediumabout 2,722 tokens
- Runs scripts
- No, instructions only
What it does
Deploy Expo websites and Expo Router API routes to EAS Hosting - export the web bundle, run eas deploy for production and PR preview URLs, manage environment secrets and custom domains, and work within the Cloudflare Workers runtime. Also covers authoring API routes (+api.ts handlers, HTTP methods, request handling, CORS). Use when deploying an Expo web app or API routes, setting up EAS Hosting, or configuring hosting environments and domains. Not for native builds or store releases - use the eas-app-stores skill for those.
EAS Hosting
EAS service - costs apply. EAS Hosting is a paid Expo Application Services product with free-tier limits; production deploys use your plan's request and bandwidth allowance. See https://expo.dev/pricing. Authoring API routes and exporting the web bundle are free and open source, and you can self-host the exported server output instead of EAS Hosting.
EAS Hosting deploys your Expo web app and API routes to Expo's managed edge (Cloudflare Workers). Export the web bundle with npx expo export -p web and ship it with eas deploy - the same command deploys any Expo Router API routes bundled alongside it. This skill covers deploying a website, authoring API routes, and the hosting runtime; see the Deployment section below for the deploy workflow.
When to Use API Routes
Use API routes when you need:
- Server-side secrets, API keys, database credentials, or tokens that must never reach the client
- Database operations, Direct database queries that shouldn't be exposed
- Third-party API proxies, Hide API keys when calling external services (OpenAI, Stripe, etc.)
- Server-side validation, Validate data before database writes
- Webhook endpoints, Receive callbacks from services like Stripe or GitHub
- Rate limiting, Control access at the server level
- Heavy computation, Offload processing that would be slow on mobile
When NOT to Use API Routes
Avoid API routes when:
- Data is already public, Use direct fetch to public APIs instead
- No secrets required, Static data or client-safe operations
- Real-time updates needed, Use WebSockets or services like Supabase Realtime
- Simple CRUD, Consider Firebase, Supabase, or Convex for managed backends
- File uploads, Use direct-to-storage uploads (S3 presigned URLs, Cloudflare R2)
- Authentication only, Use Clerk, Auth0, or Firebase Auth instead
File Structure
API routes live in the app directory with +api.ts suffix:

