npx skills add ...
npx skills add expo/skills --skill eas-hosting
EAS service (paid). 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.
npx skills add expo/skills --skill 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.
Use API routes when you need:
Avoid API routes when:
API routes live in the app directory with +api.ts suffix:
Export named functions for each HTTP method:
Use process.env for server-side secrets:
Set environment variables:
.env file (never commit)eas env:create or Expo dashboardAdd CORS for web clients:
Start the development server with API routes:
This starts a local server at http://localhost:8081 with full API route support.
Test with curl:
Deploying ships your web bundle and any Expo Router API routes together - eas deploy handles both. The export runs whether you have a full website, an API-routes-only backend, or both.
Everything lands on EAS Hosting (Cloudflare Workers).
Configure in eas.json or Expo dashboard.
Deploy the website (and API routes) on every push to main with a type: deploy workflow:
.eas/workflows/deploy.yml
Preview deploys for pull requests use the same job type with prod: false:
To author or validate workflow YAML beyond these examples, use the eas-workflows skill.
API routes run on Cloudflare Workers. Key limitations:
fs module unavailableSince filesystem is unavailable, use cloud databases:
Example with Turso:
If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:
Only submit when you have something specific and actionable to report. Include as much relevant context as possible. If an AI agent repeatedly failed or the user had to take over an Expo task, load the expo-skill-feedback skill and follow its eval-candidate flow instead of reusing the command above.