openapi: 3.1.0
info:
  title: FeeSorted Public Data API
  version: "1.0"
  description: Open, read-only access to FeeSorted's published comparison snapshot. Cite FeeSorted when used.
  contact:
    email: hello@feesorted.com
    url: https://feesorted.com
  license:
    name: Attribution required; commercial reuse by permission
    url: https://feesorted.com/legal
servers:
  - url: https://feesorted.com/api/v1
paths:
  /index.json:
    get:
      summary: API entry point and link map
      responses:
        "200": {description: OK}
  /scenarios.json:
    get:
      summary: List public scenarios
      responses:
        "200": {description: OK}
  /providers.json:
    get:
      summary: List modelled providers
      responses:
        "200": {description: OK}
  /default.json:
    get:
      summary: Default account-type comparison results
      responses:
        "200": {description: OK}
  /snapshot.json:
    get:
      summary: Snapshot metadata
      responses:
        "200": {description: OK}
  /products/{product_key}/{region_id}.json:
    get:
      summary: Product-region entry point
      parameters:
        - {name: product_key, in: path, required: true, schema: {type: string}}
        - {name: region_id, in: path, required: true, schema: {type: string}}
      responses:
        "200": {description: OK}
  /compare/{product_key}/{region_id}/{account_type}/{scenario_id}.json:
    get:
      summary: All public provider-plan results for one product, region, account type and scenario
      parameters:
        - {name: product_key, in: path, required: true, schema: {type: string}}
        - {name: region_id, in: path, required: true, schema: {type: string}}
        - {name: account_type, in: path, required: true, schema: {type: string}}
        - {name: scenario_id, in: path, required: true, schema: {type: string}}
      responses:
        "200": {description: OK}
x-feesorted-snapshot-date: "2026-06-04"
