lettance-com · Schema

CompareResponse

CompanyLeasingSubscriptionAPIAutomation

Properties

Name Type Description
data object
meta object
View JSON Schema on GitHub

JSON Schema

lettance-com-compare-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/lettance-com/json-schema/lettance-com-compare-response-schema.json",
  "title": "CompareResponse",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/lettance-com-openapi.json#/components/schemas/CompareResponse",
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/$defs/Comparison"
    },
    "meta": {
      "$ref": "#/$defs/Meta"
    }
  },
  "required": [
    "data",
    "meta"
  ],
  "$defs": {
    "AreaMarket": {
      "type": "object",
      "properties": {
        "postcode": {
          "type": "string"
        },
        "council": {
          "type": [
            "string",
            "null"
          ]
        },
        "councilCode": {
          "type": "string",
          "description": "ONS local authority code"
        },
        "rent": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "const": "available"
                },
                "area": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "name"
                  ]
                },
                "period": {
                  "type": "string",
                  "description": "The month the figure describes, YYYY-MM."
                },
                "averageMonthlyRentGbp": {
                  "type": "number"
                },
                "annualChangePct": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "byBedrooms": {
                  "type": "object",
                  "properties": {
                    "one": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "two": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "three": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "fourPlus": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "one",
                    "two",
                    "three",
                    "fourPlus"
                  ]
                },
                "england": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "averageMonthlyRentGbp": {
                          "type": "number"
                        },
                        "annualChangePct": {
                          "type": [
                            "number",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "averageMonthlyRentGbp",
                        "annualChangePct"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "source": {
                  "$ref": "#/$defs/MarketSource"
                }
              },
              "required": [
                "status",
                "area",
                "period",
                "averageMonthlyRentGbp",
                "annualChangePct",
                "byBedrooms",
                "england",
                "source"
              ]
            },
            {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "const": "unavailable"
                },
                "reason": {
                  "type": "string"
                },
                "source": {
                  "$ref": "#/$defs/MarketSource"
                }
              },
              "required": [
                "status",
                "reason",
                "source"
              ]
            }
          ]
        },
        "sales": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "const": "available"
                },
                "district": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Postcode district, e.g. SE15."
                    },
                    "medianPriceGbp": {
                      "type": "number"
                    },
                    "sales": {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": [
                    "code",
                    "medianPriceGbp",
                    "sales"
                  ]
                },
                "window": {
                  "type": "object",
                  "properties": {
                    "from": {
                      "type": "string",
                      "description": "ISO date, YYYY-MM-DD"
                    },
                    "to": {
                      "type": "string",
                      "description": "ISO date, YYYY-MM-DD"
                    }
                  },
                  "required": [
                    "from",
                    "to"
                  ]
                },
                "source": {
                  "$ref": "#/$defs/MarketSource"
                }
              },
              "required": [
                "status",
                "district",
                "window",
                "source"
              ]
            },
            {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "const": "unavailable"
                },
                "reason": {
                  "type": "string"
                },
                "window": {
                  "type": "object",
                  "properties": {
                    "from": {
                      "type": "string",
                      "description": "ISO date, YYYY-MM-DD"
                    },
                    "to": {
                      "type": "string",
                      "description": "ISO date, YYYY-MM-DD"
                    }
                  },
                  "required": [
                    "from",
                    "to"
                  ]
                },
                "source": {
                  "$ref": "#/$defs/MarketSource"
                }
              },
              "required": [
                "status",
                "reason",
                "window",
                "source"
              ]
            }
          ]
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "postcode",
        "council",
        "councilCode",
        "rent",
        "sales",
        "limitations"
      ],
      "description": "ONS private rents for the local authority and HM Land Registry sale prices for the postcode district, from a dated snapshot. Area figures, not a valuation."
    },
    "CheckResult": {
      "type": "object",
      "properties": {
        "postcode": {
          "type": "string"
        },
        "ward": {
          "type": [
            "string",
            "null"
          ]
        },
        "council": {
          "type": [
            "string",
            "null"
          ]
        },
        "household": {
          "type": "string",
          "enum": [
            "single",
            "small_hmo",
            "large_hmo"
          ]
        },
        "licence": {
          "type": "object",
          "properties": {
            "needed": {
              "type": "string",
              "enum": [
                "yes",
                "no",
                "check"
              ],
              "description": "check means the answer depends on something a postcode cannot settle, or the council is not researched yet. It never means no."
            },
            "summary": {
              "type": "string"
            },
            "schemes": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/CheckScheme"
              }
            }
          },
          "required": [
            "needed",
            "summary",
            "schemes"
          ]
        },
        "register": {
          "anyOf": [
            {
              "$ref": "#/$defs/RegisterWindow"
            },
            {
              "type": "null"
            }
          ]
        },
        "registerSources": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "Absolute URL"
          }
        },
        "registerCheckedAt": {
          "type": "string",
          "description": "ISO date, YYYY-MM-DD"
        },
        "planningSource": {
          "type": "string",
          "description": "Absolute URL"
        },
        "planningAvailability": {
          "type": "object",
          "properties": {
            "floodZone": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "conservationAreas": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "article4": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            }
          },
          "required": [
            "floodZone",
            "conservationAreas",
            "article4"
          ]
        },
        "openQuestions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "floodZone": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "level": {
                  "anyOf": [
                    {
                      "type": "number",
                      "const": 2
                    },
                    {
                      "type": "number",
                      "const": 3
                    }
                  ]
                },
                "source": {
                  "type": "string"
                }
              },
              "required": [
                "level",
                "source"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "conservationAreas": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "type": "null"
            }
          ],
          "description": "null when the dataset was unavailable; empty when the lookup found none at the postcode centre."
        },
        "article4Directions": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "url": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "Absolute URL"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "name",
                  "description",
                  "url"
                ]
              }
            },
            {
              "type": "null"
            }
          ]
        },
        "councilPage": {
          "anyOf": [
            {
              "type": "string",
              "description": "Absolute URL"
            },
            {
              "type": "null"
            }
          ]
        },
        "researched": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO date, YYYY-MM-DD"
            },
            {
              "type": "null"
            }
          ],
          "description": "When the council's licensing was researched; null if not researched yet."
        },
        "verified": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO date, YYYY-MM-DD"
            },
            {
              "type": "null"
            }
          ]
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "postcode",
        "ward",
        "council",
        "household",
        "licence",
        "register",
        "registerSources",
        "registerCheckedAt",
        "planningSource",
        "planningAvailability",
        "openQuestions",
        "floodZone",
        "conservationAreas",
        "article4Directions",
        "councilPage",
        "researched",
        "verified",
        "limitations"
      ]
    },
    "CheckScheme": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": [
            "selective",
            "additional",
            "mandatory_hmo"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "in_force",
            "approved_not_started",
            "consultation",
            "expired",
            "quashed",
            "revoked"
          ]
        },
        "covers": {
          "type": "string",
          "enum": [
            "yes",
            "check"
          ],
          "description": "yes: the postcode's ward is inside the scheme. check: confirm the boundary or property criteria with the council."
        },
        "reason": {
          "type": "string"
        },
        "start": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO date, YYYY-MM-DD"
            },
            {
              "type": "null"
            }
          ]
        },
        "end": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO date, YYYY-MM-DD"
            },
            {
              "type": "null"
            }
          ],
          "description": "The last day the scheme is certainly in force."
        },
        "ceasesOn": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO date, YYYY-MM-DD"
            },
            {
              "type": "null"
            }
          ],
          "description": "The notice's \"ceases to have effect on\" date, the day after end, when recorded. On that day covers is check."
        },
        "endDateUncertainUntil": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO date, YYYY-MM-DD"
            },
            {
              "type": "null"
            }
          ],
          "description": "Last disputed day when primary sources conflict. From ceasesOn through this date covers is check, not proof that a licence is required or unnecessary."
        },
        "feeGbp": {
          "description": "The published standard figure, which may be per room or unit rather than a total. Read feeNotes for the charging basis, supplements and conditions. No property-specific total has been calculated.",
          "type": [
            "number",
            "null"
          ]
        },
        "feeNotes": {
          "description": "The council research's fee conditions, including any charging unit, supplements or discounts. Null means these details have not been recorded.",
          "type": [
            "string",
            "null"
          ]
        },
        "licenceLengthYears": {
          "description": "The published licence term in years, where recorded. This does not turn feeGbp into a total charge for that period.",
          "type": [
            "number",
            "null"
          ]
        },
        "appliesTo": {
          "type": "string"
        },
        "exemptions": {
          "type": [
            "string",
            "null"
          ]
        },
        "confidence": {
          "type": "string",
          "enum": [
            "high",
            "medium",
            "low"
          ],
          "description": "How sure the research is. Medium or low means read the linked source before relying on it."
        },
        "notes": {
          "type": [
            "string",
            "null"
          ]
        },
        "apply": {
          "anyOf": [
            {
              "type": "string",
              "description": "Absolute URL"
            },
            {
              "type": "null"
            }
          ]
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "Absolute URL"
          }
        }
      },
      "required": [
        "name",
        "type",
        "status",
        "covers",
        "reason",
        "start",
        "end",
        "ceasesOn",
        "endDateUncertainUntil",
        "feeGbp",
        "feeNotes",
        "licenceLengthYears",
        "appliesTo",
        "exemptions",
        "confidence",
        "notes",
        "apply",
        "sources"
      ]
    },
    "Comparison": {
      "type": "object",
      "properties": {
        "household": {
          "type": "string",
          "enum": [
            "single",
            "small_hmo",
            "large_hmo"
          ]
        },
        "postcodes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "addresses": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "postcode": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "const": "ok"
                  },
                  "check": {
                    "$ref": "#/$defs/CheckResult"
                  },
                  "market": {
                    "$ref": "#/$defs/AreaMarket"
                  }
                },
                "required": [
                  "postcode",
                  "status",
                  "check",
                  "market"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "postcode": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "not_found",
                      "outside_england",
                      "unavailable"
                    ]
                  },
                  "error": {
                    "type": "string"
                  }
                },
                "required": [
                  "postcode",
                  "status",
                  "error"
                ]
              }
            ]
          }
        },
        "comparison": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string",
                "enum": [
                  "licence",
                  "register",
                  "floodZone",
                  "conservationAreas",
                  "article4Directions",
                  "averageRent",
                  "medianPrice"
                ]
              },
              "label": {
                "type": "string"
              },
              "source": {
                "$ref": "#/$defs/FieldSource"
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "postcode": {
                      "type": "string"
                    },
                    "value": {
                      "description": "The value, or \"unknown\" when the source cannot settle it. Unknown never means no."
                    },
                    "unknown": {
                      "type": "string"
                    },
                    "detail": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {}
                    }
                  },
                  "required": [
                    "postcode",
                    "value"
                  ]
                }
              }
            },
            "required": [
              "field",
              "label",
              "source",
              "values"
            ]
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "household",
        "postcodes",
        "addresses",
        "comparison",
        "limitations"
      ],
      "description": "Two to four postcodes side by side. Each field names its source, licence and dates."
    },
    "FieldSource": {
      "type": "object",
      "properties": {
        "publisher": {
          "type": "string"
        },
        "dataset": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "description": "Absolute URL"
        },
        "licence": {
          "type": [
            "string",
            "null"
          ]
        },
        "licenceUrl": {
          "anyOf": [
            {
              "type": "string",
              "description": "Absolute URL"
            },
            {
              "type": "null"
            }
          ]
        },
        "attribution": {
          "type": [
            "string",
            "null"
          ]
        },
        "released": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO date, YYYY-MM-DD"
            },
            {
              "type": "null"
            }
          ]
        },
        "obtained": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO date, YYYY-MM-DD"
            },
            {
              "type": "null"
            }
          ],
          "description": "Null for live lookups; see note."
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "publisher",
        "dataset",
        "url",
        "licence",
        "licenceUrl",
        "attribution",
        "released",
        "obtained",
        "note"
      ]
    },
    "MarketSource": {
      "type": "object",
      "properties": {
        "dataset": {
          "type": "string"
        },
        "publisher": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "description": "The dataset's page."
        },
        "files": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "Absolute URL"
          },
          "description": "The files the snapshot was compiled from."
        },
        "released": {
          "type": "string",
          "description": "When the publisher released the files used."
        },
        "obtained": {
          "type": "string",
          "description": "When Lettance downloaded them."
        },
        "measure": {
          "type": "string"
        },
        "licence": {
          "type": "string"
        },
        "licenceUrl": {
          "type": "string",
          "description": "Absolute URL"
        },
        "attribution": {
          "type": "string",
          "description": "The attribution statement to show with the figure."
        }
      },
      "required": [
        "dataset",
        "publisher",
        "url",
        "files",
        "released",
        "obtained",
        "measure",
        "licence",
        "licenceUrl",
        "attribution"
      ],
      "description": "Where an area market figure comes from. Show the attribution with the figure."
    },
    "Meta": {
      "type": "object",
      "properties": {
        "sources": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "Absolute URL"
          },
          "description": "Distinct upstream sources this response draws on: legislation, GOV.UK guidance, council pages and data services."
        },
        "coverage": {
          "type": "string",
          "description": "How much of England the council licensing research covers today."
        },
        "notice": {
          "type": "string",
          "description": "How to use this answer. It is information, not legal advice."
        },
        "catalogueDate": {
          "type": "string",
          "description": "The catalogue edition this response was built from."
        },
        "links": {
          "type": "object",
          "properties": {
            "documentation": {
              "type": "string",
              "description": "Absolute URL"
            },
            "openapi": {
              "type": "string",
              "description": "Absolute URL"
            },
            "html": {
              "description": "The human page for this answer.",
              "type": "string"
            },
            "markdown": {
              "description": "The same page as Markdown, for agents.",
              "type": "string"
            }
          },
          "required": [
            "documentation",
            "openapi"
          ]
        }
      },
      "required": [
        "sources",
        "coverage",
        "notice",
        "catalogueDate",
        "links"
      ],
      "description": "Sources, coverage and links. Present on every response, including errors."
    },
    "RegisterWindow": {
      "type": "object",
      "properties": {
        "region": {
          "type": "string"
        },
        "opens": {
          "type": "string",
          "description": "ISO date, YYYY-MM-DD"
        },
        "deadline": {
          "type": "string",
          "description": "ISO date, YYYY-MM-DD"
        },
        "earlyRegistrationFrom": {
          "type": "string",
          "description": "ISO date, YYYY-MM-DD"
        },
        "feeGbp": {
          "type": "number"
        },
        "status": {
          "type": "string",
          "const": "planned"
        },
        "note": {
          "type": "string"
        },
        "rule": {
          "type": "string",
          "description": "Absolute URL"
        }
      },
      "required": [
        "region",
        "opens",
        "deadline",
        "earlyRegistrationFrom",
        "feeGbp",
        "status",
        "note",
        "rule"
      ],
      "description": "The planned landlord register (Private Rented Sector Database) window for the region. The regulations are in draft."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/lettance-com-compare-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.