Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Data API builder (DAB) is an open source, configuration-based engine that creates REST and GraphQL APIs for supported databases such as SQL Server, Azure Cosmos DB, PostgreSQL, and MySQL. DAB runs in any cloud or on-premises, and it's free to use. You configure it using a single JSON file, so you can expose database objects without writing a custom API.
Data API builder replaces most custom data APIs that perform generic CRUD (Create, Read, Update, Delete) operations against a database. DAB is independent of language, technology, and framework. It requires no application code and a single configuration file. Best of all, it’s truly free, with no premium tier, and runs statelessly anywhere.
Endpoint support
Data API builder supports both REST and GraphQL endpoints out of the box and simultaneously. With version 1.7 and later, DAB also supports Model Context Protocol (MCP) for agent apps with the same rich functionality.
DAB includes a cross-platform CLI, OpenTelemetry, and health checks. It also supports OpenAPI and Swagger for REST endpoints and Nitro (previously called Banana Cake Pop) for GraphQL endpoints.
Tip
Out-of-the-box endpoint features:
- Data Pagination
- Data Filtering
- Data Sorting
- Column Selection
- Stored Procedures
- Relationship navigation
Database support
Data API builder (DAB) supports multiple backend data sources simultaneously, including relational and NoSQL sources. Supported databases include SQL Server and Azure SQL, Azure Cosmos DB, PostgreSQL, and MySQL. For details and limitations by database, see Database-specific features.
Data API builder can connect to multiple data sources at the same time. You can combine relational sources with JSON or document databases and mix cloud and on-premises databases. This flexibility lets DAB support everything from simple setups to complex deployment topologies.
Security
Its stateless, Docker-friendly container can be secured with EasyAuth, Microsoft Entra Identity, or any JSON Web Token (JWT) server an enterprise chooses. It has a flexible policy engine, granular security controls, and automatically passes claims data to the SQL session context.
Architecture
This diagram breaks down the relationship between all of the components of the Data API builder. It starts with the database schema, which defines tables, views, and stored procedures. The DAB configuration file projects these objects into an abstraction layer. In that layer, you name entities, select or alias fields, define relationships, and apply permissions. At runtime, Data API builder reads this configuration to generate a consistent API surface, exposing the same entity model through REST and GraphQL endpoints. This separation lets you evolve the database independently while keeping a stable, secure contract for applications and clients.
You configure Data API builder with a single JSON file. In the file, you define:
- How the server connects to data sources
- Which tables, views, and stored procedures are exposed
- How entities are shaped, named, and related
- Which roles are allowed to access each operation
Deployment options
DAB works great with Azure Container Apps, Azure Container Instances, Azure Kubernetes Service, and Azure Web Apps for Containers. DAB works with these services while fully supporting custom, on-premises deployments.
Integrations and capabilities
DAB also integrates seamlessly with Application Insights. The configuration file can reflect relationships in the database or define new, virtual ones with support for hot reloading. GraphQL endpoints allow multiple nested Create statements within a single transaction, while REST endpoints feature in-memory caching and rich support for OData-like query string keywords.
Less code, more features
DAB can help reduce custom API code, shorten CI/CD pipelines, and introduce standards and advanced capabilities typically reserved for the largest development teams. It’s secure and feature-rich while remaining incredibly simple, scalable, and observable.
Open source
Data API builder is open source and released under the MIT license. The repository is available on GitHub at azure/data-api-builder.