Chris Collins

Tools · network

OpenAPI explorer

Load any OpenAPI 3 or Swagger 2 description by URL, file, or paste; browse operations and schemas, fill in generated forms, send live requests, and check responses against the declared schemas.

Added

Works with

How to use it

Paste a URL to an OpenAPI description (JSON or YAML) and press Load, or pick one of the Examples…: the Swagger Petstore (OpenAPI 3.0 and Swagger 2.0), httpbin, the US National Weather Service, the APIs.guru directory, and GitHub’s 13 MB, thousand-operation description. Open file… and Paste… work offline. The address bar remembers the description and operation (#spec=…&op=GET /pets), so you can bookmark or share a link to one operation.

Browsing

  • Operations are grouped by tag in the sidebar; type to filter by path, summary, operationId, or tag. Deprecated operations are struck through. OpenAPI 3.1 webhooks are listed under webhooks with their payloads.

  • Schemas lists components.schemas with a collapsible tree (types, formats, enums, required fields, limits), a generated example, and the operations that use each one. Click any schema name in a tree to jump to it.

  • Overview shows the API’s description, servers, security schemes, tags, and the whole document, which you can download as JSON or YAML.

Trying an operation

  1. Choose a server (with its variables) or a custom base URL. Relative server URLs are resolved against the description’s own URL.

  2. Enter credentials for the operation’s security schemes — API keys (header, query, or cookie), HTTP Basic, or a bearer/OAuth 2 access token. They are kept in this browser’s storage for this API only; Forget credentials removes them.

  3. Fill in the parameters. Enums become drop-downs; defaults and required examples are pre-filled; arrays accept comma-separated values, one per line, or a JSON array, and are sent repeated or comma-joined as the description says (style/explode, including deepObject).

  4. Edit the request body, pre-filled with an example built from the schema (it honours example, examples, default, enum, allOf, oneOf/anyOf, formats, and skips read-only properties). The body is checked against the schema as you type.

  5. Send. The response shows status, time, size, headers, and the body, and is validated against the documented response for that status (exact code, then 2XX, then default) and content type.

Code gives the same request as curl, JavaScript fetch, Python requests, or HTTPie. Open in HTTP client hands the request to the HTTP client for saving in a collection, adding tests, or using environments; Import into HTTP client turns the whole description into a collection (one folder per tag, {{baseUrl}} and path parameters as collection variables).

How it works and its limits

Swagger 2.0 documents are converted to the OpenAPI 3 shape before display. $ref`s are resolved lazily, including relative references to other files next to a description loaded from a URL. The validator implements the parts of JSON Schema that OpenAPI uses — types (and `nullable), enums, const, allOf/anyOf/oneOf (with discriminator), not, required and additional properties, pattern properties, string, number, and array limits, uniqueItems, prefixItems, and common formats (date-time, date, email, uuid, ipv4, uri; format problems are warnings). Generated examples do not try to satisfy pattern regular expressions.

Requests are sent by your browser with fetch(), so the API must allow cross-origin requests (CORS). The Petstore, httpbin, Weather Service, and APIs.guru examples do; xkcd’s API does not, which shows what a blocked request looks like. When a description itself cannot be fetched, download it and use Open file…. Browsers ignore forbidden headers such as Cookie and User-Agent.

Sharing

Share link copies a URL that opens this tool exactly as configured. ?spec=<description URL>&op=<METHOD /path> — the address bar keeps this up to date as you pick operations. Opening a link loads the description (a public document) and selects the operation; it never calls the API. Auth values are never shared. A pasted description up to 30 kB is packed into the link instead. For example: openapi/?spec=builtin:&op=GET%20%2Fuuid.

Runs entirely in your browser — network requests go only to the services named on this page.