# gqlgen vs urql

| Attribute | gqlgen | urql |
|---|---|---|
| **vioscaleAI score** | 57.6 (36% (low)) | 59.9 (51% (medium)) |
| activity.commits_last_30d | 28 | 3 |
| adoption.dependent_repos | 3,167 | 57,619 |
| adoption.github_stars | 10,768 | 8,980 |
| adoption.package_downloads_weekly | - | 1,178,429 |
| content.faq | `[{"answer":"A schema-first code generation library for Go that lets developers define GraphQL APIs using the schema definition language and automatically generates type-safe server implementations. It eliminates boilerplate by handling code generation while enforcing type safety throughout. It is indexed under GraphQL Tools.","source":"https://gqlgen.com","question":"What is gqlgen?","confidence":0.6},{"answer":"gqlgen 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://gqlgen.com","question":"Is gqlgen free to use?","confidence":0.6},{"answer":"gqlgen supports a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://gqlgen.com","question":"What platforms does gqlgen support?","confidence":0.6},{"answer":"Yes. gqlgen 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/99designs/gqlgen","question":"Is gqlgen open source?","confidence":0.95}]` | `[{"answer":"A JavaScript GraphQL client that integrates with popular frameworks like React and Vue. The library is designed to be lightweight with optional features for caching and optimization. It is indexed under GraphQL Tools.","source":"https://urql.dev","question":"What is urql?","confidence":0.6},{"answer":"urql 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://urql.dev","question":"Is urql free to use?","confidence":0.6},{"answer":"We have confirmed browser-based access to urql. That is the extent of what we could verify from public sources, so it may well offer desktop or mobile clients we have not indexed.","source":"https://urql.dev","question":"What platforms does urql support?","confidence":0.6},{"answer":"Yes. urql 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/urql-graphql/urql","question":"Is urql open source?","confidence":0.99}]` |
| deployment.options | `{"self_hosted":true}` | - |
| description.long | An open-source Go framework that generates GraphQL server code from schema definitions. It emphasizes type safety, automatic code generation to reduce boilerplate, and a schema-first development approach. | A framework-agnostic GraphQL client library that works with React, Preact, Vue, Solid, and Svelte, featuring flexible caching and a highly customizable API. |
| features.capabilities | `{"role":"server","caching":false,"language":"Go","federation":true,"managed_cloud":false,"self_hostable":true,"subscriptions":true,"auth_directives":false,"schema_approach":"schema_first","type_generation":true,"db_introspection":false}` | `{"role":"client","caching":true,"language":"TypeScript","subscriptions":true}` |
| language.primary | Go | TypeScript |
| license.spdx | MIT | MIT |
| platform.support | `{"cli":true}` | `{"web":true}` |
| pricing | `{"type":"open_source","sourceUrl":"https://gqlgen.com","retrievedAt":"2026-08-14T21:39:40.951Z"}` | `{"type":"open_source","summary":"Free and open source (MIT license)","freeTier":true,"sourceUrl":"https://urql.dev","retrievedAt":"2026-08-14T21:40:56.515Z"}` |
| pricing.free_tier | - | yes |
| pricing.model | open_source | open_source |
| pricing.price_level | free | free |
| release.cadence_days | 17 | 1 |
| release.history | `[{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.95","date":"2026-09-01T19:42:14Z","type":"stable","version":"v0.17.95"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.94","date":"2026-07-09T15:29:06Z","type":"stable","version":"v0.17.94"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.93","date":"2026-06-25T23:54:10Z","type":"stable","version":"v0.17.93"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.92","date":"2026-06-21T13:23:58Z","type":"stable","version":"v0.17.92"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.91","date":"2026-06-11T14:33:01Z","type":"stable","version":"v0.17.91"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.90","date":"2026-04-25T19:11:01Z","type":"stable","version":"v0.17.90"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.89","date":"2026-03-24T18:45:49Z","type":"stable","version":"v0.17.89"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.88","date":"2026-03-09T00:10:30Z","type":"stable","version":"v0.17.88"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.87","date":"2026-02-19T14:14:40Z","type":"stable","version":"v0.17.87"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.86","date":"2026-01-12T01:28:31Z","type":"stable","version":"v0.17.86"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.85","date":"2025-12-17T02:21:31Z","type":"stable","version":"v0.17.85"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.84","date":"2025-11-24T16:56:20Z","type":"stable","version":"v0.17.84"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.83","date":"2025-11-11T02:05:44Z","type":"stable","version":"v0.17.83"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.82","date":"2025-11-07T01:29:47Z","type":"stable","version":"v0.17.82"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.81","date":"2025-09-25T23:00:54Z","type":"stable","version":"v0.17.81"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.80","date":"2025-09-17T16:13:26Z","type":"stable","version":"v0.17.80"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.79","date":"2025-09-14T19:35:25Z","type":"stable","version":"v0.17.79"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.78","date":"2025-07-27T23:09:18Z","type":"stable","version":"v0.17.78"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.77","date":"2025-07-27T03:26:30Z","type":"stable","version":"v0.17.77"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.76","date":"2025-06-28T23:25:19Z","type":"stable","version":"v0.17.76"}]` | `[{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/exchange-graphcache%409.0.2","date":"2026-10-02T04:49:37Z","type":"stable","version":"@urql/exchange-graphcache@9.0.2"},{"url":"https://github.com/urql-graphql/urql/releases/tag/urql%405.0.4","date":"2026-08-21T17:08:08Z","type":"stable","version":"urql@5.0.4"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/core%406.0.3","date":"2026-06-22T10:46:51Z","type":"stable","version":"@urql/core@6.0.3"},{"url":"https://github.com/urql-graphql/urql/releases/tag/urql%405.0.3","date":"2026-06-15T17:41:31Z","type":"stable","version":"urql@5.0.3"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/vue%402.1.1","date":"2026-06-15T17:41:19Z","type":"stable","version":"@urql/vue@2.1.1"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/next%402.0.1","date":"2026-06-15T17:41:22Z","type":"stable","version":"@urql/next@2.0.1"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/exchange-graphcache%409.0.1","date":"2026-06-15T17:41:25Z","type":"stable","version":"@urql/exchange-graphcache@9.0.1"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/core%406.0.2","date":"2026-06-15T17:41:28Z","type":"stable","version":"@urql/core@6.0.2"},{"url":"https://github.com/urql-graphql/urql/releases/tag/urql%405.0.2","date":"2026-04-15T03:03:48Z","type":"stable","version":"urql@5.0.2"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/vue%402.1.0","date":"2026-04-01T18:38:53Z","type":"stable","version":"@urql/vue@2.1.0"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/solid-start%400.2.0","date":"2026-04-01T18:38:56Z","type":"stable","version":"@urql/solid-start@0.2.0"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/solid%401.0.1","date":"2026-01-25T10:17:50Z","type":"stable","version":"@urql/solid@1.0.1"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/solid-start%400.1.0","date":"2026-01-25T10:17:47Z","type":"stable","version":"@urql/solid-start@0.1.0"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/storage-rn%401.1.2","date":"2026-01-23T06:42:22Z","type":"stable","version":"@urql/storage-rn@1.1.2"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/exchange-refocus%402.1.0","date":"2026-01-23T06:42:16Z","type":"stable","version":"@urql/exchange-refocus@2.1.0"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/exchange-graphcache%409.0.0","date":"2026-01-23T06:42:19Z","type":"stable","version":"@urql/exchange-graphcache@9.0.0"},{"url":"https://github.com/urql-graphql/urql/releases/tag/urql%405.0.1","date":"2025-08-29T08:06:41Z","type":"stable","version":"urql@5.0.1"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/exchange-persisted%405.0.1","date":"2025-08-11T05:29:00Z","type":"stable","version":"@urql/exchange-persisted@5.0.1"},{"url":"https://github.com/urql-graphql/urql/releases/tag/%40urql/core%406.0.1","date":"2025-08-11T05:29:03Z","type":"stable","version":"@urql/core@6.0.1"},{"url":"https://github.com/urql-graphql/urql/releases/tag/urql%405.0.0","date":"2025-08-09T13:26:59Z","type":"stable","version":"urql@5.0.0"}]` |
| security.scorecard | 6 | - |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=go&package_name=github.com%2F99designs%2Fgqlgen&per_page=100","last_12m":0,"max_severity":null}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=%40urql%2Fcore&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (GraphQL Tools)

| Capability | gqlgen | urql |
|---|:--:|:--:|
| **Core** |  |  |
| Role | Server | Client |
| Primary language | Go | TypeScript |
| **Modelling** |  |  |
| Schema approach | Schema-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-16T19:29:01.547Z. "-" = undocumented, not absent.*
