{"id":"pg_maex0vniv8we","property_id":"prp_pklgwresh6hp","domain_id":"dom_zrkwapcbulfb","root_domain":"vercel.com","locale":"en","url":"https://vercel.com/docs/frameworks/backend","url_hash":"1b69b946934544ccd0e6d543470a94eadd50d3f19148ad36df1b5ebe9a3bb4e0","path":"/docs/frameworks/backend","depth":1,"canonical_url":"https://vercel.com/docs/frameworks/backend","canonical_page_id":null,"page_type":"docs","page_type_guess":"docs","state":"indexed","skip_reason":null,"priority":"1.4","discovered_via":"sitemap","first_seen_at":"2026-08-27T09:05:09.074Z","last_seen_at":"2026-08-27T09:05:48.373Z","http_status":200,"content_hash":"940d87cc087f5d637ca7f7270d7fd87996347529bb7edabcec74a7e981244051","title":"Backends on Vercel","description":"Vercel supports a wide range of the most popular backend frameworks, optimizing how your application builds and runs no matter what tooling you use.","author":"Vercel","published_at":null,"modified_at":"2026-08-20T16:39:01.000Z","word_count":356,"reading_time_sec":97,"lang_detected":"en","images":[],"links_out":null,"markdown_source":"readability","refresh_interval":"monthly","last_fetched_at":"2026-08-27T09:05:25.261Z","next_refresh_at":"2026-09-26T09:05:25.261Z","runs_count":1,"changes_count":0,"last_changed_at":null,"fail_count":0,"last_error":null,"created_at":"2026-08-27T09:05:09.074Z","updated_at":"2026-08-27T09:05:09.074Z","inlinks":1,"inlinks_body":1,"outlinks":192,"outlinks_external":13,"anchor_terms":["Backends"],"template_score":"0.07692307692307692308","cash":"0.0013360687958537275","cash_total":"0.0513360687958537275","pagerank":null,"is_orphan":false,"link_confirmed":true,"discovered_wave":0,"embedded_hash":"940d87cc087f5d637ca7f7270d7fd87996347529bb7edabcec74a7e981244051","embedded_at":"2026-08-27T09:13:52.859Z","domain_name":"Vercel Inc.","brand_color":null,"domain_rank":579,"spam_score":14,"markdown":"Backends deployed to Vercel receive the benefits of Vercel's infrastructure, including:\n\n-   [Fluid compute](https://vercel.com/docs/fluid-compute): Zero-configuration, optimized concurrency, dynamic scaling, background processing, automatic cold-start prevention, region failover, and more\n-   [Active CPU pricing](https://vercel.com/docs/functions/usage-and-pricing): Only pay for the CPU you use, not waiting for I/O (e.g. calling AI models, database queries)\n-   [Instant Rollback](https://vercel.com/docs/instant-rollback): Quickly revert to a previous production deployment\n-   [Vercel Firewall](https://vercel.com/docs/vercel-firewall): A robust, multi-layered security system designed to protect your applications\n-   [Preview deployments with Deployment Protection](https://vercel.com/docs/deployments/environments#preview-environment-pre-production): Secure your preview environments and test changes safely before production\n-   [Rolling releases](https://vercel.com/docs/rolling-releases): Gradually roll out backends to detect errors early\n\nDeploy the following backends to Vercel with zero-configuration.\n\n![Elysia](https://api-frameworks.vercel.sh/framework-logos/elysia.svg)\n\n### Elysia\n\nErgonomic framework for humans\n\n![Express](https://api-frameworks.vercel.sh/framework-logos/express.svg)![Express](https://api-frameworks.vercel.sh/framework-logos/express-dark.svg)\n\n### Express\n\nFast, unopinionated, minimalist web framework for Node.js\n\n![FastAPI](https://api-frameworks.vercel.sh/framework-logos/fastapi.svg)\n\n### FastAPI\n\nFastAPI framework, high performance, easy to learn, fast to code, ready for production\n\n![Fastify](https://api-frameworks.vercel.sh/framework-logos/fastify.svg)![Fastify](https://api-frameworks.vercel.sh/framework-logos/fastify.svg)\n\n### Fastify\n\nFast and low overhead web framework, for Node.js\n\n![Flask](https://api-frameworks.vercel.sh/framework-logos/flask.svg)\n\n### Flask\n\nThe Python micro web framework\n\n![H3](https://api-frameworks.vercel.sh/framework-logos/h3.svg)\n\n### H3\n\nUniversal, Tiny, and Fast Servers\n\n![Hono](https://api-frameworks.vercel.sh/framework-logos/hono.svg)\n\n### Hono\n\nWeb framework built on Web Standards\n\n![Koa](https://api-frameworks.vercel.sh/framework-logos/koa.svg)\n\n### Koa\n\nExpressive middleware for Node.js using ES2017 async functions\n\n![NestJS](https://api-frameworks.vercel.sh/framework-logos/nestjs.svg)\n\n### NestJS\n\nFramework for building efficient, scalable Node.js server-side applications\n\n![Nitro](https://api-frameworks.vercel.sh/framework-logos/nitro.svg)\n\n### Nitro\n\nNitro is a next generation server toolkit.\n\n![xmcp](https://api-frameworks.vercel.sh/framework-logos/xmcp.svg)\n\n### xmcp\n\nThe MCP framework for building AI-powered tools\n\nTo process background tasks with Python, you can deploy [Celery](https://vercel.com/docs/frameworks/backend/celery) or [Dramatiq](https://vercel.com/docs/frameworks/backend/dramatiq) workers as queue-triggered Vercel Functions.\n\nIf you are transitioning from a fully managed server or containerized environment to Vercel’s serverless architecture, you may need to rethink a few concepts in your application since there is no longer a server always running in the background.\n\nThe following are generally applicable to serverless, and therefore Vercel Functions (running with or without Fluid compute).\n\nVercel Functions can serve WebSocket connections when [Fluid compute](https://vercel.com/docs/fluid-compute) is enabled. WebSocket connections follow [Vercel Function limits](https://vercel.com/docs/functions/limitations), including maximum duration, so clients should handle reconnects when a connection closes.\n\nStore persistent state, rooms, presence, and pub/sub coordination in an external data store instead of relying on in-memory state. Learn more in the [WebSockets documentation](https://vercel.com/docs/functions/websockets).\n\nTo manage database connections efficiently, [use the `attachDatabasePool` function from `@vercel/functions`](https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package#database-connection-pool-management).","storage":{"htmlKey":"stealpage/html/vercel.com/pg_maex0vniv8we/run_jobnttskhbke.html.gz","markdownKey":"stealpage/md/vercel.com/pg_maex0vniv8we/run_jobnttskhbke.md.gz"},"facets":{"page_id":"pg_maex0vniv8we","domain_id":"dom_zrkwapcbulfb","root_domain":"vercel.com","locale":"en","format":"research","depth":1,"technicality":4,"promotional":3,"originality":2,"audience":"developer","funnel_stage":"consideration","intent":"informational","evidence":"none","tone":"plain","has_code":false,"code_langs":[],"has_data":false,"has_tables":false,"has_images":false,"has_video":false,"has_faq":false,"external_links":25,"heading_count":11,"topics":["backend","frameworks","serverless"],"keywords":["vercel","backend frameworks","serverless","functions","fluid compute","websocket","database connection"],"entities":{},"takeaways":["Vercel supports a wide range of backend frameworks, including Elysia, Express, FastAPI, Fastify, Flask, H3, Hono, Koa, NestJS, Nitro, and xmcp.","Vercel's infrastructure offers benefits like fluid compute, active CPU pricing, instant rollback, and security features for backend deployments.","Developers can use Vercel Functions to process background tasks with Python using Celery or Dramatiq workers.","When using Vercel's serverless architecture, developers need to rethink certain application concepts, such as managing persistent state and database connections.","Vercel Functions can support WebSocket connections when Fluid compute is enabled, but developers should handle reconnects due to connection limits."],"summary":"This page provides an overview of the backend frameworks supported by Vercel and explains how they integrate with Vercel's infrastructure and features.","ai_likelihood":"0","shelf_life":"dated","quality_score":"0.3977","fingerprint":"940d87cc087f5d637ca7f7270d7fd87996347529bb7edabcec74a7e981244051","model":"qwen/qwen3-30b-a3b","classified_at":"2026-08-27T09:11:25.605Z","created_at":"2026-08-27T09:11:25.605Z","updated_at":"2026-08-27T09:11:25.605Z"},"assets":[{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/elysia.svg","r2_key":null,"alt":"Elysia","caption":null,"width":20,"height":20,"is_hero":true,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/express.svg","r2_key":null,"alt":"Express","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/express-dark.svg","r2_key":null,"alt":"Express","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/fastapi.svg","r2_key":null,"alt":"FastAPI","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/fastify.svg","r2_key":null,"alt":"Fastify","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/flask.svg","r2_key":null,"alt":"Flask","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/h3.svg","r2_key":null,"alt":"H3","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/hono.svg","r2_key":null,"alt":"Hono","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/koa.svg","r2_key":null,"alt":"Koa","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/nestjs.svg","r2_key":null,"alt":"NestJS","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/nitro.svg","r2_key":null,"alt":"Nitro","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://api-frameworks.vercel.sh/framework-logos/xmcp.svg","r2_key":null,"alt":"xmcp","caption":null,"width":20,"height":20,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://vercel-docs.vercel.sh/vc-ap-0cca3e/_next/static/immutable/media/vercel-light.3_gxxexgi1nmy.svg","r2_key":null,"alt":"Vercel","caption":null,"width":16,"height":14,"is_hero":false,"zone":"footer"},{"kind":"image","src_url":"https://vercel-docs.vercel.sh/vc-ap-0cca3e/_next/static/immutable/media/vercel-dark.1f3cgy23m5_jy.svg","r2_key":null,"alt":"Vercel","caption":null,"width":16,"height":14,"is_hero":false,"zone":"footer"}],"shots":[],"history":[{"id":"run_jobnttskhbke","started_at":"2026-08-27T09:05:25.190Z","http_status":200,"fetcher":"direct","changed":false,"diff":null,"word_count":356}],"citedBy":[{"id":"pg_4ljdb7zfqzvh","url":"https://vercel.com/docs/frameworks","title":"Frameworks on Vercel","anchors":["Backends"],"zone":"main"}]}