The Buildout API allows you to programmatically access the data associated with your Buildout account. The API is designed as a RESTful web-service that returns JSON. This document defines the API by explaining the data model, describing the methods and responses, and defining the enumerations found in the responses.
The one pre-requisite to using the API is that you have an API key.
*Your API key gives you (or anyone else) full access to all of your data. Keep your API key secret.
This is a best practice in API design, and the core principle of this API. You can always add functionality, but you can never take it away. As such we are very careful about what we include in it. For example, we currently only support partial PUT requests (i.e. you can only update data a few attributes). If there is something you need that's not supported, let us know. It's likely something we have considered, we just didn't have any justification based on client needs.
All endpoints are rate-limited as listed below. Requests beyond this limit will be blocked. Please be careful not to make excessive calls to the system (e.g. calling the API from an infinite loop). We currently don't have any limitations on the number of results in a response; however, we expect our API users to utilize our limit and offset parameters, explained below for all GET requests. If we notice long-running API queries retrieving large datasets, we may cancel and block them.
| 6:00am - 10:00pm CST | 50 requests per minute |
|---|---|
| 10:00pm - 6:00am CST | 80 requests per minute |
The API data model roughly approximates Buildout's underlying data model. The central object in Buildout and the API is the property. The property represents both sale and lease listings. It can have photos and multiple lease spaces. A property belongs to a broker who can have many properties, and the broker belongs to a company that can have many brokers.

Currently all methods are read-only, GET requests and share the same base URL:
https://buildout.com/api/v1/<YOUR API KEY>Every response includes an HTTP status code in the header and a human readable message in the body.
| 200 OK | This means your request was handled successfully. |
|---|---|
| 201 Created | The entity was created successfully. |
| 204 No Content | The request was handled successfully, but there is no content to return. |
| 400 Bad request | Something about your request was bad. Check the error message. |
| 401 Requests unauthorized | Your API key was probably not correct. |
| 403 Request forbidden | You tried to make a request that wasn't allowed. |
| 404 Not Found | The requested entity was not found. |
| 5xx Server error | Something went wrong on our end. |
GET /companies.json
GET /companies/ID.json
GET /brokers.json
GET /brokers/ID.json
GET /properties.json
GET /properties/ID.json
GET /lease_spaces.json
GET /lease_spaces/ID.json
GET /lots.json
GET /lots/ID.json
Returns a list of all companies.
GET /companies.jsonThe following get parameters can be used to customize your request:
| Parameter | Data Type | Description |
|---|---|---|
| limit | integer (default: null) | Maximum number of companies to include in results. If null, return all companies. |
| offset | integer (default: 0) | Return list of companies starting at this index |
| Attribute | Data Type | Description |
|---|---|---|
| count | integer | The total number of companies, not taking into account the limit parameter |
| companies | array | A list of companies |
Returns a single company by id.
GET /companies/ID.json| company | object | The company matching the requested ID |
|---|
Returns a paginated list of Company Offices
GET /offices.json| office | object | The office |
|---|
Returns a single office by id.
GET /offices/ID.json| office | object | The office matching the requested ID |
|---|
Returns a newly created Company Office
POST /offices.json| office | object | The office |
|---|
Updates an office record identified by the office by id.
PUT /offices/ID.json| office | object | The office matching the requested ID |
|---|
Returns a list of all brokers.
GET /brokers.jsonThe following get parameters can be used to customize your request:
| Parameter | Data Type | Description of Use |
|---|---|---|
| limit | integer (default: null) | Maximum number of brokers to include in results. If null, return all brokers. |
| offset | integer (default: 0) | Return list of brokers starting at this index |
| string | Allows you to filter by email | |
| include_non_brokers | boolean (default: false) | Also return users who are not brokers |
| include_disabled | boolean (default: false) | Also return users who are disabled |
| Attribute | Data Type | Description |
|---|---|---|
| count | integer | The total number of brokers, not taking into account the limit parameter |
| brokers | array | A list of brokers |
Returns a list of all users matching the provided external_ids, up to a maximum of ten (10) users.
GET /brokers/lookup_external_ids.json?external_ids[]=1&external_ids[]=2&external_ids[]=3The following get parameters can be used to customize your request:
| Parameter | Data Type | Required? | Description of Use |
|---|---|---|---|
| external_ids | List of integers | yes | Which ExternalID records to look up |
| Attribute | Data Type | Description |
|---|---|---|
| brokers | object | container |
| brokers.message | string | Status of the request |
| brokers.records | object | Mapping of ExternalID => BuildoutUser |
Returns a single broker by id.
GET /brokers/ID.jsonThe following get parameters can be used to customize your request:
| Parameter | Data Type | Required? | Description of Use |
|---|---|---|---|
| include_non_brokers | boolean (default: false) | no | Also return users who are not brokers |
| broker | object | The broker matching the requested ID |
|---|
Returns a list of all properties.
GET /properties.jsonThe following get parameters can be used to customize your request:
| Parameter | Data Type | Description of Use |
|---|---|---|
| company_id | integer (default: null) | Only return properties from the specified company |
| company_office_id | integer (default: null) | Only return properties from the specified company office |
| broker_id | integer (default: null) | Only return properties from the specified broker (primary brokers only) |
| limit | integer (default: 30) | Maximum number of properties to include in results |
| offset | integer (default: 0) | Return list of properties starting at this index |
| on_market_only | boolean (default: true) | Only return properties that are on market |
| under_contract_only | boolean (default: false) | Only return properties that are under contract |
| closed_only | boolean (default: false) | Only return properties that are closed |
| deal_type | String | Optional value for deal type of properties. Can be "sale" or "lease". |
| proposal | boolean (default: false) | Set to "true" or "false" to include proposals and non-proposals, respectively. Set to "all" to include proposals and non-proposals. |
| exclude_drafts | boolean (default: true) | Do not return properties in a draft state |
| property_type_id | integer (default: null) | Only return properties with the specified property type |
| country_code | string (default: null) | Only return properties with the specified country |
| sort_results | Array of strings (default: null) | A one or two element array describing the desired sorting of results. |
| sort_results[0] | String | Name of the column to sort results by. Right now, we support: "created_at", "updated_at", "sale_price", and "name". If sorting by "sale_price", in a descending direction, lease properties will appear first. |
| sort_results[1] | String | Optional value describing the direction ("ASC" for "ascending" or "DESC" for "descending") to sort the results. If not provided, the API defaults to "ascending". |
| Attribute | Data Type | Description |
|---|---|---|
| count | integer | The total number of properties, not taking into account the limit parameter |
| properties | array | A list of properties |
Returns a single property by id.
GET /properties/ID.json| property | object | The property matching the requested ID |
|---|
Returns a list of all properties matching the provided external_ids, up to a maximum of ten (10) properties.
GET /properties/lookup_external_ids.json?external_ids[]=1&external_ids[]=2&external_ids[]=3The following get parameters can be used to customize your request:
| Parameter | Data Type | Required? | Description of Use |
|---|---|---|---|
| external_ids | List of strings | yes | Which ExternalID records to look up |
| minimal | Boolean | no | Only return the BuildoutID, rather than the entire property, for a given ExternalID |
| Attribute | Data Type | Description |
|---|---|---|
| message | string | Status of the request |
| records | object | Mapping of ExternalID => Property |
Create a property.
POST /properties.jsonThe POST request takes one parameter, a property object. The following attributes can be present on property.
| Parameter | Data Type | Description | Parameter Required? |
|---|---|---|---|
| broker_id | integer | Foreign key reference to this property's primary broker | Conditionally Required |
| second_broker_id | integer | Foreign key reference to this property's second broker | |
| third_broker_id | integer | Foreign key reference to this property's third broker | |
| broker_ids | array | Array of foreign key references to this property's brokers. If this field is present, it will override broker_id, second_broker_id, and third_broker_id. Array order is persisted. | Conditionally Required |
| collaborator_ids | array | Array of foreign key references to users to add as explicit collaborators on this property. Each id must reference a User in your company. Array order is persisted. | |
| address | string | Property address | Required |
| city | string | Property city | Conditionally Required |
| state | string | Abbreviation for property state | Conditionally Required |
| zip | string | Property ZIP code | Conditionally Required |
| county | string | Property county name | Conditionally Required |
| country_code | string | Reference to Country enum. Set to "US" if not set. | |
| country_name_override | string | Name of the property's country. Ignored unless country_code is set to "Other". | Conditionally Required |
| hide_address | boolean | Indicates if address is hidden | |
| hide_address_label_override | string | Override for hidden address label | |
| latitude | float | Latitude and Longitude must both be present to override the lat and lng. Otherwise, the system will use the address to lookup the lat and lng | |
| longitude | float | Latitude and Longitude must both be present to override the lat and lng. Otherwise, the system will use the address to lookup the lat and lng | |
| market | string | Property market | |
| submarket | string | Property submarket | |
| cross_streets | string | Property cross streets | |
| location_description | string | Property location description | |
| name | string | Property name | |
| property_type_id | integer | Reference to PropertyType enum | Required |
| property_type_label_override | string | Text to show instead of the property type's label | |
| property_subtype_id | integer | Reference to PropertySubtype enum | Required |
| additional_property_subtype_ids | array | Array of PropertySubtype ids | |
| zoning | string | Property zoning | |
| apn | string | APN # | |
| lot_size_acres | float | Property lot size, in acres | |
| lot_size_hectares | float | Property lot size, in hectares | |
| lot_size_sf | float | Property lot size, in square feet | |
| lot_size_sm | float | Property lot size, in square meters | |
| you_tube_url | string | URL of YouTube video | |
| building_size_sf | integer | Property building size, in SF | Conditionally Required |
| number_of_units | integer | Number of units in property | Conditionally Required |
| number_of_floors | integer | Number of floors in property | Conditionally Required |
| year_built | integer | Year when property was built | Conditionally Required |
| ceiling_height_f | float | Property ceiling height, in feet | |
| ceiling_height_min | float | Minimum ceiling clearence | |
| renovated | integer | Year last renovated | |
| parking_ratio | float | Parking ratio per 1000 SF | |
| number_of_parking_spaces | integer | Number of parking spaces | |
| utilities_description | string | Description of utilities | |
| traffic_count | integer | Property traffic count | |
| traffic_count_street | string | Property Traffic count street | |
| traffic_count_frontage | integer | Traffic count frontage (ft) | |
| site_description | string | Description of property site | |
| grade_level_doors | integer | Applies only to industrial buildings. The number of grade level doors | |
| dock_high_doors | integer | Applies only to industrial buildings. The number of dock high doors | |
| number_of_cranes | integer | Applies only to industrial buildings. The number of cranes | |
| sprinkler_description | string | Applies only to industrial buildings. Sprinker system description | |
| power_description | string | Applies only to industrial buildings. Power system description | |
| warehouse_pct | integer | Applies only to industrial buildings. Warehouse % | |
| industrial_office_space | integer | Applies only to industrial buildings. Office Space (SF) | |
| occupancy_pct | float | Occupancy % | |
| building_class | string | Applies only to Office buildings. Must be A, B, or C | Conditionally Required |
| gross_leasable_area | integer | Gross leasable area, in SF | |
| sale | boolean | Indicates that this is a sale listing | |
| sale_deal_status_id | integer | Reference to DealStatus enum | |
| auction | boolean | True if the property is being offered via auction | |
| auction_date | date | Date of auction | |
| auction_time | string | Time string in 30 minute increments, e.g. 12:00am | |
| auction_location | string | Location of auction | |
| auction_starting_bid_dollars | integer | Auction starting bid | |
| auction_url | string | Auction URL | |
| hide_sale_price | boolean | Indicates that the sale price should be hidden | |
| hidden_price_label | string | Text to show in place of hidden sale price | |
| sale_price_dollars | float | Sale price, in dollars | |
| sale_title | string | Title for the sale listing of this property | |
| sale_description | string | Description for the sale listing of this property | Conditionally Required |
| sale_expiration | date | Date that the sale listing expires | |
| sale_bullets | array | A list of bullets for the sale listing of this property | |
| includes_real_estate | boolean | Sale includes the real estate - True if 'yes', false if 'no', null if 'N/A' | |
| property_use_id | integer | Reference to PropertyUse enum | |
| tenancy_id | integer | Reference to Tenancy enum | |
| cap_rate_pct | float | Cap rate % | |
| net_operating_income | float | Net operating income | |
| land_legal_description | string | Land legal description | |
| number_of_lots | integer | Number of lots (for land properties) | |
| best_use | string | Best use (for land properties) | |
| irrigation | boolean | True or false, or specify null if not applicable to this property | |
| irrigation_description | string | Description of irrigation | |
| water | boolean | True or false, or specify null if not applicable to this property | |
| water_description | string | Description of water | |
| telephone | boolean | true or false, or specify null if not applicable to this property | |
| telephone_description | string | Description of telephone | |
| cable | boolean | true or false, or specify null if not applicable to this property | |
| cable_description | string | Description of cable | |
| gas | boolean | true or false, or specify null if not applicable to this property | |
| gas_description | string | Description of gas | |
| sewer | boolean | true or false, or specify null if not applicable to this property | |
| environmental_issues | string | Environmental issues | |
| topography | string | Topography | |
| soil_type | string | Valid values are ['Clay', 'Gravel', 'Loam', 'Mixed', 'Muck', 'Rock', 'Stone', 'Sandy', 'Other'] | |
| easements_description | string | Description of easements | |
| lease | boolean | Indicates that this is a lease listing | |
| lease_title | string | Title for the lease listing of this property | |
| lease_description | string | Description for the lease listing of this property | Conditionally Required |
| lease_expiration | date | Date that the lease listing expires | |
| lease_bullets | array | A list of bullets for the lease listing of this property | |
| leed_certified | string | Whether or not the property is LEED certified. One of ['yes', 'no', '']. | |
| photos | array | A list of property photos. The first one is the property's main photo. Limit 100 photos per property. | |
| matterport_url | string | URL to Matterport walkthrough | |
| virtual_tour_url | string | URL to virtual tour (non-Matterport) | |
| proposal | boolean | Indicates if the property is a proposal. If present, will set both sale_proposal and lease_proposal | |
| sale_proposal | boolean | Indicates if the sale listing is a proposal stage | |
| lease_proposal | boolean | Indicates if the property is in the lease proposal stage | |
| notes | string | Internal notes for the property | |
| external_id | integer | Field for tracking ID of property in external systems | |
| custom_fields | object | Custom fields, specific to each Buildout client | |
| sale_listed_on | date | The date the property was listed for sale | |
| lease_listed_on | date | The date the property was listed for lease | |
| parking_type_id | integer | Reference to ParkingType enum | |
| elevators | string | Elevators | |
| sprinklers | boolean | Sprinklers | |
| construction_status_id | integer | Reference to ConstructionStatus enum | |
| walls | string | Walls | |
| roof | string | Roof | |
| crane_description | string | Description of crane | |
| taxes | float | Taxes | |
| frontage | float | Lot frontage in SF | |
| lot_depth | float | Lot depth in SF | |
| number_of_buildings | integer | Number of buildings | |
| foundation | string | Foundation | |
| framing | string | Framing | |
| exterior_description | string | Description of exterior | |
| exterior_walls | string | Description of exterior walls | |
| hvac | string | HVAC | |
| parking_description | string | Description of parking | |
| landscaping | string | Landscaping | |
| rail_access | boolean | true or false, or specify null if not applicable to this property | |
| column_space | float or string | Column spacing. It can be square or rectangular. For instance, for square 40. for non-square '40x50' | |
| dock_door_description | string | Dock door description | |
| drive_in_bays | integer | Number of Drive in Bays | |
| trailer_parking | string | Trailer parking | |
| amenities | string | Amenities | |
| display_locale_override | string | Language. See language options | |
| currency_key | string | Currency. See currency options | |
| currency_format | string | Currency format. One of ['short', 'long'] | |
| gross_scheduled_income | float | This is the best-case rental income for the property | |
| other_income | float | This is the total of all the other possible incomes (non-rental) for the property | |
| operating_expenses | float | This is the sum of all the expenses for the property | |
| vacancy_cost | float | This is the value representing the empty portion of the building. | |
| down_payment | float | This is the sale price less the loan amount | |
| cash_on_cash | float | This is the pre-tax cash flow divided by the down payment | |
| total_return | float | This is the pre-tax cash flow plus the principal reduction from year one | |
| debt_service | float | This is a loan payment calculation based on the amount, interest rate, and loan period | |
| principal_reduction_yr_1 | float | This is a loan payment calculation based on the amount, interest rate, and loan period | |
| rev_par | float | RevPAR | |
| adr | float | adr | |
| measurements | string | The system of measurement for the property. Can be one of ['imperial', 'metric'] | |
| nearest_highway | string | Nearest highway | |
| load_factor | float | Load factor | |
| restrooms | string | Restrooms | |
| mapright_embed_code | string | Code for embedding a Land id (formerly MapRight) map of the property | |
| typical_floor_size | float | Typical floor size, in square feet or square meters depending on the property's measurement system | |
| construction_description | string | Describing how a building is specifically constructed to attract the right tenants/buyers. | |
| floor_coverings | string | Type of floor covering a building has | |
| free_standing | boolean | Indicates if the property is free standing or not | |
| office_buildout | string | The construction and customization of the space | |
| power | boolean | Does the property have power or not | |
| signal_intersection | boolean | Is there the presence of a traffic signal at the intersection, or not, if not applicable | |
| investment_type | string | Investment type risk level for a sale listing (core, core_plus, value_add, opportunistic, distressed) | |
| sale_terms | string | Contractual details of a property's transfer of ownership | |
| number_of_escalators | integer | Number of escalators | |
| nnn_lease_expiration | date | Date of NNN lease expiry | |
| nnn_years_left_on_lease | integer | Number of years left on NNN lease |
curl https://buildout.com/api/v1/<YOUR API KEY>/properties.json \
-d '{"property": {"broker_id": 1, "address": "123 Main St."}}' \
-H "Content-Type: application/json" -X POSTUpdate a property.
PUT /properties/ID.jsonThe PUT request takes one parameter, a property object. The following attributes can be present on property.
| Parameter | Data Type | Description |
|---|---|---|
| broker_id | integer | Foreign key reference to this property's primary broker |
| second_broker_id | integer | Foreign key reference to this property's second broker |
| third_broker_id | integer | Foreign key reference to this property's third broker |
| broker_ids | array | Array of foreign key references to this property's brokers. If this field is present, it will override broker_id, second_broker_id, and third_broker_id. Array order is persisted. |
| collaborator_ids | array | Array of foreign key references to this property's explicit collaborators. If present, replaces the full set of explicit collaborators. Pass an empty array to remove all collaborators. Array order is persisted. |
| address | string | Property address |
| city | string | Property city |
| state | string | Abbreviation for property state |
| zip | string | Property ZIP code |
| county | string | Property county name |
| country_code | string | Reference to Country enum. |
| country_name_override | string | Name of the property's country. Ignored unless country_code is set to "Other". |
| hide_address | boolean | Indicates if address is hidden |
| hide_address_label_override | string | Override for hidden address label |
| latitude | float | Latitude and Longitude must both be present to override the lat and lng. Otherwise, the system will use the address to lookup the lat and lng |
| longitude | float | Latitude and Longitude must both be present to override the lat and lng. Otherwise, the system will use the address to lookup the lat and lng |
| market | string | Property market |
| submarket | string | Property submarket |
| cross_streets | string | Property cross streets |
| location_description | string | Property location description |
| name | string | Property name |
| property_type_id | integer | Reference to PropertyType enum |
| property_type_label_override | string | Text to show instead of the property type's label |
| property_subtype_id | integer | Reference to PropertySubtype enum |
| additional_property_subtype_ids | array | Array of PropertySubtype ids |
| zoning | string | Property zoning |
| apn | string | APN # |
| lot_size_acres | float | Property lot size, in acres |
| lot_size_hectares | float | Property lot size, in hectares |
| lot_size_sf | float | Property lot size, in square feet |
| lot_size_sm | float | Property lot size, in square meters |
| you_tube_url | string | URL of YouTube video |
| building_size_sf | integer | Property building size, in SF |
| number_of_units | integer | Number of units in property |
| number_of_floors | integer | Number of floors in property |
| year_built | integer | Year when property was built |
| ceiling_height_f | float | Property ceiling height, in feet |
| ceiling_height_min | float | Minimum ceiling clearence |
| renovated | integer | Year last renovated |
| parking_ratio | float | Parking ratio per 1000 SF (or square meters if property is metric) |
| number_of_parking_spaces | integer | Number of parking spaces |
| utilities_description | string | Description of utilities |
| traffic_count | integer | Property traffic count |
| traffic_count_street | string | Property traffic count street |
| traffic_count_frontage | integer | Traffic count frontage (ft) |
| occupancy_pct | float | Occupancy % |
| building_class | string | Applies only to Office buildings. Must be A, B, or C |
| gross_leasable_area | integer | Gross leasable area, in SF |
| sale | boolean | Indicates that this is a sale listing |
| sale_deal_status_id | integer | Reference to DealStatus enum |
| auction | boolean | True if the property is being offered via auction |
| auction_date | date | Date of auction |
| auction_time | string | Time string in 30 minute increments, e.g. 12:00am |
| auction_location | string | Location of auction |
| auction_starting_bid_dollars | integer | Auction starting bid |
| auction_url | string | Auction URL |
| hide_sale_price | boolean | Indicates that the sale price should be hidden |
| hidden_price_label | string | Text to show in place of hidden sale price |
| sale_price_dollars | float | Sale price, in dollars |
| sale_title | string | Title for the sale listing of this property |
| sale_description | string | Description for the sale listing of this property |
| sale_expiration | date | Date that the sale listing expires |
| sale_bullets | array | A list of bullets for the sale listing of this property |
| includes_real_estate | boolean | Sale includes the real estate - True if 'yes', false if 'no', null if 'N/A' |
| property_use_id | integer | Reference to PropertyUse enum |
| site_description | string | Description of property site |
| grade_level_doors | integer | Applies only to industrial buildings. The number of grade level doors |
| dock_high_doors | integer | Applies only to industrial buildings. The number of dock high doors |
| number_of_cranes | integer | Applies only to industrial buildings. The number of cranes |
| sprinkler_description | string | Applies only to industrial buildings. Sprinker system description |
| power_description | string | Applies only to industrial buildings. Power system description |
| warehouse_pct | integer | Applies only to industrial buildings. Warehouse % |
| industrial_office_space | integer | Applies only to industrial buildings. Office Space (SF) |
| tenancy_id | integer | Reference to Tenancy enum |
| cap_rate_pct | float | Cap rate % |
| net_operating_income | float | Net operating income |
| land_legal_description | string | Land legal description |
| number_of_lots | integer | Number of lots (for land properties) |
| best_use | string | Best use (for land properties) |
| irrigation | boolean | true or false, or specify null if not applicable to this property |
| irrigation_description | string | Description of irrigation |
| water | boolean | true or false, or specify null if not applicable to this property |
| water_description | string | Description of water |
| telephone | boolean | true or false, or specify null if not applicable to this property |
| telephone_description | string | Description of telephone |
| cable | boolean | true or false, or specify null if not applicable to this property |
| cable_description | string | Description of cable |
| gas | boolean | true or false, or specify null if not applicable to this property |
| gas_description | string | Description of gas |
| sewer | boolean | true or false, or specify null if not applicable to this property |
| environmental_issues | string | Environmental issues |
| topography | string | Topography |
| soil_type | string | Valid values are ['Clay', 'Gravel', 'Loam', 'Mixed', 'Muck', 'Rock', 'Stone', 'Sandy', 'Other'] |
| easements_description | string | Description of easements |
| lease | boolean | Indicates that this is a lease listing |
| lease_title | string | Title for the lease listing of this property |
| lease_description | string | Description for the lease listing of this property |
| lease_expiration | date | Date that the lease listing expires |
| lease_bullets | array | A list of bullets for the lease listing of this property |
| leed_certified | string | Whether or not the property is LEED certified. One of ['yes', 'no', '']. |
| photos | array | A list of property photos. The first one is the property's main photo. Limit 100 photos per property. |
| proposal | boolean | Indicates if the property is a proposal. If present, will set both sale_proposal and lease_proposal |
| sale_proposal | boolean | Indicates if the sale listing is a proposal stage |
| lease_proposal | boolean | Indicates if the property is in the lease proposal stage |
| matterport_url | string | URL to Matterport walkthrough |
| virtual_tour_url | string | URL to virtual tour (non-Matterport) |
| notes | string | Internal notes for the property |
| external_id | integer | Field for tracking ID of property in external systems |
| custom_fields | object | Custom fields, specific to each Buildout client |
| sale_listing_slug | string | Custom url path for the sale web listing |
| sale_listing_enabled | boolean | True if the property's sale listing should be published to the website |
| sale_listing_show_in_search | boolean | True if the property's sale listing should show up in searches |
| lease_listing_slug | string | Custom url path for the lease web listing |
| lease_listing_enabled | boolean | True if the property's lease listing should be published to the website |
| lease_listing_show_in_search | boolean | True if the property's lease listing should show up in searches |
| sale_listed_on | date | The date the property was listed for sale |
| lease_listed_on | date | The date the property was listed for lease |
| parking_type_id | integer | Reference to ParkingType enum |
| elevators | string | Elevators |
| sprinklers | boolean | Sprinklers |
| construction_status_id | integer | Reference to ConstructionStatus enum |
| walls | string | Walls |
| roof | string | Roof |
| crane_description | string | Description of crane |
| taxes | float | Taxes |
| frontage | float | Lot frontage in SF |
| lot_depth | float | Lot depth in SF |
| number_of_buildings | integer | Number of buildings |
| foundation | string | Foundation |
| framing | string | Framing |
| exterior_description | string | Description of exterior |
| exterior_walls | string | Description of exterior walls |
| hvac | string | HVAC |
| parking_description | string | Description of parking |
| landscaping | string | Landscaping |
| rail_access | boolean | true or false, or specify null if not applicable to this property |
| column_space | float or string | Column spacing. It can be square or rectangular. For instance, for square 40. for non-square '40x50' |
| dock_door_description | string | Dock door description |
| drive_in_bays | integer | Number of Drive in Bays |
| trailer_parking | string | Trailer parking |
| amenities | string | Amenities |
| display_locale_override | string | Language. See language options |
| currency_key | string | Currency. See currency options |
| currency_format | string | Currency format. One of ['short', 'long'] |
| gross_scheduled_income | float | This is the best-case rental income for the property |
| other_income | float | This is the total of all the other possible incomes (non-rental) for the property |
| operating_expenses | float | This is the sum of all the expenses for the property |
| vacancy_cost | float | This is the value representing the empty portion of the building. |
| down_payment | float | This is the sale price less the loan amount |
| cash_on_cash | float | This is the pre-tax cash flow divided by the down payment |
| total_return | float | This is the pre-tax cash flow plus the principal reduction from year one |
| debt_service | float | This is a loan payment calculation based on the amount, interest rate, and loan period |
| principal_reduction_yr_1 | float | This is a loan payment calculation based on the amount, interest rate, and loan period |
| rev_par | float | RevPAR |
| adr | float | ADR |
| measurements | string | The system of measurement for the property. Can be one of ['imperial', 'metric'] |
| nearest_highway | string | Nearest highway |
| load_factor | float | Load factor |
| restrooms | string | Restrooms |
| mapright_embed_code | string | Code for embedding a Land id (formerly MapRight) map of the property |
| typical_floor_size | float | Typical floor size, in square feet or square meters depending on the property's measurement system |
| construction_description | string | Describing how a building is specifically constructed to attract the right tenants/buyers. |
| floor_coverings | string | Type of floor covering a building has |
| free_standing | boolean | Indicates if the property is free standing or not |
| office_buildout | string | The construction and customization of the space |
| power | boolean | Does the property have power or not |
| signal_intersection | boolean | Is there the presence of a traffic signal at the intersection, or not, if not applicable |
| investment_type | string | Investment type risk level for a sale listing (core, core_plus, value_add, opportunistic, distressed) |
| sale_terms | string | Contractual details of a property's transfer of ownership |
| number_of_escalators | integer | Number of escalators |
| nnn_lease_expiration | date | Date of NNN lease expiry |
| nnn_years_left_on_lease | integer | Number of years left on NNN lease |
curl https://buildout.com/api/v1/<YOUR API KEY>/properties/1.json \
-d '{"property": {"address": "321 Main St."}}' \
-H "Content-Type: application/json" -X PUTCreate a property photo. Limit 100 photos per property.
POST /properties/ID/photos.jsonThe POST request takes one parameter, a photo object. All photo images must be unique per property. The following attributes can be present on photo:
| Parameter | Data Type | Description |
|---|---|---|
| data | string | Base64 encoded photo |
| url | string | URL of the photo; ignored if the data attribute is specified |
| external_id | string | An optional reference ID for external systems |
| type | string | Valid values are ['Property Photo', 'Site Plan', 'Retailer Map'] |
| description | string | Description of photo |
| sort_order | integer | The order that the photos are returned. The photo with the smallest sort order is the main photo. Sort order must be unique for the attached object. if sort_order is not passed in, it will be given a number so that it is last in order |
curl https://buildout.com/api/v1/<YOUR API KEY>/properties/1/photos.json \
-d '{"photo": {"data": "Eijfv23kcKD1Iek..."}}' \
-H "Content-Type: application/json" -X POSTUpdate a properties photo. Limit 100 photos per property.
PUT /properties/PROPERTY_ID/photos/ID.jsonThe PUT request takes one parameter, a photo object. The following attributes can be present on a photo:
| Parameter | Data Type | Description |
|---|---|---|
| description | string | Description of photo |
| external_id | string | An optional reference ID for external systems |
| type | string | Valid values are ['Property Photo', 'Site Plan', 'Retailer Map'] |
| sort_order | integer | The order that the photos are returned. The photo with the smallest sort order is the main photo. Sort order must be unique for the attached object. |
curl https://buildout.com/api/v1/<YOUR API KEY>/properties/1/photos/1.json \
-d '{"photo": {"sort_order": "1", "external_id": "ABC123"}}' \
-H "Content-Type: application/json" -X PUTDelete a properties photo.
DELETE /properties/PROPERTY_ID/photos/ID.jsonThe DELETE request takes no parameters. The system will attempt to delete the photo with the given ID.
curl https://buildout.com/api/v1/<YOUR API KEY>/properties/1/photos/1.json \
-H "Content-Type: application/json" -X DELETEReturns a list of all lease spaces.
GET /lease_spaces.jsonOr scoped to a specific property
GET /properties/PROPERTY_ID/lease_spaces.jsonThe following get parameters can be used to customize your request:
| Parameter | Data Type | Description of Use |
|---|---|---|
| limit | integer (default: 30) | Maximum number of lease spaces to include in results. |
| offset | integer (default: 0) | Return list of lease spaces starting at this index |
| deal_status_id | integer (optional) | Filter results to lease spaces with the given deal status. Valid values: 0 (Inactive), 1 (Active), 2 (Under Contract), 3 (Closed). |
| count | integer | The total number of lease spaces, not taking into account the limit parameter |
|---|---|---|
| lease_spaces | array | A list of lease spaces |
Returns a single lease space by id.
GET /lease_spaces/ID.json| lease_space | object | The lease space matching the requested ID |
|---|
Returns a list of all lease spaces matching the provided external_ids, up to a maximum of ten (10) lease spaces.
GET /lease_spaces/lookup_external_ids.json?external_ids[]=1&external_ids[]=2&external_ids[]=3The following get parameters can be used to customize your request:
| Parameter | Data Type | Required? | Description of Use |
|---|---|---|---|
| external_ids | List of External IDs | yes | Which ExternalID records to look up |
| minimal | Boolean | no | Only return the BuildoutID, rather than the entire lease space, for a given ExternalID |
| Attribute | Data Type | Description |
|---|---|---|
| message | string | Status of the request |
| records | object | Mapping of ExternalID => LeaseSpace |
Create a lease space.
POST /lease_spaces.jsonThe POST request takes one parameter, a lease_space object. The following attributes can be present on lease_space.
| Parameter | Data Type | Description | Parameter Required? |
|---|---|---|---|
| property_id | integer | Foreign key reference to a Property | Required |
| tenant_name | string | Name of the tenant occupying the lease space | |
| deal_status_id | integer | Reference to DealStatus enum | |
| space_type_id | integer | Reference to PropertySubtype enum | |
| address2 | string | Second line of address for lease space | Conditionally Required |
| suite | string | Suite number | |
| floor | string | Floor number | |
| hide_lease_rate | boolean | Indicates that the lease rate should be hidden | |
| hidden_lease_rate_label_override | string | Override for Hidden Lease Rate Label | |
| price_per_sf_per_year | float | DEPRECATED | |
| price_per_sf_per_year_max | float | DEPRECATED | If this field is present the rate is a range from price_per_sf_per_year to price_per_sf_per_year_max | |
| lease_rate | float | Lease rate | Conditionally Required |
| lease_rate_max | float | If this field is present the rate is a range from lease_rate to lease_rate_max | |
| lease_rate_units | string | Reference to LeaseRateUnit option | Required |
| size_sf | integer | Space size, in SF | Required |
| lease_type_id | integer | Reference to LeaseType enum | Conditionally Required |
| lease_term | string | Lease term (months) | |
| min_divisible_sf | integer | Min divisible, in SF | |
| max_contiguous_sf | integer | Max contiguous, in SF | |
| sublease | boolean | Indicates that the space is sublease | |
| sublease_expiration | date | Expiration date of sublease | |
| description | string | Description of lease space | |
| cam_per_sf | float | Cam per SF | |
| cam_expense_stops | float | A tenant's responsibility for common area maintenance expenses and what the baseline is for these expenses. | |
| cooling | boolean | Is there cooling in the space | |
| cooling_description | string | Description of the cooling in the space | |
| heating | boolean | Is there heating in the space | |
| heating_description | string | Description of the heating in the space | |
| number_of_parking_spaces | integer | Number of parking spaces available for the lease space | |
| lease_terms | string | Contractual agreements between a landlord and tenant | |
| net_lease_investment | boolean | Is this a net lease investment or not | |
| number_of_offices | integer | Number of offices in the lease space | |
| signage_available | boolean | Indicates if signage is available for the lease space | |
| tenants_pay_electric | boolean | Indicates if tenants pay for electricity | |
| tenants_pay_gas | boolean | Indicates if tenants pay for gas | |
| tenants_pay_water | boolean | Indicates if tenants pay for water | |
| ti_allowance | float | The specific amount of money a landlord provides to a tenant to pay for office buildout | |
| date_available | date | Date available | |
| space_type_label_override | string | Override for space type label | |
| lease_type_label_override | string | Override for lease type label | |
| video_url | string | URL for LeaseSpace video | |
| matterport_url | string | URL to Matterport walkthrough | |
| virtual_tour_url | string | URL to virtual tour (non-Matterport) | |
| custom_fields | object | Custom fields, specific to each Buildout client | |
| photos | array | A list of LeaseSpace photos. The first one is the main photo. Limit 100 photos per LeaseSpace. | |
| external_id | string | Field for tracking ID of lease space in external systems | |
| floor_plan_url | string | Floor plan URL | |
| sort_order | integer | Sort order of lease space |
curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces.json \
-d '{"lease_space": {"property_id": 1, "address2": "Suite 201"}}' \
-H "Content-Type: application/json" -X POSTUpdate a lease space.
PUT /lease_spaces/ID.jsonThe PUT request takes one parameter, a lease_space object. The following attributes can be present on lease_space:
| Parameter | Data Type | Description |
|---|---|---|
| tenant_name | string | Name of the tenant occupying the lease space |
| deal_status_id | integer | Reference to DealStatus enum |
| space_type_id | integer | Reference to PropertySubtype enum |
| address2 | string | Second line of address for lease space |
| suite | string | Suite number |
| floor | string | Floor number |
| hide_lease_rate | boolean | Indicates that the lease rate should be hidden |
| hidden_lease_rate_label_override | string | Override for Hidden Lease Rate Label |
| price_per_sf_per_year | float | DEPRECATED |
| price_per_sf_per_year_max | float | DEPRECATED | If this field is present the rate is a range from price_per_sf_per_year to price_per_sf_per_year_max |
| lease_rate | float | Lease rate |
| lease_rate_max | float | If this field is present the rate is a range from lease_rate to lease_rate_max |
| lease_rate_units | string | Reference to LeaseRateUnit option |
| size_sf | integer | Space size, in SF |
| lease_type_id | integer | Reference to LeaseType enum |
| lease_term | string | Lease term (months) |
| min_divisible_sf | integer | Min divisible, in SF |
| max_contiguous_sf | integer | Max contiguous, in SF |
| sublease | boolean | Description of lease space |
| sublease_expiration | date | Expiration date of sublease |
| cam_per_sf | float | Cam per SF |
| description | string | Description of lease space |
| cam_expense_stops | float | A tenant's responsibility for common area maintenance expenses and what the baseline is for these expenses. |
| cooling | boolean | Is there cooling in the space |
| cooling_description | string | Description of the cooling in the space |
| heating | boolean | Is there heating in the space |
| heating_description | string | Description of the heating in the space |
| number_of_parking_spaces | integer | Number of parking spaces available for the lease space |
| lease_terms | string | Contractual agreements between a landlord and tenant |
| net_lease_investment | boolean | Is this a net lease investment or not |
| number_of_offices | integer | Number of offices in the lease space |
| signage_available | boolean | Indicates if signage is available for the lease space |
| tenants_pay_electric | boolean | Indicates if tenants pay for electricity |
| tenants_pay_gas | boolean | Indicates if tenants pay for gas |
| tenants_pay_water | boolean | Indicates if tenants pay for water |
| ti_allowance | float | The specific amount of money a landlord provides to a tenant to pay for office buildout |
| date_available | date | Date available |
| space_type_label_override | string | Override for space type label |
| lease_type_label_override | string | Override for lease type label |
| video_url | string | URL for LeaseSpace video |
| matterport_url | string | URL to Matterport walkthrough |
| virtual_tour_url | string | URL to virtual tour (non-Matterport) |
| custom_fields | object | Custom fields, specific to each Buildout client |
| photos | array | A list of LeaseSpace photos. The first one is the main photo. Limit 100 photos per LeaseSpace. |
| external_id | string | Field for tracking ID of lease space in external systems |
| floor_plan_url | string | Floor plan URL |
| floor_plan_delete | boolean | Instruction to remove the floor plan from the LeaseSpace. To remove, send "true". |
| sort_order | integer | Sort order of lease space |
curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces/1.json \
-d '{"lease_space": {"address2": "Suite 201"}}' \
-H "Content-Type: application/json" -X PUTCreate a lease space photo. Limit 100 photos per Lease Space
POST /lease_spaces/ID/photos.jsonOr scoped to a specific property
POST /properties/PROPERTY_ID/lease_spaces/LEASE_SPACE_ID/photos.jsonThe POST request takes one parameter, a photo object. All photo images must be unique per lease space. The following attributes can be present on photo:
| Parameter | Data Type | Description |
|---|---|---|
| data | string | Base64 encoded photo |
| url | string | URL of the photo; ignored if the data attribute is specified |
| external_id | string | An optional reference ID for external systems |
| type | string | Valid values are ['Property Photo', 'Site Plan', 'Retailer Map'] |
| description | string | Description of photo |
| sort_order | integer | The order that the photos are returned. The photo with the smallest sort order is the main photo. Sort order must be unique for the attached object. if sort_order is not passed in, it will be given a number so that it is last in order |
curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces/1/photos.json \
-d '{"photo": {"data": "Eijfv23kcKD1Iek..."}}' \
-H "Content-Type: application/json" -X POSTUpdate a lease space photo. Limit 100 photos per Lease Space
PUT /lease_spaces/LEASE_SPACE_ID/photos/ID.jsonOr scoped to a specific property
PUT /properties/PROPERTY_ID/lease_spaces/LEASE_SPACE_ID/photos/ID.jsonThe PUT request takes one parameter, a photo object. The following attributes can be present on a photo:
| Parameter | Data Type | Description |
|---|---|---|
| description | string | Description of photo |
| external_id | string | An optional reference ID for external systems |
| type | string | Valid values are ['Property Photo', 'Site Plan', 'Retailer Map'] |
| sort_order | integer | The order that the photos are returned. The photo with the smallest sort order is the main photo. Sort order must be unique for the attached object. |
curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces/1/photos/1.json \
-d '{"photo": {"sort_order": "1"}}' \
-H "Content-Type: application/json" -X PUTDelete a lease space photo.
DELETE /lease_spaces/LEASE_SPACE_ID/photos/ID.jsonOr scoped to a specific property
DELETE /properties/PROPERTY_ID/lease_spaces/LEASE_SPACE_ID/photos.jsonThe DELETE request takes no parameters. The system will attempt to delete the photo with the given ID.
curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces/1/photos/1.json \
-H "Content-Type: application/json" -X DELETEReturns a list of all lots
GET /lots.jsonOr scoped to a specific property
GET /properties/PROPERTY_ID/lots.jsonThe following get parameters can be used to customize your request:
| Parameter | Data Type | Description | Parameter Required? |
|---|---|---|---|
| limit | integer | Maximum number of lots to include in results. If null, returns 0 lots | Required |
| offset | integer (default: 0) | Return list of lots starting at this index |
| Attribute | Data Type | Description |
|---|---|---|
| count | integer | The total number of lots, not taking into account the limit parameter |
| lots | array | A list of lots |
Returns a single lot by id
GET /lots/ID.json
| lot | object | The lot matching the requested ID |
|---|
Create a lot
POST /lots.json
The POST request takes one parameter, a lot object. The following attributes can be present on a lot.
| Parameter | Data Type | Description | Parameter Required? |
|---|---|---|---|
| property_id | integer | Foreign key reference to the lot's property | Required |
| address | string | The lot's street address if different from the property's address | |
| apn | string | Assessor's parcel number | |
| deal_status_id | integer | Reference to DealStatus enum | Required |
| description | string | Lot description | |
| number | string | Lot number or name | |
| property_subtype_id | integer | Reference to PropertySubtype enum; must be a land type (501 - 507) | Required |
| sale_price | float | Sale price | |
| sale_price_units | string | Reference to Lot Price Units option | |
| size | float | Lot size | Required |
| size_units | string | Reference to Lot Size Units option | Required |
| zoning | string | Zoning description |
curl https://buildout.com/api/v1/<YOUR API KEY>/lots.json \
-d '{"lot": {"property_id": 1, "deal_status_id": 1, "property_subtype_id": 501, "size": 4, "size_units": "acres"}}' \
-H "Content-Type: application/json" -X POST
Update a lot
PUT /lots/ID.json
The PUT request takes one parameter, a lot object. The following attributes can be present on lot:
| Parameter | Data Type | Description | Parameter Required? |
|---|---|---|---|
| address | string | The lot's street address if different from the property's address | |
| apn | string | Assessor's parcel number | |
| deal_status_id | integer | Reference to DealStatus enum | Required |
| description | string | Lot description | |
| number | string | Lot number or name | |
| property_subtype_id | integer | Reference to PropertySubtype enum; must be a land type (501 - 507) | Required |
| sale_price | float | Sale price | |
| sale_price_units | string | Reference to Lot Price Units option | |
| size | float | Lot size | Required |
| size_units | string | Reference to Lot Size Units option | Required |
| zoning | string | Zoning description |
curl https://buildout.com/api/v1/<YOUR API KEY>/lots/1.json \
-d '{"lot": {"number": "4"}}' \
-H "Content-Type: application/json" -X PUT
Returns a list of all condos
GET /condos.json
Or scoped to a specific property
GET /properties/PROPERTY_ID/condos.json
The following get parameters can be used to customize your request:
| Parameter | Data Type | Description | Parameter Required? |
|---|---|---|---|
| limit | integer | Maximum number of condos to include in results. If null, returns 0 condos | Required |
| offset | integer (default: 0) | Return list of condos starting at this index |
| Attribute | Data Type | Description |
|---|---|---|
| count | integer | The total number of condos, not taking into account the limit parameter |
| condos | array | A list of condos |
Returns a single condo by id
GET /condos/ID.json
| condo | object | The condo matching the requested ID |
|---|
Create a condo
POST /condos.json
The POST request takes one parameter, a condo object. The following attributes can be present on a condo.
| Parameter | Data Type | Description | Parameter Required? |
|---|---|---|---|
| property_id | integer | Foreign key reference to this condo's property | Required |
| address2 | string | Secondary address of the condo, for example, unit number | |
| deal_status_id | integer | Reference to DealStatus enum | Required |
| description | string | Description | |
| hide_sale_price | boolean | Indicates the condo's sale price should be hidden | |
| hidden_price_label_override | string | Text displayed instead of the sale price if hide_sale_price is true | |
| sale_price | float | Sale price | Required |
| sale_price_units | string | Reference to Condo Sale Price Units option | Required |
| size | float | Condo size. Specify units with size_units | Required |
| size_units | string | Reference to Condo Size Units option | Required |
curl https://buildout.com/api/v1/<YOUR API KEY>/condos.json \
-d '{"condo": {"property_id": 1, "address2": "Suite 100", "deal_status_id": 1, "sale_price": 1700,
"sale_price_units": "dollars_per_sf", "size": 1200, "size_units": "sf"}}' \
-H "Content-Type: application/json" -X POST
Update a condo
PUT /condos/ID.json
The PUT request takes one parameter, a condo object. The following attributes can be present on condo:
| Parameter | Data Type | Description | Parameter Required? |
|---|---|---|---|
| address2 | string | Secondary address of the condo, for example, unit number | |
| deal_status_id | integer | Reference to DealStatus enum | Required |
| description | string | Description | |
| hide_sale_price | boolean | Indicates the condo's sale price should be hidden | |
| hidden_price_label_override | string | Text displayed instead of the sale price if hide_sale_price is true | |
| sale_price | float | Sale price | Required |
| sale_price_units | string | Reference to Condo Sale Price Units option | Required |
| size | float | Condo size | Required |
| size_units | string | Reference to Condo Size Units option | Required |
curl https://buildout.com/api/v1/<YOUR API KEY>/condos/1.json \
-d '{"condo": {"address2": "Suite 100"}}' \
-H "Content-Type: application/json" -X PUT
All get requests contain one or more models representing entities from Buildout. Below is a list of all models exposed by the API and their attributes.
Represents a company
| Parameter | Data Type | Description |
|---|---|---|
| id | integer | Primary key |
| name | string | Company name |
| syndication_display_name | string | Curated display name for syndication partners |
| parent_company_name | string | Parent company name (or null) |
| address | string | Address |
| address2 | string | Secondary address |
| city | string | City |
| state | string | Two letter abbreviation |
| zip | string | ZIP code |
| phone_number | string | Either blank or 10 digits |
| string | ||
| website | string | Website |
| company_offices | array | A list of company office locations |
| external_id | string | An optional reference id for external systems |
Represents an office of a company
| Parameter | Data Type | Description |
|---|---|---|
| id | integer | Primary key |
| name | string | Name |
| address | string | Address |
| address2 | string | Secondary address |
| city | string | City |
| state | string | Two letter abbreviation |
| zip | string | ZIP code |
| phone_number | string | Phone number |
| fax | string | Fax number |
| description | string | Description |
| website | string | Website |
| licenses | object | License objects |
| external_id | string | An optional reference id for external systems |
While not synonymous, the Broker model represents Users in the system
| Parameter | Data Type | Description |
|---|---|---|
| id | integer | Primary key |
| company_id | integer | Foreign key reference to this brokers company |
| first_name | string | First name |
| last_name | string | Last name |
| phone_number | string | Either blank or 10 digits |
| phone_extension | string | Phone extension |
| cell_phone | string | Either blank or 10 digits |
| fax | string | Either blank or 10 digits |
| string | ||
| managing_director | boolean | Indicates if broker is a managing director |
| licenses | object | License objects |
| company_office_id | integer | Foreign key reference to this brokers company office location |
| address | string | Address |
| address2 | string | Secondary address |
| city | string | City |
| state | string | Two letter abbreviation |
| zip | string | ZIP code |
| job_title | string | Job title |
| facebook_url | string | Facebook URL |
| twitter_url | string | Twitter URL |
| linked_in_url | string | LinkedIn URL |
| instagram_url | string | Instagram URL |
| biography | string | Biography |
| education | string | Education |
| specialties | array | List of specialties |
| memberships_and_associations | string | Memberships and associations |
| profile_photo_url | string | Profile photo URL |
| bio_pdf_url | string | Biography PDF URL |
| can_have_properties | boolean | Indicates if broker can have properties |
| external_id | string | An optional reference id for external systems |
| custom_fields | object | Custom fields, specific to each Buildout client |
| hide_on_broker_plugin | boolean | Hide on broker plugin |
| force_include_on_broker_plugin | boolean | Included on broker plugin (Uneditable. To change this please update the hide_on_broker_plugin flag) |
| can_access_property_edit_form | boolean | Indicates if broker can access the property edit form |
| can_make_non_branded_changes_in_documents | boolean | Indicates if a broker can change fonts and colors outside of your brand standards in documents |
| can_add_custom_content_to_documents | boolean | Indicates if a broker can add new custom pages and elements to documents |
Represents a property
| Parameter | Data Type | Description |
|---|---|---|
| id | integer | Primary key |
| broker_id | integer | Foreign key reference to this property's primary broker |
| second_broker_id | integer | Foreign key reference to this property's second broker |
| third_broker_id | integer | Foreign key reference to this property's third broker |
| broker_ids | array | Array of foreign keys reference to all this property's brokers (Ordered) |
| collaborator_ids | array | Array of foreign key references to all this property's explicit collaborators (Ordered). Does not include implicit default collaborators (e.g. office admins added via company-level defaults). |
| address | string | Address |
| city | string | City |
| state | string | State |
| zip | string | ZIP code |
| county | string | County name |
| country_code | string | Reference to Country enum |
| country_name | string | Full name of the country |
| hide_address | boolean | Indicates if address is hidden |
| hide_address_label_override | string | Override for hidden address label |
| market | string | Market |
| submarket | string | Submarket |
| cross_streets | string | Cross streets |
| location_description | string | Description of location |
| latitude | float | Latitude |
| longitude | float | Longitude |
| custom_lat_lng | boolean | Returns true if the lat and lng were manually declared (vs allowing Buildout to geocode the address) |
| name | string | Name |
| property_type_id | integer | Reference to PropertyType enum |
| property_type_label_override | string | Text to show instead of the property type's label |
| property_subtype_id | integer | Reference to PropertySubtype enum |
| zoning | string | Zoning |
| apn | string | APN # |
| lot_size_acres | float | Lot size, in acres |
| you_tube_url | string | YouTube URL |
| mls_id | string | MLS ID |
| building_size_sf | integer | Building size, in SF |
| ceiling_height_f | float | Ceiling height in feet |
| ceiling_height_min | float | Minimum ceiling clearence |
| renovated | integer | The year it was last renovated |
| parking_ratio | float | Parking ratio per 1000 SF (or square meters if property is metric) |
| number_of_parking_spaces | integer | Number of parking spaces |
| utilities_description | string | Description of utilities |
| additional_property_subtype_ids | array | Array of PropertySubtype ids |
| traffic_count | integer | Traffic count |
| traffic_count_street | string | Traffic count street |
| traffic_count_frontage | integer | Traffic count frontage (ft) |
| site_description | string | Site description |
| grade_level_doors | integer | Applies only to industrial buildings. The number of grade level doors |
| dock_high_doors | integer | Applies only to industrial buildings. The number of dock high doors |
| number_of_cranes | integer | Applies only to industrial buildings. The number of cranes |
| sprinkler_description | string | Applies only to industrial buildings. Sprinker system description |
| power_description | string | Applies only to industrial buildings. Power system description |
| warehouse_pct | integer | Applies only to industrial buildings. Warehouse % |
| industrial_office_space | integer | Applies only to industrial buildings. Office Space (SF) |
| number_of_units | integer | Number of units |
| number_of_floors | integer | Number of floors |
| year_built | integer | Year property built |
| occupancy_pct | float | Occupancy % |
| building_class | string | Applies only to Office buildings. Must be A, B, or C |
| gross_leasable_area | integer | Gross leasable area |
| sale | boolean | Indicates that this is a sale listing |
| sale_deal_status_id | integer | Reference to DealStatus enum |
| auction | boolean | True if the property is being offered via auction |
| auction_date | date | Date of auction |
| auction_time | string | Time string in 30 minute increments, e.g. 12:00am |
| auction_location | string | Location of auction |
| auction_starting_bid_dollars | integer | Starting bid amount in auction |
| auction_url | string | Auction URL |
| distressed | boolean | True if the propery is distressed |
| hide_sale_price | boolean | Indicates that the sale price should be hidden |
| hidden_price_label | string | Label for use when price is hidden |
| sale_price_dollars | float | Sale price calculated from sale_price_per_unit and sale_price_units |
| sale_price_per_unit | float | Sale price per sale_price_units |
| sale_price_units | string | Reference to Sale Price Units Options |
| sale_title | string | Title for the sale listing of this property |
| sale_description | string | Description for the sale listing of this property |
| sale_expiration_date | date | Date that the sale listing expires |
| sale_bullets | array | A list of bullets for the sale listing of this property |
| sale_pdf_url | string | Sale PDF URL |
| includes_real_estate | boolean | Sale includes the real estate - True if 'yes', false if 'no', null if 'N/A' |
| property_use_id | integer | Reference to PropertyUse enum |
| tenancy_id | integer | Reference to Tenancy enum |
| cap_rate_pct | float | Cap rate % |
| net_operating_income | float | Net operating income |
| land_legal_description | string | Land legal description |
| number_of_lots | integer | Number of lots |
| best_use | string | Best use |
| irrigation | boolean | True if 'yes', false if 'no', null if 'N/A' |
| irrigation_description | string | Description of irrigation |
| water | boolean | True if 'yes', false if 'no', null if 'N/A' |
| water_description | string | Description of water |
| telephone | boolean | True if 'yes', false if 'no', null if 'N/A' |
| telephone_description | string | Description of telephone |
| cable | boolean | True if 'yes', false if 'no', null if 'N/A' |
| cable_description | string | Description of cable |
| gas | boolean | True if 'yes', false if 'no', null if 'N/A' |
| gas_description | string | Description of gas |
| sewer | boolean | True if 'yes', false if 'no', null if 'N/A' |
| environmental_issues | string | Environmental issues |
| topography | string | Topography |
| soil_type | string | Soil type. One of ['Clay', 'Gravel', 'Loam', 'Mixed', 'Muck', 'Rock', 'Stone', 'Sandy', 'Other'] |
| easements_description | string | Easements description |
| lease | boolean | Indicates that this is a lease listing |
| lease_deal_status_ids | array | List of DealStatus IDs, one for each LeaseSpace on the property |
| lease_title | string | Title for the lease listing of this property |
| lease_description | string | Description for the lease listing of this property |
| lease_expiration | date | Date that the lease listing expires |
| lease_bullets | array | A list of bullets for the lease listing of this property |
| lease_pdf_url | string | Lease PDF URL |
| leed_certified | string | Whether or not the property is LEED certified. One of ['yes', 'no', '']. |
| photos | array | A list of property photos. The first one is the property's main photo. Limit 100 photos per property. |
| documents | array | A list of documents for this property. |
| matterport_url | string | URL to Matterport walkthrough |
| virtual_tour_url | string | URL to virtual tour (non-Matterport) |
| proposal | boolean | Indicates if the property is a proposal. Returns true if either sale_proposal or lease_proposal is true. |
| sale_proposal | boolean | Indicates if the sale listing is a proposal stage |
| lease_proposal | boolean | Indicates if the property is in the lease proposal stage |
| sale_listing_url | string | URL to the property's sale web listing |
| sale_listing_published | string | Is the property's sale web listing published |
| sale_listing_searchable | string | Is the property's sale web listing searchable |
| sale_listing_slug | string | Custom url path for the sale web listing |
| sale_listing_web_title | string | The string used for this listings sale webpage <title> tag |
| sale_listing_web_description | string | The string used for this listings sale webpage <description> tag |
| lease_listing_url | string | URL to the property's lease web listing |
| lease_listing_published | string | Is the property's lease web listing published |
| lease_listing_searchable | string | Is the property's lease web listing searchable |
| lease_listing_slug | string | Custom url path for the lease web listing |
| lease_listing_web_title | string | The string used for this listings lease webpage <title> tag |
| lease_listing_web_description | string | The string used for this listings lease webpage <description> tag |
| sale_listed_on | date | The date the property was listed for sale |
| lease_listed_on | date | The date the property was listed for lease |
| parking_type_id | integer | Reference to ParkingType enum |
| elevators | string | Elevators |
| sprinklers | boolean | Sprinklers |
| construction_status_id | integer | Reference to ConstructionStatus enum |
| walls | string | Walls |
| roof | string | Roof |
| crane_description | string | Description of crane |
| taxes | float | Taxes |
| frontage | float | Frontage |
| lot_depth | float | Lot depth in SF |
| number_of_buildings | integer | Number of buildings |
| draft | boolean | Denotes if the property is in draft status |
| notes | string | Internal notes for the property |
| external_id | string | Field for tracking ID of property in external systems |
| branding | string | The name of the branding associated with this property, if any |
| custom_fields | object | Custom fields, specific to each Buildout client |
| created_at | datetime | The time the property was created |
| updated_at | datetime | The time the property was last updated |
| foundation | string | Foundation |
| framing | string | Framing |
| exterior_description | string | Description of exterior |
| exterior_walls | string | Description of exterior walls |
| hvac | string | HVAC |
| parking_description | string | Description of parking |
| landscaping | string | Landscaping |
| rail_access | boolean | True if 'yes', false if 'no', null if 'N/A' |
| column_space | float or string | Column spacing. It can be square or rectangular. For instance, for square 40. for non-square '40x50' |
| dock_door_description | string | Dock door description |
| drive_in_bays | integer | Number of Drive in Bays |
| trailer_parking | string | Trailer parking |
| amenities | string | Amenities |
| display_locale_override | string | Language. See language options |
| currency_key | string | Currency. See currency options |
| currency_format | string | Currency format. One of ['short', 'long'] |
| measurements | string | The system of measurement for the property. One of ['imperial', 'metric'] |
| gross_scheduled_income | float | This is the best-case rental income for the property |
| other_income | float | This is the total of all the other possible incomes (non-rental) for the property |
| operating_expenses | float | This is the sum of all the expenses for the property |
| vacancy_cost | float | This is the value representing the empty portion of the building. |
| down_payment | float | This is the sale price less the loan amount |
| cash_on_cash | float | This is the pre-tax cash flow divided by the down payment |
| total_return | float | This is the pre-tax cash flow plus the principal reduction from year one |
| debt_service | float | This is a loan payment calculation based on the amount, interest rate, and loan period |
| principal_reduction_yr_1 | float | This is a loan payment calculation based on the amount, interest rate, and loan period |
| rev_par | float | RevPAR |
| adr | float | ADR |
| nearest_highway | string | Nearest highway |
| load_factor | float | Load factor |
| restrooms | string | Restrooms |
| mapright_embed_code | string | Code for embedding a Land id (formerly MapRight) map of the property |
| days_on_market | integer | Number of days since this product moved into the "On Market" state. If the property is not "On Market", the value will be 0. If the it cannot be calculated, the value will be NULL. |
| typical_floor_size | float | Typical floor size, in square feet or square meters depending on the property's measurement system |
| construction_description | string | Describing how a building is specifically constructed to attract the right tenants/buyers. |
| floor_coverings | string | Type of floor covering a building has |
| free_standing | boolean | Indicates if the property is free standing or not |
| office_buildout | string | The construction and customization of the space |
| power | boolean | Does the property have power or not |
| signal_intersection | boolean | Is there the presence of a traffic signal at the intersection, or not, if not applicable |
| investment_type | string | Investment type risk level for a sale listing (core, core_plus, value_add, opportunistic, distressed) |
| sale_terms | string | Contractual details of a property's transfer of ownership |
| number_of_escalators | integer | Number of escalators |
| nnn_lease_expiration | date | Date of NNN lease expiry |
| nnn_years_left_on_lease | integer | Number of years left on NNN lease |
List of language options for properties
| Value | Description |
|---|---|
| en | English |
| en_au | English (AU) |
| es_mx | Español (MX) |
| fr | Français |
| fr_ca | Français (CA) |
| pl | Polski |
List of currency options for properties
| USD |
|---|
| CAD |
| EUR |
| GBP |
| MXN |
| COP |
| CRC |
| PAB |
| AOA |
| AUD |
| AWG |
| BBD |
| BGN |
| BSD |
| BZD |
| CHF |
| CLP |
| CNY |
| CZK |
| DOP |
| GEL |
| HKD |
| HUF |
| JMD |
| KRW |
| KYD |
| MDL |
| MKD |
| NZD |
| PEN |
| PLN |
| TTD |
| TWD |
| UAH |
| VND |
| XCD |
| XCG |
| dollars |
|---|
| dollars_per_sf |
| dollars_per_sm |
| dollars_per_acre |
| dollars_per_hectare |
Represents a single space for lease
| Parameter | Data Type | Description |
|---|---|---|
| id | integer | Primary key |
| property_id | integer | Foreign key reference to this lease space's property |
| tenant_name | string | Name of the tenant occupying the lease space |
| deal_status_id | integer | Reference to DealStatus enum |
| space_type_id | integer | Reference to PropertySubtype enum |
| address2 | string | Secondary address of lease space |
| suite | string | Suite number |
| floor | string | Floor number |
| hide_lease_rate | boolean | Indicates that the sale price should be hidden |
| hidden_lease_rate_label_override | string | Override for Hidden Lease Rate Label |
| price_per_sf_per_year | float | DEPRECATED |
| price_per_sf_per_year_max | float | DEPRECATED | If this field is present the rate is a range from price_per_sf_per_year to price_per_sf_per_year_max |
| lease_rate | float | Lease Rate |
| lease_rate_max | float | If this field is present the rate is a range from lease_rate to lease_rate_max |
| lease_rate_units | string | Reference to LeaseRateUnit option |
| size_sf | integer | Lease space size, in SF |
| space_size | float | Lease space size. Units specified in space_size_units |
| space_size_units | string | Units for space_size. Either SF/sm or acres/hectares |
| lease_type_id | integer | Reference to LeaseType enum |
| lease_term | string | Lease term (months) |
| min_divisible_sf | integer | Min divisible, in SF |
| max_contiguous_sf | integer | Max contiguous, in SF |
| tax_per_sf | float | Tax per SF |
| cam_per_sf | float | Cam per SF |
| cam_expense_stops | float | A tenant's responsibility for common area maintenance expenses and what the baseline is for these expenses. |
| cooling | boolean | Is there cooling in the space |
| cooling_description | string | Description of the cooling in the space |
| heating | boolean | Is there heating in the space |
| heating_description | string | Description of the heating in the space |
| number_of_parking_spaces | integer | Number of parking spaces available for the lease space |
| lease_terms | string | Contractual agreements between a landlord and tenant |
| net_lease_investment | boolean | Is this a net lease investment or not |
| number_of_offices | integer | Number of offices in the lease space |
| signage_available | boolean | Indicates if signage is available for the lease space |
| tenants_pay_electric | boolean | Indicates if tenants pay for electricity |
| tenants_pay_gas | boolean | Indicates if tenants pay for gas |
| tenants_pay_water | boolean | Indicates if tenants pay for water |
| ti_allowance | float | The specific amount of money a landlord provides to a tenant to pay for office buildout |
| expenses | float | Expenses |
| sublease | boolean | Indicates if lease space is sublease |
| sublease_expiration | date | Date of sublease expiration |
| description | string | Description |
| date_available | date | Date available |
| floor_plan_url | string | Floor plan URL |
| space_type_label_override | string | Override for space type label |
| lease_type_label_override | string | Override for lease type label |
| video_url | string | URL for LeaseSpace video |
| matterport_url | string | URL to Matterport walkthrough |
| virtual_tour_url | string | URL to virtual tour (non-Matterport) |
| photos | array | A list of space photos. Limit 100 photos per lease space. |
| custom_fields | object | Custom fields, specific to each Buildout client |
| external_id | string | Field for tracking ID of lease space in external systems |
| sort_order | integer | Sort order of lease space |
Lease Rate Unit Options
| dollars_per_sf_per_year |
|---|
| dollars_per_sm_per_year |
| dollars_per_acre_per_year |
| dollars_per_hectare_per_year |
| dollars_per_year |
| dollars_per_sf_per_month |
| dollars_per_sm_per_month |
| dollars_per_acre_per_month |
| dollars_per_hectare_per_month |
| dollars_per_month |
Represents a single lot for sale
| Parameter | Data Type | Description |
|---|---|---|
| id | integer | Primary key |
| property_id | integer | Foreign key reference to the lot's property |
| address | string | The lot's street address if different from the property's address |
| apn | string | Assessor's parcel number |
| deal_status_id | integer | Reference to DealStatus enum |
| description | string | Lot description |
| number | string | Lot number or name |
| property_subtype_id | integer | Reference to PropertySubtype enum; must be a land type (501 - 507) |
| sale_price | float | Sale price |
| sale_price_units | string | Reference to Lot Price Units option |
| size | float | Lot size |
| size_units | string | Reference to Lot Size Units option |
| sort_order | integer | Ordinal number |
| zoning | string | Zoning description |
Lot Price Units
| dollars |
|---|
| dollars_per_sf |
| dollars_per_sm |
| dollars_per_acre |
| dollars_per_hectare |
Lot Size Units
| sf |
|---|
| acres |
| sm |
| hectare |
Represents a single condo for sale
| Parameter | Data Type | Description |
|---|---|---|
| id | integer | Primary key |
| property_id | integer | Foreign key reference to this condo's property |
| address2 | string | Secondary address of the condo, for example, unit number |
| deal_status_id | integer | Reference to DealStatus enum |
| description | string | Description |
| hide_sale_price | boolean | Indicates the condo's sale price should be hidden |
| hidden_price_label_override | string | Text displayed instead of the sale price if hide_sale_price is true |
| sale_price | float | Sale price |
| sale_price_units | string | Reference to Condo Sale Price Units option |
| size | float | Condo size, units specified by size_units |
| size_units | string | Reference to Condo Size Units option |
| sort_order | integer | Ordinal number |
Condo Sale Price Unit Options
| dollars |
|---|
| dollars_per_sf |
| dollars_per_sm |
Condo Size Unit Options
| sf |
|---|
| sm |
Represents a photo
| Parameter | Data Type | Description |
|---|---|---|
| id | integer | Primary key |
| url | string | URL to the photo image (either PNG or JPG). Photos are capped at 1000×1000px for JPG, 2000×2000px for PNG. |
| original_file_url | string | URL to the original image file. |
| external_id | string | An optional reference ID for external systems |
| type | string | Valid values are ['Property Photo', 'Site Plan', 'Retailer Map'] |
| description | string | Description |
| sort_order | integer | The order that the photos are returned. The photo with the smallest sort order is the main photo. |
| formats | object | Additional photo sizes to use. thumb: <200x200 medium: <500x500 large: <1000x1000 xlarge: <1500x1500 |
Represents a document
| Parameter | Data Type | Description |
|---|---|---|
| id | integer | Primary key |
| url | string | Document URL |
| name | string | Document name |
Some of the responses include fields that contain enum references. Below is a list of all enumerations currently referenced in the API. Additional entries may be added to these enums in the future, so you should handle this in your code. For example, we will likely add new property subtypes in the future.
Represents the country of property.
| Other | Other |
|---|---|
| US | United States |
| BS | Bahamas |
| CA | Canada |
| MX | Mexico |
| TR | Turkey |
| AU | Australia |
| CH | Switzerland |
| FR | France |
| MC | Monaco |
| ES | Spain |
| UK | United Kingdom |
| DE | Germany |
| IT | Italy |
| PL | Poland |
| RO | Romania |
| BG | Bulgaria |
| GR | Greece |
| HR | Croatia |
| NL | Netherlands |
| CZ | Czech Republic |
| IE | Ireland |
| AT | Austria |
| HU | Hungary |
| SI | Slovenia |
| SK | Slovakia |
| CN | China |
| BQ | Bonaire Sint Eustatius Saba |
| CO | Colombia |
| CR | Costa Rica |
| CW | Curaçao |
| DM | Dominica |
| DO | Dominican Republic (the) |
| GE | Georgia |
| GD | Grenada |
| GP | Guadeloupe |
| JM | Jamaica |
| MK | North Macedonia |
| MQ | Martinique |
| MD | Moldova (the Republic of) |
| MS | Montserrat |
| NZ | New Zealand |
| PA | Panama |
| PE | Peru |
| PR | Puerto Rico |
| BL | Saint Barthélemy |
| KN | Saint Kitts and Nevis |
| LC | Saint Lucia |
| MF | Saint Martin |
| VC | Saint Vincent and the Grenadines |
| SG | Singapore |
| SX | Sint Maarten |
| TW | Taiwan |
| TT | Trinidad and Tobago |
| TC | Turks and Caicos Islands (the) |
| UA | Ukraine |
| VN | Vietnam |
| VG | Virgin Islands (British) |
| VI | Virgin Islands (U.S.) |
| AO | Luanda, República de Angola |
| AW | Aruba |
| BB | Barbados |
| BZ | Belize |
| CL | Chile |
| SH | Shanghai (China) |
| KR | South Korea |
| KY | Cayman Islands (the) |
| AI | Anguilla |
| AG | Antigua and Barbuda |
Represents the type of property.
| 1 | Office |
|---|---|
| 2 | Retail |
| 3 | Industrial |
| 5 | Land |
| 6 | Multifamily |
| 7 | Special Purpose |
| 8 | Hospitality |
Represents the sub-type of property.
| 101 | Office Building |
|---|---|
| 102 | Creative/Loft |
| 103 | Executive Suites |
| 104 | Medical |
| 105 | Institutional/Governmental |
| 106 | Office Warehouse |
| 107 | Office Condo |
| 108 | Coworking |
| 109 | Lab |
| 201 | Street Retail |
| 202 | Strip Center |
| 203 | Free Standing Building |
| 204 | Regional Mall |
| 205 | Retail Pad |
| 206 | Vehicle Related |
| 207 | Outlet Center |
| 208 | Power Center |
| 209 | Neighborhood Center |
| 210 | Community Center |
| 211 | Specialty Center |
| 212 | Theme/Festival Center |
| 213 | Restaurant |
| 214 | Post Office |
| 215 | Retail Condo |
| 216 | Lifestyle Center |
| 301 | Manufacturing |
| 302 | Warehouse/Distribution |
| 303 | Flex Space |
| 304 | Research & Development |
| 305 | Refrigerated/Cold Storage |
| 306 | Office Showroom |
| 307 | Truck Terminal/Hub/Transit |
| 308 | Self Storage |
| 309 | Industrial Condo |
| 310 | Data Center |
| 501 | Office |
| 502 | Retail |
| 503 | Retail-Pad |
| 504 | Industrial |
| 505 | Residential |
| 506 | Multifamily |
| 507 | Other |
| 601 | High-Rise |
| 602 | Mid-Rise |
| 603 | Low-Rise/Garden |
| 604 | Government Subsidized |
| 605 | Mobile Home Park |
| 606 | Senior Living |
| 607 | Skilled Nursing |
| 608 | Single Family Rental Portfolio |
| 701 | School |
| 702 | Marina |
| 703 | Other |
| 704 | Golf Course |
| 705 | Church |
| 801 | Full Service |
| 802 | Limited Service |
| 803 | Select Service |
| 804 | Resort |
| 805 | Economy |
| 806 | Extended Stay |
| 807 | Casino |
| 1001 | Single Family |
| 1002 | Townhouse / Row House |
| 1003 | Condo / Co-op |
| 1004 | Manufactured / Mobile Home |
| 1005 | Vacation / Timeshare |
| 1006 | Other Residential |
Represents the construction status of property.
| 1 | Existing |
|---|---|
| 2 | Under construction |
| 3 | Proposed |
| 4 | Build to suit |
Represents the parking type of property.
| 1 | Roof-Top |
|---|---|
| 2 | Structure |
| 3 | Surface |
| 4 | Underground |
| 5 | Other |
Represents the availability of a property or lease space.
| 0 | Inactive |
|---|---|
| 1 | Active |
| 2 | Under Contract |
| 3 | Closed |
Represents the best use of a property for sale.
| 1 | Net Leased Investment |
|---|---|
| 2 | Investment |
| 3 | Owner / User |
| 4 | Business for Sale |
| 5 | Development |
Indicates whether a property has a single tenant or multiple tenants.
| 1 | Single |
|---|---|
| 2 | Multiple |
Indicates how the lease amount is determined
| 1 | Gross |
|---|---|
| 2 | Modified Gross |
| 3 | NNN |
| 4 | Modified Net |
| 5 | Full Service |
| 6 | Ground Lease |