# Strawberry GraphQL vs TypeGraphQL

**Leader by vioscaleAI score:** Strawberry GraphQL

| Attribute | Strawberry GraphQL | TypeGraphQL |
|---|---|---|
| **vioscaleAI score** | 65.2 (66% (medium)) | 51.4 (64% (medium)) |
| activity.commits_last_30d | 76 | 0 |
| adoption.dependent_repos | 325 | 7,054 |
| adoption.github_stars | 4,722 | 8,085 |
| adoption.package_downloads_weekly | 1,448,848 | 748,545 |
| content.faq | `[{"answer":"An open-source Python library for constructing GraphQL servers using Python's type hints and dataclasses to define schemas. It provides async support, federation capabilities, real-time subscriptions, and integrations with popular web frameworks. It is indexed under GraphQL Tools.","source":"https://strawberry.rocks","question":"What is Strawberry GraphQL?","confidence":0.6},{"answer":"Strawberry GraphQL is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Pricing changes often, so verify at source before relying on it.","source":"https://strawberry.rocks","question":"Is Strawberry GraphQL free to use?","confidence":0.6},{"answer":"Strawberry GraphQL supports a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://strawberry.rocks","question":"What platforms does Strawberry GraphQL support?","confidence":0.6},{"answer":"Yes. Strawberry GraphQL can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://strawberry.rocks","question":"Can Strawberry GraphQL be self-hosted?","confidence":0.6},{"answer":"We have confirmed 10 integrations for Strawberry GraphQL, including Django, FastAPI, Flask, Aiohttp, Chalice, Channels, Litestar and Quart, plus 2 more. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://strawberry.rocks","question":"What does Strawberry GraphQL integrate with?","confidence":0.6},{"answer":"Yes. Strawberry GraphQL is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/strawberry-graphql/strawberry","question":"Is Strawberry GraphQL open source?","confidence":0.95}]` | `[{"answer":"A Node.js framework that allows developers to define GraphQL schemas entirely in TypeScript using class-based type definitions and decorators. It provides automatic validation, authorization support, dependency injection, and eliminates the need to maintain separate schema definitions and type files. It is indexed under GraphQL Tools.","source":"https://typegraphql.com/","question":"What is TypeGraphQL?","confidence":0.6},{"answer":"TypeGraphQL is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Pricing changes often, so verify at source before relying on it.","source":"https://typegraphql.com/","question":"Is TypeGraphQL free to use?","confidence":0.6},{"answer":"Yes. TypeGraphQL can be deployed cloud / SaaS and self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://typegraphql.com/","question":"Can TypeGraphQL be self-hosted?","confidence":0.6},{"answer":"We have confirmed 6 integrations for TypeGraphQL, including Apollo Server, Azure Functions, AWS Lambda, TypeORM, class-validator and graphql-yoga. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://typegraphql.com/","question":"What does TypeGraphQL integrate with?","confidence":0.6},{"answer":"Yes. TypeGraphQL is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/MichalLytek/type-graphql","question":"Is TypeGraphQL open source?","confidence":0.99}]` |
| deployment.options | `{"self_hosted":true}` | `{"self_hosted":true}` |
| description.long | A GraphQL server library for Python that uses type annotations to define schemas, with support for async/await, federation, and integrations with web frameworks like FastAPI and Django. | A Node.js framework that allows developers to define GraphQL schemas entirely in TypeScript using class-based type definitions and decorators. It provides automatic validation, authorization support, dependency injection, and eliminates the need to maintain separate schema definitions and type files. |
| features.capabilities | `{"role":"server","language":"Python","federation":true,"managed_cloud":false,"self_hostable":true,"subscriptions":true,"auth_directives":true,"schema_approach":"code_first","type_generation":true}` | `{"role":"server","caching":false,"language":"TypeScript","federation":false,"managed_cloud":false,"self_hostable":true,"subscriptions":true,"auth_directives":true,"schema_approach":"code_first","type_generation":true,"db_introspection":false}` |
| integrations.count | 6 | 6 |
| integrations.list | `[{"name":"Django"},{"name":"FastAPI"},{"name":"Flask"},{"name":"Aiohttp"},{"name":"Chalice"},{"name":"Channels"},{"name":"Litestar"},{"name":"Quart"},{"name":"Sanic"},{"name":"Starlette"},{"name":"SQLAlchemy","native":true,"category":"database","direction":"outbound"},{"name":"Next.js","native":true,"category":"frontend","direction":"outbound"},{"name":"Pydantic","native":true,"category":"validation","direction":"outbound"}]` | `[{"name":"Apollo Server"},{"name":"Azure Functions"},{"name":"AWS Lambda"},{"name":"TypeORM"},{"name":"class-validator"},{"name":"graphql-yoga"}]` |
| language.primary | Python | TypeScript |
| license.spdx | MIT | MIT |
| platform.support | `{"cli":true,"web":true}` | - |
| pricing | `{"type":"open_source","sourceUrl":"https://strawberry.rocks","retrievedAt":"2026-10-15T20:24:54.298Z"}` | `{"type":"open_source","freeTier":true,"sourceUrl":"https://typegraphql.com/","retrievedAt":"2026-10-13T13:45:51.873Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | open_source | open_source |
| pricing.price_level | free | free |
| pricing.transparent | yes | yes |
| release.cadence_days | 1 | 51 |
| release.history | `[{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.335.0","date":"2026-10-14T12:02:24Z","type":"stable","version":"0.335.0"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.334.4","date":"2026-10-13T14:23:26Z","type":"stable","version":"0.334.4"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.334.3","date":"2026-10-12T22:48:26Z","type":"stable","version":"0.334.3"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.334.2","date":"2026-10-12T09:21:41Z","type":"stable","version":"0.334.2"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.334.1","date":"2026-10-11T21:35:23Z","type":"stable","version":"0.334.1"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.334.0","date":"2026-10-11T20:54:33Z","type":"stable","version":"0.334.0"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.333.0","date":"2026-10-10T17:44:12Z","type":"stable","version":"0.333.0"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.332.1","date":"2026-10-09T22:03:26Z","type":"stable","version":"0.332.1"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.332.0","date":"2026-10-06T18:29:59Z","type":"stable","version":"0.332.0"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.331.6","date":"2026-10-05T23:11:58Z","type":"stable","version":"0.331.6"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.331.5","date":"2026-10-05T18:41:11Z","type":"stable","version":"0.331.5"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.331.4","date":"2026-10-05T18:21:57Z","type":"stable","version":"0.331.4"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.331.3","date":"2026-10-05T16:52:58Z","type":"stable","version":"0.331.3"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.331.2","date":"2026-10-05T14:43:22Z","type":"stable","version":"0.331.2"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.331.1","date":"2026-10-04T23:24:37Z","type":"stable","version":"0.331.1"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.331.0","date":"2026-10-04T22:54:50Z","type":"stable","version":"0.331.0"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.330.3","date":"2026-10-04T17:11:33Z","type":"stable","version":"0.330.3"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.330.2","date":"2026-10-03T23:22:01Z","type":"stable","version":"0.330.2"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.330.1","date":"2026-10-03T23:16:30Z","type":"stable","version":"0.330.1"},{"url":"https://github.com/strawberry-graphql/strawberry/releases/tag/0.330.0","date":"2026-10-03T15:57:02Z","type":"stable","version":"0.330.0"}]` | `[{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v2.0.0-rc.4","date":"2026-02-26T08:35:21Z","type":"stable","version":"v2.0.0-rc.4"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v2.0.0-rc.3","date":"2026-02-08T08:56:50Z","type":"stable","version":"v2.0.0-rc.3"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v2.0.0-rc.2","date":"2024-06-07T12:27:54Z","type":"stable","version":"v2.0.0-rc.2"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v2.0.0-rc.1","date":"2024-04-24T14:18:18Z","type":"stable","version":"v2.0.0-rc.1"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v2.0.0-beta.6","date":"2024-04-24T14:27:42Z","type":"prerelease","version":"v2.0.0-beta.6"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v2.0.0-beta.4","date":"2024-04-24T14:27:10Z","type":"prerelease","version":"v2.0.0-beta.4"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v2.0.0-beta.3","date":"2023-08-17T16:48:16Z","type":"prerelease","version":"v2.0.0-beta.3"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v2.0.0-beta.2","date":"2023-05-16T08:40:02Z","type":"prerelease","version":"v2.0.0-beta.2"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v1.2.0-rc.1","date":"2021-10-06T08:41:05Z","type":"prerelease","version":"v1.2.0-rc.1"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v1.1.1","date":"2020-11-04T20:42:49Z","type":"stable","version":"v1.1.1"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v1.1.0","date":"2020-10-12T18:43:12Z","type":"stable","version":"v1.1.0"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v1.0.0","date":"2020-08-19T18:30:33Z","type":"stable","version":"v1.0.0"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v1.0.0-rc.3","date":"2020-06-29T18:06:47Z","type":"prerelease","version":"v1.0.0-rc.3"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v1.0.0-rc.2","date":"2020-05-19T19:36:54Z","type":"prerelease","version":"v1.0.0-rc.2"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v1.0.0-rc.1","date":"2020-05-03T16:50:40Z","type":"prerelease","version":"v1.0.0-rc.1"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v0.17.6","date":"2019-12-21T20:48:53Z","type":"stable","version":"v0.17.6"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v0.17.5","date":"2019-08-18T11:09:49Z","type":"stable","version":"v0.17.5"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v0.17.4","date":"2019-05-12T20:26:56Z","type":"stable","version":"v0.17.4"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v0.17.3","date":"2019-05-06T16:48:18Z","type":"stable","version":"v0.17.3"},{"url":"https://github.com/MichalLytek/type-graphql/releases/tag/v0.17.2","date":"2019-04-23T19:30:07Z","type":"stable","version":"v0.17.2"}]` |
| reliability.status_page | - | yes |
| security.scorecard | 7 | 3.3 |
| security.vulnerabilities | `{"count":9,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=strawberry-graphql&per_page=100","last_12m":7,"max_severity":"HIGH"}` | `{"count":1,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=type-graphql&per_page=100","last_12m":0,"max_severity":"LOW"}` |

## Capabilities (GraphQL Tools)

| Capability | Strawberry GraphQL | TypeGraphQL |
|---|:--:|:--:|
| **Core** |  |  |
| Role | Server | Server |
| Primary language | Python | TypeScript |
| **Modelling** |  |  |
| Schema approach | Code-first | Code-first |
| **Scale** |  |  |
| Federation / subgraph composition | ✓ | ✗ |
| **Realtime** |  |  |
| Real-time subscriptions | ✓ | ✓ |
| **Performance** |  |  |
| Response / edge caching | - | ✗ |
| **DX** |  |  |
| Typed code generation | ✓ | ✓ |
| **Automation** |  |  |
| Generates API from a database | - | ✗ |
| **Security** |  |  |
| Built-in authz / permissions | ✓ | ✓ |
| **Deployment** |  |  |
| Official hosted offering | ✗ | ✗ |
| Self-hostable | ✓ | ✓ |

*Source: vioscaleAI. Generated 2026-10-21T05:51:46.858Z. "-" = undocumented, not absent.*
