Chromatic

Chromatic is a cloud visual testing and UI review platform built by the maintainers of Storybook. It captures snapshots of components and pages across cloud browsers, then compares each new snapshot to a stored baseline to catch visual regressions in appearance, layout, fonts, and color. Chromatic runs visual tests, interaction tests, and accessibility (axe) tests against Storybook, Playwright, and Cypress, with UI Review, TurboSnap change detection, and Git/CI integration. Its primary developer surface is the Chromatic CLI, which uploads builds and drives testing over a documented public GraphQL API at index.chromatic.com used by the CLI and the Storybook Visual Tests addon.

Chromatic publishes 4 APIs on the APIs.io network, including Builds API, Tests and Review API, Projects and Accounts API, and 1 more. Tagged areas include Visual Testing, Visual Regression, Storybook, UI Testing, and Snapshot Testing.

Chromatic’s developer surface includes documentation, engineering blog, and 6 more developer resources.

21.6/100 emerging ▬ flat Agent 7/100 human only Full breakdown ↓
scored 2026-07-20 · rubric v0.4
4 APIs 0 Features
Visual TestingVisual RegressionStorybookUI TestingSnapshot TestingFrontendGraphQL

API Rating

API Evangelist API Evangelist Rating How this is scored →
scored 2026-07-20 · rubric v0.4
Composite quality — 21.6/100 · emerging
Contract Quality 0.0 / 25
Developer Ergonomics 2.2 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 4.8 / 13
Governance 0.0 / 12
Discoverability 6.8 / 10
Agent readiness — 7/100 · human only
Machine-Readable Contract 0 / 18
Agentic Access Contract 0 / 15
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/chromatic: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs

Chromatic Builds API

Query builds produced by the Chromatic CLI - the `build(id)` and `project.lastBuild(...)` GraphQL fields expose build number, status (IN_PROGRESS, PASSED, PENDING, ACCEPTED, DEN...

Chromatic Tests and Review API

Inspect and act on individual visual tests. A Test carries its status, result, baseline, and per-browser snapshot comparisons (TestComparison with base/head captures and pixel d...

Chromatic Projects and Accounts API

Resolve project and account context. The `project(id)` field returns the project name, enabled features (uiReview, uiTests), branch names, project token, and manage/web URLs; `a...

Chromatic Storybook and Stories API

Read the published Storybook and its structure. The `storybook(url)` query and the Story and Component node types expose the components and stories captured in a build, their CS...

Collections

GraphQL

Chromatic GraphQL API

Chromatic is a cloud visual testing and UI review platform built by the maintainers

GRAPHQL

Pricing Plans

Chromatic Plans Pricing

4 plans

PLANS

Rate Limits

Chromatic Rate Limits

3 limits

RATE LIMITS

FinOps

Resources

Documentation 1

Reference material describing how the API behaves

Build 1

SDKs, sample code, and the tooling you integrate with

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
opencollection: 1.0.0
info:
  name: Chromatic Public GraphQL API
  version: '1.0'
request:
  auth:
    type: bearer
    token: '{{chromaticToken}}'
  baseUrl: https://index.chromatic.com/graphql
items:
- info:
    name: Builds
    type: folder
  items:
  - info:
      name: Get a build by ID.
      type: http
    http:
      method: POST
      url: https://index.chromatic.com/graphql
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"query Build($id: ID!) { build(id: $id) { id number status ... on CompletedBuild { result browsers
          { key } branch commit componentCount specCount storybookUrl webUrl } } }","variables":{"id":"BUILD_ID"}}'
    docs: Fetch a single build with status, result, browsers, Git metadata, component/story counts, and published Storybook
      URLs.
  - info:
      name: Get the last build for a project.
      type: http
    http:
      method: POST
      url: https://index.chromatic.com/graphql
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"query LastBuild($id: ID!) { project(id: $id) { lastBuild(defaultBranch: true, statuses: [PASSED,
          PENDING, ACCEPTED]) { id number status } } }","variables":{"id":"PROJECT_ID"}}'
    docs: Retrieve the most recent build for a project, filtered by branch, status, and result.
- info:
    name: Tests and Review
    type: folder
  items:
  - info:
      name: List tests for a completed build.
      type: http
    http:
      method: POST
      url: https://index.chromatic.com/graphql
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"query Tests($id: ID!) { build(id: $id) { ... on CompletedBuild { testCount(statuses: [PENDING]) tests(first:
          20) { edges { node { id status result story { name } comparisons { result browser { key } } } } } } } }","variables":{"id":"BUILD_ID"}}'
    docs: List visual tests on a completed build with per-browser snapshot comparisons and diffs.
  - info:
      name: Review a test (accept / deny / reset).
      type: http
    http:
      method: POST
      url: https://index.chromatic.com/graphql
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"mutation ReviewTest($input: ReviewTestInput!) { reviewTest(input: $input) { updatedTests { id status
          } userErrors { message } } }","variables":{"input":{"testId":"TEST_ID","status":"ACCEPTED","batch":"SPEC"}}}'
    docs: Accept, deny, or reset a visual test, optionally batched across the spec, component, or whole build.
- info:
    name: Projects and Accounts
    type: folder
  items:
  - info:
      name: Get a project.
      type: http
    http:
      method: POST
      url: https://index.chromatic.com/graphql
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"query Project($id: ID!) { project(id: $id) { id name features { uiReview uiTests } branchNames webUrl
          } }","variables":{"id":"PROJECT_ID"}}'
    docs: Resolve project name, enabled features, branch names, and web URLs.
  - info:
      name: Get the authenticated viewer.
      type: http
    http:
      method: POST
      url: https://index.chromatic.com/graphql
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"query Viewer { viewer { id } }"}'
    docs: Return the authenticated user for the supplied token.
  - info:
      name: Create a CLI token.
      type: http
    http:
      method: POST
      url: https://index.chromatic.com/graphql
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"mutation CreateCLIToken($projectId: String!) { createCLIToken(projectId: $projectId) }","variables":{"projectId":"PROJECT_ID"}}'
    docs: Mint a short-lived CLI token from a project ID for authenticating build uploads.
- info:
    name: Storybook and Stories
    type: folder
  items:
  - info:
      name: Get a published Storybook by URL.
      type: http
    http:
      method: POST
      url: https://index.chromatic.com/graphql
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"query Storybook($url: URL!) { storybook(url: $url) { __typename } }","variables":{"url":"https://STORYBOOK_URL"}}'
    docs: Read the published Storybook for a build and its components/stories.