# Apollo GraphQL vs PostGraphile

**Leader by Vioscale score:** Apollo GraphQL

| Attribute | Apollo GraphQL | PostGraphile |
|---|---|---|
| **Vioscale score** | 64.3 (59% (medium)) | 56 (54% (medium)) |
| activity.commits_last_30d | 1 | 100 |
| adoption.dependent_repos | 76,434 | 501 |
| adoption.github_stars | 13,947 | 12,929 |
| adoption.package_downloads_weekly | 2,958,758 | 116,682 |
| deployment.options | `{"cloud":true,"self_hosted":true}` | `{"self_hosted":true}` |
| description.long | A complete API orchestration and governance platform that enables teams to build, deploy, and scale GraphQL APIs with support for federation, real-time subscriptions, schema management, and compliance across cloud and self-hosted environments. | An open-source tool that generates GraphQL APIs directly from PostgreSQL databases, with emphasis on performance and customizability. The generated API can be extended and modified to meet specific application needs. |
| features.capabilities | `{"role":"gateway","caching":true,"language":"API-agnostic (supports any GraphQL API regardless of implementation language)","federation":true,"managed_cloud":true,"self_hostable":true,"subscriptions":true,"auth_directives":true,"schema_approach":"introspection","type_generation":true,"db_introspection":false}` | `{"role":"db_to_graphql","language":"JavaScript/TypeScript","self_hostable":true,"schema_approach":"introspection","type_generation":true,"db_introspection":true}` |
| integrations.count | 4 | 1 |
| integrations.list | `[{"name":"Apollo Connectors"},{"name":"Apollo MCP Server"},{"name":"GraphQL APIs"},{"name":"REST APIs"}]` | `[{"name":"PostgreSQL"}]` |
| language.primary | TypeScript | TypeScript |
| license.spdx | MIT | MIT |
| market.availability | `{"hqCountry":"US","primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true,"web":true}` | `{"web":true}` |
| pricing | `{"type":"hybrid","plans":[{"free":true,"name":"Free","summary":"Forever free, no credit card required","features":["GraphOS platform","Any GraphQL API support","Self-hosted Router","GraphQL Federation","Response Caching","Schema Proposals","SSO","Audit logging"],"minSeats":3,"components":[{"kind":"fixed","amount":0,"period":"month","currency":"USD"}],"description":"For students or hobbyists learning GraphQL","contactSales":false,"includedLimits":{"developers":"Up to 3","data_retention":"1 day","router_rate_limit":"60 requests per minute"}},{"free":false,"name":"Developer","summary":"$5 per million requests, billed monthly with volume discounts. $50 credit on signup.","features":["GraphOS platform","Any GraphQL API support","Self-hosted Router","GraphQL Federation","Response Caching","Schema Proposals","SSO","Audit logging"],"minSeats":10,"commitment":"monthly","components":[{"per":{"qty":1,"unit":"million_requests"},"kind":"metered","amount":5,"currency":"USD"}],"description":"For small teams operating production GraphQL APIs","contactSales":false,"includedLimits":{"developers":"Up to 10","data_retention":"7 days"}},{"free":false,"name":"Standard","summary":"Custom pricing","features":["GraphOS platform","Any GraphQL API support","Self-hosted Router","GraphQL Federation","Response Caching","Schema Proposals","SSO","Audit logging"],"minSeats":30,"description":"For scaling a GraphQL platform across multiple teams","contactSales":true,"includedLimits":{"developers":"Up to 30","data_retention":"90 days"}},{"free":false,"name":"Enterprise","summary":"Custom pricing","features":["GraphOS platform","Any GraphQL API support","Self-hosted Router","GraphQL Federation","Response Caching","Schema Proposals","SSO","Audit logging"],"description":"For large-scale GraphQL initiatives","contactSales":true,"includedLimits":{"developers":"Unlimited","data_retention":"18 months"}}],"addOns":[{"name":"Premium Support Packages"},{"name":"Professional Services Packages"}],"summary":"From $5 per million requests. Free tier with no credit card required.","currency":"USD","freeTier":true,"sourceUrl":"https://www.apollographql.com/pricing","retrievedAt":"2026-08-14T21:31:14.928Z","startingPrice":{"amount":5,"period":"month","currency":"USD"},"billingPeriods":["month"]}` | `{"type":"open_source","plans":[{"free":true,"name":"Core (Open Source)","description":"Self-hosted GraphQL API generation from PostgreSQL","contactSales":false},{"free":false,"name":"On-Demand Consultancy","components":[{"kind":"one_time","amount":375,"currency":"USD"}],"description":"One hour of voice/screensharing with maintainer","contactSales":false},{"free":false,"name":"Development Support","components":[{"kind":"fixed","amount":999,"period":"month","currency":"USD"}],"description":"One-to-one access to Graphile team throughout the year; priority support via chat","contactSales":true}],"summary":"Open source and free. Professional support from $999/month.","freeTier":true,"sourceUrl":"https://www.graphile.org/postgraphile/","retrievedAt":"2026-08-14T16:37:12.955Z","startingPrice":{"amount":375,"period":"month","currency":"USD"}}` |
| pricing.free_tier | yes | yes |
| pricing.model | freemium | open_source |
| pricing.price_level | low | free |
| pricing.transparent | yes | yes |
| release.history | `[{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server%405.5.1","date":"2026-05-05T16:06:05Z","type":"stable","version":"@apollo/server@5.5.1"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-integration-testsuite%405.5.1","date":"2026-05-05T16:06:02Z","type":"stable","version":"@apollo/server-integration-testsuite@5.5.1"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/usage-reporting-protobuf%404.1.2","date":"2026-05-04T16:35:44Z","type":"stable","version":"@apollo/usage-reporting-protobuf@4.1.2"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server%405.5.0","date":"2026-03-24T19:49:16Z","type":"stable","version":"@apollo/server@5.5.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-integration-testsuite%405.5.0","date":"2026-03-24T19:49:19Z","type":"stable","version":"@apollo/server-integration-testsuite@5.5.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server%405.4.0","date":"2026-02-04T10:58:26Z","type":"stable","version":"@apollo/server@5.4.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server%404.13.0","date":"2026-02-04T10:56:52Z","type":"stable","version":"@apollo/server@4.13.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-integration-testsuite%405.4.0","date":"2026-02-04T10:58:23Z","type":"stable","version":"@apollo/server-integration-testsuite@5.4.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-integration-testsuite%404.13.0","date":"2026-02-04T10:56:49Z","type":"stable","version":"@apollo/server-integration-testsuite@4.13.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server%405.3.0","date":"2026-01-21T11:46:10Z","type":"stable","version":"@apollo/server@5.3.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-integration-testsuite%405.3.0","date":"2026-01-21T11:46:07Z","type":"stable","version":"@apollo/server-integration-testsuite@5.3.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server%405.2.0","date":"2025-11-21T23:19:03Z","type":"stable","version":"@apollo/server@5.2.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-integration-testsuite%405.2.0","date":"2025-11-21T23:19:00Z","type":"stable","version":"@apollo/server-integration-testsuite@5.2.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server%405.1.0","date":"2025-10-28T15:47:16Z","type":"stable","version":"@apollo/server@5.1.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-integration-testsuite%405.1.0","date":"2025-10-28T15:47:13Z","type":"stable","version":"@apollo/server-integration-testsuite@5.1.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server%405.1.0-rc.0","date":"2025-10-21T17:16:53Z","type":"prerelease","version":"@apollo/server@5.1.0-rc.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-plugin-response-cache%405.0.1-rc.0","date":"2025-10-21T17:16:50Z","type":"prerelease","version":"@apollo/server-plugin-response-cache@5.0.1-rc.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-integration-testsuite%405.1.0-rc.0","date":"2025-10-21T17:16:47Z","type":"prerelease","version":"@apollo/server-integration-testsuite@5.1.0-rc.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server%405.0.0","date":"2025-07-17T16:58:26Z","type":"stable","version":"@apollo/server@5.0.0"},{"url":"https://github.com/apollographql/apollo-server/releases/tag/%40apollo/server-plugin-response-cache%405.0.0","date":"2025-07-17T16:58:23Z","type":"stable","version":"@apollo/server-plugin-response-cache@5.0.0"}]` | `[{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.4","date":"2026-08-05T13:36:30Z","type":"stable","version":"postgraphile@5.1.4"},{"url":"https://github.com/graphile/crystal/releases/tag/grafast%401.1.2","date":"2026-08-05T13:36:32Z","type":"stable","version":"grafast@1.1.2"},{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.3","date":"2026-08-04T07:44:26Z","type":"stable","version":"postgraphile@5.1.3"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build-pg%405.1.3","date":"2026-08-04T07:44:29Z","type":"stable","version":"graphile-build-pg@5.1.3"},{"url":"https://github.com/graphile/crystal/releases/tag/grafast%401.1.1","date":"2026-08-04T07:44:32Z","type":"stable","version":"grafast@1.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.2","date":"2026-07-29T07:07:04Z","type":"stable","version":"postgraphile@5.1.2"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build%405.1.1","date":"2026-07-29T07:07:01Z","type":"stable","version":"graphile-build@5.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build-pg%405.1.2","date":"2026-07-29T07:07:07Z","type":"stable","version":"graphile-build-pg@5.1.2"},{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.1","date":"2026-07-22T10:38:15Z","type":"stable","version":"postgraphile@5.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-utils%405.0.3","date":"2026-07-22T10:38:12Z","type":"stable","version":"graphile-utils@5.0.3"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build-pg%405.1.1","date":"2026-07-22T10:38:09Z","type":"stable","version":"graphile-build-pg@5.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/%40dataplan/pg%401.1.1","date":"2026-07-22T10:38:06Z","type":"stable","version":"@dataplan/pg@1.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/ruru%402.0.1","date":"2026-07-13T14:39:46Z","type":"stable","version":"ruru@2.0.1"},{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.0","date":"2026-07-13T14:39:40Z","type":"stable","version":"postgraphile@5.1.0"},{"url":"https://github.com/graphile/crystal/releases/tag/pgl%405.0.1","date":"2026-07-13T14:40:13Z","type":"stable","version":"pgl@5.0.1"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile%405.1.0","date":"2026-07-13T14:39:58Z","type":"stable","version":"graphile@5.1.0"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-utils%405.0.2","date":"2026-07-13T14:40:07Z","type":"stable","version":"graphile-utils@5.0.2"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-config%401.1.0","date":"2026-07-13T14:39:37Z","type":"stable","version":"graphile-config@1.1.0"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build%405.1.0","date":"2026-07-13T14:40:10Z","type":"stable","version":"graphile-build@5.1.0"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build-pg%405.1.0","date":"2026-07-13T14:39:55Z","type":"stable","version":"graphile-build-pg@5.1.0"}]` |
| reliability.status_page | yes | yes |
| security.gdpr | yes | - |
| security.scorecard | 5.8 | - |
| security.vulnerabilities | `{"count":5,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=apollo-server-core&per_page=100","last_12m":1,"max_severity":"MODERATE"}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=pg-sql2&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (GraphQL Tools)

| Capability | Apollo GraphQL | PostGraphile |
|---|:--:|:--:|
| **Core** |  |  |
| Role | Gateway / federation | DB-to-GraphQL |
| Primary language | API-agnostic (supports any GraphQL API regardless of implementation language) | JavaScript/TypeScript |
| **Modelling** |  |  |
| Schema approach | DB introspection | DB introspection |
| **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: Vioscale. Generated 2026-09-01T16:35:01.932Z. "-" = undocumented, not absent.*
