> ## 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.

# List Units In Competitive Set

> Retrieves the list of [units](#response-data-attributes) in a Competitive Set.



## OpenAPI

````yaml /openapi/v1/schema.json get /comp_sets/{comp_set_id}/units
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:
  /comp_sets/{comp_set_id}/units:
    get:
      tags:
        - Market Surveys
      summary: List Units In Competitive Set
      description: >-
        Retrieves the list of [units](#response-data-attributes) in a
        Competitive Set.
      operationId: getUnits
      parameters:
        - $ref: '#/components/parameters/comp_set_id'
        - $ref: '#/components/parameters/filter_bedroom_count'
        - $ref: '#/components/parameters/filter_bathroom_count'
        - $ref: '#/components/parameters/filter_iq_property_ids'
        - $ref: '#/components/parameters/filter_size_gte'
        - $ref: '#/components/parameters/filter_size_lte'
        - $ref: '#/components/parameters/filter_rent_gte'
        - $ref: '#/components/parameters/filter_rent_lte'
        - $ref: '#/components/parameters/filter_date_available_gte'
        - $ref: '#/components/parameters/filter_date_available_lte'
        - $ref: '#/components/parameters/filter_year_built_gte'
        - $ref: '#/components/parameters/filter_year_built_lte'
        - $ref: '#/components/parameters/filter_unit_style'
      responses:
        '200':
          description: >-
            A Map with a `data` attribute that contains an array of
            [units](#response-attributes-name) in the [competitive
            set](list-competitive-sets#response-attributes-name).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompSetUnit'
        '400':
          description: The request was invalid or malformed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - Invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: The user does not have permission to access this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '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:
  parameters:
    comp_set_id:
      name: comp_set_id
      in: path
      description: ID of the comp set to get data for.
      required: true
      schema:
        type: string
      example: '11848667'
    filter_bedroom_count:
      name: filter[bedroom_count]
      description: Filter the data by a comma-separated list of bedroom counts.
      in: query
      schema:
        type: string
      example: 1,2
    filter_bathroom_count:
      name: filter[bathroom_count]
      description: Filter the data by a comma-separated list of bathroom counts.
      in: query
      schema:
        type: string
      example: 1,2
    filter_iq_property_ids:
      name: filter[iq_property_ids]
      description: Filter the data by a comma-separated list of property IDs.
      in: query
      schema:
        type: string
      example: 123,456
    filter_size_gte:
      name: filter[size_gte]
      description: Filter the data by minimum unit size, in square feet.
      in: query
      schema:
        type: integer
      example: 500
    filter_size_lte:
      name: filter[size_lte]
      description: Filter the data by maximum unit size, in square feet.
      in: query
      schema:
        type: integer
      example: 900
    filter_rent_gte:
      name: filter[rent_gte]
      description: Filter the data by minimum rent, in dollars.
      in: query
      schema:
        type: integer
      example: 1000
    filter_rent_lte:
      name: filter[rent_lte]
      description: Filter the data by maximum rent, in dollars.
      in: query
      schema:
        type: integer
      example: 2000
    filter_date_available_gte:
      name: filter[date_available_gte]
      in: query
      description: Filter the data by minimum date available, in ISO 8601 format.
      schema:
        type: string
        format: date
      example: '2025-08-05'
    filter_date_available_lte:
      name: filter[date_available_lte]
      in: query
      description: Filter the data by maximum date available, in ISO 8601 format.
      schema:
        type: string
        format: date
      example: '2025-10-05'
    filter_year_built_gte:
      name: filter[year_built_gte]
      description: Filter the data by minimum year built.
      in: query
      schema:
        type: integer
      example: 2005
    filter_year_built_lte:
      name: filter[year_built_lte]
      description: Filter the data by maximum year built.
      in: query
      schema:
        type: integer
      example: 2025
    filter_unit_style:
      name: filter[unit_style]
      description: >-
        Filter the data by a comma-separated list of unit styles, where unit
        styles are affordable, standard, penthouse, or renovated.
      in: query
      schema:
        type: string
      example: standard,renovated
  schemas:
    CompSetUnit:
      type: object
      description: An individual apartment unit in a comp set.
      required:
        - id
        - type
        - attributes
      properties:
        id:
          type: string
          description: ID of the unit.
          example: '99030676_021621'
        type:
          type: string
          description: Type of data returned in the response.
          example: unit
        attributes:
          type: object
          description: Container for unit attributes and metrics.
          properties:
            property_id:
              type: integer
              description: ID of the property the unit belongs to.
              example: 99030676
            subject_property:
              type: boolean
              description: >-
                Whether the unit belongs to the subject property of this comp
                set.
              example: true
            property_name:
              type: string
              description: Name of the property the unit belongs to.
              example: Cortland Bowery
            is_leased:
              type: boolean
              description: Whether the unit is leased.
              example: false
            year_built:
              type: integer
              description: Year the property the unit belongs to was built.
              example: 1987
            unit_name:
              type: string
              description: Name of the unit.
              example: '#02 - 1621'
            days_on_market:
              type: integer
              description: >-
                Number of days the unit has been on the market since it started
                being advertised.
              example: 81
            date_available:
              type: string
              description: Date the unit is available for move, in ISO 8601 format.
              example: '2024-02-13'
              format: date
            bedroom_count:
              type: integer
              description: Number of bedrooms in the unit.
              example: 1
            bathroom_count:
              type: number
              description: Number of bathrooms in the unit.
              example: 1
              format: float
            min_rent:
              type: number
              description: Minimum rent of the unit.
              example: 1841
              format: float
            sq_ft:
              type: integer
              description: Square footage of the unit.
              example: 757
            floorplan_name:
              type: string
              description: Name of the floorplan of the unit.
              example: A3 - Clearwater
            avg_rent_per_sq_ft:
              type: number
              description: Average rent per square foot of the unit.
              example: 2.4319682959048876
              format: float
            last_rent_change_date:
              type: string
              description: Date of the last rent change, in ISO 8601 format.
              example: '2024-02-07'
              format: date
            last_rent_change:
              type: string
              description: Amount of the last rent change.
              example: $10
            total_30_day_rent_change:
              type: string
              description: Total rent change in the last 30 days.
              example: $55
            rent_changes_last_30_days:
              type: integer
              description: Number of rent changes in the last 30 days.
              example: 10
            is_trucomp:
              type: boolean
              description: >-
                Whether the unit is a truComp of the subject units in the comp
                set.
              example: false
            date_leased:
              type: string
              description: Date the unit was leased.
              example: '2024-02-01T12:00:00Z'
              format: date-time
            trucomp_rent_differential:
              type: number
              description: >-
                Percent differential of the units rent compared to the truComp
                average rent.
              format: float
              example: 0.021040974529346623
            trucomp_sq_ft_differential:
              type: number
              description: >-
                Percent differential of the units square footage compared to the
                truComp average square footage.
              example: -0.04634522236900049
              format: float
            trucomp_rent_per_sq_ft_differential:
              type: number
              description: >-
                Percent differential of the units rent per square foot compared
                to the truComp average rent per square foot.
              example: 0.07066099649366094
              format: float
            concessions:
              $ref: '#/components/schemas/Concessions'
            net_effective_rent:
              type: integer
              description: Net effective rent of the unit.
              example: 1841
              format: float
            net_effective_rent_per_sq_ft:
              type: number
              description: Net effective rent per square foot of the unit.
              example: 2.4319682959048876
              format: float
            annual_rent_reduction_value:
              type: integer
              description: Annual rent reduction value of the units concessions.
              example: 4928
              format: float
            amenity_names:
              $ref: '#/components/schemas/AmenityNames'
            status:
              type: string
              description: Status of the unit.
              example: available
    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.
    Concessions:
      type: object
      description: Concessions being offered and their metadata.
      properties:
        id:
          type: integer
          description: ID of the concession.
          example: 299639
        property_id:
          type: integer
          description: ID of the property the concession applies to.
          example: 99030676
        expires_at:
          type: string
          description: Time the concession expires, in ISO 8601 format.
          example: '2024-02-29T23:59:59.999Z'
          format: date-time
        updated_at:
          type: string
          description: Time the concession was last updated, in ISO 8601 format.
          example: '2024-02-13T10:15:26.403Z'
          format: date-time
        updated_at_formatted:
          type: string
          description: Formatted date the concession was last updated.
          example: 8 hours ago
        display_text:
          type: string
          description: >-
            Human friendly text describing the concessions and any restrictions
            that apply to them.
          example: >-
            up to 6 weeks in free rent

            Restrictions: Move in by February 29, 2024, 13 month lease, Must be
            a new applicant
        rent_concessions:
          type: array
          description: List of concessions that apply to rent.
          items:
            type: object
            properties:
              display_text:
                type: string
                description: >-
                  Human friendly text describing the rent concession and any
                  restrictions that apply.
                example: Up to 6 Weeks Free Rent
              restrictions:
                type: array
                description: List of restrictions that apply to the rent concession.
                items:
                  type: string
                  example: Move in by february 29, 2024
                example:
                  - Move in by february 29, 2024
                  - 13 month lease
                  - Must be a new applicant
              expires_on_date:
                type: string
                description: Date the rent concession expires, in ISO 8601 format.
                example: '2024-02-29'
                format: date
              subject:
                type: string
                description: Subject of the rent concession.
                example: Rent
              type_value:
                type: number
                description: Value of the rent concession.
                example: 6
                format: float
              details:
                type: string
                description: Raw details of the rent concession.
                example: Up to 6 weeks in free rent
        non_rent_concessions:
          type: array
          description: List of concessions that do not apply to rent.
          items:
            type: object
            properties:
              display_text:
                type: string
                description: >-
                  Human friendly text describing the non-rent concession and any
                  restrictions that apply.
                example: 50% Off Administration Fee
              restrictions:
                type: array
                description: List of restrictions that apply to the non-rent concession.
                items:
                  type: string
                  example: Move in by february 29, 2024
                example:
                  - Move in by february 29, 2024
                  - 13 month lease
                  - Must be a new applicant
              expires_on_date:
                type: string
                description: >-
                  Date the non-rent concession expires, if known, in ISO 8601
                  format.
                example: '2024-02-29'
                format: date
              subject:
                type: string
                description: Subject of the non-rent concession.
                example: Administration Fee
              type_value:
                type: number
                description: Value of the non-rent concession.
                example: 0.5
                format: float
              details:
                type: string
                description: Raw details of the non-rent concession.
                example: Half off admin fee
    AmenityNames:
      type: object
      description: Object containing various unit amenities and their corresponding data.
      properties:
        Views:
          type: array
          items:
            type: string
          description: Text description of the views available from the unit.
        Balcony/Patio:
          type: array
          items:
            type: string
          description: Text description of the balconies or patios available.
        Washer/Dryer:
          type: array
          items:
            type: string
          description: Text description of the washer and dryer options in the unit.
        Kitchen Island:
          type: array
          items:
            type: string
          description: Text description of the kitchen islands available.
        Stainless Steel Appliances:
          type: array
          items:
            type: string
          description: Text description of the stainless steel appliances available.
        Stone Countertops:
          type: array
          items:
            type: string
          description: Text description of the stone countertops available.
        Garage Attached:
          type: array
          items:
            type: string
          description: Text description of the attached garages available.
        Hardwood Floors:
          type: array
          items:
            type: string
          description: Text description of the hardwood floors available.
        Vinyl Flooring:
          type: array
          items:
            type: string
          description: Text description of the vinyl flooring available.
        Walk-In Closets:
          type: array
          items:
            type: string
          description: Text description of the walk-in closets available.
        Linen Closet:
          type: array
          items:
            type: string
          description: Text description of the linen closets available.
        High Ceilings:
          type: array
          items:
            type: string
          description: Text description of the high ceilings available.
        Ceiling Fans:
          type: array
          items:
            type: string
          description: Text description of the ceiling fans available.
        Air Conditioning:
          type: array
          items:
            type: string
          description: Text description of the air conditioning available.
        Smart Technology:
          type: array
          items:
            type: string
          description: Text description of the smart technology features available.
        Garbage Disposal:
          type: array
          items:
            type: string
          description: Text description of the garbage disposal units available.
        Dishwasher:
          type: array
          items:
            type: string
          description: Text description of the dishwashers available.
        Fireplace:
          type: array
          items:
            type: string
          description: Text description of the fireplaces available.
        Carpet:
          type: array
          items:
            type: string
          description: Text description of the carpeting available.
        Pantry:
          type: array
          items:
            type: string
          description: Text description of the pantries available.
        Tile:
          type: array
          items:
            type: string
          description: Text description of the tile flooring or features available.
        Washer/Dryer Hookup:
          type: array
          items:
            type: string
          description: Text description of the washer/dryer hookups available.
        other:
          type: array
          items:
            type: string
          description: Other miscellaneous amenities not covered in the above categories.
  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: {}

````