BAML

Typed LLM functions compiled to native code, not a prompt wrapper.

Code & Dev Tools Open Source Has API Open Source
Researched · Published · Reviewed
RECATOOLS Score
7.7 / 10
Capability
7.5
Value for money
8.5
Ease of use
6.5
ASEAN readiness
6.5
API quality
7.5
Founded
HQ
Users
Launched
Developer

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.

Advertisement

Pricing

Pricing shown for reference only. These figures reflect RECATOOLS research as of 12 Jul 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.

Free
Free
Free tier with core features.

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
Advertisement

ASEAN Perspective

BAML in Southeast Asia

ASEAN-region availability and pricing notes coming soon. Drop the editorial team a note via /contact/ if you can supply local context (Singapore/Malaysia/Indonesia/Thailand/Vietnam).

RECATOOLS Verdict

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.

Independent AI-assisted assessment by RECATOOLS.

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

Researched on
Published on
Last reviewed

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.

Data accuracy

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 →

Advertisement