BAML
Typed LLM functions compiled to native code, not a prompt wrapper.
Overview
BAML is a free, open-source DSL from Y Combinator-backed BoundaryML that turns LLM prompts into typed functions with schema-validated outputs, compiling to native Python, TypeScript, Go, Ruby and more. Built for teams tired of hand-rolled JSON parsing around LLM calls.
Pricing
Pricing shown for reference only. These figures reflect RECATOOLS research as of 4 Sep 2026 and may be out of date or incomplete. This is not financial or purchasing advice — always confirm the current price on the provider’s official website before making any decision.
What you can produce with BAML
- Typed LLM functions with schema-validated output
- Codegen for Python, TypeScript, Go, Ruby, Java, C#, Rust
- VS Code and JetBrains extensions for live prompt testing
- Built-in retries and streaming without async boilerplate
- Open source under Apache-2.0
- Runs entirely locally — no calls to BoundaryML servers
BAML treats the LLM call itself as the unreliable part of the stack and fixes that at the language level: you write a schema, BAML generates a strict client and parser that either returns valid data or fails loudly, instead of an `any` type drifting into production. The syntax reads like TypeScript, the VS Code and JetBrains plugins let you test prompts inline, and codegen covers Python, TypeScript, Go, Ruby, Java, C# and Rust. It's genuinely free and open source under Apache-2.0, with 8,500+ GitHub stars and a small YC-backed team behind it (BoundaryML disclosed only a modest $130K seed in 2023). The catch: it's a new language to learn, tooling outside the officially supported clients is thin, and a paid Cloud tier for observability and team controls is announced but still not shipped as of mid-2026. Best for teams already fighting brittle JSON-mode prompts in production.
What people say
BAML's growth is mostly a GitHub story: the project has crossed 8,500 stars on the BoundaryML/baml repo, respectable traction for a language people have to learn just to try it, and Hacker News threads on structured LLM output regularly cite it as one of the more thought-through approaches, alongside function calling and Instructor-style libraries.
What developers describe once they adopt it is a shift in default assumption: instead of hoping the model returns valid JSON, BAML fails the call outright when the schema doesn't match, then gives you retries and streaming as built-in language features rather than something you write yourself. Because it compiles to native code in the target language, integration into an existing codebase looks like importing a generated module, not calling out to a separate service.
The tradeoffs people flag: it's a real DSL, so there's a learning curve, and you're depending on BoundaryML's compiler and VS Code/JetBrains extensions for iteration speed rather than editing plain-text prompt files. Community discussion treats it as one option among several — function calling, Instructor, Outlines, Pydantic-based approaches — rather than a default choice, and adoption is concentrated among teams already deep in reliability problems with unstructured LLM output.
On the company side, Boundary is YC-backed and based in Seattle, and has disclosed only a small $130K raise from 2023 — more recent funding isn't public. The core language stays free and Apache-2.0 licensed regardless of what the company does commercially; a paid Cloud layer for observability and team governance is promised but, as of mid-2026, still described on BoundaryML's own pricing page as "coming later this year" rather than shipped. That leaves BAML as a tool you adopt for the open-source compiler today, not for any hosted service. The compiler itself is written in Rust, which shows up in practice as fast type generation even on large schema files — one of the few concrete performance claims that holds up regardless of which target language you're generating clients for.
Summary of public user & expert reviews, compiled by RECATOOLS.
About this listing
This entry was compiled from publicly available data including BAML's official website, press releases, documentation, and reputable third-party publications. RECATOOLS is not affiliated with BAML unless explicitly stated.
Third-party AI tools update their pricing, features, availability, and policies frequently. Information here may be outdated by the time you read this — we make reasonable efforts to keep listings current, but cannot guarantee absolute accuracy.
For the latest details, please refer to BAML directly →
Spotted something out of date? Suggest an update →
More in Code & Dev Tools