A very common reason is a wrong site baseUrl configuration.\n

Current configured baseUrl = / (default value)\n

We suggest trying baseUrl = \n\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))

Skip to main content
Fast, flexible, secure backend for your web, mobile, and AI apps
Exograph is a powerful data modeling language and high-performance query engine that offers dynamically generated APIs
  • Model relational and vector data
  • First-class Postgres integration
  • Fine-grained access control
  • Query execution in < 20ms
  • Small memory footprint < 32MB
  • GraphQL APIs (REST & RPC coming soon)
  • Custom functions and interceptors
  • Deploy to AWS Lambda, Google Cloud, Fly.io & more
Exograph LogoExograph Logo
Describe your domain model, and Exograph will:
  • Automatically infer GraphQL API for it.
  • Create (and migrate) database schema for it.
  • Execute queries efficiently
Don't write SQL ever again.
@postgres
module EcommerceDatabase {
@access(true)
type Product {
@pk id: Int = autoIncrement()
name: String
description: String
price: Float
published: Boolean
department: Department
}

@access(true)
type Department {
@pk id: Int = autoIncrement()
name: String
products: Set<Product>?
}
}
Deploy Anywhere
Google CloudRailwayRailwayFlyFlyCloudFlare WorkersCloudFlare WorkersAzureAWS LambdaDocker
Integrates With
StripeMailgunResendResendAuth0Auth0OpenAIOpenAI

Awesome Developer Experience

Iterate fast with support for schema creation, migration, deployment, and more throughout the application lifecycle.
Exograph models fit right into your existing Git workflow.