Home
Providers
Bazel
Bazel
Bazel is a fast, scalable, multi-language and extensible build tool open-sourced by Google. It supports software projects of any size across Java, C++, Go, Python, Rust, Swift, Kotlin, Scala, Android, iOS, and many other languages and platforms. Bazel uses a hermetic, sandboxed execution model with content-addressable caching, parallel builds, and remote execution. The project ships the `bazel` CLI, the Starlark extension language for build rules, the MODULE.bazel external-dependency system (Bzlmod), and the Bazel Central Registry — a public HTTP index registry that hosts community-maintained Bazel modules.
Bazel publishes 2 APIs on the APIs.io network: Modules API and Registry API. Tagged areas include Build Systems, Build Tool, Bzlmod, CI/CD, and Developer Tools.
The Bazel catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.
Bazel’s developer surface includes developer portal, documentation, getting-started guide, API reference, engineering blog, changelog, Stack Overflow tag, and 41 more developer resources.
6 APIs
12 Features
Build Systems Build Tool Bzlmod CI/CD Developer Tools Hermetic Builds Monorepo Open Source Remote Execution Starlark
On this page
Kin Score
APIs 6
Open Collections 1
Features 12
Vocabularies 1
Spectral Rules 2
JSON Schema 3
Examples 2
Security Posture 1
Agentic Access 1
Resources 48
apis.yml
37 Operational Transparency
Composite quality — 49.9/100 · developing
Contract Quality
17.8 / 25
Developer Ergonomics
10.4 / 20
Commercial Clarity
2.1 / 20
Operational Transparency
4.8 / 13
Agent readiness — 25/100 · agent aware
Machine-Readable Contract
18 / 18
Agentic Access Contract
10 / 10
MCP Server
0 / 12
Machine-Readable Auth
0 / 10
Idempotency
0 / 9
Stable Error Semantics
0 / 8
Request/Response Examples
7 / 7
Rate-Limit Signaling
0 / 7
Typed Event Surface
0 / 6
Agent Skills
0 / 5
Well-Known Catalog
0 / 4
Consent & Bot Identity
0 / 3
A2A Agent Card
0 / 8
Dry-Run / Simulate Mode
0 / 4
Individual APIs this provider publishes, each with its own machine-readable definition.
Open, tool-agnostic API collections (OpenAPI-derived and Bruno).
Notable capabilities this provider offers.
Scroll for all 12
JSON-LD contexts and semantic vocabularies used across these APIs.
Spectral governance rulesets for linting and validating these APIs.
Standalone JSON Schema definitions for this provider's data models.
Example request and response payloads for these APIs.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Recommended x-agentic-access execution contracts for AI agents.
Get Started 2
Portal, sign-up, and the first successful call
Documentation 2
Reference material describing how the API behaves
Agent Surfaces 1
MCP servers, agent skills, and machine-readable catalogs
Design & Contract 3
Pagination, idempotency, versioning, errors, and events
Build 29
SDKs, sample code, and the tooling you integrate with
Scroll for all 29
Access & Security 2
Authentication, authorization, and security posture
Operate 5
Status, limits, changes, and where to get help
Commercial 2
Pricing, plans, and the legal terms of use
Company 1
The organization behind the API
Other 1
Properties that don't map to a standard resource type
Source (apis.yml)
aid: bazel-build
name: Bazel
description: Bazel is a fast, scalable, multi-language and extensible build tool open-sourced by Google. It supports software
projects of any size across Java, C++, Go, Python, Rust, Swift, Kotlin, Scala, Android, iOS, and many other languages and
platforms. Bazel uses a hermetic, sandboxed execution model with content-addressable caching, parallel builds, and remote
execution. The project ships the `bazel` CLI, the Starlark extension language for build rules, the MODULE.bazel external-dependency
system (Bzlmod), and the Bazel Central Registry — a public HTTP index registry that hosts community-maintained Bazel modules.
type: Index
accessModel:
pricing: unknown
onboarding: unknown
trial: false
try_now: false
public: false
label: Unknown
confidence: low
source: []
generated: '2026-07-22'
method: derived
position: Consumer
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/bazel-build.png
tags:
- Build Systems
- Build Tool
- Bzlmod
- CI/CD
- Developer Tools
- Hermetic Builds
- Monorepo
- Open Source
- Remote Execution
- Starlark
created: '2026-05-25'
modified: '2026-05-25'
url: https://raw.githubusercontent.com/api-evangelist/bazel-build/refs/heads/main/apis.yml
specificationVersion: '0.19'
apis:
- aid: bazel-build:bazel-cli
name: Bazel Command Line Interface
description: The `bazel` command line tool is the primary user-facing surface of Bazel. It exposes commands such as `build`,
`test`, `run`, `query`, `cquery`, `aquery`, `mod`, `fetch`, `info`, `coverage`, and `clean`, plus the BEP/BES streaming
protocols for build event publishing. Bazelisk is the recommended launcher that pins the Bazel version per project via
.bazelversion.
humanURL: https://bazel.build/reference/command-line-reference
tags:
- CLI
- Commands
- Tooling
properties:
- type: Documentation
url: https://bazel.build/reference/command-line-reference
- type: Documentation
url: https://bazel.build/run/build
- type: Documentation
url: https://bazel.build/query/language
- type: Tools
url: https://github.com/bazelbuild/bazel
- type: Tools
url: https://github.com/bazelbuild/bazelisk
- aid: bazel-build:bazel-starlark-api
name: Bazel Starlark Build API
description: Bazel's build rules, macros, and module extensions are written in Starlark — a deterministic Python dialect.
The Starlark Build API exposes the rule(), repository_rule(), module_extension(), aspect(), and provider() primitives
used to declare build targets, generate actions, and integrate new languages. BUILD, BUILD.bazel, .bzl, MODULE.bazel,
and WORKSPACE files are all evaluated by this API.
humanURL: https://bazel.build/rules
tags:
- BUILD
- DSL
- Extension
- Rules
- Starlark
properties:
- type: Documentation
url: https://bazel.build/rules
- type: Documentation
url: https://bazel.build/rules/language
- type: Documentation
url: https://bazel.build/extending/concepts
- type: APIReference
url: https://bazel.build/rules/lib/starlark-overview
- aid: bazel-build:bazel-remote-execution-api
name: Bazel Remote Execution API
description: Bazel speaks the open Remote Execution API (REAPI), a gRPC protocol for content-addressable storage and distributed
action execution. REAPI lets Bazel offload compile, test, and link actions to a remote build farm and share a Content-Addressable
Store (CAS) and Action Cache across users and CI runners. Bazel implements the client side; servers such as BuildBuddy,
EngFlow, Buildbarn, Buildfarm, and Google RBE implement the server side.
humanURL: https://github.com/bazelbuild/remote-apis
tags:
- CAS
- Caching
- Distributed Builds
- gRPC
- Remote Execution
properties:
- type: Documentation
url: https://bazel.build/remote/rbe
- type: Documentation
url: https://bazel.build/remote/caching
- type: GitHubRepository
url: https://github.com/bazelbuild/remote-apis
- type: ProtocolBuffer
url: https://github.com/bazelbuild/remote-apis/blob/main/build/bazel/remote/execution/v2/remote_execution.proto
- aid: bazel-build:bazel-build-event-protocol
name: Bazel Build Event Protocol
description: The Build Event Protocol (BEP) is Bazel's structured stream of build events — target configured, progress,
test results, action executed, build finished — emitted during every invocation. BEP can be written to a local file (--build_event_json_file
/ --build_event_binary_file) or streamed via gRPC to a Build Event Service (BES) backend for build observability, flake
analysis, and CI dashboards.
humanURL: https://bazel.build/remote/bep
tags:
- BEP
- BES
- Build Events
- Observability
- Streaming
properties:
- type: Documentation
url: https://bazel.build/remote/bep
- type: Documentation
url: https://bazel.build/remote/bep-examples
- type: ProtocolBuffer
url: https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto
- aid: bazel-build:bazel-build-modules-api
name: Bazel Modules API
description: Per-module metadata and version manifests
humanURL: https://registry.bazel.build/
baseURL: https://bcr.bazel.build
tags:
- Modules
properties:
- type: OpenAPI
url: openapi/bazel-build-modules-api-openapi.yml
- type: Documentation
url: https://bazel.build/external/registry
- type: Documentation
url: https://bazel.build/external/module
- type: Portal
url: https://registry.bazel.build/
- type: JSONSchema
url: json-schema/bcr-bazel-registry-schema.json
- type: JSONSchema
url: json-schema/bcr-metadata-schema.json
- type: JSONSchema
url: json-schema/bcr-source-schema.json
- type: GitHubRepository
url: https://github.com/bazelbuild/bazel-central-registry
- aid: bazel-build:bazel-build-registry-api
name: Bazel Registry API
description: Registry-wide metadata
humanURL: https://registry.bazel.build/
baseURL: https://bcr.bazel.build
tags:
- Registry
properties:
- type: OpenAPI
url: openapi/bazel-build-registry-api-openapi.yml
- type: Documentation
url: https://bazel.build/external/registry
- type: Documentation
url: https://bazel.build/external/module
- type: Portal
url: https://registry.bazel.build/
- type: JSONSchema
url: json-schema/bcr-bazel-registry-schema.json
- type: JSONSchema
url: json-schema/bcr-metadata-schema.json
- type: JSONSchema
url: json-schema/bcr-source-schema.json
- type: GitHubRepository
url: https://github.com/bazelbuild/bazel-central-registry
common:
- type: AgenticAccess
url: agentic-access/bazel-build-agentic-access.yml
- type: DomainSecurity
url: security/bazel-build-domain-security.yml
- type: Portal
url: https://bazel.build/
- type: Documentation
url: https://bazel.build/docs
- type: GettingStarted
url: https://bazel.build/start
- type: APIReference
url: https://bazel.build/reference
- type: Blog
url: https://blog.bazel.build/
- type: GitHubOrganization
url: https://github.com/bazelbuild
- type: GitHubRepository
url: https://github.com/bazelbuild/bazel
- type: GitHubRepository
url: https://github.com/bazelbuild/bazel-central-registry
- type: GitHubRepository
url: https://github.com/bazelbuild/bazelisk
- type: GitHubRepository
url: https://github.com/bazelbuild/buildtools
- type: GitHubRepository
url: https://github.com/bazelbuild/bazel-gazelle
- type: GitHubRepository
url: https://github.com/bazelbuild/bazel-skylib
- type: GitHubRepository
url: https://github.com/bazelbuild/remote-apis
- type: ChangeLog
url: https://github.com/bazelbuild/bazel/releases
- type: Issues
url: https://github.com/bazelbuild/bazel/issues
- type: RoadMap
url: https://bazel.build/about/roadmap
- type: Governance
url: https://bazel.build/contribute/contribution-policy
- type: TermsOfService
url: https://github.com/bazelbuild/bazel/blob/master/LICENSE
- type: Security
url: https://bazel.build/about/security
- type: Forums
url: https://slack.bazel.build/
- type: StackOverflow
url: https://stackoverflow.com/questions/tagged/bazel
- type: Tools
url: https://github.com/bazelbuild/bazelisk
name: Bazelisk (Bazel version launcher)
- type: Tools
url: https://github.com/bazelbuild/buildtools
name: Buildifier, Buildozer, Unused_deps formatters
- type: Tools
url: https://github.com/bazelbuild/bazel-gazelle
name: Gazelle BUILD file generator
- type: SDKs
url: https://github.com/bazelbuild/rules_java
name: rules_java
- type: SDKs
url: https://github.com/bazelbuild/rules_cc
name: rules_cc
- type: SDKs
url: https://github.com/bazelbuild/rules_python
name: rules_python
- type: SDKs
url: https://github.com/bazelbuild/rules_go
name: rules_go
- type: SDKs
url: https://github.com/bazelbuild/rules_rust
name: rules_rust
- type: SDKs
url: https://github.com/bazelbuild/rules_swift
name: rules_swift
- type: SDKs
url: https://github.com/bazelbuild/rules_apple
name: rules_apple
- type: SDKs
url: https://github.com/bazelbuild/rules_kotlin
name: rules_kotlin
- type: SDKs
url: https://github.com/bazelbuild/rules_scala
name: rules_scala
- type: SDKs
url: https://github.com/bazelbuild/rules_nodejs
name: rules_nodejs
- type: SDKs
url: https://github.com/bazelbuild/rules_docker
name: rules_docker
- type: SDKs
url: https://github.com/bazelbuild/rules_oci
name: rules_oci
- type: SDKs
url: https://github.com/bazelbuild/rules_proto
name: rules_proto
- type: SDKs
url: https://github.com/bazelbuild/rules_pkg
name: rules_pkg
- type: SDKs
url: https://github.com/bazelbuild/bazel-skylib
name: bazel-skylib (common Starlark functions)
- type: Plugins
url: https://github.com/bazelbuild/intellij
name: IntelliJ / CLion / Android Studio plugin
- type: Plugins
url: https://github.com/bazelbuild/vscode-bazel
name: VS Code Bazel extension
- type: CodeExamples
url: https://github.com/bazelbuild/examples
name: Bazel examples repository
- type: Vocabulary
url: vocabulary/bazel-build-vocabulary.yml
- type: JSONLD
url: json-ld/bazel-build-context.jsonld
- type: SpectralRules
url: rules/bazel-build-rules.yml
- type: License
url: https://github.com/bazelbuild/bazel/blob/master/LICENSE
name: Apache License 2.0
- type: Features
data:
- name: Multi-Language Support
description: One build tool spans Java, C++, Go, Python, Rust, Swift, Kotlin, Scala, Android, iOS, Objective-C, and dozens
of community-maintained language rules.
- name: Hermetic, Reproducible Builds
description: Sandboxed action execution and explicit dependency declarations make Bazel builds reproducible across machines
and CI runners.
- name: Incremental Builds
description: Fine-grained action graph and Merkle-tree based caching mean only what changed gets rebuilt, even in monorepos
with millions of targets.
- name: Remote Caching and Execution
description: Bazel speaks the open Remote Execution API (REAPI) so teams can share a Content-Addressable Store and offload
actions to a remote build farm.
- name: Bzlmod External Dependencies
description: MODULE.bazel + the Bazel Central Registry replace the legacy WORKSPACE system with versioned, transitive,
registry-resolved modules.
- name: Starlark Extension Language
description: A deterministic Python-like DSL for writing custom rules, repository rules, module extensions, and aspects
without touching Bazel internals.
- name: Build Event Protocol
description: Every invocation emits a structured BEP/BES stream consumable by CI dashboards, observability tools, and
flake detectors.
- name: Query Languages
description: bazel query, cquery (configured), and aquery (action graph) let you inspect dependency graphs, configuration
transitions, and the actual actions Bazel will run.
- name: Toolchain Resolution
description: Platform-aware toolchain selection lets one BUILD graph target Linux, macOS, Windows, Android, iOS, and embedded
targets from the same source tree.
- name: Persistent Workers
description: Long-lived worker processes (javac, scalac, etc.) amortize JVM and compiler startup across many actions for
faster incremental builds.
- name: Bazel Central Registry
description: Default public index of Bazel modules at bcr.bazel.build with searchable UI at registry.bazel.build.
- name: Bazelisk Version Launcher
description: Pins the exact Bazel version per project via .bazelversion so every contributor and CI runner uses the same
build tool.
sources:
- https://bazel.build/
- https://github.com/bazelbuild/bazel
- https://github.com/bazelbuild/bazel-central-registry
- https://bazel.build/external/registry
- https://bazel.build/external/module
- https://bazel.build/remote/bep
- https://github.com/bazelbuild/remote-apis
updated: '2026-05-25'
maintainers:
- FN: Kin Lane
email: info@apievangelist.com
X: apievangelist
url: https://apievangelist.com