BBC Consumer Contracts vs Pact Broker
BBC Consumer Contracts
github.comPact Broker
github.comSide by side
| Figure | BBC Consumer Contracts | Pact Broker |
|---|---|---|
| Price from | Free | $115.42/mo |
| Free plan | Yes | Yes |
| Free trial | — | Yes |
| Open source | — | — |
| Web | — | Yes |
| Linux | — | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 5 |
| Spec score · Contract Testing Tools | 8.1 (#8) | 8.1 (#9) |
| Integrations | The project uses the request HTTP client and Joi for response validation. | The project documents Docker deployment, Terraform on AWS, PostgreSQL, and SQLite for quick-start and CI use; SQLite is not supported for long-term broker operation. |
| License | The repository license identifies Apache License 2.0 and says to contact the BBC for an alternative licence. | The Pact Broker repository is published under the MIT license. |
| Purpose | Consumer Contracts lets API consumers define executable JavaScript contracts describing the responses they expect from services. | Pact Broker shares consumer-driven contracts and verification results, and is optimized for Pact contracts while also accepting contracts serializable to JSON. |
Plans
Pact Broker
- Pact Broker (self-hosted)Free
- Starter (PactFlow)Free
- Team (yearly, PactFlow)$115.42 a month
- Team (monthly, PactFlow)$127 a month
- Enterprise (PactFlow)Priced on request
In their own words
BBC Consumer Contracts
BBC Consumer Contracts is a free JavaScript package for executable consumer-driven API contracts. It describes the requests a consumer makes and the responses expected in return. Every contract requires consumer, name, request, and response properties. The package uses the request HTTP client and Joi schemas to check response status codes, headers, and JSON bodies. Optional before and after functions support setup and cleanup, using callbacks or asynchronous functions. Retry behavior accepts numeric or custom settings; the documented default maximum is zero. The consumer-contracts run command validates contracts recursively in a contracts directory or runs one named file. Programmatic callers can pass an array to validateContracts, which runs every contract instead of stopping at the first failure. Installation instructions cover global CLI use and local pnpm development dependencies. It requires Node.js 18 or later and pnpm 10 or later, and supports API and self-hosted use under Apache License 2.0.
Pact Broker
Pact Broker shares consumer-driven contracts and verification results so teams can check compatibility between consumer and provider versions before deployment. It is designed for Pact contracts and also accepts contracts that can be represented as JSON. In a CI workflow, consumer builds publish contracts, provider builds retrieve and verify them, and consumers can use the can-i-deploy command to check whether deployment is safe. The broker includes a REST API, embedded API browser, generated documentation, service network diagrams, verification results and status badges. Webhooks can respond to contract changes by triggering actions such as a provider build or Slack notification. Deployment options documented include Docker and Terraform on AWS; PostgreSQL and SQLite are listed, though SQLite is not supported for long-term operation. Docker images support linux/amd64 and linux/arm64. The open-source self-hosted broker is free, with users responsible for hosting, operation, security, maintenance and upgrades. PactFlow plans are also listed: Starter is free, while Team costs $115.42 a month billed yearly or $127 a month billed monthly.