> ## Documentation Index
> Fetch the complete documentation index at: https://developers.apartmentiq.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Properties

> Retrieve bulk property data filtered by geographic boundaries (MSAs, Submarkets, Cities, Counties, Zip Codes, or Neighborhoods) or custom GeoJSON geometries. Returns detailed property data including physical characteristics, rent metrics, availability, and ownership information (with appropriate data access). 

<Warning>Requires Explore Pro access. Ownership and sales transaction fields require Explore Pro+ access.</Warning>

<Warning>This endpoint is subject to bulk export quota limits. Each successful request counts returned unique properties toward your account quota.</Warning>



## OpenAPI

````yaml /openapi/v1/schema.json post /geo_boundaries/properties
openapi: 3.0.3
info:
  title: ApartmentIQ API
  version: 1.14.0
  termsOfService: https://www.getapartmentiq.com/terms
  x-logo:
    url: https://developers.apartmentiq.io/logo.svg
    altText: ApartmentIQ
  description: >-
    ApartmentIQ API providing Accounts, Market Surveys, Markets, Market
    Narratives, and Forecasts endpoints to access accounts, comp sets, market
    survey tables, units, floorplans, and market-based property data. See
    documentation pages for authentication, errors, and rate limits.
servers:
  - url: https://data.apartmentiq.io/apartmentiq/api/v1
security:
  - oauth2: []
tags:
  - name: Accounts
    description: >-
      Endpoints for listing the ApartmentIQ accounts accessible to the
      authenticated user.
  - name: Market Surveys
    description: >-
      Market Survey endpoints can be used to access data related to your market
      surveys within ApartmentIQ. The ApartmentIQ API refers to the list of
      properties within your market surveys as a comp set, or competitive set.
      In the rest of this document, comp set and competitive set will be used
      interchangeably.
  - name: Markets
    description: Endpoints used to access market data.
  - name: Bulk Data Export
    description: >-
      Endpoints for requesting and downloading historical property data through
      asynchronous batch jobs. Submit a job request, monitor its status, and
      download results when ready.
  - name: Forecasts
    description: >-
      Endpoints for retrieving modeled future time-series forecast data for
      geographic boundaries and properties. Forecast data spans from the
      beginning of the current month up to 5 years in the future. Requires
      Explore Pro access.
paths:
  /geo_boundaries/properties:
    post:
      tags:
        - Markets
      summary: Search Properties
      description: >-
        Retrieve bulk property data filtered by geographic boundaries (MSAs,
        Submarkets, Cities, Counties, Zip Codes, or Neighborhoods) or custom
        GeoJSON geometries. Returns detailed property data including physical
        characteristics, rent metrics, availability, and ownership information
        (with appropriate data access). 


        <Warning>Requires Explore Pro access. Ownership and sales transaction
        fields require Explore Pro+ access.</Warning>


        <Warning>This endpoint is subject to bulk export quota limits. Each
        successful request counts returned unique properties toward your account
        quota.</Warning>
      operationId: getPropertiesByGeoBoundary
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - property_filters
                - account_id
              properties:
                account_id:
                  type: integer
                  description: The ID of the account you're requesting data for.
                  example: 1111
                property_filters:
                  type: object
                  description: >-
                    Filters to apply when selecting properties. At least one
                    geographic filter (geo_boundary_ids or geometry) is
                    required.
                  oneOf:
                    - required:
                        - geo_boundary_ids
                    - required:
                        - geometry
                  properties:
                    geo_boundary_ids:
                      type: array
                      description: >-
                        Array of geo boundary IDs to filter properties by.
                        Properties within any of these boundaries will be
                        included. You find these IDs by [searching for the
                        boundaries](#tag/markets/post/geo_boundaries/search)
                        that you're interested in.
                      items:
                        type: string
                      example:
                        - '123'
                        - '456'
                    geometry:
                      type: object
                      description: >-
                        [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON) Polygon
                        or MultiPolygon geometry object to filter properties by
                        spatial containment.
                      properties:
                        type:
                          type: string
                          enum:
                            - Polygon
                            - MultiPolygon
                          example: Polygon
                        coordinates:
                          type: array
                          description: >-
                            Coordinate array following GeoJSON specification
                            (longitude, latitude pairs)
                          example:
                            - - - -78.663
                                - 35.821
                              - - -78.663
                                - 35.85
                              - - -78.623
                                - 35.85
                              - - -78.623
                                - 35.821
                              - - -78.663
                                - 35.821
                      example:
                        type: Polygon
                        coordinates:
                          - - - -78.663
                              - 35.821
                            - - -78.663
                              - 35.85
                            - - -78.623
                              - 35.85
                            - - -78.623
                              - 35.821
                            - - -78.663
                              - 35.821
                    year_built_gte:
                      type: number
                      description: Minimum year the property was built.
                      example: 2000
                    year_built_lte:
                      type: number
                      description: Maximum year the property was built.
                      example: 2024
                    total_units_gte:
                      type: number
                      description: Minimum total number of units in the property.
                      example: 50
                    total_units_lte:
                      type: number
                      description: Maximum total number of units in the property.
                      example: 500
                    number_of_stories_gte:
                      type: number
                      description: >-
                        Minimum number of stories/floors in the property
                        buildings.
                      example: 3
                    number_of_stories_lte:
                      type: number
                      description: >-
                        Maximum number of stories/floors in the property
                        buildings.
                      example: 20
                    property_class:
                      type: array
                      description: Filter by property classification grade.
                      items:
                        type: string
                        enum:
                          - A
                          - B
                          - C
                      example:
                        - A
                        - B
                    property_type:
                      type: array
                      description: Filter by property type/category.
                      items:
                        type: string
                        enum:
                          - conventional
                          - income_restricted
                          - section8
                          - senior_living
                          - student_housing
                          - build_to_rent
                      example:
                        - conventional
                    unified_status:
                      type: array
                      description: >-
                        Filter by unified property status. Consolidates
                        construction stage, implementation status, and lease-up
                        into a single lifecycle indicator.
                      items:
                        type: string
                        enum:
                          - stabilized
                          - planning
                          - scheduled_construction
                          - under_construction
                          - lease_up
                      example:
                        - stabilized
                    bedroom_count:
                      type: array
                      description: >-
                        Filter by number of bedrooms. 0 = studio, 1 = 1 bedroom,
                        etc.
                      example:
                        - '1'
                        - '2'
                    bathroom_count:
                      type: array
                      description: Filter by number of bathrooms.
                      example:
                        - '1'
                        - '2'
                        - '2.5'
                    rent_gte:
                      type: number
                      description: Minimum average asking rent.
                      example: 1000
                    rent_lte:
                      type: number
                      description: Maximum average asking rent.
                      example: 3000
                    ner_gte:
                      type: number
                      description: Minimum average net effective rent after concessions.
                      example: 950
                    ner_lte:
                      type: number
                      description: Maximum average net effective rent after concessions.
                      example: 2800
                    rent_per_sq_ft_gte:
                      type: number
                      description: Minimum average asking rent per square foot.
                      example: 1.5
                    rent_per_sq_ft_lte:
                      type: number
                      description: Maximum average asking rent per square foot.
                      example: 3.5
                    ner_per_sq_ft_gte:
                      type: number
                      description: Minimum average net effective rent per square foot.
                      example: 1.4
                    ner_per_sq_ft_lte:
                      type: number
                      description: Maximum average net effective rent per square foot.
                      example: 3.25
                    size_gte:
                      type: number
                      description: Minimum average unit size in square feet.
                      example: 500
                    size_lte:
                      type: number
                      description: Maximum average unit size in square feet.
                      example: 2000
                    concession_value_gte:
                      type: number
                      description: Minimum average concession value in dollars.
                      example: 100
                    concession_value_lte:
                      type: number
                      description: Maximum average concession value in dollars.
                      example: 500
                    concession_percent_gte:
                      type: number
                      description: Minimum average concession as percentage of rent.
                      maximum: 100
                      example: 5
                    concession_percent_lte:
                      type: number
                      description: Maximum average concession as percentage of rent.
                      maximum: 100
                      example: 15
                    occupancy_gte:
                      type: number
                      description: Minimum occupancy percentage.
                      maximum: 100
                      example: 85
                    occupancy_lte:
                      type: number
                      description: Maximum occupancy percentage.
                      maximum: 100
                      example: 98
                    leased_percent_gte:
                      type: number
                      description: Minimum percentage of units leased.
                      maximum: 100
                      example: 90
                    leased_percent_lte:
                      type: number
                      description: Maximum percentage of units leased.
                      maximum: 100
                      example: 100
                    exposure_gte:
                      type: number
                      description: Minimum exposure percentage (units available for lease).
                      maximum: 100
                      example: 2
                    exposure_lte:
                      type: number
                      description: Maximum exposure percentage (units available for lease).
                      maximum: 100
                      example: 15
                    loan_maturity_date_gte:
                      type: string
                      format: date
                      description: >-
                        Minimum loan maturity date (properties with loan
                        maturity on or after this date). ISO 8601 format
                        (YYYY-MM-DD).
                      example: '2025-01-01'
                    loan_maturity_date_lte:
                      type: string
                      format: date
                      description: >-
                        Maximum loan maturity date (properties with loan
                        maturity on or before this date). ISO 8601 format
                        (YYYY-MM-DD).
                      example: '2027-12-31'
                    transaction_cap_rate_gte:
                      type: number
                      description: >-
                        Minimum transaction cap rate (properties with a recorded
                        sale at or above this cap rate).
                      example: 4.5
                    transaction_cap_rate_lte:
                      type: number
                      description: >-
                        Maximum transaction cap rate (properties with a recorded
                        sale at or below this cap rate).
                      example: 7
                    transaction_date_closed_gte:
                      type: string
                      format: date
                      description: >-
                        Earliest transaction close date (properties sold on or
                        after this date). ISO 8601 format (YYYY-MM-DD).
                      example: '2024-01-01'
                    transaction_date_closed_lte:
                      type: string
                      format: date
                      description: >-
                        Latest transaction close date (properties sold on or
                        before this date). ISO 8601 format (YYYY-MM-DD).
                      example: '2026-12-31'
                    transaction_price_per_unit_gte:
                      type: number
                      description: >-
                        Minimum transaction price per unit (properties sold at
                        or above this price per unit).
                      example: 150000
                    transaction_price_per_unit_lte:
                      type: number
                      description: >-
                        Maximum transaction price per unit (properties sold at
                        or below this price per unit).
                      example: 350000
            examples:
              By Geo Boundary IDs:
                value:
                  account_id: your_account_id
                  property_filters:
                    geo_boundary_ids:
                      - '94216'
                      - '93759'
                    total_units_gte: 400
                    property_class:
                      - A
                      - B
              By Custom Geometry:
                value:
                  account_id: your_account_id
                  property_filters:
                    geometry:
                      type: Polygon
                      coordinates:
                        - - - -78.663
                            - 35.821
                          - - -78.663
                            - 35.85
                          - - -78.623
                            - 35.85
                          - - -78.623
                            - 35.821
                          - - -78.663
                            - 35.821
                    year_built_gte: 2010
      responses:
        '200':
          description: >-
            Successfully retrieved property data. Returns properties in JSON:API
            format with comprehensive property details.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: array
                    description: Array of property data in JSON:API format
                    items:
                      $ref: '#/components/schemas/BulkPropertyData'
        '400':
          description: Bad Request - Missing or invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Missing Geographic Filter:
                  value:
                    error: >-
                      At least one geographic filter (geo_boundary_ids or
                      geometry) is required
                Invalid Parameter:
                  value:
                    error: 'Invalid filter parameter: invalid_field'
        '401':
          description: Unauthorized - Invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            Forbidden - User lacks Explore Pro access or required permissions,
            or the quota has been exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Quota Exceeded:
                  value:
                    error: Bulk data quota (5000) exceeded
                Insufficient Access:
                  value:
                    error: User does not have access to bulk data feature
        '404':
          description: The requested resource was not found.
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
        '500':
          description: >-
            An unexpected error occurred while processing the request. Our team
            is investigating.
components:
  schemas:
    BulkPropertyData:
      type: object
      description: Bulk property data in JSON:API format
      required:
        - id
        - type
        - attributes
      properties:
        id:
          type: string
          description: The property ID as a string
          example: '99030676'
        type:
          type: string
          description: Resource type, always 'properties'
          enum:
            - properties
          example: properties
        attributes:
          type: object
          description: >-
            Property attributes including physical characteristics, metrics, and
            ownership data
          properties:
            collected_at:
              type: string
              format: date
              description: Date when the data was collected
              example: '2024-01-15'
            msa_name:
              type: string
              description: Metropolitan Statistical Area name
              nullable: true
              example: Raleigh-Cary, NC
            market_geo_boundary_id:
              type: integer
              description: >-
                ID of the market-level geographic boundary (MSA) this property
                belongs to. Use the Search Geo Boundaries endpoint to look up
                boundary details.
              nullable: true
              example: 123
            submarket_geo_boundary_id:
              type: integer
              description: >-
                ID of the submarket-level geographic boundary this property
                belongs to. Use the Search Geo Boundaries endpoint to look up
                boundary details.
              nullable: true
              example: 1030
            market_name:
              type: string
              description: >-
                Display name of the market-level geographic boundary (MSA) this
                property belongs to.
              nullable: true
              example: Raleigh-Cary, NC
            submarket_name:
              type: string
              description: >-
                Display name of the submarket-level geographic boundary this
                property belongs to.
              nullable: true
              example: Downtown Raleigh
            property_name:
              type: string
              description: Name of the property
              example: The Heights at Main Street
            property_id:
              type: integer
              description: Unique property identifier
              example: 123456
            property_url:
              type: string
              format: uri
              description: URL to the property's detail page
              nullable: true
              example: https://example.com/property/123456
            address:
              type: string
              description: Street address of the property
              example: 123 Main Street
            city:
              type: string
              description: City where the property is located
              example: Raleigh
            state:
              type: string
              description: State abbreviation
              example: NC
            zip:
              type: string
              description: ZIP code
              example: '27605'
            latitude:
              type: number
              format: float
              description: Geographic latitude coordinate
              example: 35.8234
            longitude:
              type: number
              format: float
              description: Geographic longitude coordinate
              example: -78.6382
            unit_count:
              type: integer
              description: Total number of units in the property
              nullable: true
              example: 250
            year_built:
              type: integer
              description: Year the property was constructed
              nullable: true
              example: 2018
            year_renovated:
              type: integer
              description: Year of most recent renovation
              nullable: true
              example: 2022
            construction_status:
              type: string
              description: Current construction status
              nullable: true
              enum:
                - existing
                - new_supply
              example: existing
            property_class:
              type: string
              description: Property classification grade
              nullable: true
              enum:
                - A
                - B
                - C
              example: A
            management_company_name:
              type: string
              description: Name of the property management company
              nullable: true
              example: Premium Property Management
            property_type:
              type: string
              description: Type of property
              nullable: true
              enum:
                - conventional
                - income_restricted
                - section8
                - senior_living
                - student_housing
                - build_to_rent
              example: conventional
            building_type:
              type: string
              description: Building configuration type
              enum:
                - Garden Style
                - Mid-Rise
                - High-Rise
              nullable: true
              example: Mid-Rise
            building_count:
              type: integer
              description: Number of buildings on the property
              nullable: true
              example: 3
            rentable_building_area_sq_ft:
              type: integer
              description: Total rentable square footage
              nullable: true
              example: 225000
            land_area_sq_ft:
              type: integer
              description: Total land area in square feet
              nullable: true
              example: 435600
            units_per_acre:
              type: number
              format: float
              description: Density measured as units per acre
              nullable: true
              example: 25.2
            number_of_stories:
              type: integer
              description: Maximum number of stories in any building
              nullable: true
              example: 5
            average_unit_size:
              type: integer
              description: Average unit size in square feet
              nullable: true
              example: 900
            transit_score:
              type: integer
              description: Transit accessibility score (0-100)
              nullable: true
              minimum: 0
              maximum: 100
              example: 45
            walk_score:
              type: integer
              description: Walkability score (0-100)
              nullable: true
              minimum: 0
              maximum: 100
              example: 72
            ownership_company_1_name:
              type: string
              description: Primary ownership company name (requires tier_one_data_access)
              nullable: true
              example: ABC Real Estate Holdings
            ownership_company_1_ownership_type:
              type: string
              description: >-
                Type of ownership for primary company (requires
                tier_one_data_access)
              nullable: true
              example: Private
            ownership_company_2_name:
              type: string
              description: Secondary ownership company name (requires tier_one_data_access)
              nullable: true
              example: XYZ Real Estate Holdings
            ownership_company_2_ownership_type:
              type: string
              description: >-
                Type of ownership for secondary company (requires
                tier_one_data_access)
              nullable: true
              example: Public
            ownership_company_3_name:
              type: string
              description: Tertiary ownership company name (requires tier_one_data_access)
              nullable: true
              example: 123 Real Estate Holdings
            ownership_company_3_ownership_type:
              type: string
              description: >-
                Type of ownership for tertiary company (requires
                tier_one_data_access)
              nullable: true
              example: Institutional
            ownership_company_4_name:
              type: string
              description: >-
                Quaternary ownership company name (requires
                tier_one_data_access)
              nullable: true
              example: 456 Real Estate Holdings
            ownership_company_4_ownership_type:
              type: string
              description: >-
                Type of ownership for quaternary company (requires
                tier_one_data_access)
              nullable: true
              example: Private
            owned_since_date:
              type: string
              format: date
              description: >-
                Date when current owner acquired the property (requires
                tier_one_data_access)
              nullable: true
              example: '2015-03-15'
            last_sale_price:
              type: number
              description: >-
                Most recent sale price in dollars (requires
                tier_two_data_access)
              nullable: true
              example: 45000000
            last_sale_price_status:
              type: string
              description: >-
                Status or verification level of the sale price (requires
                tier_two_data_access)
              nullable: true
              example: closed
            asking_rent:
              type: number
              format: float
              description: Average asking rent across all unit types (last 30 days)
              nullable: true
              example: 1850
            asking_rent_psf:
              type: number
              format: float
              description: Average asking rent per square foot (last 30 days)
              nullable: true
              example: 2.06
            net_effective_rent:
              type: number
              format: float
              description: Average net effective rent after concessions (last 30 days)
              nullable: true
              example: 1795
            net_effective_rent_psf:
              type: number
              format: float
              description: Average net effective rent per square foot (last 30 days)
              nullable: true
              example: 1.99
            exposure_percent:
              type: number
              format: float
              description: Percentage of units available for lease (last 30 days)
              nullable: true
              example: 8.5
            advertised_occupancy_percent:
              type: number
              format: float
              description: Advertised occupancy percentage (last 30 days)
              nullable: true
              example: 94.2
            leased_percent:
              type: number
              format: float
              description: Percentage of units leased (last 30 days)
              nullable: true
              example: 95.6
            available_unit_count_0_bed:
              type: integer
              description: Number of available studio units (last 30 days)
              nullable: true
              example: 2
            available_unit_count_1_bed:
              type: integer
              description: Number of available 1-bedroom units (last 30 days)
              nullable: true
              example: 5
            available_unit_count_2_bed:
              type: integer
              description: Number of available 2-bedroom units (last 30 days)
              nullable: true
              example: 8
            available_unit_count_3_bed:
              type: integer
              description: Number of available 3-bedroom units (last 30 days)
              nullable: true
              example: 3
            available_unit_count_4_bed:
              type: integer
              description: Number of available 4+ bedroom units (last 30 days)
              nullable: true
              example: 0
            leased_unit_count_0_bed:
              type: integer
              description: Number of leased studio units (last 30 days)
              nullable: true
              example: 2
            leased_unit_count_1_bed:
              type: integer
              description: Number of leased 1-bedroom units (last 30 days)
              nullable: true
              example: 5
            leased_unit_count_2_bed:
              type: integer
              description: Number of leased 2-bedroom units (last 30 days)
              nullable: true
              example: 8
            leased_unit_count_3_bed:
              type: integer
              description: Number of leased 3-bedroom units (last 30 days)
              nullable: true
              example: 3
            leased_unit_count_4_bed:
              type: integer
              description: Number of leased 4+ bedroom units (last 30 days)
              nullable: true
              example: 0
            asking_rent_0_bed:
              type: number
              format: float
              description: Average asking rent for studio units (last 30 days)
              nullable: true
              example: 1450
            asking_rent_1_bed:
              type: number
              format: float
              description: Average asking rent for 1-bedroom units (last 30 days)
              nullable: true
              example: 1450
            asking_rent_2_bed:
              type: number
              format: float
              description: Average asking rent for 2-bedroom units (last 30 days)
              nullable: true
              example: 1950
            asking_rent_3_bed:
              type: number
              format: float
              description: Average asking rent for 3-bedroom units (last 30 days)
              nullable: true
              example: 2450
            asking_rent_4_bed:
              type: number
              format: float
              description: Average asking rent for 4+ bedroom units (last 30 days)
              nullable: true
              example: 2450
            asking_rent_psf_0_bed:
              type: number
              format: float
              description: >-
                Average asking rent per square foot for studio units (last 30
                days)
              nullable: true
              example: 2.07
            asking_rent_psf_1_bed:
              type: number
              format: float
              description: >-
                Average asking rent per square foot for 1-bedroom units (last 30
                days)
              nullable: true
              example: 2.07
            asking_rent_psf_2_bed:
              type: number
              format: float
              description: >-
                Average asking rent per square foot for 2-bedroom units (last 30
                days)
              nullable: true
              example: 1.95
            asking_rent_psf_3_bed:
              type: number
              format: float
              description: >-
                Average asking rent per square foot for 3-bedroom units (last 30
                days)
              nullable: true
              example: 1.88
            asking_rent_psf_4_bed:
              type: number
              format: float
              description: >-
                Average asking rent per square foot for 4+ bedroom units (last
                30 days)
              nullable: true
              example: 1.88
            concession_percent_0_bed:
              type: number
              format: float
              description: Average concession percentage for studio units (last 30 days)
              nullable: true
              example: 2.5
            concession_percent_1_bed:
              type: number
              format: float
              description: Average concession percentage for 1-bedroom units (last 30 days)
              nullable: true
              example: 2.5
            concession_percent_2_bed:
              type: number
              format: float
              description: Average concession percentage for 2-bedroom units (last 30 days)
              nullable: true
              example: 3
            concession_percent_3_bed:
              type: number
              format: float
              description: Average concession percentage for 3-bedroom units (last 30 days)
              nullable: true
              example: 2
            concession_percent_4_bed:
              type: number
              format: float
              description: >-
                Average concession percentage for 4+ bedroom units (last 30
                days)
              nullable: true
              example: 2
            concession_value_0_bed:
              type: number
              format: float
              description: >-
                Average concession value in dollars for studio units (last 30
                days)
              nullable: true
              example: 1200
            concession_value_1_bed:
              type: number
              format: float
              description: >-
                Average concession value in dollars for 1-bedroom units (last 30
                days)
              nullable: true
              example: 1300
            concession_value_2_bed:
              type: number
              format: float
              description: >-
                Average concession value in dollars for 2-bedroom units (last 30
                days)
              nullable: true
              example: 1800
            concession_value_3_bed:
              type: number
              format: float
              description: >-
                Average concession value in dollars for 3-bedroom units (last 30
                days)
              nullable: true
              example: 2400
            concession_value_4_bed:
              type: number
              format: float
              description: >-
                Average concession value in dollars for 4+ bedroom units (last
                30 days)
              nullable: true
              example: 2400
            net_effective_rent_0_bed:
              type: number
              format: float
              description: Average net effective rent for studio units (last 30 days)
              nullable: true
              example: 1300
            net_effective_rent_1_bed:
              type: number
              format: float
              description: Average net effective rent for 1-bedroom units (last 30 days)
              nullable: true
              example: 1414
            net_effective_rent_2_bed:
              type: number
              format: float
              description: Average net effective rent for 2-bedroom units (last 30 days)
              nullable: true
              example: 1892
            net_effective_rent_3_bed:
              type: number
              format: float
              description: Average net effective rent for 3-bedroom units (last 30 days)
              nullable: true
              example: 2401
            net_effective_rent_4_bed:
              type: number
              format: float
              description: Average net effective rent for 4+ bedroom units (last 30 days)
              nullable: true
              example: 2400
            net_effective_rent_psf_0_bed:
              type: number
              format: float
              description: >-
                Average net effective rent per square foot for studio units
                (last 30 days)
              nullable: true
              example: 1.95
            net_effective_rent_psf_1_bed:
              type: number
              format: float
              description: >-
                Average net effective rent per square foot for 1-bedroom units
                (last 30 days)
              nullable: true
              example: 1.95
            net_effective_rent_psf_2_bed:
              type: number
              format: float
              description: >-
                Average net effective rent per square foot for 2-bedroom units
                (last 30 days)
              nullable: true
              example: 1.88
            net_effective_rent_psf_3_bed:
              type: number
              format: float
              description: >-
                Average net effective rent per square foot for 3-bedroom units
                (last 30 days)
              nullable: true
              example: 1.88
            net_effective_rent_psf_4_bed:
              type: number
              format: float
              description: >-
                Average net effective rent per square foot for 4+ bedroom units
                (last 30 days)
              nullable: true
              example: 1.88
            days_on_market_0_bed:
              type: integer
              description: Average days on market for studio units (last 30 days)
              nullable: true
              example: 15
            days_on_market_1_bed:
              type: integer
              description: Average days on market for 1-bedroom units (last 30 days)
              nullable: true
              example: 15
            days_on_market_2_bed:
              type: integer
              description: Average days on market for 2-bedroom units (last 30 days)
              nullable: true
              example: 22
            days_on_market_3_bed:
              type: integer
              description: Average days on market for 3-bedroom units (last 30 days)
              nullable: true
              example: 28
            days_on_market_4_bed:
              type: integer
              description: Average days on market for 4+ bedroom units (last 30 days)
              nullable: true
              example: 28
    Error:
      type: object
      description: >-
        Error response payload. Most errors include error and optional message;
        some validation responses include errors; quota responses include quota
        fields.
      properties:
        error:
          type: string
          description: Short error message
          example: Invalid parameter
        message:
          type: string
          description: Optional detailed message
          example: account_id is required
        errors:
          type: array
          description: Optional list of validation errors.
          items:
            type: string
        quota_limit:
          type: integer
          description: >-
            Quota limit that applied to the request when an account quota was
            exceeded.
        quota_usage:
          type: integer
          description: Current quota usage when an account quota was exceeded.
  responses:
    RateLimitExceeded:
      description: >-
        Rate limit exceeded. Inspect the rate limit headers and wait before
        retrying.
      headers:
        X-RateLimit-Limit:
          description: The limit that applied to the request.
          schema:
            type: string
        X-RateLimit-Reset-After:
          description: The rate limit window length, in seconds.
          schema:
            type: string
        X-RateLimit-Reset:
          description: Unix timestamp when the current window resets.
          schema:
            type: string
        Retry-After:
          description: Seconds to wait before retrying the request.
          schema:
            type: string
      content:
        text/plain:
          schema:
            type: string
          example: |
            You have exceeded the rate limit for this API.
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Trial API quota limit exceeded
            quota_limit: 5000
            quota_usage: 5001
  securitySchemes:
    oauth2:
      type: oauth2
      description: >-
        Enter a Bearer token obtained via the OAuth client credentials flow or
        from the Access Tokens tab in your account settings.
      flows:
        clientCredentials:
          tokenUrl: https://data.apartmentiq.io/oauth/token
          scopes: {}

````