Skip to content
SPECIFICTION
Get listed

BBC Consumer Contracts vs Pact

BBC Consumer Contracts

github.com

Pact

pact.io

Side by side

FigureBBC Consumer ContractsPact
Price fromFree$115.42/mo
Free planYesYes
Free trial—Yes
Open source——
Windows—Yes
macOS—Yes
Linux—Yes
APIYesYes
Self-hostedYesYes
Plans published15
Spec score · Contract Testing Tools8.1 (#8)8.7 (#2)
IntegrationsThe project uses the request HTTP client and Joi for response validation.PactFlow's Bi-Directional Contract Testing integrates with OpenAPI and lists Cypress, Postman and Wiremock as tools for writing contracts.
PurposeConsumer Contracts lets API consumers define executable JavaScript contracts describing the responses they expect from services.Pact is a code-first tool for testing HTTP and message integrations with contract tests.
SecurityThe README shows SSL request configuration options, including client certificates and a strictSSL setting, but states no security certification or compliance claim.PactFlow says it encrypts data at rest with AES-256, enforces TLS 1.2 or higher, and stores data and backups in AWS Sydney.

Plans

BBC Consumer Contracts

  • Consumer ContractsFree

BBC Consumer Contracts pricing →

Pact

  • PactFlow StarterFree
  • Pact open-source toolingFree
  • PactFlow Team (yearly)$115.42 a month
  • PactFlow Team (monthly)$127 a month
  • PactFlow EnterprisePriced on request

Pact pricing →

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.

Visit github.com

Pact

Pact is a free, code-first tool for testing HTTP and message integrations with contract tests. Automated consumer tests create contracts describing concrete interactions between consumer and provider applications. Teams can then test each side in isolation against that shared contract, without deploying the entire system. Pact implementations are available for more than 10 languages, including JavaScript, Java, .NET, Go, Python, Ruby, Swift and Objective-C, Scala, Rust, PHP, and C++. Its CLI includes mock and stub servers, a provider verifier, a broker client, and a plugin CLI. The open-source Pact Broker shares contracts and verification results; teams can host and administer it themselves, and use its CI/CD workflows to check whether application versions can be deployed together. The verifier supports HTTP and asynchronous and synchronous messages, while plugins include gRPC, Avro, and CSV support. Documentation includes recipes for tools and scenarios such as GraphQL, Cypress, Kafka, and AWS Lambda. Pact is most useful when teams control both consumer and provider development. The free Broker is self-hosted, leaving its security, maintenance, and upgrades to its operator.

Visit pact.io