Street.co.uk Landlords API

Landlords endpoints for this API.

Operations 2

GET /landlords Get all Landlords #
GET /landlords/{landlord_id} Get a single Landlord #

Documentation

Specifications

Other Resources

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/street-co-landlords-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no email required.

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

OpenAPI Specification

street-co-landlords-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Street Open Landlords API
  description: Build on top of the UKs most advanced Estate Agency software.
  version: '1.0'
  contact:
    name: Street API Development Team
    url: https://street.co.uk
    email: apis@street.co.uk
servers:
- url: https://street.co.uk/open-api/v1
  description: Production.
- url: https://demo.street.co.uk/open-api/v1
  description: Testing.
security:
- your-api-token: []
tags:
- name: Landlords
  description: Landlords endpoints for this API.
paths:
  /landlords:
    get:
      summary: Get all Landlords
      tags:
      - Landlords
      responses:
        '200':
          description: OK.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Landlord'
                  included:
                    type: array
                    items:
                      anyOf:
                      - $ref: '#/components/schemas/IncludedProperty'
                      - $ref: '#/components/schemas/IncludedNotes'
                      - $ref: '#/components/schemas/IncludedBranch'
                  links:
                    $ref: '#/components/schemas/Links'
                  meta:
                    allOf:
                    - $ref: '#/components/schemas/Pagination'
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
      operationId: get-landlords
      description: This endpoint retrieves multiple paginated landlords along with `meta` and `pagination` information.
      parameters:
      - $ref: '#/components/parameters/filter_person_status'
      - schema:
          type: array
          items:
            type: string
            enum:
            - not_on_the_market
            - valuation_lost
            - valuation_booked
            - valuation_pending
            - valuation_cancelled
            - valuation_completed
            - instructed
            - let
            - to_let
            - let_agreed
            - for_sale_and_to_let
            - withdrawn_lettings
            - withdrawn_sales_and_lettings
          uniqueItems: true
          minItems: 1
        in: query
        name: filter[property_status]
        description: Filter the Landlords by the Status of their Properties.
        explode: false
        style: form
      - $ref: '#/components/parameters/filter_address'
      - $ref: '#/components/parameters/filter_email_address'
      - $ref: '#/components/parameters/filter_telephone_number'
      - $ref: '#/components/parameters/filter_trashed'
      - $ref: '#/components/parameters/filter_created_from'
      - $ref: '#/components/parameters/filter_created_to'
      - $ref: '#/components/parameters/filter_updated_from'
      - $ref: '#/components/parameters/filter_updated_to'
      - schema:
          type: array
          items:
            type: string
            enum:
            - properties
            - properties.branch
            - notes
          uniqueItems: true
          minItems: 1
          example:
          - properties
          - properties.branch
          - notes
        in: query
        name: include
        description: Optional related entities to include in the results.
        explode: false
        style: form
      - $ref: '#/components/parameters/page_size'
      - $ref: '#/components/parameters/page_number'
  /landlords/{landlord_id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: landlord_id
      in: path
      required: true
      description: The UUID of the Landlord.
    get:
      summary: Get a single Landlord
      tags:
      - Landlords
      responses:
        '200':
          description: OK.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Landlord'
                  included:
                    type: array
                    items:
                      anyOf:
                      - $ref: '#/components/schemas/IncludedProperty'
                      - $ref: '#/components/schemas/IncludedNotes'
                      - $ref: '#/components/schemas/IncludedBranch'
                  links:
                    $ref: '#/components/schemas/IncludedLinks'
                  meta:
                    type: object
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
      operationId: get-landlords-landlordId
      description: This endpoint retrieves a single landlord by their `UUID`.
      parameters:
      - schema:
          type: array
          items:
            type: string
            enum:
            - properties
            - properties.branch
            - notes
          uniqueItems: true
          minItems: 1
          example:
          - properties
          - properties.branch
          - notes
        in: query
        name: include
        description: Optional related entities to include in the results.
        explode: false
        style: form
components:
  parameters:
    page_size:
      name: page[size]
      description: Set the number of results per page.
      in: query
      required: false
      schema:
        type: number
        minimum: 1
        maximum: 250
        example: 25
    filter_address:
      name: filter[address]
      in: query
      required: false
      schema:
        type: string
      description: Filter results by their address, this is a fuzzy wildcard match on the full address string.
    filter_created_from:
      name: filter[created_from]
      in: query
      required: false
      schema:
        type: string
        format: date-time
      description: Filter by results created after the provided date.
    filter_email_address:
      name: filter[email_address]
      in: query
      required: false
      schema:
        type: string
        format: email
        example: alice.walker@example.com
      description: Filter results by an associated email address
    filter_updated_from:
      name: filter[updated_from]
      in: query
      required: false
      schema:
        type: string
        format: date-time
      description: Filter by results updated after the provided date.
    filter_updated_to:
      name: filter[updated_to]
      in: query
      required: false
      schema:
        type: string
        format: date-time
      description: Filter by results updated before the provided date.
    filter_telephone_number:
      name: filter[telephone_number]
      in: query
      required: false
      schema:
        type: string
      description: Filter results by an associated telephone number. The number must be in full international dialing format e.g. +441614960137
    filter_created_to:
      name: filter[created_to]
      in: query
      required: false
      schema:
        type: string
        format: date-time
      description: Filter by results created before the provided date.
    filter_person_status:
      name: filter[status]
      in: query
      required: false
      schema:
        type: string
        enum:
        - current
        - previous
      description: Filter by wether they are Current or Previous.
    filter_trashed:
      name: filter[trashed]
      in: query
      required: false
      schema:
        type: string
        enum:
        - with
        - only
      description: Optionally return result WITH deleted results or return ONLY deleted results.
    page_number:
      name: page[number]
      description: Set the page number.
      in: query
      required: false
      schema:
        type: number
        minimum: 1
        example: 3
  responses:
    '406':
      description: The HTTP 406 Not Acceptable client error response code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers, and that the server is unwilling to supply a default representation.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/jsonApiErrorResponseBody'
    '404':
      description: The HTTP 404 Not Found response status code indicates that the server cannot find the requested resource.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/jsonApiErrorResponseBody'
    '403':
      description: The HTTP 403 Forbidden response status code indicates that the server understands the request but refuses to authorize it.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/jsonApiErrorResponseBody'
    '500':
      description: The HTTP 500 Internal Server Error server error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/jsonApiMultiErrorResponseBody'
    '415':
      description: The HTTP 415 Unsupported Media Type client error response code indicates that the server refuses to accept the request because the payload format is in an unsupported format.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/jsonApiErrorResponseBody'
    '401':
      description: The HTTP 401 Unauthorized response status code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/jsonApiErrorResponseBody'
    '400':
      description: The HTTP 400 Bad Request response status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/jsonApiMultiErrorResponseBody'
  schemas:
    Landlord:
      title: Landlord
      allOf:
      - $ref: '#/components/schemas/BaseModel'
      - type: object
        properties:
          type:
            type: string
            enum:
            - landlord
          attributes:
            $ref: '#/components/schemas/LandlordAttributes'
          relationships:
            type: object
            properties:
              properties:
                allOf:
                - $ref: '#/components/schemas/RelationshipPlural'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                            - property
              notes:
                allOf:
                - $ref: '#/components/schemas/RelationshipPlural'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                            - note
      x-tags:
      - Landlords
    LandlordAttributes:
      title: Landlord (attributes)
      allOf:
      - $ref: '#/components/schemas/PersonSimple'
      - type: object
        properties:
          landlord_status:
            type:
            - string
            - 'null'
            enum:
            - Current
            - Previous
          created_at:
            type: string
            format: date-time
          updated_at:
            type: string
            format: date-time
      examples: []
    IncludedBranch:
      allOf:
      - $ref: '#/components/schemas/IncludedResource'
      - type: object
        properties:
          type:
            type: string
            enum:
            - branch
          attributes:
            $ref: '#/components/schemas/BranchAttributes'
      title: Branch (included)
    PersonSimple:
      title: Person (simple)
      type: object
      properties:
        full_name:
          type: string
        title:
          type: string
          example: Mrs
        first_name:
          type: string
          example: Jane
        last_name:
          type: string
          example: Doe
        address:
          oneOf:
          - $ref: '#/components/schemas/AddressSimple'
          - type: 'null'
        telephone_numbers:
          type: array
          items:
            $ref: '#/components/schemas/TelephoneNumberSimple'
        email_addresses:
          type: array
          items:
            $ref: '#/components/schemas/EmailAddressSimple'
        marketing_consent:
          type:
          - boolean
          - 'null'
        contact_preferences:
          type: object
          properties:
            email:
              type: boolean
            post:
              type: boolean
            text:
              type: boolean
            phone:
              type: boolean
    IncludedResource:
      title: Included Resource
      type: object
      examples: []
      required:
      - type
      - id
      properties:
        type:
          type: string
        id:
          type: string
          format: uuid
        attributes:
          type: object
        relationships:
          type:
          - object
          - 'null'
        meta:
          $ref: '#/components/schemas/Meta'
    EmailAddressSimple:
      title: Email Address (simple)
      description: An email address, can be related to a person and/or a company.
      type: object
      properties:
        value:
          type: string
          example: john@johndoe.com
          format: email
        notes:
          type:
          - string
          - 'null'
        primary:
          type: boolean
    IncludedProperty:
      title: Property (included)
      allOf:
      - $ref: '#/components/schemas/IncludedResource'
      - type: object
        properties:
          type:
            type: string
            enum:
            - property
          attributes:
            $ref: '#/components/schemas/PropertyAttributes'
          relationships:
            type: object
            properties:
              branch:
                allOf:
                - $ref: '#/components/schemas/RelationshipSingular'
                - type: object
                  properties:
                    data:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - branch
    jsonApiErrorResponseBody:
      title: JSON:API Error Response Body
      description: Response body for JSON:API errors, containing an array of `errors` in place of the `data` property provided in JSON:API success responses. Used for non-400/500 error codes where only a single error is expected.
      type: object
      properties:
        meta:
          type: object
        source:
          type: object
          description: The primary source of the conflict for 409 responses.
          properties:
            pointer:
              type: string
              description: JSON Pointer to the conflicting request value.
            parameter:
              type: string
              description: URI parameter related to the conflict.
        errors:
          description: An array of error objects providing additional information about problems encountered while processing the request.
          type: array
          maxItems: 1
          items:
            $ref: '#/components/schemas/jsonApiError'
      required:
      - errors
    RelationshipSingular:
      title: Relationship Singular
      description: Inheritable schema for 1:1 relationships. Data may be null if the relationship is empty.
      type: object
      properties:
        data:
          oneOf:
          - type: object
            properties:
              type:
                type: string
              id:
                type: string
                format: uuid
                example: a827a3ae-4c74-4c32-8b42-42248d4010d3
            required:
            - type
            - id
          - type: 'null'
        links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/Link'
            related:
              $ref: '#/components/schemas/Link'
    Pagination:
      title: Pagination
      description: Pagination object - JSON:API Standard.
      type: object
      properties:
        pagination:
          type: object
          properties:
            total:
              type: integer
              example: 226
            count:
              type: integer
              example: 10
            per_page:
              type: integer
              example: 10
            current_page:
              type: integer
              example: 1
            total_pages:
              type: integer
              example: 23
      x-examples:
        example-1:
          pagination:
            total: 226
            count: 10
            per_page: 10
            current_page: 1
            total_pages: 23
      examples:
      - pagination:
          total: 226
          count: 10
          per_page: 10
          current_page: 1
          total_pages: 23
    TelephoneNumberSimple:
      title: Telephone Number (simple)
      description: An telephone number, can be related to a person and/or a company.
      type: object
      properties:
        value:
          type: string
          example: '+441632960911'
        notes:
          type:
          - string
          - 'null'
        primary:
          type: boolean
    Link:
      title: Link
      oneOf:
      - description: a string containing the link's URL
        type: string
        format: uri-reference
      - type: object
        required:
        - href
        properties:
          href:
            description: a string containing the link's URL
            type: string
            format: uri-reference
          meta:
            $ref: '#/components/schemas/Meta'
    BranchAttributes:
      type: object
      title: Branch (attributes)
      properties:
        address:
          $ref: '#/components/schemas/AddressSimple'
        name:
          type: string
        public_name:
          type:
          - string
          - 'null'
        email_address:
          type: string
          format: email
        telephone:
          type: string
        website:
          type:
          - string
          - 'null'
          format: uri
        about_branch_copy:
          type:
          - string
          - 'null'
        disclaimer:
          type:
          - string
          - 'null'
        matching_links_to_website:
          type:
          - boolean
          - 'null'
          readOnly: true
          description: If true, custom property matching links are enabled for the branch.
        matching_url_pattern:
          type:
          - string
          - 'null'
          readOnly: true
          description: 'Pattern for property match URLs on the agent website: https://www.yourwebsite.co.uk/property/{UUID}'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    PropertyAttributes:
      type: object
      title: Property (attributes)
      properties:
        is_sales:
          type: boolean
        is_lettings:
          type: boolean
        company_owned:
          type: boolean
        is_commercial:
          type: boolean
        is_residential:
          type: boolean
        address:
          $ref: '#/components/schemas/AddressSimple'
        inline_address:
          type: string
        public_address:
          type: string
        status:
          type: string
          enum:
          - Not On The Market
          - Valuation Lost
          - Valuation Booked
          - Provisional Valuation Booked
          - Valuation Pending
          - Valuation Cancelled
          - Valuation Completed
          - Instructed
          - For Sale
          - Under Offer
          - Sold STC
          - Exchanged
          - Let
          - To Let
          - Let Agreed
          - For Sale and To Let
          - Withdrawn Sales
          - Withdrawn Lettings
          - Withdrawn Sales And Lettings
          - Completed
        bedrooms:
          type: integer
        bathrooms:
          type: integer
        receptions:
          type: integer
        floor_area:
          type:
          - string
          - 'null'
        plot_area:
          type:
          - string
          - 'null'
        land_area:
          type:
          - string
          - 'null'
        full_description:
          type:
          - string
          - 'null'
        short_description:
          type:
          - string
          - 'null'
        location_summary:
          type:
          - string
          - 'null'
        full_description_lettings:
          type:
          - string
          - 'null'
        short_description_lettings:
          type:
          - string
          - 'null'
        location_summary_lettings:
          type:
          - string
          - 'null'
        property_type:
          type: string
        property_style:
          type: string
        property_age_bracket:
          type: string
        construction_year:
          type:
          - string
          - integer
          - 'null'
        is_listed_building:
          type:
          - boolean
          - 'null'
        is_conservation_area:
          type:
          - boolean
          - 'null'
        tenure:
          type: string
        tenure_notes:
          type:
          - string
          - 'null'
        lease_expiry_year:
          type:
          - string
          - 'null'
        lease_expiry_date:
          type:
          - string
          - 'null'
          format: date
        display_property_style:
          type: string
        work_required:
          type: boolean
        heating_system:
          type: string
        council_tax_band:
          type: string
        council_tax_cost:
          type:
          - integer
          - 'null'
        local_authority:
          type:
          - string
          - 'null'
        service_charge:
          type: integer
        service_charge_period:
          type: string
          default: month
        service_charge_notes:
          type:
          - string
          - 'null'
        ground_rent:
          type:
          - integer
          - 'null'
        ground_rent_period:
          type: string
          default: month
        ground_rent_review_period_years:
          type:
          - integer
          - 'null'
        ground_rent_uplift:
          type:
          - integer
          - 'null'
        ground_rent_expiry:
          type:
          - string
          - 'null'
        has_outdoor_space:
          type:
          - boolean
          - 'null'
        shared_ownership:
          type: boolean
          default: false
        shared_ownership_notes:
          type:
          - string
          - 'null'
        shared_ownership_rent:
          type:
          - integer
          - 'null'
        shared_ownership_rent_frequency:
          type:
          - string
          - 'null'
        shared_ownership_percentage_sold:
          type:
          - integer
          - 'null'
        tags:
          type: array
          uniqueItems: true
          items:
            type: object
            properties:
              name:
                type: string
              slug:
                type: string
              order:
                type: number
        features:
          type: array
          uniqueItems: true
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: The ID of the feature
              name:
                type: string
              order:
                type: number
              include_on_portals:
                type: boolean
              highlight:
                type: boolean
        material_information:
          type: object
          properties:
            council_tax_band:
              type:
              - string
              - 'null'
              example: D
              maxLength: 1
            lease_expiry_date:
              type:
              - string
              - 'null'
              format: date
            ground_rent_pence:
              type:
              - integer
              - 'null'
            ground_rent_period:
              type:
              - string
              - 'null'
            ground_rent_expiry:
              type:
              - string
              - 'null'
              format: date
            ground_rent_review_period_years:
              type:
              - integer
              - 'null'
            ground_rent_uplift:
              type:
              - integer
              - 'null'
              description: Value is a percentage
            service_charge_pence:
              type:
              - integer
              - 'null'
            service_charge_period:
              type:
              - string
              - 'null'
            service_charge_notes:
              type:
              - string
              - 'null'
            water_supply:
              type:
              - array
              - 'null'
              uniqueItems: true
              minItems: 1
              items:
                type: string
                enum:
                - direct_main_waters
                - wells
                - boreholes
                - springs
                - other
            water_supply_other:
              type:
              - string
              - 'null'
            electricity_supply:
              type:
              - array
              - 'null'
              uniqueItems: true
              minItems: 1
              items:
                type: string
                enum:
                - national_grid
                - wind_turbine
                - solar_panels
                - generator
                - other
            electricity_supply_other:
              type:
              - string
              - 'null'
            sewerage:
              type:
              - array
              - 'null'
              uniqueItems: true
              minItems: 1
              items:
                type: string
                enum:
                - standard
                - septic_tank
                - sewage_treatment_plants
                - cesspit
                - cesspool
                - other
            sewerage_other:
              type:
              - string
              - 'null'
            heating_supply:
              type:
              - array
              - 'null'
              uniqueItems: true
              minItems: 1
              items:
                type: string
                enum:
                - electric_central
                - gas_central
                - gas_other
                - communal_heating
                - lpg_central
                - wood_burner
                - biomass_boiler
                - solar_panels
                - heat_pump
                - other
            heating_supply_other:
              type:
              - string
              - 'null'
            heating_system:
              type:
              - string
              - 'null'
            broadband:
              type:
              - string
              - 'null'
              enum:
              - adsl
              - cable
              - fttc
              - fttp
              - null
            has_restrictions:
              type:
              - boolean
              - 'null'
            has_required_access:
              type:
              - boolean
              - 'null'
            public_right_of_way:
              type:
              - boolean
              - 'null'
            flood_risk:
              type:
              - boolean
              - 'null'
            sources_of_flooding:
              type:
              - array
              - 'null'
              items:
                type: string
            sources_of_flooding_other:
              type:
              - string
              - 'null'
            has_flood_defences:
              type:
              - boolean
              - 'null'
            has_flooded_in_last_five_years:
              type:
              - boolean
              - 'null'
            adaptations_list:
              type:
              - array
              - 'null'
              items: {}
            adaptations_other:
              type:
              - string
              - 'null'
        viewing_booking_url:
          type:
          - string
          - 'null'
        last_instructed_sales_at:
          type:
          - string
          - 'null'
          format: date-time
        last_instructed_lettings_at:
          type:
          - string
          - 'null'
          format: date-time
        last_exchanged_at:
          type:
          - string
          - 'null'
          format: date-time
        last_completed_at:
          type:
          - string
          - 'null'
          format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        custom_meta_data:
          type:
          - object
          - array
          items: {}
        lead_source:
          type:
          - string
          - 'null'
        publish_after:
          type:
          - string
          - 'null'
          format: date-time
        archived_at:
          type:
          - string
          - 'null'
          format: date-time
        virtual_tour:
          type:
          - string
          - 'null'
          format: uri
        property_urls:
          type:
          - array
          - 'null'
          items:
            type: object
            properties:
              title:
                type: string
              type:
                type: string
                enum:
                - image
                - floor_plan
                - brochure
                - virtual_tour
                - audio_tour
                - ipack
              url:
                type: string
                format: uri
                maxLength: 2048
            required:
            - title
            - type
            - url
    AddressSimple:
      title: Address (simple)
      type: object
      properties:
        single_line:
          type: string
          example: 19 Lansdowne Road, Monton, Manchester
        anon_single_line:
          type: string
          example: Lansdowne Road, Monton, Manchester
        building_number:
          type:
          - string
          - 'null'
          example: '19'
        building_name:
          type:
          - string
          - 'null'
        street:
          type:
          - string
          - 'null'
        line_1:
          type: string
          example: 19 Lansdowne Road
        line_2:
          type:
          - string
          - 'null'
          example: Monton
        line_3:
          type:
          - string
          - 'null'


# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/street-co/refs/heads/main/openapi/street-co-landlords-api-openapi.yml