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

# Bulk Organizations

> Retrieve bulk organization rows using optional organization and property filters, requested fields, and pagination.

Count fields use the latest indexed property data. The `collected_at_gte` and `collected_at_lte` filters do not change these values. If you request an interval, each interval row contains the same current count values.

<Warning>Requires Explore Pro Plus access.</Warning>



## OpenAPI

````yaml /openapi/v2/schema.json post /stakeholder_entities/bulk
openapi: 3.1.0
info:
  title: ApartmentIQ API V2
  version: 2.6.0
  termsOfService: https://www.getapartmentiq.com/terms
  x-logo:
    url: https://developers.apartmentiq.io/logo.svg
    altText: ApartmentIQ
  description: >-
    ApartmentIQ API V2 endpoints for account discovery, search, organization
    details, bulk Explore data, and dataset downloads.
servers:
  - url: https://data.apartmentiq.io/apartmentiq/api/v2
security:
  - bearerAuth: []
tags:
  - name: Accounts
    description: Account discovery endpoints.
  - name: Amenities
    description: Amenity discovery endpoints.
  - name: Properties
    description: Property search endpoints.
  - name: Markets
    description: Market and geo-boundary search endpoints.
  - name: Organizations
    description: Organization search endpoints.
  - name: Datasets
    description: Complete dataset snapshot downloads.
  - name: Bulk
    description: Bulk property, market, organization, quota, and forecast exports.
paths:
  /stakeholder_entities/bulk:
    post:
      tags:
        - Bulk
      summary: Bulk Organizations
      description: >-
        Retrieve bulk organization rows using optional organization and property
        filters, requested fields, and pagination.


        Count fields use the latest indexed property data. The
        `collected_at_gte` and `collected_at_lte` filters do not change these
        values. If you request an interval, each interval row contains the same
        current count values.


        <Warning>Requires Explore Pro Plus access.</Warning>
      operationId: createV2StakeholderEntitiesBulk
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkOrganizationsRequest'
            examples:
              summary:
                summary: Organization summary
                value:
                  account_id: '{account_id}'
                  property_filters:
                    entity_type:
                      - property_manager
                    total_units_gte: 100
                  fields:
                    - rent
                    - property_count
                    - unit_count
                    - market_count
                  page: 1
                  per_page: 25
              monthly:
                summary: Monthly organization metrics
                value:
                  account_id: '{account_id}'
                  interval: month
                  property_filters:
                    entity_type: true_owner
                    collected_at_gte: '2026-05-01'
                    collected_at_lte: '2026-06-30'
                    property_class:
                      - A
                  fields:
                    - rent
                    - occupancy_percent
                    - property_count
      responses:
        '200':
          description: Bulk organization rows and pagination metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOrganizationsResponse'
              examples:
                summary:
                  summary: Organization summary
                  value:
                    rows:
                      - organization_name: Greystar Real Estate Partners
                        entity_type: Property Manager
                        domain_name: greystar.com
                        employee_count_range: 1001-5000
                        linkedin_url: https://www.linkedin.com/company/greystar/
                        website_url: https://www.greystar.com
                        phone_number: +1-800-555-0100
                        stakeholder_entity_id: 123
                        company_entity_type: company
                        company_legal_type: private
                        year_founded: '1993'
                        description: A global real estate organization.
                        image_url: https://cdn.example.com/organizations/greystar.png
                        headquarters_city: Charleston
                        headquarters_address: 465 Meeting Street
                        headquarters_state: SC
                        headquarters_zip_code: '29403'
                        headquarters_country: US
                        rent: 1501.24
                        property_count: 80
                        unit_count: 14500
                        market_count: 12
                    pagination:
                      current_page: 1
                      total_pages: 4
                      total_count: 80
                      per_page: 25
                monthly:
                  summary: Monthly organization metrics
                  value:
                    rows:
                      - organization_name: Lakeview Multifamily Fund
                        entity_type: Owner
                        domain_name: null
                        employee_count_range: null
                        linkedin_url: null
                        website_url: null
                        phone_number: null
                        stakeholder_entity_id: 456
                        company_entity_type: null
                        company_legal_type: null
                        year_founded: null
                        description: null
                        image_url: null
                        headquarters_city: null
                        headquarters_address: null
                        headquarters_state: null
                        headquarters_zip_code: null
                        headquarters_country: null
                        period: 2026-05
                        rent: 1842.37
                        occupancy_percent: 0.9435
                        property_count: 14
                    pagination:
                      current_page: 1
                      total_pages: 1
                      total_count: 1
                      per_page: 25
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/ExploreProPlusAccessForbidden'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    BulkOrganizationsRequest:
      type: object
      description: Request contract for the API V2 organizations bulk export endpoint.
      properties:
        account_id:
          $ref: '#/components/schemas/AccountId'
        interval:
          type: string
          enum:
            - month
            - quarter
            - year
          description: >-
            Optional period bucket for requested metrics. Omit for one summary
            row per organization.
        fields:
          $ref: '#/components/schemas/BulkOrganizationFields'
        property_filters:
          $ref: '#/components/schemas/BulkOrganizationPropertyFilters'
        page:
          type: integer
          minimum: 1
          default: 1
          description: One-based page number for the export result set.
        per_page:
          type: integer
          minimum: 1
          maximum: 100
          default: 25
          description: Number of organizations per page. The maximum is 100.
      required:
        - account_id
      additionalProperties: false
    BulkOrganizationsResponse:
      type: object
      description: Paginated organization bulk export results.
      properties:
        rows:
          type: array
          items:
            $ref: '#/components/schemas/BulkOrganizationRow'
          description: >-
            Organization rows for the current page. An interval request can
            return more rows than per_page because each organization has one row
            for each interval period.
        pagination:
          $ref: '#/components/schemas/Pagination'
          description: >-
            Pagination details for matched organizations, not interval-period
            rows.
      required:
        - rows
        - pagination
      additionalProperties: false
    AccountId:
      anyOf:
        - type: integer
        - type: string
      description: ApartmentIQ account ID used to set the request account context.
    BulkOrganizationFields:
      type: array
      items:
        oneOf:
          - $ref: '#/components/schemas/PropertyMetricField'
          - $ref: '#/components/schemas/BulkOrganizationCountField'
      uniqueItems: true
      description: >-
        Optional property metric and current portfolio count fields. Omit or
        pass an empty array for identity-only rows.
    BulkOrganizationPropertyFilters:
      allOf:
        - $ref: '#/components/schemas/BasePropertyFilters'
        - type: object
          properties:
            entity_type:
              anyOf:
                - type: array
                  items:
                    type: string
                    enum:
                      - true_owner
                      - property_manager
                - type: string
                  enum:
                    - true_owner
                    - property_manager
              description: >-
                Organization types to include. Valid values: `true_owner`,
                `property_manager`.
      unevaluatedProperties: false
      description: >-
        Filters used to select organizations and the property data used for
        requested fields.
    BulkOrganizationRow:
      type: object
      description: >-
        Organization identity fields plus requested property metric and
        portfolio count fields.
      properties:
        organization_name:
          type: string
          description: Display name for the organization.
        entity_type:
          type: string
          description: Organization type, such as Property Manager or Owner.
        domain_name:
          type:
            - string
            - 'null'
          description: Organization domain name, when available.
        employee_count_range:
          type:
            - string
            - 'null'
          description: Employee count range, when available.
        linkedin_url:
          type:
            - string
            - 'null'
          description: Organization LinkedIn URL, when available.
        website_url:
          type:
            - string
            - 'null'
          description: Organization website URL, when available.
        phone_number:
          type:
            - string
            - 'null'
          description: Organization phone number, when available.
        stakeholder_entity_id:
          type: integer
          description: ApartmentIQ stakeholder entity ID.
        company_entity_type:
          type:
            - string
            - 'null'
          description: Company entity classification, when available.
        company_legal_type:
          type:
            - string
            - 'null'
          description: Company legal structure, when available.
        year_founded:
          type:
            - string
            - 'null'
          description: Year the organization was founded, when available.
        description:
          type:
            - string
            - 'null'
          description: Organization description, when available.
        image_url:
          type:
            - string
            - 'null'
          description: Logo or image URL for the organization, when available.
        headquarters_city:
          type:
            - string
            - 'null'
          description: Headquarters city, when available.
        headquarters_address:
          type:
            - string
            - 'null'
          description: Headquarters street address, when available.
        headquarters_state:
          type:
            - string
            - 'null'
          description: Headquarters state, when available.
        headquarters_zip_code:
          type:
            - string
            - 'null'
          description: Headquarters postal code, when available.
        headquarters_country:
          type:
            - string
            - 'null'
          description: Headquarters country, when available.
        period:
          type: string
          description: >-
            Output period for the row. Format is YYYY-MM, YYYY-QN, or YYYY,
            based on the requested interval.
        rent:
          type:
            - number
            - 'null'
          description: >-
            Average asking rent. Returned when requested; null when metric data
            is unavailable.
        rent_0_bed:
          type:
            - number
            - 'null'
          description: >-
            Average studio asking rent. Returned when requested; null when
            metric data is unavailable.
        rent_1_bed:
          type:
            - number
            - 'null'
          description: >-
            Average one-bedroom asking rent. Returned when requested; null when
            metric data is unavailable.
        rent_2_bed:
          type:
            - number
            - 'null'
          description: >-
            Average two-bedroom asking rent. Returned when requested; null when
            metric data is unavailable.
        rent_3_bed:
          type:
            - number
            - 'null'
          description: >-
            Average three-bedroom asking rent. Returned when requested; null
            when metric data is unavailable.
        ner:
          type:
            - number
            - 'null'
          description: >-
            Average net effective rent after concessions. Returned when
            requested; null when metric data is unavailable.
        ner_0_bed:
          type:
            - number
            - 'null'
          description: >-
            Average studio net effective rent. Returned when requested; null
            when metric data is unavailable.
        ner_1_bed:
          type:
            - number
            - 'null'
          description: >-
            Average one-bedroom net effective rent. Returned when requested;
            null when metric data is unavailable.
        ner_2_bed:
          type:
            - number
            - 'null'
          description: >-
            Average two-bedroom net effective rent. Returned when requested;
            null when metric data is unavailable.
        ner_3_bed:
          type:
            - number
            - 'null'
          description: >-
            Average three-bedroom net effective rent. Returned when requested;
            null when metric data is unavailable.
        rent_psf:
          type:
            - number
            - 'null'
          description: >-
            Average asking rent per square foot. Returned when requested; null
            when metric data is unavailable.
        rent_0_bed_psf:
          type:
            - number
            - 'null'
          description: >-
            Average studio asking rent per square foot. Returned when requested;
            null when metric data is unavailable.
        rent_1_bed_psf:
          type:
            - number
            - 'null'
          description: >-
            Average one-bedroom asking rent per square foot. Returned when
            requested; null when metric data is unavailable.
        rent_2_bed_psf:
          type:
            - number
            - 'null'
          description: >-
            Average two-bedroom asking rent per square foot. Returned when
            requested; null when metric data is unavailable.
        rent_3_bed_psf:
          type:
            - number
            - 'null'
          description: >-
            Average three-bedroom asking rent per square foot. Returned when
            requested; null when metric data is unavailable.
        ner_psf:
          type:
            - number
            - 'null'
          description: >-
            Average net effective rent per square foot. Returned when requested;
            null when metric data is unavailable.
        ner_0_bed_psf:
          type:
            - number
            - 'null'
          description: >-
            Average studio net effective rent per square foot. Returned when
            requested; null when metric data is unavailable.
        ner_1_bed_psf:
          type:
            - number
            - 'null'
          description: >-
            Average one-bedroom net effective rent per square foot. Returned
            when requested; null when metric data is unavailable.
        ner_2_bed_psf:
          type:
            - number
            - 'null'
          description: >-
            Average two-bedroom net effective rent per square foot. Returned
            when requested; null when metric data is unavailable.
        ner_3_bed_psf:
          type:
            - number
            - 'null'
          description: >-
            Average three-bedroom net effective rent per square foot. Returned
            when requested; null when metric data is unavailable.
        rent_growth_rate_yoy:
          type:
            - number
            - 'null'
          description: >-
            Year-over-year asking rent growth rate. Returned when requested;
            null when metric data is unavailable.
        ner_growth_rate_yoy:
          type:
            - number
            - 'null'
          description: >-
            Year-over-year net effective rent growth rate. Returned when
            requested; null when metric data is unavailable.
        concession_value:
          type:
            - number
            - 'null'
          description: >-
            Average concession value. Returned when requested; null when metric
            data is unavailable.
        concession_percent:
          type:
            - number
            - 'null'
          description: >-
            Average concession as a percentage of rent. Returned when requested;
            null when metric data is unavailable.
        days_on_market:
          type:
            - number
            - 'null'
          description: >-
            Average days on market for available units. Returned when requested;
            null when metric data is unavailable.
        occupancy_percent:
          type:
            - number
            - 'null'
          description: >-
            Average occupancy percentage. Returned when requested; null when
            metric data is unavailable.
        leased_percent:
          type:
            - number
            - 'null'
          description: >-
            Average leased percentage. Returned when requested; null when metric
            data is unavailable.
        exposure_percent:
          type:
            - number
            - 'null'
          description: >-
            Average percentage of units exposed for lease. Returned when
            requested; null when metric data is unavailable.
        property_count:
          type: integer
          description: >-
            Current number of associated properties after non-date property
            filters are applied. Returned when requested.
        unit_count:
          type: integer
          description: >-
            Current unit count across associated properties after non-date
            property filters are applied. Returned when requested.
        market_count:
          type: integer
          description: >-
            Current number of markets for associated properties after non-date
            property filters are applied. Returned when requested.
        unit_count_class_a:
          type: integer
          description: >-
            Current unit count for associated class A properties. Returned when
            requested.
        unit_count_class_b:
          type: integer
          description: >-
            Current unit count for associated class B properties. Returned when
            requested.
        unit_count_class_c:
          type: integer
          description: >-
            Current unit count for associated class C properties. Returned when
            requested.
        unit_count_conventional:
          type: integer
          description: >-
            Current unit count for associated conventional properties. Returned
            when requested.
        unit_count_build_to_rent:
          type: integer
          description: >-
            Current unit count for associated build-to-rent properties. Returned
            when requested.
        unit_count_senior_living:
          type: integer
          description: >-
            Current unit count for associated senior-living properties. Returned
            when requested.
        unit_count_student_housing:
          type: integer
          description: >-
            Current unit count for associated student-housing properties.
            Returned when requested.
        unit_count_income_restricted:
          type: integer
          description: >-
            Current unit count for associated income-restricted properties.
            Returned when requested.
      required:
        - organization_name
        - entity_type
        - domain_name
        - employee_count_range
        - linkedin_url
        - website_url
        - phone_number
        - stakeholder_entity_id
        - company_entity_type
        - company_legal_type
        - year_founded
        - description
        - image_url
        - headquarters_city
        - headquarters_address
        - headquarters_state
        - headquarters_zip_code
        - headquarters_country
      additionalProperties: false
    Pagination:
      type: object
      properties:
        current_page:
          type: integer
          description: Current page number in the result set.
        total_pages:
          type: integer
          description: Total number of pages available for the request.
        total_count:
          type: integer
          description: Total number of matching records across all pages.
        per_page:
          type: integer
          description: Maximum number of records returned per page.
      required:
        - current_page
        - total_pages
        - total_count
        - per_page
      additionalProperties: false
      description: Pagination details for list-style responses.
    Error:
      type: object
      description: Error response payload.
      properties:
        error:
          type: string
          description: Short error message.
        message:
          type: string
          description: Additional error details, when available.
        quota_limit:
          type: integer
          description: Quota limit that applied to the request, when relevant.
        quota_usage:
          type: integer
          description: Quota already used, when relevant.
      required:
        - error
      additionalProperties: true
    PropertyMetricField:
      type: string
      enum:
        - rent
        - rent_0_bed
        - rent_1_bed
        - rent_2_bed
        - rent_3_bed
        - ner
        - ner_0_bed
        - ner_1_bed
        - ner_2_bed
        - ner_3_bed
        - rent_psf
        - rent_0_bed_psf
        - rent_1_bed_psf
        - rent_2_bed_psf
        - rent_3_bed_psf
        - ner_psf
        - ner_0_bed_psf
        - ner_1_bed_psf
        - ner_2_bed_psf
        - ner_3_bed_psf
        - rent_growth_rate_yoy
        - ner_growth_rate_yoy
        - concession_value
        - concession_percent
        - days_on_market
        - occupancy_percent
        - leased_percent
        - exposure_percent
      description: Property metric field to include in each bulk row.
    BulkOrganizationCountField:
      type: string
      enum:
        - property_count
        - unit_count
        - market_count
        - unit_count_class_a
        - unit_count_class_b
        - unit_count_class_c
        - unit_count_conventional
        - unit_count_build_to_rent
        - unit_count_senior_living
        - unit_count_student_housing
        - unit_count_income_restricted
      description: Current portfolio count field to include in each organization row.
    BasePropertyFilters:
      type: object
      description: >-
        Shared filters used to select properties and constrain the metric
        aggregation date range.
      properties:
        amenity_ids:
          anyOf:
            - type: array
              items:
                anyOf:
                  - type: integer
                  - type: string
            - type: string
          description: Amenity IDs that matching properties must include.
        bathroom_count:
          anyOf:
            - type: array
              items:
                type: number
            - type: string
          description: Bathroom counts that matching properties must offer.
        bedroom_count:
          anyOf:
            - type: array
              items:
                type: integer
            - type: string
          description: Bedroom counts that matching properties must offer.
        city:
          type: string
          description: City for location-based property filtering. Use with state.
        collected_at_gte:
          type: string
          format: date
          description: >-
            Inclusive start date for metric data. Must be on or after
            2022-01-01.
        collected_at_lte:
          type: string
          format: date
          description: Inclusive end date for metric data. Must be on or after 2022-01-01.
        concession_percent_gte:
          type: number
          description: Minimum concession percentage, expressed as a decimal value.
        concession_percent_lte:
          type: number
          description: Maximum concession percentage, expressed as a decimal value.
        concession_value_gte:
          type: number
          description: Minimum advertised concession value in dollars.
        concession_value_lte:
          type: number
          description: Maximum advertised concession value in dollars.
        construction_state:
          anyOf:
            - type: array
              items:
                type: string
            - type: string
          description: Construction state filters such as existing or new_supply.
        exposure_gte:
          type: number
          description: Minimum exposure percentage, expressed as a decimal value.
        exposure_lte:
          type: number
          description: Maximum exposure percentage, expressed as a decimal value.
        geo_boundary_ids:
          anyOf:
            - type: array
              items:
                anyOf:
                  - type: integer
                  - type: string
            - type: string
          description: Geo boundary IDs used to limit matching properties by market.
        lat:
          type: number
          description: Latitude for radius search. Use with lng.
        leased_percent_gte:
          type: number
          description: Minimum leased percentage, expressed as a decimal value.
        leased_percent_lte:
          type: number
          description: Maximum leased percentage, expressed as a decimal value.
        lng:
          type: number
          description: Longitude for radius search. Use with lat.
        ner_gte:
          type: number
          description: Minimum net effective rent.
        ner_lte:
          type: number
          description: Maximum net effective rent.
        ner_per_sq_ft_gte:
          type: number
          description: Minimum net effective rent per square foot.
        ner_per_sq_ft_lte:
          type: number
          description: Maximum net effective rent per square foot.
        number_of_stories_gte:
          type: number
          description: Minimum property story count.
        number_of_stories_lte:
          type: number
          description: Maximum property story count.
        occupancy_gte:
          type: number
          description: Minimum occupancy percentage, expressed as a decimal value.
        occupancy_lte:
          type: number
          description: Maximum occupancy percentage, expressed as a decimal value.
        property_class:
          anyOf:
            - type: array
              items:
                type: string
                enum:
                  - A
                  - B
                  - C
                  - D
            - type: string
          description: 'Property class values to include. Valid values: `A`, `B`, `C`, `D`.'
        property_ids:
          type: string
          description: Comma-separated ApartmentIQ property IDs to include.
        property_type:
          anyOf:
            - type: array
              items:
                type: string
                enum:
                  - conventional
                  - student
                  - student_housing
                  - senior
                  - senior_living
                  - build_to_rent
                  - affordable
            - type: string
          description: >-
            Property type filters to include. Valid values: `conventional`,
            `student`, `student_housing`, `senior`, `senior_living`,
            `build_to_rent`, `affordable`.
        radius:
          type: number
          description: >-
            Radius in miles for lat/lng search. Values are clamped between 0 and
            30.
        renovated_units:
          type: boolean
          description: Whether matching properties must have renovated unit inventory.
        rent_gte:
          type: number
          description: Minimum advertised rent.
        rent_lte:
          type: number
          description: Maximum advertised rent.
        rent_per_sq_ft_gte:
          type: number
          description: Minimum advertised rent per square foot.
        rent_per_sq_ft_lte:
          type: number
          description: Maximum advertised rent per square foot.
        size_gte:
          type: number
          description: Minimum unit size in square feet.
        size_lte:
          type: number
          description: Maximum unit size in square feet.
        stakeholder_entity_ids:
          anyOf:
            - type: array
              items:
                anyOf:
                  - type: integer
                  - type: string
            - type: string
          description: Stakeholder entity IDs associated with matching properties.
        state:
          type: string
          description: State for location-based property filtering. Use with city.
        total_units_gte:
          type: number
          description: Minimum total property unit count.
        total_units_lte:
          type: number
          description: Maximum total property unit count.
        transaction_cap_rate_gte:
          type: number
          description: Minimum transaction capitalization rate for pro-plus users.
        transaction_cap_rate_lte:
          type: number
          description: Maximum transaction capitalization rate for pro-plus users.
        transaction_date_closed_gte:
          type: string
          format: date
          description: Inclusive earliest transaction closed date for pro-plus users.
        transaction_date_closed_lte:
          type: string
          format: date
          description: Inclusive latest transaction closed date for pro-plus users.
        transaction_price_per_unit_gte:
          type: number
          description: Minimum transaction price per unit for pro-plus users.
        transaction_price_per_unit_lte:
          type: number
          description: Maximum transaction price per unit for pro-plus users.
        unified_status:
          anyOf:
            - type: array
              items:
                type: string
                enum:
                  - stabilized
                  - planning
                  - scheduled_construction
                  - under_construction
                  - lease_up
            - type: string
          description: Unified property status values to include.
        year_built_gte:
          type: number
          description: Minimum year built.
        year_built_lte:
          type: number
          description: Maximum year built.
        zip_code:
          type: string
          description: Zip code for location-based property filtering.
  responses:
    BadRequest:
      description: The request was invalid or malformed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - Invalid or missing authentication.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ExploreProPlusAccessForbidden:
      description: Forbidden - The user lacks account access or Explore Pro Plus access.
    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.
    InternalServerError:
      description: An unexpected error occurred while processing the request.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````