Swagger UI is the gold standard for REST API documentation. But if you've tried to document a Firestore database with it, you've probably hit a wall. Firestore isn't a REST API — it's a document database with collections, subcollections, and nested data. It needs a different kind of tool.
What Is Swagger UI?
Swagger UI renders interactive documentation from OpenAPI specifications. It's designed for REST APIs: endpoints, HTTP methods, request/response bodies, status codes. If you're building a REST API, Swagger is excellent — it shows developers exactly how to call each endpoint, what parameters to send, and what responses to expect.
Why Swagger Doesn't Fit Firestore
Firestore is fundamentally different from a REST API:
No endpoints
Firestore uses collection references, not URL routes. There's no GET /users or POST /orders — you interact through the Firebase SDK with collection paths like users/{userId}/orders.
Collections ≠ routes
A Firestore collection is a group of documents with flexible schemas, not a REST resource with fixed request/response shapes. Subcollections add another dimension that REST doesn't model well.
Schema differs from API contracts
OpenAPI describes HTTP interfaces. Firestore needs document-level schema: field types, validation rules, nested objects, and the relationships between collections and subcollections.
What Is FireSchema?
FireSchema is purpose-built for document databases. Instead of OpenAPI specs, it uses JSON Schema files — one per collection — organized in folders that mirror your Firestore hierarchy. It renders an interactive viewer that shows your collections tree, document fields, types, and descriptions. JSON Schema.
Feature Comparison
| Feature | Swagger UI | FireSchema |
|---|---|---|
| Designed for | REST APIs | NoSQL databases |
| Spec format | OpenAPI (YAML/JSON) | JSON Schema |
| Data model | Endpoints & methods | Collections & documents |
| Subcollections | Not supported | Folder = hierarchy |
| Backend required | Often yes | Never |
| Setup time | Minutes to hours | Under 5 minutes |
| Try-it-out calls | Yes (API calls) | No (read-only docs) |
When to Use Each
Use Swagger UI when:
- -You have a REST API with HTTP endpoints
- -You need interactive API testing (try-it-out)
- -Your team already uses OpenAPI specifications
Use FireSchema when:
- -You use Firestore or any document database
- -You want to document your data model (not API endpoints)
- -You need zero-backend docs that work as static files
- -You want to get started in under 5 minutes
Use both when:
Your project has a REST API backed by Firestore. Use Swagger for the API layer and FireSchema for the database layer.
Get Started
FireSchema gives your Firestore database the same quality of documentation that Swagger gives REST APIs. Set it up in 5 minutes and ship it as a static site. Get started in 5 minutes →