Built for readers
Search, stable routes, focused endpoint pages, and responsive layouts make a large API feel smaller.
Speccy turns an OpenAPI document into a reference people can use, a workspace for exploring it, and checks that catch problems before they ship.
npm install speccy-rendereropenapi: 3.1.0
info:
title: Orchard API
paths:
/orchards:
get: …Searchable docs and live requests
GET /orchardsExplore and review any spec
12 health checksCatch breaking changes in pull requests
Ready to mergeSpeccy reads OpenAPI 3.x and Swagger 2 directly. There’s no second content model to maintain, no generated Markdown to review, and no theme maze between you and your API.
Search, stable routes, focused endpoint pages, and responsive layouts make a large API feel smaller.
Parameter inputs, authorization, code samples, and live requests sit beside the endpoint they belong to.
React, Docusaurus, the web studio, and the Mac app share the same rendering core and visual language.
Explore the complete renderer, drop focused components into a guide, review a contract change, or work with the same model directly in code.
Searchable navigation, endpoint detail, examples, schemas, and live requests come from one OpenAPI document.
Explore reference renderer →Use the same method badges, links, cards, and examples inside guides, tutorials, changelogs, or your own React UI.
Explore react components →Find an orchard, then create picking work for the next available window.
GET/orchards Open reference POST/orchards/{orchardId}/harvests Schedule a harvestCreate picking work for an orchard and crop.View operation /orchards/{orchardId}/harvests Open API reference /orchards/{orchardId}/harvests{ "startsAt": "2026-09-14T07:00:00Z", "crop": "apple", "crewSize": 8}Speccy compares the base and revision specs, groups semantic changes by severity, and publishes the same review in GitHub or your terminal.
Explore ci review →Orchard API 1.3.0 Orchard API 1.4.0
/orchards/{orchardId}/harvestsParse, normalize, analyze, and compare OpenAPI documents with typed functions that run in Node, CI, or the browser.
Explore in-code tooling →import { analyzeOpenApi, diffSpecs } from 'speccy-core';
const diagnostics = analyzeOpenApi(spec);
const changes = diffSpecs(previous, spec);
return {
issues: diagnostics.filter((diagnostic) => diagnostic.severity === 'issue'),
breaking: changes.changes.filter((change) => change.severity === 'breaking'),
};Render any parsed object, YAML string, or JSON string inside your app.
Explore →DocusaurusGenerate reference routes at build time, or embed a spec directly in MDX.
Explore →StudioOpen, paste, or fetch a spec and see the finished reference immediately.
Explore →Follow the source, inspect each release, or install the renderer directly into your React app.