# API FAQ
Source: https://docs.realie.ai/api-reference/faq
Frequently Asked Questions about the Realie Property Data API
* You will need to paginate through the results for a location. Please visit our [Code Reference Library Page](/code-references) to see an example.
* Open [Usage](https://app.realie.ai/dashboard/) and select **API access** to copy your key.
* Add a payment method from [Billing](https://app.realie.ai/billing/) before sending API requests. We place a temporary \$0.50 authorization on your card to verify it, then release it immediately.
* That is a temporary card verification hold, not a charge. When you activate API access, we place a \$0.50 authorization to confirm your card can be charged, then release it immediately. It never settles — depending on your bank, the pending authorization may take a few days to disappear from your statement, and no money is moved.
Open [Billing](https://app.realie.ai/billing/) and pay **all outstanding invoices**, including older invoices or balances associated with an earlier subscription. Use the payment alert to pay the invoice or **Fix Subscription** to retry payment or update your card.
If your card is declined, add a working card and complete its temporary verification hold. After verification succeeds, adding the card attempts to collect all outstanding payable invoices on your account. If any payment fails, the remaining debt continues to block access, even if the latest invoice was paid successfully.
Access resumes once your subscription is active, the outstanding debt is cleared, an eligible card is on file, and billing updates have completed. Your allowance or overage spending cap must also permit the request. A subscription marked `past_due` or `unpaid` cannot use the API. Paying an invoice does not automatically restore a canceled subscription; review Billing to reactivate or choose a plan, and contact [support@realie.ai](mailto:support@realie.ai) if you cannot complete recovery there.
Every newly added card must pass a temporary authorization hold to qualify for access. A declined hold means that card did not pass verification; a pending hold is not a successful verification. Open [Billing](https://app.realie.ai/billing/) and follow the recovery instructions or add a card that can accept charges.
You need at least one eligible card on file on every tier, including Free. Cards already on file before verification was introduced remain eligible if they have no verification record; you do not need to reverify them just because they lack that record. A failed or pending verification does not qualify a card, but another eligible card on the account can satisfy the card requirement. An eligible card alone does not clear unpaid invoices or activate an inactive subscription.
Read the `code` and `action` fields in the API's `403` response. For example, `card_not_verified` points to card verification, `unpaid_invoices` points to outstanding debt, and `overage_limit_exceeded` points to your overage spending cap. A non-active subscription returns `subscription_inactive`, which can also mean you need to settle invoices. The response reports the first blocking condition, so follow the returned recovery instructions and review Billing for any remaining issue.
See [Response Codes](/api-reference/response-codes#resolving-a-403-response) for the full list, response format, and next steps. Denied `403` requests do not spend tokens.
* Every plan includes one monthly token allowance shared across Platform and API usage. See our [plans and pricing](/api-reference/pricing), or contact [support@realie.ai](mailto:support@realie.ai) for enterprise arrangements.
* One — when the response is `200`. Empty lookups (`404`), authentication failures (`401`), and access denials (`403`, including billing and spending-limit blocks) do not spend a token. On search endpoints, `limit` is only the page size (up to 100 parcels). More parcels on a successful page does not cost more tokens. See [What is a token?](/api-reference/pricing#what-is-a-token) for the full breakdown.
* The API limits 1,200 requests per minute. For enterprise customers, please reach out to [support@realie.ai](mailto:support@realie.ai), and we can raise that limit.
* You can retrieve up to 100 parcels per request by adjusting the `limit` parameter on search endpoints. `limit` is page size — a successful `200` costs 1 token whether the page has 1 parcel or 100. A `404` costs zero.
* Remove the leading identifier. For example "APT 103B" should just be "103B". We provide a script to help you easily normalize unit number on our [Code Reference Library Page](/code-references).
* Please refer to our [property data schema page](/api-reference/property-data-schema) for a comprehensive list of available data fields.
This applies to the **v3 nested API response shape** and bulk full-record exports. The `permits` field is documented in the [v3 Property Data Schema](/api-reference/v3/property-data-schema) so you can plan integrations, but permit data is **not currently populated** — live responses may return an empty array or omit the field entirely today. Population is **expected November 2026** (target date, not a guaranteed SLA). The [v2-compatible flat schema](/api-reference/property-data-schema) does not document `permits`; integrations on the flat shape should not treat it as part of their response contract.
* The API returns property data in a JSON structure with two primary sections
* `data`: An array of property objects.
* `metadata`: An object containing pagination details (`limit`, `offset`, and `count`).
* There might be multiple parcels associated with that address. First, use the [Property Search Endpoint](/api-reference/property/property-search) and check if the metadata indicates more than one parcel. If you still aren't getting the anticipated results, try searching for the property using one of the following endpoints:
* [Parcel ID Lookup](/api-reference/property/parcel-id-lookup)
* [Location Search](/api-reference/property/location-search)
* This may be because you are using the [Property Search Endpoint](/api-reference/property/property-search). For individual address queries, it is quicker to use the [Address Lookup Endpoint](/api-reference/property/address-lookup). Realie prides itself on offering the fastest Property Data API on the market, with an average latency of around 10 ms.
* You can double-check your address using our Platform's [Property Lookup Feature](https://app.realie.ai/lookup/). This tool uses Google Maps' latitude and longitude data to verify whether we have the corresponding parcel information in our database.
* If available, you can also review the data format. Our address formatting adheres to USPS standards, and our engineering team has accounted for various edge cases such as abbreviations and directional indicators.
* Please ensure you are adjusting the limit and not using the Address Lookup Endpoint. The [Property Search Endpoint](/api-reference/property/property-search) will return multiple properties if they match the query.
* You have two options:
* **Downgrade to Free:** Manage your plan from [Billing](https://app.realie.ai/billing/). Your paid plan remains active until the end of the current billing period, then your account moves to Free.
* **Delete Your Account:** To delete your account, click your profile icon in the top right corner, then select “Manage Account” and navigate to “Security Settings.”
Before deleting your account, any outstanding token overage will be finalized.
Still have questions? Please email us at [support@realie.ai](mailto:support@realie.ai).
# Property Feature Field Key (v2-compatible shape)
Source: https://docs.realie.ai/api-reference/feature-key
Decode tables for the coded fields of the v2-compatible flat response shape
The Property Feature Field Key translates the coded fields of the **v2-compatible flat response shape** into readable descriptions. The flat shape serves the v3 data generation through a compatibility layer, so these are the same code vocabularies as the [v3 Feature Field Key](/api-reference/v3/feature-key), under the flat field names. Do not decode v3-generation values against pre-v3 tables. Values you persisted **before August 19, 2026** decode against the [Pre-v3 Code Tables (Frozen)](/api-reference/v2-legacy-code-tables) archive.
**One decode source of truth.** Coded fields across both shapes now store values from the Realie code system (`XX####` codes and integer scales), so the code tables are no longer duplicated here: each field below points at its table in the [v3 Feature Field Key](/api-reference/v3/feature-key), which is authoritative for both shapes and carries the full flat-shape field-name mapping. `useCode` keeps its table on this page — the 4-digit scheme is unchanged. Details in the [changelog](/api-reference/v3/changelog).
Same four-digit scheme as the v2 API. The code definitions are stable; an individual parcel can still receive a different code in a newer source delivery because its use or source classification changed. Migrate the vocabulary by code identity rather than translating one use code into another.
| Code | Description |
| - | - |
| 0010 | Miscellaneous (General) |
| 0011 | Pipeline or Right-of-Way |
| 0012 | Rail (Right-of-way & track) |
| 0013 | Road (Right-of-way) |
| 0014 | Utilities (Right-of-way ONLY) |
| 0015 | Sub-Surface Rights (mineral) |
| 0016 | Surface Rights (Grazing, timber, coal,) |
| 0017 | Leasehold Rights (misc.) |
| 0018 | Possessory Interest (misc.) |
| 0019 | Petroleum & Gas Wells (misc.) |
| 0020 | Water Rights (misc.) |
| 0021 | Right-of-Way (not rail, road or utility) |
| 0022 | Easement (misc.) |
| 0023 | Homestead (Misc.) |
| 0024 | Common Area (misc.) |
| 0025 | Royalty Interest |
| 0026 | Working Interest |
| 0027 | Parcels with improvements, Use Not Specified |
| 0500 | Personal Property General |
| 0510 | Vehicles General |
| 0511 | Motor Vehicles (cars, trucks, etc.) |
| 0512 | Recreational Vehicles / Travel Trailers |
| 0513 | Watercraft (ships, boats, PWCs, etc. |
| 0514 | Aircraft |
| 0515 | Rolling stock (railroad) |
| 0516 | SpaceCraft |
| 0519 | Misc vehicles not otherwise classed (antiques, etc.) |
| 0520 | Business Personal Property General |
| 0521 | Enquipment / Supplies |
| 0522 | Inventory |
| 0523 | Goods in transit |
| 0524 | Livestock (animals, fish, birds, etc.) |
| 0525 | Crops (in ground) |
| 0526 | Crops (harvested) |
| 0529 | Misc Business Personal not classed |
| 0530 | Structures (general) |
| 0532 | Structures on leased land |
| 0533 | Temporary Structures |
| 0539 | Misc. structures not classed (billboards, etc. |
| 0540 | Intangable personal property |
| 0599 | Misc. Property not classed |
| 0714 | Forest |
| 0752 | Park |
| 1000 | Residential (General) (Single) |
| 1001 | Single Family Residential |
| 1002 | Townhouse (Residential) |
| 1003 | Cluster home (Residential) |
| 1004 | Condominium Unit (Residential) |
| 1005 | Cooperative Unit (Residential) |
| 1006 | Mobile/Manufactured Home (regardless of Land ownership) |
| 1007 | Row house (Residential) |
| 1008 | Rural/Agricultural Residence |
| 1009 | Planned Unit Development (PUD Residential) |
| 1010 | Residential Common Area (Condo/PUD/etc.) |
| 1011 | Timeshare (Residential) |
| 1012 | Seasonal, Cabin, Vacation Residence |
| 1013 | Bungalow (Residential) |
| 1014 | Zero Lot Line (Residential) |
| 1015 | Misc Residential Improvement |
| 1016 | Modular/Pre-Fabricated Homes |
| 1017 | Patio Home |
| 1018 | Garden Home |
| 1019 | Landominium |
| 1020 | Barndominium |
| 1021 | Tiny House |
| 1022 | Single Family Residential w/ADU |
| 1023 | Accessory Dwelling Unit (ADU) |
| 1024 | Single Family Residential - Two or more SFR on one parcel |
| 1025 | Horizontal Property Regime |
| 1100 | Residential Income (General) (Multi-Family) |
| 1101 | Duplex (2 units, any combination) |
| 1102 | Triplex (3 units, any combination) |
| 1103 | Quadruplex (4 units, any combination) |
| 1104 | Apartment house (5+ units) |
| 1105 | Apartment house (100+ units) |
| 1106 | Garden Apt, Court Apt (5+ units) |
| 1107 | Highrise Apartments |
| 1108 | Boarding House, Rooming House, Apt Hotel, Transient Lodgings, Hostel |
| 1109 | Mobile Home or Trailer Park |
| 1110 | Multi-Family Dwellings (Generic, 2+) |
| 1111 | Fraternity or Sorority House |
| 1112 | Apartments (generic) |
| 1113 | Dormitory, Group Quarters (Residential) |
| 1114 | Residential Condominium Development (Association Assessment) |
| 1115 | Care Facility (rehab; retirement, rest, convalescent, or nursing home) |
| 1124 | Condominium Building (Residential) |
| 1125 | Cooperative Building (Residential) |
| 1126 | Apartment House (fewer than 5 units) |
| 1901 | Residential Parking Garage |
| 1902 | Residential Storage Space is mainly applied to storage spaces that are assessed separately from their correlated Condos |
| 1999 | Single Family Residential (Assumed) |
| 2000 | Commercial (General) |
| 2001 | Retail Stores (Personal Services, Photography, Travel) |
| 2002 | Store (multi-story) |
| 2003 | Store/Office (mixed use) |
| 2004 | Department Store (apparel, household goods, furniture) |
| 2005 | Department Store (multi-story) |
| 2006 | Grocery, Supermarket |
| 2007 | Regional Shopping Center or Mall with Anchor store |
| 2008 | Community Shopping Plaza or Shopping Center, Mini-Mall |
| 2009 | Neighborhood Shopping Center, Strip Center/Mall, Enterprise Zone |
| 2010 | Shopping Center COMMON AREA parking, park etc. |
| 2011 | Veterinary or Animal Hospital |
| 2012 | Restaurant |
| 2013 | Fast Food Restaurant / Drive-thru |
| 2014 | Take-out Restaurant |
| 2015 | Bakery |
| 2016 | Bar, Tavern |
| 2017 | Liquor Store |
| 2018 | Convenience store |
| 2019 | Convenience Store with fuel |
| 2020 | Service station (full service) |
| 2021 | Service station w/convenience store (food mart) |
| 2022 | Truck stop (fuel and diner) |
| 2023 | Vehicle Rentals, Vehicle Sales |
| 2024 | Auto repair, auto parts, Garage |
| 2025 | Car wash |
| 2026 | Dry Cleaner, Laundry Service |
| 2027 | Service Shop |
| 2028 | Nursery, Greenhouse, Florist |
| 2029 | Wholesale Outlet, Discount Store |
| 2030 | Printer/Delivery - Retail (Kinkos, UPS, FedEx, etc.) |
| 2031 | Mini-Warehouse, Self-Storage |
| 2032 | Day care, Pre-school (Commercial) |
| 2033 | Motel |
| 2034 | Hotel |
| 2035 | Parking Garage, Parking Structure |
| 2036 | Parking Lot |
| 2037 | Funeral Home, Mortuary (Commercial) |
| 2038 | Casino |
| 2039 | Hotel-Resort |
| 2040 | Hotel or Motel |
| 2041 | Gas Station |
| 2042 | Retail/Residential (mixed use) |
| 2043 | Commercial Building |
| 2044 | Commercial/Office/Residential (mixed use) |
| 2045 | Appliance Store (Best Buy, HH Gregg) |
| 2046 | Kennel |
| 2047 | Laundromat (self-service) |
| 2048 | Nightclub (Cocktail Lounge) |
| 2050 | Farm Supply & Equipment (retail) |
| 2051 | Home Improvement, Garden Center (Home Depot, Lowes) |
| 2052 | Commercial Condominium (not offices) |
| 2053 | Drug Store / Pharmacy (CVS, Walgreens) |
| 2054 | Bed & Breakfast |
| 2055 | Barber/Hair Salon |
| 2056 | Pet Boarding & Grooming |
| 2057 | Roadside Market |
| 2058 | Car Wash - Automated |
| 2059 | Car Wash - Self-Serve |
| 2060 | Cannabis Dispensary |
| 2061 | Lumberyard, Building Materials |
| 2062 | Hardware Store |
| 2063 | Furniture, Home Furnishings |
| 2064 | Antiques, Flea Market |
| 2065 | Consignment |
| 2066 | Thrift Store, Secondhand Store |
| 2067 | Books, Stationary |
| 2068 | Computer, Software |
| 2069 | Clothing, Shoes, Luggage, Jewelry, etc. |
| 2070 | Sporting Goods, Toy & Hobby, Music |
| 2071 | Confectionery, Candy, Nuts |
| 3000 | Commercial Office (General) |
| 3001 | Professional Bldg (legal; insurance; real estate; etc.) |
| 3002 | Professional Bldg (multi-story) |
| 3003 | Office Bldg (General) |
| 3004 | Office Bldg (multi-story) |
| 3005 | Dental Bldg |
| 3006 | Medical Bldg/Clinic |
| 3007 | Financial Bldg |
| 3008 | Condominium Offices |
| 3009 | Skyscraper/Highrise (Commercial Offices) |
| 3010 | Commercial/Industrial (mixed use) |
| 3011 | Common Area (commercial) |
| 3012 | Mobile Commercial Units |
| 3013 | Accounting, Tax, Payroll, Employment Services |
| 3014 | Professional Schools: Beauty, Trade/Vocational, Driving, Flight |
| 4000 | Recreational/Entertainment (General) |
| 4001 | Recreation Center |
| 4002 | Public Swimming Pool |
| 4003 | Boat slips, Marina, Yacht Club, Boat Landing |
| 4004 | Bowling Alley |
| 4005 | Arcades (Amusement) |
| 4006 | Skating rink, Ice Skating, Roller Skating |
| 4007 | Clubs, Lodges, Professional Associations |
| 4008 | Museums, Library, Art Gallery |
| 4009 | Country Club |
| 4010 | Stadiums |
| 4011 | Arenas, Convention Center |
| 4012 | Auditoriums |
| 4013 | Golf Driving Range |
| 4014 | Race track |
| 4015 | Gym, Health Spa |
| 4016 | Dance Hall |
| 4017 | Riding Stable, Trails |
| 4018 | Campground, RV Park |
| 4019 | Fairgrounds |
| 4020 | Theater |
| 4021 | Drive-In Theater |
| 4022 | Amusement Park, Tourist Attraction |
| 4023 | Piers, Wharf |
| 4024 | Fish Camps, Game Club, Target Shooting |
| 4025 | Outdoor Recreation: Beach, Mountain, Desert |
| 4026 | Pool Hall, Billiard Parlor |
| 4027 | Park, Playground, Picnic Area |
| 4028 | Golf Course |
| 4029 | Racquet or Tennis Court |
| 4030 | Zoo |
| 4031 | Go-carts, Miniature Golf, Water slides |
| 4032 | Sports Complex |
| 4033 | Clubhouse |
| 4034 | Wedding/Event Venue |
| 5000 | Industrial (General) |
| 5001 | Manufacturing (light) |
| 5002 | Light Industrial |
| 5003 | Warehouse (Industrial) |
| 5004 | Storage yard, Open Storage (light equipment, material) |
| 5005 | Food Packing, Packing Plant |
| 5006 | Assembly (light industrial) |
| 5007 | Food Processing |
| 5008 | Recycling plant |
| 5009 | Communications |
| 5010 | Condominiums (Industrial) |
| 5011 | Laboratory, Research and Development Facility, Cosmetics, Pharmaceutical |
| 5012 | Industrial Park |
| 5013 | Multi-Tenant Industrial Bldg |
| 5014 | Marine Facility/Boat Repairs (small craft or sailboat) |
| 5015 | Lumber & Wood Product Manufacturing (including furniture) |
| 5016 | Paper Product Manufacturing & related products |
| 5017 | Printing & Publishing (Light Industrial) |
| 5018 | Industrial Loft Building, Loft Building |
| 5019 | Construction/Contracting Services (Industrial) |
| 5020 | Common Area (Industrial) |
| 5021 | Data Center |
| 6000 | Heavy Industrial (General) |
| 6001 | Transportation |
| 6002 | Distribution Warehouse (Regional) |
| 6003 | Mining facility (oil; gas; mineral, precious metals) |
| 6004 | Storage yard (junk; auto wrecking, salvage) |
| 6005 | Distillery, Brewery, Bottling |
| 6006 | Refinery, Petroleum Products |
| 6007 | Mill |
| 6008 | Factory (medium) |
| 6009 | Processing Plant |
| 6010 | Lumberyard, Building Materials |
| 6011 | Shipyard/Storage - Built or Repaired (seagoing vessels) |
| 6012 | Slaughter House, Stockyard |
| 6013 | Waste Disposal, Sewage, Treatment facility |
| 6014 | Quarries |
| 6015 | Heavy Manufacturing |
| 6016 | Labor Camps (Industrial) |
| 6017 | Winery |
| 6018 | Chemical |
| 6019 | Foundry, Industrial Plant |
| 6020 | Cannery |
| 6021 | Gasoline, Fuel Bulk Storage |
| 6022 | Grain Elevator |
| 6023 | Dump Site |
| 6024 | Cold Storage |
| 6025 | Sugar Refinery |
| 6500 | Transportation & Communications (General) |
| 6501 | Airport & related |
| 6502 | Railroad & related |
| 6503 | Freeways, State Hwys |
| 6504 | Roads, Streets, Bridges |
| 6505 | Bus Terminal |
| 6506 | Telegraph, Telephone Communications |
| 6507 | Radio or TV Station Communications |
| 6508 | Truck Terminal (Motor Freight) |
| 6509 | Cable TV Station Communications |
| 6510 | Harbor & Marine Transportation |
| 6511 | Microwave |
| 6512 | Commercial Auto Transportation/Storage |
| 6513 | Pollution Control |
| 6514 | Cellular |
| 7000 | Agricultural / Rural |
| 7001 | Farm land |
| 7002 | Ranch |
| 7003 | Range land (grazing) |
| 7004 | Crop, Field Crops, Row Crops (all soil classes) |
| 7005 | Orchard (fruit; nut) |
| 7006 | Vineyard (Agricultural) |
| 7007 | Poultry Farm |
| 7008 | Dairy Farm |
| 7009 | Timberland, Forest, Trees (Agricultural) |
| 7010 | Wildlife Refuge |
| 7011 | Desert or Barren Land |
| 7012 | Pasture, Meadow |
| 7013 | Misc. Structures - Ranch, Farm, Fixtures |
| 7014 | Grove (Agricultural) |
| 7015 | Feedlots |
| 7016 | Livestock parcel |
| 7017 | Horticulture, Growing Houses (Agricultural) |
| 7018 | Well Site (Agricultural) |
| 7019 | Truck Crops (tobacco; cash crops) |
| 7020 | Reservoir, Water Supply |
| 7021 | Irrigation, Flood Control |
| 7022 | Natural Resources |
| 7023 | Rural Improved / Non-Residential |
| 7024 | Cannabis Grow Facility |
| 8000 | Vacant Land (General) |
| 8001 | Residential-Vacant Land |
| 8002 | Commercial-Vacant Land |
| 8003 | Industrial-Vacant Land |
| 8004 | Private Preserve, Open Space-Vacant Land (Forest Land, Conservation) |
| 8005 | Institutional-Vacant Land |
| 8006 | Government-Vacant Land |
| 8007 | Multi-Family-Vacant Land |
| 8008 | Rural/Agricultural-Vacant Land |
| 8009 | Waste Land, Marsh, Swamp |
| 8010 | Recreational-Vacant Land |
| 8011 | Water Area (Lakes; River; Shore) |
| 8012 | Unusable Land (Remnant, Steep, etc.) |
| 8013 | Abandoned Site, Contaminated Site |
| 8014 | Under Construction |
| 8015 | Vacant Land - Destroyed/Uninhabitable Improvement |
| 8016 | Vacant Land - Unspecified Improvement |
| 8017 | Vacant Land - Exempt |
| 8500 | Special Purpose |
| 8501 | State Board of Equalization - Special Assessments |
| 8502 | Regulating Districts & Assessments; Tax Abatement |
| 8503 | Redevlopment Agency or Zone |
| 8504 | Centrally Assessed |
| 9000 | Exempt (full or partial) |
| 9001 | Native American Lands / American Indian Lands |
| 9100 | Institutional (General) |
| 9101 | Religious, Church, Worship |
| 9102 | Parochial School, Private School |
| 9103 | Educational - PRIVATE |
| 9104 | Hospital-PRIVATE |
| 9105 | Medical Clinic |
| 9106 | Retired, Handicap, Convalescent, Nursing Home |
| 9107 | Childrens Home, Orphanage |
| 9108 | Cemetery (Exempt) |
| 9109 | Crematorium, Mortuary (Exempt) |
| 9110 | Charitable organization |
| 9111 | Recreational Non-Taxable (Camps, Boy/Girl Scouts) |
| 9112 | Private Utility (electric, water, gas, nuclear, solar, wind, etc.) |
| 9200 | Governmental/Public Use (General) |
| 9201 | Military |
| 9202 | Forest (park; reserve; recreation, conservation) |
| 9203 | Public School |
| 9204 | Educational Colleges, University-PUBLIC |
| 9205 | Post Office |
| 9206 | Cultural, Historical |
| 9207 | Govt. Administrative Office |
| 9208 | Emergency (Police; Fire; etc) |
| 9209 | Other exempt property |
| 9210 | City, Municipal, Town, Village Owned |
| 9211 | County Owned |
| 9212 | State Owned |
| 9213 | Federal Property |
| 9214 | Public Health Care Facility |
| 9215 | Community Center |
| 9216 | Public Utility (electric, water, gas, nuclear, solar, wind, etc.) |
| 9217 | Welfare, Social Service, Low Income Housing (Exempt) |
| 9218 | Correctional Facility, Jails, Prisons, Insane Asylum |
| 9219 | Hospital-PUBLIC |
| 9300 | Historical-PRIVATE (General) |
| 9301 | Historical Residence |
| 9302 | Historical Retail |
| 9303 | Historical Warehouse |
| 9304 | Historical Office |
| 9305 | Historical Transient Lodging (hotel/motel) |
| 9307 | Historical Recreation, Entertainment |
| 9308 | Historical Park / Site |
| 9309 | Historical District |
Architectural style. Realie code (`AS####`), carried in the nested record as `building.architecturalStyle`.
**Decode with the [`building.architecturalStyle` table](/api-reference/v3/feature-key#building-characteristics)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Exterior wall material. Realie code (`EW####`), carried in the nested record as `building.exteriorWall`.
**Decode with the [`building.exteriorWall` table](/api-reference/v3/feature-key#building-characteristics)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Roof **material** (asphalt, tile, metal, ...). Realie code (`RM####`), carried in the nested record as `building.roofMaterial`.
**Decode with the [`building.roofMaterial` table](/api-reference/v3/feature-key#building-characteristics)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Roof **shape** (gable, hip, mansard, ...). Realie code (`RS####`), carried in the nested record as `building.roofStyle`.
**Decode with the [`building.roofStyle` table](/api-reference/v3/feature-key#building-characteristics)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Floor finish material. Realie code (`FL####`), carried in the nested record as `building.flooring`.
**Decode with the [`building.flooring` table](/api-reference/v3/feature-key#building-characteristics)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Basement extent and finish. Realie code (`BS####`), carried in the nested record as `building.basement`.
**Decode with the [`building.basement` table](/api-reference/v3/feature-key#building-characteristics)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Overall construction method or material. Realie code (`CT####`), carried in the nested record as `building.construction`.
**Decode with the [`building.construction` table](/api-reference/v3/feature-key#building-characteristics)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Garage / parking arrangement. Realie code (`PK####`), carried in the nested record as `building.parking`.
**Decode with the [`building.parking` table](/api-reference/v3/feature-key#building-characteristics)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Pool form. Realie code (`PT####`), carried in the nested record as `building.pool.type`.
**Decode with the [`building.pool.type` table](/api-reference/v3/feature-key#building-characteristics)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Lot composition of the legal parcel. Realie code (`LT####`), carried in the nested record as `legalInformation.lotCode`.
**Decode with the [`legalInformation.lotCode` table](/api-reference/v3/feature-key#land-and-lot)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Deed / instrument type on sale and transfer records. Realie code (`TT####`), carried in the nested record as `salesHistory[].saleDocumentType`.
**Decode with the [`salesHistory[].saleDocumentType` table](/api-reference/v3/feature-key#sales-and-transfers)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
What kind of party the buyer is (individual, company, trust, ...). Realie code (`BE####`), carried in the nested record as `salesHistory[].buyerEntityType`.
**Decode with the [`salesHistory[].buyerEntityType` table](/api-reference/v3/feature-key#sales-and-transfers)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
How the buyers legally hold title. Realie code (`BV####`), carried in the nested record as `salesHistory[].buyerVesting`.
**Decode with the [`salesHistory[].buyerVesting` table](/api-reference/v3/feature-key#sales-and-transfers)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Why a sale is — or is not — a market (arm’s-length) transaction. The flat shape carries this per event; an absent value means the source recorded no qualification signal for that sale. Realie code (`TQ####`), carried in the nested record as `salesHistory[].qualification`.
**Decode with the [`salesHistory[].qualification` table](/api-reference/v3/feature-key#sales-and-transfers)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
Foreclosure record type. The flat shape exposes the most recent record’s type. Realie code (`FR####`), carried in the nested record as `foreclosures[].recordType`.
**Decode with the [`foreclosures[].recordType` table](/api-reference/v3/feature-key#liens-and-foreclosures)** in the v3 Feature Field Key — the flat and nested shapes carry identical values, and that page is the single decode source of truth.
### Free-text fields
`zoningCode` and `taxRateCodeArea` (the assessor's tax-district code) are jurisdiction-issued values, not members of one national code system. No global decode table exists or should be inferred; interpret them within the issuing jurisdiction.
# Pagination
Source: https://docs.realie.ai/api-reference/pagination
How to paginate through large result sets in the Realie API.
The `/property/search` endpoint supports two pagination modes: **cursor** (recommended) and **offset** (legacy, deprecated). This page explains both, when to use which, and how to handle common workflows.
## TL;DR
* For pagination beyond the first page, **always use `cursor`**.
* **Opt in by passing `cursor=start`** on your first request. The response will include `metadata.nextCursor` for the next page.
* Cursor pagination is constant-time per page regardless of how deep you've paginated.
* The `offset` parameter still works for backwards compatibility but does not scale beyond a few thousand records and may time out.
* If you're doing **incremental sync** (fetching only what's new since your last run), cursor pagination is the natural fit — save the `nextCursor` from your last response, and pass it back later to continue from exactly where you stopped.
`limit` is page size. A successful `200` costs 1 token whether the page has 1 parcel or 100. A `404` costs zero. Pagination cursors are not billing tokens — see [What is a token?](/api-reference/pricing#what-is-a-token).
Cursor mode is **opt-in**. Without the `cursor` query parameter, the response uses the legacy offset shape (`metadata.offset: 0`, no `nextCursor`). To enable cursor pagination, pass `cursor=start` on your first request. This keeps existing callers' default responses unchanged.
An empty value (`cursor=`) does **not** work. Our hosting layer discards query parameters that have no value, so `cursor=` arrives identical to sending no cursor at all and you get the offset shape back. Earlier versions of this page recommended `cursor=` — if you built against that, switch to `cursor=start`.
## How cursor pagination works
Each response includes `metadata.nextCursor` — an opaque string token. Pass that token back as the `cursor` parameter on the next request to retrieve the next page. When there are no more results, `nextCursor` is `null`.
To start a fresh pagination, send `cursor=start`. To continue a previous one, send the saved token.
### Basic example
**First page** — pass `cursor=start` to opt into cursor mode:
```bash theme={null}
curl 'https://app.realie.ai/api/public/property/search/?state=NV&limit=100&cursor=start' \
-H 'Authorization: '
```
Response:
```json theme={null}
{
"properties": [/* ...100 properties... */],
"metadata": {
"limit": 100,
"count": 100,
"nextCursor": "eyJsYXN0SWQiOiI2NzI4ZGM0OTA5MTNiNDJmNTJkOTU4OTUifQ"
}
}
```
**Next page** — pass back the `nextCursor` value as `cursor`:
```bash theme={null}
curl 'https://app.realie.ai/api/public/property/search/?state=NV&limit=100&cursor=eyJsYXN0SWQiOiI2NzI4ZGM0OTA5MTNiNDJmNTJkOTU4OTUifQ' \
-H 'Authorization: '
```
Each response gives you a fresh cursor for the page after it. Repeat until `nextCursor` is `null`.
### Last page
When you've reached the end of the result set, `nextCursor` is `null`:
```json theme={null}
{
"properties": [/* ...47 final properties... */],
"metadata": {
"limit": 100,
"count": 47,
"nextCursor": null
}
}
```
## Saving cursors for later
Cursor tokens are **stateless and portable**. They aren't tied to a session, a connection, or a time window. You can:
* Save the token to disk, a database, or environment variable
* Send it to a different machine
* Pause for hours, days, or weeks and resume from exactly the same point
This makes cursor pagination the ideal pattern for incremental sync workflows.
### Incremental sync example
Suppose you're keeping a local mirror of all properties in Nevada. You only want to fetch what's new since your last run.
**First run** (one-time setup): walk to the end of the current dataset and save the final cursor.
```python theme={null}
import requests, json
cursor = "start" # "start" opts into cursor mode
headers = {"Authorization": ""}
while True:
r = requests.get(
"https://app.realie.ai/api/public/property/search/",
params={"state": "NV", "limit": 100, "cursor": cursor},
headers=headers,
)
data = r.json()
save_to_local_store(data["properties"])
next_cursor = data["metadata"]["nextCursor"]
if next_cursor is None:
# Reached the end — save the final cursor
with open("nv_cursor.txt", "w") as f:
f.write(cursor) # save the cursor used in this request
break
cursor = next_cursor
```
**Subsequent runs** (e.g., daily): load the saved cursor and pull only what's new.
```python theme={null}
with open("nv_cursor.txt") as f:
cursor = f.read().strip()
while True:
r = requests.get(
"https://app.realie.ai/api/public/property/search/",
params={"state": "NV", "limit": 100, "cursor": cursor},
headers=headers,
)
data = r.json()
if not data["properties"]:
break
save_to_local_store(data["properties"])
next_cursor = data["metadata"]["nextCursor"]
if next_cursor is None:
# Caught up — save the latest cursor for next run
with open("nv_cursor.txt", "w") as f:
f.write(cursor_for_last_request)
break
cursor = next_cursor
```
Each subsequent run only fetches properties added since your last cursor — typically a handful of pages, not the full dataset. Each page returns in around 200 ms regardless of how deep into the dataset you are.
## Performance characteristics
| Scenario | Cursor | Offset (legacy) |
| - | - | - |
| First page | \~200 ms | \~200 ms |
| Page at depth 10,000 | \~200 ms | seconds, may time out |
| Page at depth 50,000 | \~200 ms | will time out |
| Resume from saved position (any depth) | \~200 ms | requires re-walking from page 0 |
| Incremental "what's new" sync | \~200 ms per new page | impractical — offsets shift as data changes |
The cursor's per-page latency stays flat at any depth because the database can seek directly to your saved position via an index. Offset pagination has to walk through every record up to your offset on every request.
**Known limitation: combine `cursor` with `state`, or `state` + `county`, only.**
Cursor pagination currently reads an index keyed on state and county. A `zipCode` or `address` filter is not part of that key, so the database has to scan the state in county order looking for matches. If the matching records sit in a later county, the request exceeds the 15-second query timeout and returns `503`.
The failure depends on where your matches fall, so a walk can succeed for several pages and then start returning `503` partway through — it is not a transient error and retrying does not help.
Until this is fixed, keep `zipCode`- and `address`-filtered lookups on `offset`, where they return in roughly 200 ms and are unaffected.
## Reference: cursor format
The cursor is an opaque base64url-encoded token. Its internal shape is an implementation detail, it differs between datasets, and it can change without notice. Never construct, parse, or edit one — pass back exactly what the API returned. The only value you may send that the API did not produce is the literal `start`.
## Migrating from offset
If your existing code uses `?offset=N` to paginate, the migration is **one query parameter**. Replace your first call's `offset` with `cursor=start`, then use the returned `nextCursor` for subsequent pages.
```diff theme={null}
- GET /api/public/property/search?state=NV&limit=100&offset=0
+ GET /api/public/property/search?state=NV&limit=100&cursor=start
```
The first response now includes `metadata.nextCursor`. Pass that value back as `cursor` on the next request and repeat until `nextCursor` is `null`. No need to track or increment offsets — the server hands you the next-page token each time.
For codebases with deep pagination (offset > a few thousand), this migration is worth doing soon — `offset` calls at those depths can time out and return `503`.
## When to keep using offset
* You're prototyping and only ever fetch the first page or two
* You have a small result set that fits comfortably under a few hundred records
* You're working with existing code that already uses offset and shallow depth
For anything else — production sync workflows, large datasets, deep pagination — use cursor. The `offset` parameter (with `offset > 0`) produces a `Deprecation: true` HTTP header and a `metadata.deprecationNotice` field in the response body.
## Endpoints that support cursor pagination
* [`GET /public/property/search/`](/api-reference/property/property-search)
Other paginated endpoints will adopt the same pattern over time. Until they do, `cursor` is silently ignored on endpoints that don't support it.
# Premium Comparables Search
Source: https://docs.realie.ai/api-reference/premium/premium-comparables-search
api-reference/openapi.json GET /public/premium/comparables/
Search for comparable properties based on location and optional property characteristics. Set "full=true" to also return each comparable's full property record.
# Plans and Pricing
Source: https://docs.realie.ai/api-reference/pricing
Shared token plans for Platform and API usage.
Every Realie plan includes one monthly token allowance shared across the Platform and API. Adding a payment method enables API access and allows usage beyond the included amount. If you have questions or need help choosing a plan, our support team is here to assist.
## What is a token?
A token is one successful API call.
Hit a public endpoint. Get a `200`. Spend 1 token.
No `200`, no token. Empty results return `404` and are not billed. `401` and `403` are not billed. Metering runs only after success.
It is not a parcel. It is not your Bearer auth key. It is not a pagination cursor.
Plans meter **tokens**. Some search endpoints return a **result page** of parcels. `limit` sets the page size (default 10, max 100 on those endpoints). One `200` still costs 1 token whether the page has 1 parcel or 100.
Endpoints that return a result page (`limit` max 100): `GET /api/public/property/search`, `property/location`, and `property/owner` (v3 also caps `offset` + `limit` ≤ 200 on owner).
Single-property lookups (`address`, `parcelId`) return one record.
Premium: comparables `maxResults` max 50; premium owner `limit` max 25. Still 1 token per `200`.
\$0 / Month
>
25 Tokens / Month
>
\$0.15 / Additional Token
\$50 / Month
>
1,250 Tokens / Month
>
\$0.05 / Additional Token
\$150 / Month
>
6,000 Tokens / Month
>
\$0.025 / Additional Token
\$350 / Month
>
30,000 Tokens / Month
>
\$0.012 / Additional Token
> **Note:** Plans renew monthly. A downgrade keeps your current plan active through the end of the billing period, then moves your account to Free. Unused tokens do not roll over.
For more details, please visit [Realie Privacy Policy](https://www.realie.ai/privacy) and [Terms of Use](https://www.realie.ai/terms).
# Introduction
Source: https://docs.realie.ai/api-reference/property-data
Your trusted resource for comprehensive property data.
This is the **legacy v2 reference**. The live API now serves the v3 data generation —
see the [v3 API reference](/api-reference/v3/overview) and the
[v2 → v3 migration guide](/api-reference/v3/migration).
Welcome to the Realie Property Data API, your gateway to comprehensive, reliable property information. Whether you’re building a real estate website, a rental platform, a data analysis tool, or leveraging AI for predictive analytics and smart decision-making, our API provides the resources you need to integrate robust property data seamlessly into your application.
## Getting Started
Create an account and sign in. Every account starts on the Free plan with a monthly token allowance shared across the Platform and API.
Add a payment method from [Billing](https://app.realie.ai/billing/) to enable API requests. We place a temporary \$0.50 authorization hold to verify the card, then release it immediately.
Open [Usage](https://app.realie.ai/dashboard/) and select **API access** to copy your key. Once API access is enabled, include this key in the headers of your requests.
Discover the full range of property data available by exploring our endpoints, conveniently accessible via the sidebar on the left.
You can also query all these endpoints from the terminal using the [Realie CLI](/realie-cli): `realie lookup --address "..." --state TX`
## Exploring the Capabilities of the Realie API Endpoints
Our API provides a range of endpoints designed to give you flexible and powerful access to property data. Whether you're building a real estate website, a rental platform, a data analysis tool, or leveraging AI for predictive analytics and smart decision-making, our endpoints cover all your needs. You can explore them in the sidebar to the left, or review the list below:
* A flexible way to paginate through large areas (such as entire counties) to collect all relevant data.
* Retrieve detailed property information quickly by specifying a known address. This endpoint is optimized for lower latency, making it perfect for real-time applications.
* Access property data using official parcel identifiers. Ideal for workflows that require government or official records.
* The location search endpoint accepts latitude, longitude, and radius parameters to perform geospatial queries, returning properties within the specified area."
* Identify and compare similar properties based on factors like price, size, and location. This endpoint is excellent for market trend analysis, valuations, and investment decision-making.
Each endpoint is designed with performance and flexibility in mind, ensuring you can integrate property data seamlessly into your application.
## Rate Limits
To maintain optimal performance for all users, the Realie API enforces a rate limit of 1200 requests per minute. If you exceed this threshold, you’ll receive a 429 (Too Many Requests) response.
## Questions?
If you have questions about the Realie API, run into any issues, or simply want to share feedback, we're here to assist.
* Email: [support@realie.ai](mailto:support@realie.ai)
* FAQ: Check out our [FAQ](https://docs.realie.ai/api-reference/faq) for quick answers to common questions.
We appreciate your interest in Realie and look forward to helping you build amazing solutions!
# Property Data Schema (v2-compatible shape)
Source: https://docs.realie.ai/api-reference/property-data-schema
The flat v2-compatible response shape, served from the v3 data generation
This is the **v2-compatible response shape**: the flat field layout existing
integrations receive, served from the v3 data generation through a compatibility
layer. Response shape is an account-level setting that every API key on the account
inherits; this is the shape accounts receive until they enable the v3 shape from the
dashboard's **Usage** page. The new standard response is the
**full nested record** documented in the
[v3 Property Data Schema](/api-reference/v3/property-data-schema) — matching bulk
exports apart from delivery-specific fields (bulk records carry a per-load `_id`;
API responses omit it). Field values and codes are identical between the two
shapes; only the layout differs.
Explore the complete set of fields returned in the v2-compatible response shape. Each field includes a name, type, and a brief explanation of its contents.
Fields with no value for a parcel are omitted from the response rather than returned as null. Persist `realieParcelId` as your property key — `_id` values are regenerated on each data load. Coded fields decode with the [Property Feature Field Key](/api-reference/v3/feature-key); if you are moving to the nested v3 shape, start with the [migration guide](/api-reference/v3/migration).
Stable Realie parcel identifier, persistent across data releases. Persist this — not `_id`, which is regenerated on each data load.
Assessor's Parcel Number. Example: "R-3726-00C-0100-1"
State abbreviation and parcel number joined. Example: "TX-R-3726-00C-0100-1"
Standardized state/county parcel identifier, useful for matching parcels across sources.
Street number and street name. Example: "1234 JOHN ST"
Full Address. Example: "1234 JOHN ST, PLANO, TX 75093"
Full address in USPS-standardized form. Example: "1234 JOHN ST, PLANO, TX 75093"
Full address (alias of addressFull). Example: "1234 JOHN ST, PLANO, TX 75093"
Address in formal presentation formatting. Example: "1234 John St, Plano, TX 75093"
Formatted address (alias of addressFormal). Example: "1234 John St, Plano, TX 75093"
Address line 1. Example: "1234 JOHN ST"
Address line 2 (unit, suite, etc.). Example: "APT 2B"
Address as delivered by the county source, prior to normalization.
Street name and street type. Example: "JOHN ST"
Street name without the street type. Example: "JOHN"
Street type abbreviation. Example: "RD"
Street Number. Example: "1234"
Directional prefix of the street. Example: "N"
Directional suffix of the street. Example: "SW"
Unit Number. Example: "APT 2B"
Unit Number. Example: "2B"
The address with a unit at the end. Example: "1234 JOHN ST APT 2B"
County the parcel is located in. Example: "COLLIN"
City. Example: "PLANO"
USPS-preferred city name. Example: "PLANO"
Zip Code. Example: "75093"
ZIP+4 code. Example: "75093-4351"
State. Example: "TX"
Building Area. Example: 5882
Finished living area in square feet. Example: 4200
Square footage used internally by the Realie valuation models. Not returned by the public API.
Basement Type. Realie code (`BS####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "BS0002" (FULL BASEMENT)
Wall Type (exterior wall material). Realie code (`EW####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "EW0002" (BRICK)
Fireplace Count. Example: 2
Identifying if the property has a fireplace. Example: true
Floor Type. Realie code (`FL####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "FL0004" (HARDWOOD)
Foundation Type. Values are currently absent — the new data source carries no foundation data today; previously delivered values may be restored in a future release as archived data.
Garage Count. Example: 2
Identifying if the property has a garage. Example: true
Garage Type (parking arrangement). Realie code (`PK####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "PK0001" (ATTACHED GARAGE)
Identifying if the property has air conditioning. Example: true
Building Count. Example: 1
Total room count. Example: 9
Number of units on the parcel. Example: 1
Stories. Example: 2
Total Bathrooms. Decimal — fractional counts (e.g. 2.5) are real JSON numbers (v2 delivered truncated integers). Example: 3.5
Full bathroom count. Example: 3
Half bathroom count. Example: 1
Total Bedrooms. Example: 5
Identifying if property has a pool. Example: true
Pool type code. Realie code (`PT####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "PT0003" (IN-GROUND POOL)
Roof Type (material). Realie code (`RM####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "RM0001" (COMPOSITION SHINGLE)
Roof Style (shape). Realie code (`RS####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "RS0001" (GABLE)
Construction Type. Realie code (`CT####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "CT0001" (FRAME)
Architectural style. Currently carries the Realie style **code** (`AS####`) rather than description text — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "AS0001" (RANCH)
Building condition description. **Not currently emitted** — the underlying value is an integer 1–20 with no label vocabulary; read the nested `building.condition` instead. The key is reserved for a future label release.
Building quality/grade description. **Not currently emitted** — the underlying value is an integer 1–20 with no label vocabulary; read the nested `building.quality` instead. The key is reserved for a future label release.
Year Built. Example: 1998
Effective year built, reflecting renovations. Example: 2005
Identifying if the property is residential. Example: true
Identifying if the property is a condominium. Example: false
Property owner's name, as delivered by the county (raw `LAST FIRST` string). Example: "DOE JOHN"
Second owner's name, as delivered by the county (raw `LAST FIRST` string). Example: "DOE JANE"
Owner Address Line 1. Example: "4567 JOHN DR"
Owner mailing street address (alias of ownerAddressLine1). Example: "4567 JOHN DR"
Owner's full mailing address. Example: "4567 JOHN DR, PLANO, TX 75093"
Owner City. Example: "PLANO"
Owner mailing city (alias of ownerCity). Example: "PLANO"
Owner State. Example: "TX"
Owner mailing state (alias of ownerState). Example: "TX"
Owner Zip Code. Example: "75093"
Owner mailing ZIP (alias of ownerZipCode). Example: "75093"
Owner ZIP+4 extension. Example: "4351"
Owner mailing ZIP+4 extension (alias of ownerZipCodePlusFour). Example: "4351"
Owner Residential Count. Frozen estimate captured May 2026; does not refresh with data releases. Example: 1
Owner Commercial Count. Frozen estimate captured May 2026; does not refresh with data releases. Example: 0
Owner Origin Code. No longer returned — the underlying member was removed with the code-system release (it carried a single constant value on every record). See the [changelog](/api-reference/v3/changelog).
Owner Parcel Count. Frozen estimate captured May 2026; does not refresh with data releases. Example: 1
Months the current owner has held the property. Frozen estimate captured May 2026; does not refresh with data releases. Example: 38
Length-of-residence band — an integer band index 1–8; higher bands mean longer tenure. Decode guidance in the [Feature Field Key](/api-reference/v3/feature-key). Frozen estimate captured May 2026; does not refresh with data releases. Example: 4
Legal Description. Example: "CITY/MUNI/TWP:PLANO CITY WILLOW BEND POLO ESTATES PHASE G (CPL), BLK C, LOT 10"
Legal description (alias of legalDesc). Example: "CITY/MUNI/TWP:PLANO CITY WILLOW BEND POLO ESTATES PHASE G (CPL), BLK C, LOT 10"
Subdivision. Example: "WILLOW BEND POLO ESTATES PHASE G (CPL)"
Zoning Code. Example: "RD-5"
Block Number. Example: "C"
Block number (alias of blockNum). Example: "C"
Lot Number. Example: "10"
Lot number (alias of lotNum). Example: "10"
Public Land Survey System section. Example: "3"
Public Land Survey System township. Example: "3N"
Public Land Survey System range. Example: "9W"
Land Lot. Example: "Lot 5"
Lot Code (lot composition). Realie code (`LT####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "LT0004" (SINGLE LOT NUMBER)
Acres. Example: 0.32
Depth Size. Example: 150
Lot depth (alias of depthSize). Example: 150
Frontage. Example: 100
Land Area. Example: 14096
Lot size area (alias of landArea). Example: 14096
Most recent total assessed value. Example: 1669610
Most recent assessed year. Example: 2024
Most recent property tax amount. Example: 17642.22
Most recent property tax year. Example: 2024
Most recent assessed total building value. Example: 400110
Most recent assessed land value. Example: 269500
Most recent assessed market value. Example: 1669610
Most recent assessed market value year. Example: 2024
Tax Rate Code Area. Example: "GCN"
Parcel's Use Code. Same 4-digit scheme as v2 (a small number of v2-era codes are retired and re-coded to specific successors — see the [migration guide](/api-reference/v3/migration)). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "1001"
Model Value. Example: 1739895
Model Value Minimum. Example: 1496309
Model Value Maximum. Example: 1983480
Model value standard deviation. Not returned by the public API.
Spread between modelValueMax and modelValueMin. Not returned by the public API.
Model confidence signal. Not returned by the public API.
Model confidence tier. Not returned by the public API.
Date the model value was produced. Not returned by the public API.
Version of the model behind modelValue.
Comparable-sales model value estimate. Example: 1712000
Comparable-sales model value minimum. Example: 1540800
Comparable-sales model value maximum. Example: 1883200
Price per square foot behind the comparable-sales estimate. Example: 407.62
Number of comparable sales used. Example: 12
Maximum distance of the comparables used, in miles. Example: 1.5
Look-back window of the comparables used, in months. Example: 12
Version of the comparable-sales model.
Relative difference between modelValue and compModelValue (0 = identical estimates). Example: 0.04
Array of assessment information from previous years.
```json example theme={null}
"assessments": [
{
"assessedYear": 2023,
"totalAssessedValue": 3072135,
"totalBuildingValue": 2572135,
"totalLandValue": 500000,
"totalMarketValue": 4072135,
"marketValueYear": 2023,
"taxValue": 34435.7,
"taxYear": 2023
}
]
```
Assessment year this entry covers. Example: 2023
Total assessed value for this assessment year. Example: 3072135
Assessed building value for this assessment year. Example: 2572135
Assessed land value for this assessment year. Example: 500000
Assessed market value for this entry. Example: 4072135
Year the market value applies to. Example: 2023
Property tax amount for this entry. Example: 34435.7
Tax year the tax amount applies to. Example: 2023
Recording Date (YYYY-MM-DD format). Example: "2024-01-10"
Transfer Date (YYYY-MM-DD format). Example: "2024-01-05"
Transfer date in ISO 8601 format. Example: "2024-01-05T00:00:00.000Z"
Transfer Price. Example: 525000
Buyer (grantee) on the latest sale. Example: "SMITH, JOHN"
Boolean qualification of the latest sale; also carried per event on transfers\[]. Absent on nearly all events recorded after March 2026 — prefer transfers\[].saleCode for qualification semantics on recent events. Example: true
What kind of party the buyer is. Realie code (`BE####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "BE0004" (LIMITED LIABILITY COMPANY)
The volume identifier assigned by the county recorder that indicates which official record book a real estate transaction document (such as a deed) is stored in.
The specific page within that book where the recorded real estate transaction document begins.
How the buyers legally hold title to the property. Realie code (`BV####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "BV0001" (JOINT TENANTS)
Flag (0/1) identifying the latest sale as a distressed sale. Example: 0
Flag (0/1) identifying the latest sale as a real-estate-owned (REO) purchase. Example: 0
Date current owner took possession of the property (YYYY-MM-DD format). Frozen estimate captured May 2026; does not refresh with data releases. Example: "2023-05-05"
The document type that transfers property ownership from a grantor to a grantee. Realie code (`TT####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "TT0001" (WARRANTY DEED)
Reference number for the transfer document. Example: "2023R0119502"
Array of the property's sale/transfer events, sorted newest-first. Each entry carries up to 11 keys — a key is absent when the source record has no value. The flat latest-sale fields (transferDate, transferPrice, and the other latest-sale scalars) are always derived from the newest dated entry of this array.
```json example theme={null}
"transfers": [
{
"transferDate": "2016-04-27",
"transferDateObject": "2016-04-27T00:00:00.000Z",
"transferPrice": 2700000,
"recordingDate": "2016-05-05",
"transferDocNum": "2016R0045102",
"transferDocType": "TT0001",
"bookNum": "1234",
"pageNum": "56",
"grantee": "SMITH, JOHN",
"qualified": true,
"saleCode": "TQ0002"
}
]
```
Date the sale was executed (YYYY-MM-DD format). Example: "2016-04-27"
The same instant as transferDate, in ISO 8601 timestamp form. Example: "2016-04-27T00:00:00.000Z"
Recorded sale price for this event. Absent in non-disclosure situations, where no price is recorded. Example: 2700000
Date the county recorded the document (YYYY-MM-DD format). Example: "2016-05-05"
Recorder document (instrument) number for this event. Example: "2016R0045102"
Deed/instrument type code for this event. Realie code (`TT####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "TT0001" (WARRANTY DEED)
Official record book the recorded document is stored in. Example: "1234"
Page within that book where the recorded document begins. Example: "56"
Buyer (grantee) name as recorded, in LAST FIRST convention. Example: "SMITH, JOHN"
Sale-qualification boolean carried on the source record. Absent on nearly all events recorded after March 2026 — prefer saleCode for qualification semantics on recent events. Example: true
Realie sale-qualification code (`TQ####`). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "TQ0002" (VALID ARM'S-LENGTH SALE)
Total Lien Count. Computed from recorded lien records when lien data is known for the parcel (a known-empty set counts as zero); otherwise a frozen estimate captured May 2026. Example: 1
Total Lien Balance. Computed from recorded lien records when lien data is known for the parcel (a known-empty set counts as zero); otherwise a frozen estimate captured May 2026. Example: 453664
Total Financing History Count. Frozen estimate captured May 2026; does not refresh with data releases. Example: 5
Loan-to-Value Current Estimate. Frozen estimate captured May 2026; does not refresh with data releases. Example: 26.0742
Loan-to-Value Current Estimate Range — an integer band index (ordered bucket, not a percentage). Decode guidance in the [Feature Field Key](/api-reference/v3/feature-key#ordinal-scales-and-numeric-quantities). Frozen estimate captured May 2026; does not refresh with data releases. Example: 1
Equity Current Estimate Balance. Frozen estimate captured May 2026; does not refresh with data releases. Example: 1286231
Equity Current Estimate Range — an integer band index over dollar ranges (ordered bucket, not a dollar amount). Decode guidance in the [Feature Field Key](/api-reference/v3/feature-key#ordinal-scales-and-numeric-quantities). Frozen estimate captured May 2026; does not refresh with data releases. Example: 22
Loan-to-Value Purchase. Frozen estimate captured May 2026; does not refresh with data releases. Example: 80
Lender Name. From the most recent recorded mortgage when mortgage data is known for the parcel (omitted if that record carries no lender name); otherwise a frozen estimate captured May 2026. Example: "FIRST NATIONAL BANK"
Foreclosure Code (record type). Realie code (`FR####`) — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "FR0002" (NOTICE OF DEFAULT)
Foreclosure Record Date (YYYY-MM-DD format). Example: "2024-01-10"
Foreclosure Filing Date (YYYY-MM-DD format) — the court filing date, when distinct from the recording date. Populated on foreclosure records restored from the pre-v3 pipeline. Example: "2019-06-14"
Foreclosure Case Number. Example: "722324"
Auction Date (YYYY-MM-DD format). Example: "2024-01-10"
FIPS State Code. Example: "48"
FIPS County Code. Example: "085"
Site Census Tract. Example: "480850316.682028"
Neighborhood. Example: "CENTRAL PLANO"
Longitude. Example: -96.8229693260567
Latitude. Example: 33.03128999789361
Geojson point object.
```json example theme={null}
"location": {
"type": "Point",
"coordinates": [
-121.88081453613906,
36.52594926758319
]
}
```
Geojson MultiPolygon showing a property's parcel polygon
```json example theme={null}
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[-88.0153597, 42.0000236],
[-88.0153815, 42.0003284],
[-88.0156542, 42.0003187],
[-88.0156365, 42.0000141],
[-88.0155919, 42.0000157],
[-88.015467, 42.0000199],
[-88.0153597, 42.0000236]
]
]
]
}
```
# Address Lookup
Source: https://docs.realie.ai/api-reference/property/address-lookup
api-reference/openapi.json GET /public/property/address/
# Location Search
Source: https://docs.realie.ai/api-reference/property/location-search
api-reference/openapi.json GET /public/property/location/
Search by latitude/longitude with an optional radius in miles. By default, nearby searches exclude parcels without assigned addresses unless you explicitly set `includeUnassignedAddress=true`.
# Parcel ID Lookup
Source: https://docs.realie.ai/api-reference/property/parcel-id-lookup
api-reference/openapi.json GET /public/property/parcelId/
Get a single property by its parcel identifier. Pass the assessor's parcel ID (APN) with "state" and "county", or pass a stored "realieParcelId", which also works on its own. When "state" or "county" is omitted, "parcelId" is interpreted only as a realieParcelId: a value that is not a valid realieParcelId returns 400, and if you pass just one of "state" or "county", it must match the realieParcelId's county or the request returns 400.
# Property Search
Source: https://docs.realie.ai/api-reference/property/property-search
api-reference/openapi.json GET /public/property/search/
Search and paginate through properties across states, counties, or cities. The "state" field is required. For best performance and lowest latency, include "state", "county", and "address" — ZIP codes and city names vary across data sources. By default, broad searches exclude parcels without assigned addresses; set "includeUnassignedAddress=true" to include them. **Pagination:** use the "cursor" parameter for efficient pagination at any depth — see the [Pagination guide](/api-reference/pagination) for full details. The legacy "offset" parameter still works but is deprecated.
# Response Codes
Source: https://docs.realie.ai/api-reference/response-codes
API response codes and their meanings
The Realie Property Data API returns the following response codes to indicate the status of your requests and potential errors that may arise.
Only successful `200` responses spend a token from your monthly allowance. Empty results (`404`), authentication failures (`401`), and access denials (`403`, including billing and spending-limit blocks) are not billed.
```json 200 theme={null}
{
"properties": {}
}
//Success
```
```json 400 theme={null}
{
"error": "Bad Request"
}
//Bad Request - Missing or invalid parameters.
```
```json 401 theme={null}
{
"error": "Unauthorized: API key is missing"
}
//Unauthorized: API key is missing/invalid.
```
```json 403 theme={null}
{
"error": "Forbidden: Pay your outstanding invoices to restore access",
"code": "unpaid_invoices",
"action": "Open Billing and pay all outstanding invoices. Update your payment card if a payment fails, then retry once your subscription is active.",
"billing_url": "https://app.realie.ai/billing"
}
//Forbidden: Resolve the reason in code before retrying.
```
```json 404 theme={null}
{
"error": "No properties not found"
}
//No properties found fitting search criteria
```
```json 429 theme={null}
{
"error": "Too many requests"
}
//Rate Limit Exceeded: 1200 calls per minute maximum
```
```json 500 theme={null}
{
"error": "Internal Server Error"
}
//Internal Server Error. If you continue to experience this issue, please contact support
```
```json 504 theme={null}
{
"error": "Server timed out"
}
//Gateway Timeout
```
## Resolving a 403 response
A `403` does not always mean you have used your token allowance. Billing, card verification, subscription status, and your overage spending cap can also block a request.
Public data API access denials include these fields:
| Field | Meaning |
| - | - |
| `error` | A human-readable explanation. Wording can vary by plan and account state. |
| `code` | The machine-readable reason. Use this field, rather than matching `error` text, to handle the denial in your integration. |
| `action` | The next step to restore access. Display this guidance to the person who manages billing. |
| `billing_url` | A link to [Billing](https://app.realie.ai/billing), where the account owner can resolve the issue. |
| `code` | Meaning and next step |
| - | - |
| `card_not_verified` | No eligible card is available because verification is incomplete or a card was declined. Complete verification in Billing. Wait if it is still running; if it failed, follow the recovery instructions or add a card that can accept charges. |
| `payment_method_required` | Add a payment card in Billing and complete its verification. |
| `overage_limit_exceeded` | Your overage spending cap blocks this request. Raise or remove the cap in Billing, or wait for the next billing period. Raising or removing the cap permits additional charges. |
| `unpaid_invoices` | Pay **all** outstanding invoices, including older invoices. Update your card if payment fails. Contact support if an invoice cannot be paid in Billing. |
| `subscription_inactive` | Your subscription is not active. Review Billing, pay outstanding invoices, and complete activation or reactivate your plan as applicable. Retry once the subscription is active and the other access requirements are met. |
| `subscription_required` | Activate a subscription with a payment card in Billing. Contact support if you already have a subscription. |
| `subscription_ended` | Your subscription period has ended. Reactivate your plan or choose a subscription in Billing. |
| `billing_unavailable` | We could not confirm billing access. Follow `action`: retry briefly when instructed, or contact support if the issue persists. Changing your card or spending cap is not required. |
| `billing_configuration_error` | We could not validate your plan's billing configuration. Contact support; this is not a spending-limit overrun. |
| `access_denied` | Review Billing and the returned `action`. Contact support if the reason is unclear. |
The response reports the first blocking condition, not every issue on the account. A `past_due` or `unpaid` subscription can return `subscription_inactive` before an unpaid balance would return `unpaid_invoices`. Paying only the latest invoice is not enough if older invoices remain unpaid. Access requires an active subscription, an eligible payment card, no outstanding invoice debt, and sufficient allowance or overage capacity.
After resolving the issue, allow billing updates to complete before retrying. Repeating a request without fixing a card, invoice, or subscription problem will continue to return `403`. See the [billing recovery FAQ](/api-reference/faq) for the payment and card-verification steps.
Each response code includes an example JSON payload to help identify the issue and guide your next steps. If you are experiencing issues please contact [support@realie.ai](mailto:support@realie.ai) for assistance.
# About the v2 Reference
Source: https://docs.realie.ai/api-reference/v2-legacy
The legacy v2 API reference, preserved for existing integrations.
The live Realie API serves the **v3 data generation** only — the previous
generation's data is retired. This tab documents the **v2-compatible response
shape**: the flat field layout existing integrations receive, produced from v3
data through a compatibility layer. The new standard is the full nested record
documented in the [v3 API reference](/api-reference/v3/overview); migrate with the
[v2 → v3 migration guide](/api-reference/v3/migration).
The v2 shape is not a separate dataset: requests to the documented endpoints return
v3-generation data in the v2-compatible response shape. There is no version header or
parameter that returns the old data — it no longer exists.
What that means in practice:
* **Endpoint pages in this tab still work** — the playground calls the live API — but
responses reflect the v3 data generation, so field values (and a small number of
field names) can differ from the frozen examples here. Coded values stored before August 19, 2026 decode against the [Pre-v3 Code Tables (Frozen)](/api-reference/v2-legacy-code-tables) archive; current values decode with the [v3 Feature Field Key](/api-reference/v3/feature-key).
* **Most v2 integrations run unchanged.** The response shape is v2-compatible; the
deltas are catalogued field-by-field in the
[migration guide](/api-reference/v3/migration).
* **No sunset date has been announced** for this reference. It will remain available
while v2-era integrations are active.
# Pre-v3 Code Tables (Frozen)
Source: https://docs.realie.ai/api-reference/v2-legacy-code-tables
Historical decode tables for coded values persisted before the August 19, 2026 v3 code-system release. Frozen — never updated.
**This page is a frozen historical archive.** It preserves the pre-release
decode tables exactly as they documented earlier deliveries, for integrations
that persisted coded values **before August 19, 2026** and need to interpret
that stored data. Two sections: the former **flat-shape (v2) tables** and the former
**nested/bulk tables**; both carry the pre-release `TQ####`/`PD####`
assignments, which differ from the current release's. Values returned by
the API and bulk deliveries today are current **Realie codes** — decode them
with the [Property Feature Field Key](/api-reference/v3/feature-key), never
with the tables below. This page never updates.
Same four-digit scheme as the v2 API. The code definitions are stable; an individual parcel can still receive a different code in a newer source delivery because its use or source classification changed. Migrate the vocabulary by code identity rather than translating one use code into another.
| Code | Description |
| - | - |
| 0010 | Miscellaneous (General) |
| 0011 | Pipeline or Right-of-Way |
| 0012 | Rail (Right-of-way & track) |
| 0013 | Road (Right-of-way) |
| 0014 | Utilities (Right-of-way ONLY) |
| 0015 | Sub-Surface Rights (mineral) |
| 0016 | Surface Rights (Grazing, timber, coal,) |
| 0017 | Leasehold Rights (misc.) |
| 0018 | Possessory Interest (misc.) |
| 0019 | Petroleum & Gas Wells (misc.) |
| 0020 | Water Rights (misc.) |
| 0021 | Right-of-Way (not rail, road or utility) |
| 0022 | Easement (misc.) |
| 0023 | Homestead (Misc.) |
| 0024 | Common Area (misc.) |
| 0025 | Royalty Interest |
| 0026 | Working Interest |
| 0027 | Parcels with improvements, Use Not Specified |
| 0500 | Personal Property General |
| 0510 | Vehicles General |
| 0511 | Motor Vehicles (cars, trucks, etc.) |
| 0512 | Recreational Vehicles / Travel Trailers |
| 0513 | Watercraft (ships, boats, PWCs, etc. |
| 0514 | Aircraft |
| 0515 | Rolling stock (railroad) |
| 0516 | SpaceCraft |
| 0519 | Misc vehicles not otherwise classed (antiques, etc.) |
| 0520 | Business Personal Property General |
| 0521 | Enquipment / Supplies |
| 0522 | Inventory |
| 0523 | Goods in transit |
| 0524 | Livestock (animals, fish, birds, etc.) |
| 0525 | Crops (in ground) |
| 0526 | Crops (harvested) |
| 0529 | Misc Business Personal not classed |
| 0530 | Structures (general) |
| 0532 | Structures on leased land |
| 0533 | Temporary Structures |
| 0539 | Misc. structures not classed (billboards, etc. |
| 0540 | Intangable personal property |
| 0599 | Misc. Property not classed |
| 0714 | Forest |
| 0752 | Park |
| 1000 | Residential (General) (Single) |
| 1001 | Single Family Residential |
| 1002 | Townhouse (Residential) |
| 1003 | Cluster home (Residential) |
| 1004 | Condominium Unit (Residential) |
| 1005 | Cooperative Unit (Residential) |
| 1006 | Mobile/Manufactured Home (regardless of Land ownership) |
| 1007 | Row house (Residential) |
| 1008 | Rural/Agricultural Residence |
| 1009 | Planned Unit Development (PUD Residential) |
| 1010 | Residential Common Area (Condo/PUD/etc.) |
| 1011 | Timeshare (Residential) |
| 1012 | Seasonal, Cabin, Vacation Residence |
| 1013 | Bungalow (Residential) |
| 1014 | Zero Lot Line (Residential) |
| 1015 | Misc Residential Improvement |
| 1016 | Modular/Pre-Fabricated Homes |
| 1017 | Patio Home |
| 1018 | Garden Home |
| 1019 | Landominium |
| 1020 | Barndominium |
| 1021 | Tiny House |
| 1022 | Single Family Residential w/ADU |
| 1023 | Accessory Dwelling Unit (ADU) |
| 1024 | Single Family Residential - Two or more SFR on one parcel |
| 1025 | Horizontal Property Regime |
| 1100 | Residential Income (General) (Multi-Family) |
| 1101 | Duplex (2 units, any combination) |
| 1102 | Triplex (3 units, any combination) |
| 1103 | Quadruplex (4 units, any combination) |
| 1104 | Apartment house (5+ units) |
| 1105 | Apartment house (100+ units) |
| 1106 | Garden Apt, Court Apt (5+ units) |
| 1107 | Highrise Apartments |
| 1108 | Boarding House, Rooming House, Apt Hotel, Transient Lodgings, Hostel |
| 1109 | Mobile Home or Trailer Park |
| 1110 | Multi-Family Dwellings (Generic, 2+) |
| 1111 | Fraternity or Sorority House |
| 1112 | Apartments (generic) |
| 1113 | Dormitory, Group Quarters (Residential) |
| 1114 | Residential Condominium Development (Association Assessment) |
| 1115 | Care Facility (rehab; retirement, rest, convalescent, or nursing home) |
| 1124 | Condominium Building (Residential) |
| 1125 | Cooperative Building (Residential) |
| 1126 | Apartment House (fewer than 5 units) |
| 1901 | Residential Parking Garage |
| 1902 | Residential Storage Space is mainly applied to storage spaces that are assessed separately from their correlated Condos |
| 1999 | Single Family Residential (Assumed) |
| 2000 | Commercial (General) |
| 2001 | Retail Stores (Personal Services, Photography, Travel) |
| 2002 | Store (multi-story) |
| 2003 | Store/Office (mixed use) |
| 2004 | Department Store (apparel, household goods, furniture) |
| 2005 | Department Store (multi-story) |
| 2006 | Grocery, Supermarket |
| 2007 | Regional Shopping Center or Mall with Anchor store |
| 2008 | Community Shopping Plaza or Shopping Center, Mini-Mall |
| 2009 | Neighborhood Shopping Center, Strip Center/Mall, Enterprise Zone |
| 2010 | Shopping Center COMMON AREA parking, park etc. |
| 2011 | Veterinary or Animal Hospital |
| 2012 | Restaurant |
| 2013 | Fast Food Restaurant / Drive-thru |
| 2014 | Take-out Restaurant |
| 2015 | Bakery |
| 2016 | Bar, Tavern |
| 2017 | Liquor Store |
| 2018 | Convenience store |
| 2019 | Convenience Store with fuel |
| 2020 | Service station (full service) |
| 2021 | Service station w/convenience store (food mart) |
| 2022 | Truck stop (fuel and diner) |
| 2023 | Vehicle Rentals, Vehicle Sales |
| 2024 | Auto repair, auto parts, Garage |
| 2025 | Car wash |
| 2026 | Dry Cleaner, Laundry Service |
| 2027 | Service Shop |
| 2028 | Nursery, Greenhouse, Florist |
| 2029 | Wholesale Outlet, Discount Store |
| 2030 | Printer/Delivery - Retail (Kinkos, UPS, FedEx, etc.) |
| 2031 | Mini-Warehouse, Self-Storage |
| 2032 | Day care, Pre-school (Commercial) |
| 2033 | Motel |
| 2034 | Hotel |
| 2035 | Parking Garage, Parking Structure |
| 2036 | Parking Lot |
| 2037 | Funeral Home, Mortuary (Commercial) |
| 2038 | Casino |
| 2039 | Hotel-Resort |
| 2040 | Hotel or Motel |
| 2041 | Gas Station |
| 2042 | Retail/Residential (mixed use) |
| 2043 | Commercial Building |
| 2044 | Commercial/Office/Residential (mixed use) |
| 2045 | Appliance Store (Best Buy, HH Gregg) |
| 2046 | Kennel |
| 2047 | Laundromat (self-service) |
| 2048 | Nightclub (Cocktail Lounge) |
| 2050 | Farm Supply & Equipment (retail) |
| 2051 | Home Improvement, Garden Center (Home Depot, Lowes) |
| 2052 | Commercial Condominium (not offices) |
| 2053 | Drug Store / Pharmacy (CVS, Walgreens) |
| 2054 | Bed & Breakfast |
| 2055 | Barber/Hair Salon |
| 2056 | Pet Boarding & Grooming |
| 2057 | Roadside Market |
| 2058 | Car Wash - Automated |
| 2059 | Car Wash - Self-Serve |
| 2060 | Cannabis Dispensary |
| 2061 | Lumberyard, Building Materials |
| 2062 | Hardware Store |
| 2063 | Furniture, Home Furnishings |
| 2064 | Antiques, Flea Market |
| 2065 | Consignment |
| 2066 | Thrift Store, Secondhand Store |
| 2067 | Books, Stationary |
| 2068 | Computer, Software |
| 2069 | Clothing, Shoes, Luggage, Jewelry, etc. |
| 2070 | Sporting Goods, Toy & Hobby, Music |
| 2071 | Confectionery, Candy, Nuts |
| 3000 | Commercial Office (General) |
| 3001 | Professional Bldg (legal; insurance; real estate; etc.) |
| 3002 | Professional Bldg (multi-story) |
| 3003 | Office Bldg (General) |
| 3004 | Office Bldg (multi-story) |
| 3005 | Dental Bldg |
| 3006 | Medical Bldg/Clinic |
| 3007 | Financial Bldg |
| 3008 | Condominium Offices |
| 3009 | Skyscraper/Highrise (Commercial Offices) |
| 3010 | Commercial/Industrial (mixed use) |
| 3011 | Common Area (commercial) |
| 3012 | Mobile Commercial Units |
| 3013 | Accounting, Tax, Payroll, Employment Services |
| 3014 | Professional Schools: Beauty, Trade/Vocational, Driving, Flight |
| 4000 | Recreational/Entertainment (General) |
| 4001 | Recreation Center |
| 4002 | Public Swimming Pool |
| 4003 | Boat slips, Marina, Yacht Club, Boat Landing |
| 4004 | Bowling Alley |
| 4005 | Arcades (Amusement) |
| 4006 | Skating rink, Ice Skating, Roller Skating |
| 4007 | Clubs, Lodges, Professional Associations |
| 4008 | Museums, Library, Art Gallery |
| 4009 | Country Club |
| 4010 | Stadiums |
| 4011 | Arenas, Convention Center |
| 4012 | Auditoriums |
| 4013 | Golf Driving Range |
| 4014 | Race track |
| 4015 | Gym, Health Spa |
| 4016 | Dance Hall |
| 4017 | Riding Stable, Trails |
| 4018 | Campground, RV Park |
| 4019 | Fairgrounds |
| 4020 | Theater |
| 4021 | Drive-In Theater |
| 4022 | Amusement Park, Tourist Attraction |
| 4023 | Piers, Wharf |
| 4024 | Fish Camps, Game Club, Target Shooting |
| 4025 | Outdoor Recreation: Beach, Mountain, Desert |
| 4026 | Pool Hall, Billiard Parlor |
| 4027 | Park, Playground, Picnic Area |
| 4028 | Golf Course |
| 4029 | Racquet or Tennis Court |
| 4030 | Zoo |
| 4031 | Go-carts, Miniature Golf, Water slides |
| 4032 | Sports Complex |
| 4033 | Clubhouse |
| 4034 | Wedding/Event Venue |
| 5000 | Industrial (General) |
| 5001 | Manufacturing (light) |
| 5002 | Light Industrial |
| 5003 | Warehouse (Industrial) |
| 5004 | Storage yard, Open Storage (light equipment, material) |
| 5005 | Food Packing, Packing Plant |
| 5006 | Assembly (light industrial) |
| 5007 | Food Processing |
| 5008 | Recycling plant |
| 5009 | Communications |
| 5010 | Condominiums (Industrial) |
| 5011 | Laboratory, Research and Development Facility, Cosmetics, Pharmaceutical |
| 5012 | Industrial Park |
| 5013 | Multi-Tenant Industrial Bldg |
| 5014 | Marine Facility/Boat Repairs (small craft or sailboat) |
| 5015 | Lumber & Wood Product Manufacturing (including furniture) |
| 5016 | Paper Product Manufacturing & related products |
| 5017 | Printing & Publishing (Light Industrial) |
| 5018 | Industrial Loft Building, Loft Building |
| 5019 | Construction/Contracting Services (Industrial) |
| 5020 | Common Area (Industrial) |
| 5021 | Data Center |
| 6000 | Heavy Industrial (General) |
| 6001 | Transportation |
| 6002 | Distribution Warehouse (Regional) |
| 6003 | Mining facility (oil; gas; mineral, precious metals) |
| 6004 | Storage yard (junk; auto wrecking, salvage) |
| 6005 | Distillery, Brewery, Bottling |
| 6006 | Refinery, Petroleum Products |
| 6007 | Mill |
| 6008 | Factory (medium) |
| 6009 | Processing Plant |
| 6010 | Lumberyard, Building Materials |
| 6011 | Shipyard/Storage - Built or Repaired (seagoing vessels) |
| 6012 | Slaughter House, Stockyard |
| 6013 | Waste Disposal, Sewage, Treatment facility |
| 6014 | Quarries |
| 6015 | Heavy Manufacturing |
| 6016 | Labor Camps (Industrial) |
| 6017 | Winery |
| 6018 | Chemical |
| 6019 | Foundry, Industrial Plant |
| 6020 | Cannery |
| 6021 | Gasoline, Fuel Bulk Storage |
| 6022 | Grain Elevator |
| 6023 | Dump Site |
| 6024 | Cold Storage |
| 6025 | Sugar Refinery |
| 6500 | Transportation & Communications (General) |
| 6501 | Airport & related |
| 6502 | Railroad & related |
| 6503 | Freeways, State Hwys |
| 6504 | Roads, Streets, Bridges |
| 6505 | Bus Terminal |
| 6506 | Telegraph, Telephone Communications |
| 6507 | Radio or TV Station Communications |
| 6508 | Truck Terminal (Motor Freight) |
| 6509 | Cable TV Station Communications |
| 6510 | Harbor & Marine Transportation |
| 6511 | Microwave |
| 6512 | Commercial Auto Transportation/Storage |
| 6513 | Pollution Control |
| 6514 | Cellular |
| 7000 | Agricultural / Rural |
| 7001 | Farm land |
| 7002 | Ranch |
| 7003 | Range land (grazing) |
| 7004 | Crop, Field Crops, Row Crops (all soil classes) |
| 7005 | Orchard (fruit; nut) |
| 7006 | Vineyard (Agricultural) |
| 7007 | Poultry Farm |
| 7008 | Dairy Farm |
| 7009 | Timberland, Forest, Trees (Agricultural) |
| 7010 | Wildlife Refuge |
| 7011 | Desert or Barren Land |
| 7012 | Pasture, Meadow |
| 7013 | Misc. Structures - Ranch, Farm, Fixtures |
| 7014 | Grove (Agricultural) |
| 7015 | Feedlots |
| 7016 | Livestock parcel |
| 7017 | Horticulture, Growing Houses (Agricultural) |
| 7018 | Well Site (Agricultural) |
| 7019 | Truck Crops (tobacco; cash crops) |
| 7020 | Reservoir, Water Supply |
| 7021 | Irrigation, Flood Control |
| 7022 | Natural Resources |
| 7023 | Rural Improved / Non-Residential |
| 7024 | Cannabis Grow Facility |
| 8000 | Vacant Land (General) |
| 8001 | Residential-Vacant Land |
| 8002 | Commercial-Vacant Land |
| 8003 | Industrial-Vacant Land |
| 8004 | Private Preserve, Open Space-Vacant Land (Forest Land, Conservation) |
| 8005 | Institutional-Vacant Land |
| 8006 | Government-Vacant Land |
| 8007 | Multi-Family-Vacant Land |
| 8008 | Rural/Agricultural-Vacant Land |
| 8009 | Waste Land, Marsh, Swamp |
| 8010 | Recreational-Vacant Land |
| 8011 | Water Area (Lakes; River; Shore) |
| 8012 | Unusable Land (Remnant, Steep, etc.) |
| 8013 | Abandoned Site, Contaminated Site |
| 8014 | Under Construction |
| 8015 | Vacant Land - Destroyed/Uninhabitable Improvement |
| 8016 | Vacant Land - Unspecified Improvement |
| 8017 | Vacant Land - Exempt |
| 8500 | Special Purpose |
| 8501 | State Board of Equalization - Special Assessments |
| 8502 | Regulating Districts & Assessments; Tax Abatement |
| 8503 | Redevlopment Agency or Zone |
| 8504 | Centrally Assessed |
| 9000 | Exempt (full or partial) |
| 9001 | Native American Lands / American Indian Lands |
| 9100 | Institutional (General) |
| 9101 | Religious, Church, Worship |
| 9102 | Parochial School, Private School |
| 9103 | Educational - PRIVATE |
| 9104 | Hospital-PRIVATE |
| 9105 | Medical Clinic |
| 9106 | Retired, Handicap, Convalescent, Nursing Home |
| 9107 | Childrens Home, Orphanage |
| 9108 | Cemetery (Exempt) |
| 9109 | Crematorium, Mortuary (Exempt) |
| 9110 | Charitable organization |
| 9111 | Recreational Non-Taxable (Camps, Boy/Girl Scouts) |
| 9112 | Private Utility (electric, water, gas, nuclear, solar, wind, etc.) |
| 9200 | Governmental/Public Use (General) |
| 9201 | Military |
| 9202 | Forest (park; reserve; recreation, conservation) |
| 9203 | Public School |
| 9204 | Educational Colleges, University-PUBLIC |
| 9205 | Post Office |
| 9206 | Cultural, Historical |
| 9207 | Govt. Administrative Office |
| 9208 | Emergency (Police; Fire; etc) |
| 9209 | Other exempt property |
| 9210 | City, Municipal, Town, Village Owned |
| 9211 | County Owned |
| 9212 | State Owned |
| 9213 | Federal Property |
| 9214 | Public Health Care Facility |
| 9215 | Community Center |
| 9216 | Public Utility (electric, water, gas, nuclear, solar, wind, etc.) |
| 9217 | Welfare, Social Service, Low Income Housing (Exempt) |
| 9218 | Correctional Facility, Jails, Prisons, Insane Asylum |
| 9219 | Hospital-PUBLIC |
| 9300 | Historical-PRIVATE (General) |
| 9301 | Historical Residence |
| 9302 | Historical Retail |
| 9303 | Historical Warehouse |
| 9304 | Historical Office |
| 9305 | Historical Transient Lodging (hotel/motel) |
| 9307 | Historical Recreation, Entertainment |
| 9308 | Historical Park / Site |
| 9309 | Historical District |
| Code | Description |
| - | - |
| A | ADOBE |
| AA | SIDING (OTHER TYPE) |
| AB | STUCCO |
| AC | TILE |
| AD | TILT-UP (CONCRETE) |
| AE | VINYL SIDING |
| AF | WOOD |
| AG | WOOD SHINGLE |
| AH | WOOD SIDING |
| B | ALUMINUM SIDING |
| C | ASBESTOS SHINGLE |
| D | BAMBOO |
| E | BLOCK |
| F | BRICK |
| G | BRICK VENEER |
| H | CERAMIC TILE |
| I | CLAY TILE |
| J | COMBINATION |
| K | COMPOSITION/COMPOSITE |
| L | CONCRETE |
| M | CONCRETE BLOCK |
| N | CONCRETE TILE |
| O | EIFS/SYNTHETIC STUCCO |
| P | FIBER CEMENT SIDING (HARDIBOARD/HARDIPLANK) |
| Q | GLASS |
| R | LOG |
| S | MARBLE |
| T | MASONITE |
| U | MASONRY |
| V | METAL |
| W | NON-WOOD SHINGLE |
| X | OTHER |
| Y | ROCK/STONE |
| Z | SIDING (ALUM/VINYL) |
Roof **material** (asphalt, tile, metal, ...).
| Code | Description |
| - | - |
| A | ALUMINUM |
| AA | WOOD |
| AB | WOOD SHAKE/SHINGLES |
| B | ASBESTOS |
| C | ASPHALT |
| D | BERMUDA ROOFING |
| E | BUILT-UP |
| F | CERAMIC TILE |
| G | CLAY TILE |
| H | COMPOSITION SHINGLE |
| I | CONCRETE |
| J | CONCRETE TILE |
| K | COPPER |
| L | FIBERGLASS |
| M | GYPSUM |
| N | MASONITE/CEMENT SHAKE |
| O | METAL |
| P | NON-WOOD SHINGLE |
| Q | OTHER |
| R | ROCK/GRAVEL |
| S | ROLL COMPOSITION |
| T | SLATE |
| U | SOLAR |
| V | STEEL |
| W | TAR & GRAVEL |
| X | TILE |
| Y | TIN |
| Z | URETHANE |
Roof **shape** (gable, hip, mansard, ...).
| Code | Description |
| - | - |
| A | A-FRAME |
| B | BOWSTRING TRUSS |
| C | DOME |
| D | FLAT |
| E | GABLE |
| F | GABLE OR HIP |
| G | GAMBREL |
| H | HIP |
| I | IRREGULAR/CATHEDRAL |
| J | MANSARD |
| K | MONITOR |
| L | PRESTRESSED CONCRETE |
| M | REINFORCED CONCRETE |
| N | RIGID FRAME BAR JOIST |
| O | SAWTOOTH |
| P | SHED |
| Q | STEEL FRAMING/TRUSS |
| R | WOOD TRUSS |
| Code | Description |
| - | - |
| A | ASBESTOS |
| AA | WOOD |
| B | BRICK |
| C | CARPET |
| D | CERAMIC |
| E | CONCRETE |
| F | CORK |
| G | COVERED |
| H | DIRT/EARTH |
| I | EPOXY |
| J | FAUX WOOD TILE |
| K | GRANITE |
| L | HARDWOOD |
| M | LAMINATE |
| N | LINOLEUM |
| O | MARBLE |
| P | MIXED |
| Q | OTHER |
| R | PARQUET |
| S | PLYWOOD |
| T | SLATE |
| U | SOFTWOOD |
| V | STONE |
| W | TERRAZZO |
| X | TILE |
| Y | TORGINOL |
| Z | VINYL |
| Code | Description |
| - | - |
| A | DAYLIGHT FULL |
| B | DAYLIGHT OR WALKOUT |
| C | DAYLIGHT PARTIAL |
| D | FINISHED BASEMENT |
| E | FULL BASEMENT |
| F | NO BASEMENT |
| G | PARTIAL BASEMENT |
| H | UNFINISHED BASEMENT |
| I | UNSPECIFIED BASEMENT |
| Code | Description |
| - | - |
| A | ADOBE |
| B | BAMBOO |
| C | BRICK |
| D | CONCRETE |
| E | CONCRETE BLOCK |
| F | DOME |
| G | FRAME |
| H | HEAVY FRAMING |
| I | LIGHT FRAMING |
| J | LOG |
| K | MANUFACTURED |
| L | MASONRY |
| M | METAL |
| N | MIXED |
| O | OTHER |
| P | STEEL |
| Q | STONE |
| R | TILT-UP (CONCRETE) |
| S | WOOD |
| Code | Description |
| - | - |
| A | ATTACHED GARAGE |
| B | ATTACHED GARAGE (FINISHED) |
| C | ATTACHED GARAGE (UNFINISHED) |
| D | BUILT-IN GARAGE |
| E | CARPORT |
| F | COVERED PARKING |
| G | DETACHED GARAGE |
| H | DETACHED GARAGE (FINISHED) |
| I | DETACHED GARAGE (UNFINISHED) |
| J | FINISHED GARAGE (UNSPECIFIED TYPE) |
| K | GARAGE |
| L | HEATED GARAGE |
| M | MIXED (MULTIPLE TYPES) |
| N | NONE |
| O | OFFSITE PARKING |
| P | OPEN CARPORT |
| Q | PARKING LOT |
| R | PARKING STRUCTURE |
| S | PAVED/SURFACED PARKING |
| T | POLE BARN GARAGE |
| U | RAMP PARKING |
| V | TUCKUNDER GARAGE |
| W | UNDERGROUND/BASEMENT GARAGE |
| X | UNIMPROVED PARKING |
| Y | YES |
| Code | Description |
| - | - |
| A | ABOVE GROUND POOL |
| B | COMMUNITY POOL OR SPA |
| C | ENCLOSED |
| D | HEATED POOL |
| E | IN-GROUND POOL |
| F | INDOOR SWIMMING POOL |
| G | POOL & SPA |
| H | POOL, HISTORICAL VALUE |
| I | SOLAR HEATED |
| J | SPA OR HOT TUB |
| K | VINYL IN-GROUND POOL |
| L | YES (UNSPECIFIED) |
| Code | Description |
| - | - |
| A | MORE THAN ONE LOT |
| B | MULTIPLE WITH PORTION OF ONE OR MORE LOTS |
| C | PORTION OF A LOT |
| D | SINGLE LOT NUMBER |
Deed/instrument type on sale and transfer records. A small share of records (\<1%) carry the document type as self-describing full text (e.g. `WARRANTY DEED`) or a rare source code not yet in this table; unmapped codes fold into named entries in an upcoming release.
| Code | Description |
| - | - |
| A | AFFIDAVIT OF TRUST OR TRUST AGREEMENT (LOS ANGELES) |
| AD | ADMINISTRATOR'S DEED |
| AF | AFFIDAVIT |
| AG | AGREEMENT OF SALE |
| AJ | AFFIDAVIT OF DEATH OF JOINT TENANT |
| AL | AFFIDAVIT OF DEATH OF LIFE TENANT |
| AT | AFFIDAVIT DEATH OF TRUSTEE/SUCCESSOR TRUSTEE (LOS ANGELES) |
| B | ASSIGNMENT DEED |
| BD | BENEFICIARY DEED |
| BS | BARGAIN AND SALE DEED |
| C | ASSIGNMENT OF AGREEMENT OF SALE (HAWAII) |
| CD | CONDOMINIUM DEED |
| CH | CASH SALE DEED |
| CM | COMMISSIONER'S DEED |
| CO | CONSERVATOR'S DEED |
| CP | CORPORATION DEED |
| CS | CONTRACT OF SALE |
| CT | CERTIFICATE OF TRANSFER |
| D | ASSIGNMENT OF COMMERCIAL LEASE (HAWAII) |
| DC | DECLARATION |
| DD | DEED OF DISTRIBUTION |
| DE | DEED |
| DG | DEED OF GUARDIAN |
| DL | DEED IN LIEU OF FORECLOSURE |
| DS | DISTRESS SALE |
| DV | DIVORCE/DISSOLUTION OF MARRIAGE TRANSFER |
| E | ASSIGNMENT OF LEASE (LEASEHOLD SALE) (HAWAII) |
| ED | EXECUTOR'S DEED |
| EX | EXCHANGE |
| F | ASSIGNMENT OF SUB AGREEMENT OF SALE (HAWAII) |
| FD | FIDUCIARY DEED |
| G | ASSIGNMENT OF SUB COMMERCIAL LEASE (HAWAII) |
| GD | GRANT DEED |
| GF | GIFT DEED |
| GL | GROUND LEASE |
| H | ASSIGNMENT OF SUB LEASE (HAWAII) |
| I | CANCELLATION OF AGREEMENT OF SALE (HAWAII) |
| ID | INDIVIDUAL DEED |
| IT | INTRAFAMILY TRANSFER & DISSOLUTION |
| J | COMMERCIAL LEASE (HAWAII) |
| JT | JOINT TENANCY DEED |
| K | COMMISSIONERS ASSIGNMENT OF LEASE (HAWAII) |
| L | LEASE (HAWAII) |
| LA | LEGAL ACTION/COURT ORDER |
| LC | LAND CONTRACT |
| LM | LAND COURT (MASSACHUSETTS) |
| LW | LIMITED WARRANTY DEED |
| M | LEASEHOLD CONV. WITH AGREEMENT OF SALE (FEE PURCHASE) (HAWAII) |
| N | LEASEHOLD CONV. WITH AN AGREEMENT OF SALE (HAWAII) |
| O | RELEASE/SATISFACTION OF AGREEMENT OF SALE (LEASEHOLD) (HAWAII) |
| OT | OTHER |
| OW | OWELTY DEED/OWELTY AGREEMENT |
| P | SATISFACTION OF LAND CONTRACT (WI) OR RELEASE/SATISFACTION OF AGREEMENT OF SALE (FEE PROPERTY) (HI) |
| PA | PUBLIC AUCTION (TAX SALE) |
| PD | PARTNERSHIP DEED |
| PR | PERSONAL REPRESENTATIVES DEED |
| Q | SUB AGREEMENT OF SALE (HAWAII) |
| QA | QUIT CLAIM DEED (ARM'S LENGTH) |
| QC | QUIT CLAIM DEED |
| R | SUB COMMERCIAL LEASE (HAWAII) |
| RC | RECEIVER'S DEED |
| RD | REDEMPTION DEED |
| RE | REO SALE (REO OUT) |
| RF | REFEREE'S DEED |
| S | SUB LEASE (HAWAII) |
| SD | SHERIFF'S DEED |
| SM | SPECIAL MASTER DEED |
| SV | SURVIVORSHIP DEED |
| SW | SPECIAL WARRANTY DEED |
| TD | TRUST DEED |
| TO | TRANSFER ON DEATH DEED |
| VL | VENDOR'S LIEN DEED |
| WD | WARRANTY DEED |
Numeric buyer entity/relationship classification on sale records. The flat shape exposes the most recent sale's value as top-level `buyerIDCode`.
| Code | Description |
| - | - |
| 1 | ADMINISTRATOR |
| 2 | AGENT OR GUARDIAN |
| 3 | ALL AS/UNDEFINED |
| 4 | ALSO KNOWN AS (A/K/A) |
| 5 | ALTER EGO |
| 6 | ALTERNATE BENEFICIARY |
| 7 | ASSIGNEE (BUYER/BORROWER ONLY) |
| 8 | ASSIGNOR (SELLER ONLY) |
| 9 | ASSOCIATION |
| 10 | BENEFICIARY/CREDITOR |
| 11 | BROTHER & SISTER |
| 12 | BUILDER/DEVELOPER |
| 13 | COMMUNITY PROPERTY |
| 14 | COMMUNITY PROPERTY WITH RIGHTS OF SURVIVORSHIP |
| 15 | COMPANY |
| 16 | CONTRACT PURCHASOR |
| 17 | CORPORATE TRUST |
| 18 | CORPORATE TRUSTEE |
| 19 | CORPORATION |
| 20 | DECEASED |
| 21 | DEFENDANT |
| 22 | DISABLED |
| 23 | DIVORCED |
| 24 | DIVORCED NOT REMARRIED |
| 25 | DOING BUSINESS AS (DBA) |
| 26 | DOMESTIC PARTNER |
| 27 | DOWER CLAUSE |
| 28 | ESTATE |
| 29 | ET AL (AND OTHERS) |
| 30 | ET UX (AND WIFE) |
| 31 | EXECUTOR/ADMINISTRATOR |
| 32 | FAMILY LIVING TRUST |
| 33 | FAMILY REVOCABLE TRUST |
| 34 | FAMILY TRUST |
| 35 | FORMERLY KNOWN AS (F/K/A) |
| 36 | GENERAL PARTNER |
| 37 | GENERAL PARTNERSHIP |
| 38 | GOVERNMENT |
| 39 | GUARDIAN |
| 40 | GUARDIAN/CUSTODIAN |
| 41 | HEIRS |
| 42 | HER HUSBAND |
| 43 | HIS WIFE |
| 44 | HUSBAND AND HUSBAND |
| 45 | HUSBAND AND WIFE |
| 46 | INCOMPETENT |
| 47 | INDIVIDUAL(S) |
| 48 | IRA (INDIVIDUAL RETIREMENT ACCOUNT) |
| 49 | IRREVOCABLE LIVING TRUST |
| 50 | IRREVOCABLE TRUST |
| 51 | JOINT TENANTS |
| 52 | JOINT TENANTS WITH RIGHTS OF SURVIVORSHIP |
| 53 | JOINT VENTURE |
| 54 | LAST WILL AND TESTAMENT |
| 55 | LEASE FROM |
| 56 | LIFE BENEFIT ESTATE |
| 57 | LIFE ESTATE |
| 58 | LIFE TENANT |
| 59 | LIMITED LIABILITY COMPANY |
| 60 | LIMITED LIABILITY PARTNERSHIP |
| 61 | LIMITED PARTNERSHIP |
| 62 | LIVING TRUST |
| 63 | MANAGING MEMBER |
| 64 | MARRIED |
| 65 | MARRIED COUPLE |
| 66 | MARRIED MAN AS HIS SOLE AND SEPARATE PROPERTY |
| 67 | MARRIED PERSON |
| 68 | MARRIED WOMAN AS HER SOLE AND SEPARATE PROPERTY |
| 69 | MEMBER |
| 70 | MINOR, WARD, OR CLIENT |
| 71 | NAME DERIVED FROM AFFIDAVIT |
| 72 | NEVER MARRIED PERSON |
| 73 | NON-DECLARED TRUST |
| 74 | NON-VESTED SPOUSE |
| 75 | NOT PROVIDED |
| 76 | NOW KNOWN AS |
| 77 | PARTNERSHIP |
| 78 | PERSONAL REPRESENTATIVE |
| 79 | PERSONAL TRUST |
| 80 | PLAINTIFF |
| 81 | RECEIVER |
| 82 | REMAINDERMAN |
| 83 | REVOCABLE LIVING TRUST |
| 84 | REVOCABLE TRUST |
| 85 | RIGHT OF SURVIVORSHIP |
| 86 | SELLER IS OWNER ON CURRENT ASSESSMENT FILE |
| 87 | SEPARATE PROPERTY |
| 88 | SEPARATED |
| 89 | SINGLE |
| 90 | SINGLE MAN |
| 91 | SINGLE WOMAN |
| 92 | SOLE AND SEPARATE |
| 93 | SOLE PROPRIETORSHIP |
| 94 | SUCCESSOR IN INTEREST |
| 95 | SUCCESSOR TRUSTEE |
| 96 | SURVIVING JOINT TENANT |
| 97 | SURVIVING SPOUSE |
| 98 | SURVIVOR |
| 99 | SURVIVORSHIP MARITAL PROPERTY (WI/AK) |
| 100 | SURVIVORSHIP MARTIAL PROPERTY |
| 101 | TAX PAYER |
| 102 | TENANT |
| 103 | TENANTS BY ENTIRETY |
| 104 | TENANTS IN COMMON |
| 105 | TENANTS IN ENTIRETY |
| 106 | TENANTS IN SEVERALTY |
| 107 | TRANSFER OF DEATH |
| 108 | TRUST |
| 109 | TRUSTOR/DEBTOR |
| 110 | UNDIVIDED INTEREST |
| 111 | UNITED STATES |
| 112 | UNMARRIED |
| 113 | UNMARRIED MAN |
| 114 | UNMARRIED WOMAN |
| 115 | WHO ACQUIRED TITLE AS |
| 116 | WHOLLY EXEMPT |
| 117 | WIDOW OR WIDOWER |
| 118 | WIDOWER |
| 119 | WIFE |
| 120 | WIFE AND WIFE |
Numeric title-vesting classification on sale records. The flat shape exposes the most recent sale's value as top-level `buyerVestingCode`.
| Code | Description |
| - | - |
| 1 | ADMINISTRATOR |
| 2 | AGENT OR GUARDIAN |
| 3 | ALL AS/UNDEFINED |
| 4 | ALSO KNOWN AS (A/K/A) |
| 5 | ALTER EGO |
| 6 | ALTERNATE BENEFICIARY |
| 7 | ASSIGNEE (BUYER/BORROWER ONLY) |
| 8 | ASSIGNOR (SELLER ONLY) |
| 9 | ASSOCIATION |
| 10 | BENEFICIARY/CREDITOR |
| 11 | BROTHER & SISTER |
| 12 | BUILDER/DEVELOPER |
| 13 | COMMUNITY PROPERTY |
| 14 | COMMUNITY PROPERTY WITH RIGHTS OF SURVIVORSHIP |
| 15 | COMPANY |
| 16 | CONTRACT PURCHASER |
| 17 | CORPORATE TRUST |
| 18 | CORPORATE TRUSTEE |
| 19 | CORPORATION |
| 20 | DECEASED |
| 21 | DEFENDANT |
| 22 | DISABLED |
| 23 | DIVORCED |
| 24 | DIVORCED NOT REMARRIED |
| 25 | DOING BUSINESS AS (DBA) |
| 26 | DOMESTIC PARTNER |
| 27 | DOWER CLAUSE |
| 28 | ESTATE |
| 29 | ET AL (AND OTHERS) |
| 30 | ET UX (AND WIFE) |
| 31 | EXECUTOR/ADMINISTRATOR |
| 32 | FAMILY LIVING TRUST |
| 33 | FAMILY REVOCABLE TRUST |
| 34 | FAMILY TRUST |
| 35 | FORMERLY KNOWN AS (F/K/A) |
| 36 | GENERAL PARTNER |
| 37 | GENERAL PARTNERSHIP |
| 38 | GOVERNMENT |
| 39 | GUARDIAN |
| 40 | GUARDIAN/CUSTODIAN |
| 41 | HEIRS |
| 42 | HER HUSBAND |
| 43 | HIS WIFE |
| 44 | HUSBAND AND HUSBAND |
| 45 | HUSBAND AND WIFE |
| 46 | INCOMPETENT |
| 47 | INDIVIDUAL(S) |
| 48 | IRA (INDIVIDUAL RETIREMENT ACCOUNT) |
| 49 | IRREVOCABLE LIVING TRUST |
| 50 | IRREVOCABLE TRUST |
| 51 | JOINT TENANTS |
| 52 | JOINT TENANTS WITH RIGHTS OF SURVIVORSHIP |
| 53 | JOINT VENTURE |
| 54 | LAST WILL AND TESTAMENT |
| 55 | LEASE FROM |
| 56 | LIFE BENEFIT ESTATE |
| 57 | LIFE ESTATE |
| 58 | LIFE TENANT |
| 59 | LIMITED LIABILITY COMPANY |
| 60 | LIMITED LIABILITY COMPANY / PARTNERSHIP (source uses one code for both; LLC in the large majority of records) |
| 61 | LIMITED PARTNERSHIP |
| 62 | LIVING TRUST |
| 63 | MANAGING MEMBER |
| 64 | MARRIED |
| 65 | MARRIED COUPLE |
| 66 | MARRIED MAN AS HIS SOLE AND SEPARATE PROPERTY |
| 67 | MARRIED PERSON |
| 68 | MARRIED WOMAN AS HER SOLE AND SEPARATE PROPERTY |
| 69 | MEMBER |
| 70 | MINOR, WARD OR CLIENT (REPRESENTED BY TRUSTEE) |
| 71 | NAME DERIVED FROM AFFIDAVIT |
| 72 | NEVER MARRIED PERSON |
| 73 | NON-DECLARED TRUST |
| 74 | NON-VESTED SPOUSE |
| 75 | NOT PROVIDED (NAME BLURRED OR MISSING FROM DOCUMENT) |
| 76 | NOW KNOWN AS |
| 77 | PARTNERSHIP |
| 78 | PERSONAL REPRESENTATIVE |
| 79 | PERSONAL TRUST |
| 80 | PLAINTIFF |
| 81 | RECEIVER |
| 82 | REMAINDERMAN |
| 83 | REVOCABLE LIVING TRUST |
| 84 | REVOCABLE TRUST |
| 85 | RIGHT OF SURVIVORSHIP |
| 86 | SELLER IS OWNER ON CURRENT ASSESSMENT FILE |
| 87 | SEPARATE PROPERTY |
| 88 | SEPARATED |
| 89 | SINGLE |
| 90 | SINGLE MAN |
| 91 | SINGLE WOMAN |
| 92 | SOLE AND SEPARATE |
| 93 | SOLE PROPRIETORSHIP |
| 94 | SUCCESSOR IN INTEREST |
| 95 | SUCCESSOR TRUSTEE (LA COUNTY ONLY) |
| 96 | SURVIVING JOINT TENANT |
| 97 | SURVIVING SPOUSE |
| 98 | SURVIVOR |
| 99 | SURVIVORSHIP MARITAL PROPERTY (WI/AK) |
| 100 | SURVIVORSHIP MARTIAL PROPERTY |
| 101 | TAX PAYER |
| 102 | TENANT |
| 103 | TENANTS BY ENTIRETIES |
| 104 | TENANTS IN COMMON |
| 105 | TENANTS IN ENTIRETY |
| 106 | TENANTS IN SEVERALTY |
| 107 | TRANSFER OF DEATH |
| 108 | TRUST |
| 109 | TRUSTOR/DEBTOR (BORROWER IN DEFAULT/FORECLOSURE ON TRUSTEE'S DEED) |
| 110 | UNDIVIDED INTEREST |
| 111 | UNITED STATES |
| 112 | UNMARRIED |
| 113 | UNMARRIED MAN |
| 114 | UNMARRIED WOMAN |
| 115 | WHO ACQUIRED TITLE AS |
| 116 | WHOLLY EXEMPT |
| 117 | WIDOW OR WIDOWER |
| 118 | WIDOWER |
| 119 | WIFE |
| 120 | WIFE AND WIFE |
The live flat API serves **current final `TQ####` ids** in this field, passed through from the nested `salesHistory[].qualification` — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). A transfer with no recorded qualification carries `null`.
The table below is the **pre-August 19, 2026 archive**: `TQ####` ids under their pre-release meanings (these differ from the current table). Use it only to interpret values persisted before August 19, 2026.
| Code | Description |
| - | - |
| TQ0001 | ADJACENT-OWNER TRANSFER |
| TQ0002 | CONSIDERATION-DISCREPANT TRANSFER |
| TQ0003 | CONVENIENCE OR TRUST TRANSFER |
| TQ0004 | CORRECTIVE OR TITLE-IMPAIRED TRANSFER |
| TQ0005 | COURT-ORDERED OR BANKRUPTCY SALE |
| TQ0006 | ESTATE OR RETAINED-INTEREST TRANSFER |
| TQ0007 | FORECLOSURE OR LENDER SALE |
| TQ0008 | FRAUD-IMPAIRED TRANSFER |
| TQ0009 | GIFT TRANSFER |
| TQ0010 | GOVERNMENT OR EXEMPT-ENTITY TRANSFER |
| TQ0011 | MULTI-PARCEL TRANSFER |
| TQ0012 | NON-MARKET FINANCING OR CONTRACT TRANSFER |
| TQ0013 | NON-MARKET OR FORCED TRANSFER |
| TQ0014 | OPTION-EXERCISE TRANSFER |
| TQ0015 | PARTIAL-INTEREST TRANSFER |
| TQ0016 | PARTIAL-PARCEL TRANSFER |
| TQ0017 | PERSONAL PROPERTY INCLUDED |
| TQ0018 | PROPERTY EXCHANGE |
| TQ0019 | PROPERTY OR ASSESSMENT CHANGE AFFECTING SALE COMPARABILITY |
| TQ0020 | RELATED-PARTY TRANSFER |
| TQ0021 | RESOURCE-RIGHTS TRANSFER |
| TQ0022 | VALID ARM'S-LENGTH SALE |
Foreclosure record type. The flat shape exposes the most recent record's type as top-level `forecloseCode`.
| Code | Description |
| - | - |
| CO | COURT ORDER |
| FJ | FINAL JUDGMENT |
| LP | LIS PENDENS |
| ND | NOTICE OF DEFAULT |
| NF | NOTICE OF FORECLOSURE |
| NS | NOTICE OF SALE |
| NT | NOTICE OF TRUSTEE SALE |
| O | QUIT CLAIM DEED (ARM'S LENGTH) |
| RL | RELEASE |
| S | RE-RECORDED POWER OF ATTORNEY TO FORECLOSE |
| V | AFFIDAVIT - NOTICE OF SALE (PUBLISHED OR MAILED) |
| W | POWER OF ATTORNEY TO FORECLOSE MORTGAGE |
### Free-text fields
`propertyClassification.zoning`, `propertyClassification.stateLandUseCode`, `propertyClassification.countyLandUseCode`, and `taxInformation.taxDistrictCode` are jurisdiction-issued values, not members of one national code system. No global decode table exists or should be inferred; interpret them within the issuing jurisdiction.
## Former nested and bulk tables (pre-release)
The tables below documented the nested record shipped in **bulk full-record
exports before August 19, 2026** — including the pre-release `TQ####` and
`PD####` id assignments. Use them only to interpret bulk records persisted
before that date.
Broad property class. The 4-digit `propertyUseCode` and `landInformation.landUseCode` members share the `useCode` domain documented above.
| Code | Description |
| - | - |
| A | AGRICULTURAL |
| C | COMMERCIAL |
| E | EXEMPT |
| F | RECREATIONAL |
| I | INDUSTRIAL |
| O | OFFICE |
| R | RESIDENTIAL |
| T | TRANSPORTATION |
| V | VACANT |
Same four-digit scheme as the v2 API. The code definitions are stable; an individual parcel can still receive a different code in a newer source delivery because its use or source classification changed. Migrate the vocabulary by code identity rather than translating one use code into another.
| Code | Description |
| - | - |
| 0010 | Miscellaneous (General) |
| 0011 | Pipeline or Right-of-Way |
| 0012 | Rail (Right-of-way & track) |
| 0013 | Road (Right-of-way) |
| 0014 | Utilities (Right-of-way ONLY) |
| 0015 | Sub-Surface Rights (mineral) |
| 0016 | Surface Rights (Grazing, timber, coal,) |
| 0017 | Leasehold Rights (misc.) |
| 0018 | Possessory Interest (misc.) |
| 0019 | Petroleum & Gas Wells (misc.) |
| 0020 | Water Rights (misc.) |
| 0021 | Right-of-Way (not rail, road or utility) |
| 0022 | Easement (misc.) |
| 0023 | Homestead (Misc.) |
| 0024 | Common Area (misc.) |
| 0025 | Royalty Interest |
| 0026 | Working Interest |
| 0027 | Parcels with improvements, Use Not Specified |
| 0500 | Personal Property General |
| 0510 | Vehicles General |
| 0511 | Motor Vehicles (cars, trucks, etc.) |
| 0512 | Recreational Vehicles / Travel Trailers |
| 0513 | Watercraft (ships, boats, PWCs, etc. |
| 0514 | Aircraft |
| 0515 | Rolling stock (railroad) |
| 0516 | SpaceCraft |
| 0519 | Misc vehicles not otherwise classed (antiques, etc.) |
| 0520 | Business Personal Property General |
| 0521 | Enquipment / Supplies |
| 0522 | Inventory |
| 0523 | Goods in transit |
| 0524 | Livestock (animals, fish, birds, etc.) |
| 0525 | Crops (in ground) |
| 0526 | Crops (harvested) |
| 0529 | Misc Business Personal not classed |
| 0530 | Structures (general) |
| 0532 | Structures on leased land |
| 0533 | Temporary Structures |
| 0539 | Misc. structures not classed (billboards, etc. |
| 0540 | Intangable personal property |
| 0599 | Misc. Property not classed |
| 0714 | Forest |
| 0752 | Park |
| 1000 | Residential (General) (Single) |
| 1001 | Single Family Residential |
| 1002 | Townhouse (Residential) |
| 1003 | Cluster home (Residential) |
| 1004 | Condominium Unit (Residential) |
| 1005 | Cooperative Unit (Residential) |
| 1006 | Mobile/Manufactured Home (regardless of Land ownership) |
| 1007 | Row house (Residential) |
| 1008 | Rural/Agricultural Residence |
| 1009 | Planned Unit Development (PUD Residential) |
| 1010 | Residential Common Area (Condo/PUD/etc.) |
| 1011 | Timeshare (Residential) |
| 1012 | Seasonal, Cabin, Vacation Residence |
| 1013 | Bungalow (Residential) |
| 1014 | Zero Lot Line (Residential) |
| 1015 | Misc Residential Improvement |
| 1016 | Modular/Pre-Fabricated Homes |
| 1017 | Patio Home |
| 1018 | Garden Home |
| 1019 | Landominium |
| 1020 | Barndominium |
| 1021 | Tiny House |
| 1022 | Single Family Residential w/ADU |
| 1023 | Accessory Dwelling Unit (ADU) |
| 1024 | Single Family Residential - Two or more SFR on one parcel |
| 1025 | Horizontal Property Regime |
| 1100 | Residential Income (General) (Multi-Family) |
| 1101 | Duplex (2 units, any combination) |
| 1102 | Triplex (3 units, any combination) |
| 1103 | Quadruplex (4 units, any combination) |
| 1104 | Apartment house (5+ units) |
| 1105 | Apartment house (100+ units) |
| 1106 | Garden Apt, Court Apt (5+ units) |
| 1107 | Highrise Apartments |
| 1108 | Boarding House, Rooming House, Apt Hotel, Transient Lodgings, Hostel |
| 1109 | Mobile Home or Trailer Park |
| 1110 | Multi-Family Dwellings (Generic, 2+) |
| 1111 | Fraternity or Sorority House |
| 1112 | Apartments (generic) |
| 1113 | Dormitory, Group Quarters (Residential) |
| 1114 | Residential Condominium Development (Association Assessment) |
| 1115 | Care Facility (rehab; retirement, rest, convalescent, or nursing home) |
| 1124 | Condominium Building (Residential) |
| 1125 | Cooperative Building (Residential) |
| 1126 | Apartment House (fewer than 5 units) |
| 1901 | Residential Parking Garage |
| 1902 | Residential Storage Space is mainly applied to storage spaces that are assessed separately from their correlated Condos |
| 1999 | Single Family Residential (Assumed) |
| 2000 | Commercial (General) |
| 2001 | Retail Stores (Personal Services, Photography, Travel) |
| 2002 | Store (multi-story) |
| 2003 | Store/Office (mixed use) |
| 2004 | Department Store (apparel, household goods, furniture) |
| 2005 | Department Store (multi-story) |
| 2006 | Grocery, Supermarket |
| 2007 | Regional Shopping Center or Mall with Anchor store |
| 2008 | Community Shopping Plaza or Shopping Center, Mini-Mall |
| 2009 | Neighborhood Shopping Center, Strip Center/Mall, Enterprise Zone |
| 2010 | Shopping Center COMMON AREA parking, park etc. |
| 2011 | Veterinary or Animal Hospital |
| 2012 | Restaurant |
| 2013 | Fast Food Restaurant / Drive-thru |
| 2014 | Take-out Restaurant |
| 2015 | Bakery |
| 2016 | Bar, Tavern |
| 2017 | Liquor Store |
| 2018 | Convenience store |
| 2019 | Convenience Store with fuel |
| 2020 | Service station (full service) |
| 2021 | Service station w/convenience store (food mart) |
| 2022 | Truck stop (fuel and diner) |
| 2023 | Vehicle Rentals, Vehicle Sales |
| 2024 | Auto repair, auto parts, Garage |
| 2025 | Car wash |
| 2026 | Dry Cleaner, Laundry Service |
| 2027 | Service Shop |
| 2028 | Nursery, Greenhouse, Florist |
| 2029 | Wholesale Outlet, Discount Store |
| 2030 | Printer/Delivery - Retail (Kinkos, UPS, FedEx, etc.) |
| 2031 | Mini-Warehouse, Self-Storage |
| 2032 | Day care, Pre-school (Commercial) |
| 2033 | Motel |
| 2034 | Hotel |
| 2035 | Parking Garage, Parking Structure |
| 2036 | Parking Lot |
| 2037 | Funeral Home, Mortuary (Commercial) |
| 2038 | Casino |
| 2039 | Hotel-Resort |
| 2040 | Hotel or Motel |
| 2041 | Gas Station |
| 2042 | Retail/Residential (mixed use) |
| 2043 | Commercial Building |
| 2044 | Commercial/Office/Residential (mixed use) |
| 2045 | Appliance Store (Best Buy, HH Gregg) |
| 2046 | Kennel |
| 2047 | Laundromat (self-service) |
| 2048 | Nightclub (Cocktail Lounge) |
| 2050 | Farm Supply & Equipment (retail) |
| 2051 | Home Improvement, Garden Center (Home Depot, Lowes) |
| 2052 | Commercial Condominium (not offices) |
| 2053 | Drug Store / Pharmacy (CVS, Walgreens) |
| 2054 | Bed & Breakfast |
| 2055 | Barber/Hair Salon |
| 2056 | Pet Boarding & Grooming |
| 2057 | Roadside Market |
| 2058 | Car Wash - Automated |
| 2059 | Car Wash - Self-Serve |
| 2060 | Cannabis Dispensary |
| 2061 | Lumberyard, Building Materials |
| 2062 | Hardware Store |
| 2063 | Furniture, Home Furnishings |
| 2064 | Antiques, Flea Market |
| 2065 | Consignment |
| 2066 | Thrift Store, Secondhand Store |
| 2067 | Books, Stationary |
| 2068 | Computer, Software |
| 2069 | Clothing, Shoes, Luggage, Jewelry, etc. |
| 2070 | Sporting Goods, Toy & Hobby, Music |
| 2071 | Confectionery, Candy, Nuts |
| 3000 | Commercial Office (General) |
| 3001 | Professional Bldg (legal; insurance; real estate; etc.) |
| 3002 | Professional Bldg (multi-story) |
| 3003 | Office Bldg (General) |
| 3004 | Office Bldg (multi-story) |
| 3005 | Dental Bldg |
| 3006 | Medical Bldg/Clinic |
| 3007 | Financial Bldg |
| 3008 | Condominium Offices |
| 3009 | Skyscraper/Highrise (Commercial Offices) |
| 3010 | Commercial/Industrial (mixed use) |
| 3011 | Common Area (commercial) |
| 3012 | Mobile Commercial Units |
| 3013 | Accounting, Tax, Payroll, Employment Services |
| 3014 | Professional Schools: Beauty, Trade/Vocational, Driving, Flight |
| 4000 | Recreational/Entertainment (General) |
| 4001 | Recreation Center |
| 4002 | Public Swimming Pool |
| 4003 | Boat slips, Marina, Yacht Club, Boat Landing |
| 4004 | Bowling Alley |
| 4005 | Arcades (Amusement) |
| 4006 | Skating rink, Ice Skating, Roller Skating |
| 4007 | Clubs, Lodges, Professional Associations |
| 4008 | Museums, Library, Art Gallery |
| 4009 | Country Club |
| 4010 | Stadiums |
| 4011 | Arenas, Convention Center |
| 4012 | Auditoriums |
| 4013 | Golf Driving Range |
| 4014 | Race track |
| 4015 | Gym, Health Spa |
| 4016 | Dance Hall |
| 4017 | Riding Stable, Trails |
| 4018 | Campground, RV Park |
| 4019 | Fairgrounds |
| 4020 | Theater |
| 4021 | Drive-In Theater |
| 4022 | Amusement Park, Tourist Attraction |
| 4023 | Piers, Wharf |
| 4024 | Fish Camps, Game Club, Target Shooting |
| 4025 | Outdoor Recreation: Beach, Mountain, Desert |
| 4026 | Pool Hall, Billiard Parlor |
| 4027 | Park, Playground, Picnic Area |
| 4028 | Golf Course |
| 4029 | Racquet or Tennis Court |
| 4030 | Zoo |
| 4031 | Go-carts, Miniature Golf, Water slides |
| 4032 | Sports Complex |
| 4033 | Clubhouse |
| 4034 | Wedding/Event Venue |
| 5000 | Industrial (General) |
| 5001 | Manufacturing (light) |
| 5002 | Light Industrial |
| 5003 | Warehouse (Industrial) |
| 5004 | Storage yard, Open Storage (light equipment, material) |
| 5005 | Food Packing, Packing Plant |
| 5006 | Assembly (light industrial) |
| 5007 | Food Processing |
| 5008 | Recycling plant |
| 5009 | Communications |
| 5010 | Condominiums (Industrial) |
| 5011 | Laboratory, Research and Development Facility, Cosmetics, Pharmaceutical |
| 5012 | Industrial Park |
| 5013 | Multi-Tenant Industrial Bldg |
| 5014 | Marine Facility/Boat Repairs (small craft or sailboat) |
| 5015 | Lumber & Wood Product Manufacturing (including furniture) |
| 5016 | Paper Product Manufacturing & related products |
| 5017 | Printing & Publishing (Light Industrial) |
| 5018 | Industrial Loft Building, Loft Building |
| 5019 | Construction/Contracting Services (Industrial) |
| 5020 | Common Area (Industrial) |
| 5021 | Data Center |
| 6000 | Heavy Industrial (General) |
| 6001 | Transportation |
| 6002 | Distribution Warehouse (Regional) |
| 6003 | Mining facility (oil; gas; mineral, precious metals) |
| 6004 | Storage yard (junk; auto wrecking, salvage) |
| 6005 | Distillery, Brewery, Bottling |
| 6006 | Refinery, Petroleum Products |
| 6007 | Mill |
| 6008 | Factory (medium) |
| 6009 | Processing Plant |
| 6010 | Lumberyard, Building Materials |
| 6011 | Shipyard/Storage - Built or Repaired (seagoing vessels) |
| 6012 | Slaughter House, Stockyard |
| 6013 | Waste Disposal, Sewage, Treatment facility |
| 6014 | Quarries |
| 6015 | Heavy Manufacturing |
| 6016 | Labor Camps (Industrial) |
| 6017 | Winery |
| 6018 | Chemical |
| 6019 | Foundry, Industrial Plant |
| 6020 | Cannery |
| 6021 | Gasoline, Fuel Bulk Storage |
| 6022 | Grain Elevator |
| 6023 | Dump Site |
| 6024 | Cold Storage |
| 6025 | Sugar Refinery |
| 6500 | Transportation & Communications (General) |
| 6501 | Airport & related |
| 6502 | Railroad & related |
| 6503 | Freeways, State Hwys |
| 6504 | Roads, Streets, Bridges |
| 6505 | Bus Terminal |
| 6506 | Telegraph, Telephone Communications |
| 6507 | Radio or TV Station Communications |
| 6508 | Truck Terminal (Motor Freight) |
| 6509 | Cable TV Station Communications |
| 6510 | Harbor & Marine Transportation |
| 6511 | Microwave |
| 6512 | Commercial Auto Transportation/Storage |
| 6513 | Pollution Control |
| 6514 | Cellular |
| 7000 | Agricultural / Rural |
| 7001 | Farm land |
| 7002 | Ranch |
| 7003 | Range land (grazing) |
| 7004 | Crop, Field Crops, Row Crops (all soil classes) |
| 7005 | Orchard (fruit; nut) |
| 7006 | Vineyard (Agricultural) |
| 7007 | Poultry Farm |
| 7008 | Dairy Farm |
| 7009 | Timberland, Forest, Trees (Agricultural) |
| 7010 | Wildlife Refuge |
| 7011 | Desert or Barren Land |
| 7012 | Pasture, Meadow |
| 7013 | Misc. Structures - Ranch, Farm, Fixtures |
| 7014 | Grove (Agricultural) |
| 7015 | Feedlots |
| 7016 | Livestock parcel |
| 7017 | Horticulture, Growing Houses (Agricultural) |
| 7018 | Well Site (Agricultural) |
| 7019 | Truck Crops (tobacco; cash crops) |
| 7020 | Reservoir, Water Supply |
| 7021 | Irrigation, Flood Control |
| 7022 | Natural Resources |
| 7023 | Rural Improved / Non-Residential |
| 7024 | Cannabis Grow Facility |
| 8000 | Vacant Land (General) |
| 8001 | Residential-Vacant Land |
| 8002 | Commercial-Vacant Land |
| 8003 | Industrial-Vacant Land |
| 8004 | Private Preserve, Open Space-Vacant Land (Forest Land, Conservation) |
| 8005 | Institutional-Vacant Land |
| 8006 | Government-Vacant Land |
| 8007 | Multi-Family-Vacant Land |
| 8008 | Rural/Agricultural-Vacant Land |
| 8009 | Waste Land, Marsh, Swamp |
| 8010 | Recreational-Vacant Land |
| 8011 | Water Area (Lakes; River; Shore) |
| 8012 | Unusable Land (Remnant, Steep, etc.) |
| 8013 | Abandoned Site, Contaminated Site |
| 8014 | Under Construction |
| 8015 | Vacant Land - Destroyed/Uninhabitable Improvement |
| 8016 | Vacant Land - Unspecified Improvement |
| 8017 | Vacant Land - Exempt |
| 8500 | Special Purpose |
| 8501 | State Board of Equalization - Special Assessments |
| 8502 | Regulating Districts & Assessments; Tax Abatement |
| 8503 | Redevlopment Agency or Zone |
| 8504 | Centrally Assessed |
| 9000 | Exempt (full or partial) |
| 9001 | Native American Lands / American Indian Lands |
| 9100 | Institutional (General) |
| 9101 | Religious, Church, Worship |
| 9102 | Parochial School, Private School |
| 9103 | Educational - PRIVATE |
| 9104 | Hospital-PRIVATE |
| 9105 | Medical Clinic |
| 9106 | Retired, Handicap, Convalescent, Nursing Home |
| 9107 | Childrens Home, Orphanage |
| 9108 | Cemetery (Exempt) |
| 9109 | Crematorium, Mortuary (Exempt) |
| 9110 | Charitable organization |
| 9111 | Recreational Non-Taxable (Camps, Boy/Girl Scouts) |
| 9112 | Private Utility (electric, water, gas, nuclear, solar, wind, etc.) |
| 9200 | Governmental/Public Use (General) |
| 9201 | Military |
| 9202 | Forest (park; reserve; recreation, conservation) |
| 9203 | Public School |
| 9204 | Educational Colleges, University-PUBLIC |
| 9205 | Post Office |
| 9206 | Cultural, Historical |
| 9207 | Govt. Administrative Office |
| 9208 | Emergency (Police; Fire; etc) |
| 9209 | Other exempt property |
| 9210 | City, Municipal, Town, Village Owned |
| 9211 | County Owned |
| 9212 | State Owned |
| 9213 | Federal Property |
| 9214 | Public Health Care Facility |
| 9215 | Community Center |
| 9216 | Public Utility (electric, water, gas, nuclear, solar, wind, etc.) |
| 9217 | Welfare, Social Service, Low Income Housing (Exempt) |
| 9218 | Correctional Facility, Jails, Prisons, Insane Asylum |
| 9219 | Hospital-PUBLIC |
| 9300 | Historical-PRIVATE (General) |
| 9301 | Historical Residence |
| 9302 | Historical Retail |
| 9303 | Historical Warehouse |
| 9304 | Historical Office |
| 9305 | Historical Transient Lodging (hotel/motel) |
| 9307 | Historical Recreation, Entertainment |
| 9308 | Historical Park / Site |
| 9309 | Historical District |
Cooling system detail; the flat shape reduces this to the boolean `airConditioning`.
| Code | Description |
| - | - |
| A | CENTRAL |
| B | CHILLED WATER |
| C | EVAPORATIVE COOLER |
| D | GEO-THERMAL |
| E | NONE |
| F | OFFICE ONLY |
| G | OTHER |
| H | PACKAGED UNIT |
| I | PARTIAL |
| J | PRESENT (TYPE UNKNOWN) |
| K | REFRIGERATION |
| L | VENTILATION |
| M | WALL |
| N | WINDOW/UNIT |
| Code | Description |
| - | - |
| A | ACCESSIBILITY RAMP |
| AA | WET BAR |
| AB | WINE CELLAR |
| B | ARBOR/PERGOLA |
| C | BASKETBALL/SPORT COURT |
| D | BOAT DOCK/RAMP |
| E | BOAT LIFT/DAVITS |
| F | CARRIAGE HOUSE |
| G | CENTRAL VACUUM SYSTEM |
| H | CLUBHOUSE |
| I | FIRE SPRINKLER |
| J | GOLF COURSE FRONTAGE |
| K | INTERCOM SYSTEM |
| L | IRRIGATION SPRINKLER SYSTEM |
| M | KOI POND |
| N | MOBILE HOME HOOKUP |
| O | OUTDOOR KITCHEN/FIREPLACE |
| P | OVERHEAD DOOR |
| Q | PANIC ROOM |
| R | RV PARKING |
| S | SAUNA/STEAM ROOM |
| T | SMOKE/CARBON MONOXIDE DETECTOR |
| U | SOUND SYSTEM |
| V | STORM SHELTER |
| W | STORM/SECURITY SHUTTERS |
| X | TENNIS COURT |
| Y | TREEHOUSE/PLAYHOUSE |
| Z | WATER FEATURE |
| Code | Description |
| - | - |
| A | DAYLIGHT FULL |
| B | DAYLIGHT OR WALKOUT |
| C | DAYLIGHT PARTIAL |
| D | FINISHED BASEMENT |
| E | FULL BASEMENT |
| F | NO BASEMENT |
| G | PARTIAL BASEMENT |
| H | UNFINISHED BASEMENT |
| I | UNSPECIFIED BASEMENT |
Which area measure `buildingArea` reports. (`buildingInformation.buildings[].buildingAreas[].areaType` carries readable area names instead — see the self-describing members note below.)
| Code | Description |
| - | - |
| A | ADJUSTED AREA |
| B | ATTIC |
| C | BASE AREA |
| D | BUILDING PERIMETER (LINEAR FEET) |
| E | CHATAHOOCHIE (PORCH) |
| F | EFFECTIVE AREA |
| G | FINISHED AREA |
| H | FIRST FLOOR |
| I | GARAGE |
| J | GROSS AREA |
| K | HEATED AREA |
| L | LIVING AREA |
| M | TOTAL AREA |
| Code | Description |
| - | - |
| A | FIRE-RESISTIVE REINFORCED CONCRETE |
| B | FIRE-RESISTIVE STEEL FRAME |
| C | NON-COMBUSTIBLE EXTERIOR WITH COMBUSTIBLE INTERIOR |
| D | SPECIALTY |
| E | WOOD OR STEEL FRAME |
Improvement condition code. The flat shape's `conditionDesc` is a separate descriptive source field, not a renamed copy of this code.
| Code | Description |
| - | - |
| A | AVERAGE |
| B | EXCELLENT |
| C | FAIR |
| D | GOOD |
| E | POOR |
| F | UNSOUND |
| G | VERY GOOD |
| Code | Description |
| - | - |
| A | ADOBE |
| B | BAMBOO |
| C | BRICK |
| D | CONCRETE |
| E | CONCRETE BLOCK |
| F | DOME |
| G | FRAME |
| H | HEAVY FRAMING |
| I | LIGHT FRAMING |
| J | LOG |
| K | MANUFACTURED |
| L | MASONRY |
| M | METAL |
| N | MIXED |
| O | OTHER |
| P | STEEL |
| Q | STONE |
| R | TILT-UP (CONCRETE) |
| S | WOOD |
| Code | Description |
| - | - |
| A | ASPHALT |
| B | BOMANITE |
| C | BRICK |
| D | CHAT (CRUSHED STONE) |
| E | CONCRETE |
| F | GRAVEL |
| G | PAVER |
| H | TILE |
| I | YES (UNSPECIFIED) |
| Code | Description |
| - | - |
| A | ASBESTOS |
| AA | WOOD |
| B | BRICK |
| C | CARPET |
| D | CERAMIC |
| E | CONCRETE |
| F | CORK |
| G | COVERED |
| H | DIRT/EARTH |
| I | EPOXY |
| J | FAUX WOOD TILE |
| K | GRANITE |
| L | HARDWOOD |
| M | LAMINATE |
| N | LINOLEUM |
| O | MARBLE |
| P | MIXED |
| Q | OTHER |
| R | PARQUET |
| S | PLYWOOD |
| T | SLATE |
| U | SOFTWOOD |
| V | STONE |
| W | TERRAZZO |
| X | TILE |
| Y | TORGINOL |
| Z | VINYL |
| Code | Description |
| - | - |
| A | ATTACHED GARAGE |
| B | ATTACHED GARAGE (FINISHED) |
| C | ATTACHED GARAGE (UNFINISHED) |
| D | BUILT-IN GARAGE |
| E | CARPORT |
| F | COVERED PARKING |
| G | DETACHED GARAGE |
| H | DETACHED GARAGE (FINISHED) |
| I | DETACHED GARAGE (UNFINISHED) |
| J | FINISHED GARAGE (UNSPECIFIED TYPE) |
| K | GARAGE |
| L | HEATED GARAGE |
| M | MIXED (MULTIPLE TYPES) |
| N | NONE |
| O | OFFSITE PARKING |
| P | OPEN CARPORT |
| Q | PARKING LOT |
| R | PARKING STRUCTURE |
| S | PAVED/SURFACED PARKING |
| T | POLE BARN GARAGE |
| U | RAMP PARKING |
| V | TUCKUNDER GARAGE |
| W | UNDERGROUND/BASEMENT GARAGE |
| X | UNIMPROVED PARKING |
| Y | YES |
Primary heating system.
| Code | Description |
| - | - |
| A | BASEBOARD |
| B | CENTRAL |
| C | COAL |
| D | CONVECTION |
| E | ELECTRIC |
| F | FLOOR/WALL |
| G | FORCED AIR UNIT |
| H | GAS |
| I | GEOTHERMAL |
| J | GRAVITY |
| K | HEAT PUMP |
| L | HOT WATER |
| M | NONE |
| N | OIL |
| O | OTHER |
| P | PARTIAL |
| Q | PROPANE |
| R | RADIANT |
| S | SOLAR |
| T | SPACE/SUSPENDED HEATER |
| U | STEAM |
| V | VENTED HEATING SYSTEM |
| W | WOOD BURNING |
| X | YES (UNSPECIFIED) |
| Y | ZONE |
Heating fuel.
| Code | Description |
| - | - |
| A | BUTANE |
| B | COAL |
| C | ELECTRIC |
| D | GAS |
| E | GEOTHERMAL |
| F | NONE |
| G | OIL |
| H | PROPANE |
| I | SOLAR |
| J | WOOD |
| Code | Description |
| - | - |
| A | BLOCK |
| B | BRICK |
| C | CELOTEX FIBERBOARD |
| D | CEMENT BOARD |
| E | COMPOSITION |
| F | CONCRETE |
| G | DECORATIVE/CUSTOM |
| H | DRYWALL |
| I | FINISHED/PAINTED |
| J | FORMICA |
| K | GLASS |
| L | LOG |
| M | MASONRY |
| N | METAL |
| O | OTHER |
| P | PANELING |
| Q | PLASTER |
| R | PLYWOOD |
| S | STONE |
| T | UNFINISHED |
| U | VINYL |
| V | WOOD |
| Code | Description |
| - | - |
| A | ATRIUM |
| B | BONUS ROOM (FLEX SPACE NOT QUALIFYING AS A BEDROOM) |
| C | BREAKFAST NOOK |
| D | CELLAR (UNFINISHED BELOW-GRADE STORAGE, DISTINCT FROM `BASEMENTTYPE`) |
| E | EXERCISE ROOM OR HOME GYM |
| F | FAMILY ROOM OR DEN |
| G | GAME OR RECREATION ROOM |
| H | GREAT ROOM (OPEN-CONCEPT COMBINED LIVING SPACE) |
| I | HOBBY ROOM |
| J | HOME OFFICE |
| K | LANAI (COVERED OUTDOOR ROOM; COMMON IN FL/HI) |
| L | LAUNDRY ROOM |
| M | MEDIA ROOM OR HOME THEATER |
| N | MUDROOM |
| O | SITTING ROOM (HISTORICAL/FORMAL LIVING SPACE) |
| P | STUDY OR LIBRARY |
| Q | SUNROOM |
| R | UTILITY ROOM |
| Code | Description |
| - | - |
| A | ABOVE GROUND POOL |
| B | COMMUNITY POOL OR SPA |
| C | ENCLOSED |
| D | HEATED POOL |
| E | IN-GROUND POOL |
| F | INDOOR SWIMMING POOL |
| G | POOL & SPA |
| H | POOL, HISTORICAL VALUE |
| I | SOLAR HEATED |
| J | SPA OR HOT TUB |
| K | VINYL IN-GROUND POOL |
| L | YES (UNSPECIFIED) |
Construction quality grade.
| Code | Description |
| - | - |
| A | A |
| B | A+ (BEST) |
| C | A- |
| D | B |
| E | B+ |
| F | B- |
| G | C |
| H | C+ |
| I | C- |
| J | D |
| K | D+ |
| L | D- |
| M | E |
| N | E+ |
| O | E- (WORST) |
Roof **shape** (gable, hip, mansard, ...).
| Code | Description |
| - | - |
| A | A-FRAME |
| B | BOWSTRING TRUSS |
| C | DOME |
| D | FLAT |
| E | GABLE |
| F | GABLE OR HIP |
| G | GAMBREL |
| H | HIP |
| I | IRREGULAR/CATHEDRAL |
| J | MANSARD |
| K | MONITOR |
| L | PRESTRESSED CONCRETE |
| M | REINFORCED CONCRETE |
| N | RIGID FRAME BAR JOIST |
| O | SAWTOOTH |
| P | SHED |
| Q | STEEL FRAMING/TRUSS |
| R | WOOD TRUSS |
Roof **material** (asphalt, tile, metal, ...).
| Code | Description |
| - | - |
| A | ALUMINUM |
| AA | WOOD |
| AB | WOOD SHAKE/SHINGLES |
| B | ASBESTOS |
| C | ASPHALT |
| D | BERMUDA ROOFING |
| E | BUILT-UP |
| F | CERAMIC TILE |
| G | CLAY TILE |
| H | COMPOSITION SHINGLE |
| I | CONCRETE |
| J | CONCRETE TILE |
| K | COPPER |
| L | FIBERGLASS |
| M | GYPSUM |
| N | MASONITE/CEMENT SHAKE |
| O | METAL |
| P | NON-WOOD SHINGLE |
| Q | OTHER |
| R | ROCK/GRAVEL |
| S | ROLL COMPOSITION |
| T | SLATE |
| U | SOLAR |
| V | STEEL |
| W | TAR & GRAVEL |
| X | TILE |
| Y | TIN |
| Z | URETHANE |
Architectural style code. The flat shape's `styleDesc` currently carries this same coded value.
| Code | Description |
| - | - |
| A | A-FRAME |
| AA | HISTORICAL |
| AB | L-SHAPE |
| AC | LOG CABIN/RUSTIC |
| AD | LOW-RISE |
| AE | MANSION |
| AF | MEDITERRANEAN |
| AG | MID-RISE |
| AH | MISSION |
| AI | MOBILE HOME |
| AJ | MOBILE/MANUFACTURED |
| AK | MODERN |
| AL | MULTI-LEVEL |
| AM | MULTIFAMILY |
| AN | NEW ENGLAND |
| AO | OLD |
| AP | OTHER |
| AQ | PATIO HOME |
| AR | PREFAB/MODULAR |
| AS | QUADPLEX |
| AT | RAISED RANCH |
| AU | RANCH |
| AV | ROW HOME |
| AW | SALT BOX |
| AX | SHOTGUN |
| AY | SPANISH |
| AZ | SPLIT FOYER |
| B | BAMBOO |
| BA | SPLIT LEVEL |
| BB | TINY HOUSE |
| BC | TOWNHOUSE |
| BD | TRADITIONAL |
| BE | TRI-LEVEL |
| BF | TRIPLEX |
| BG | TUDOR |
| BH | UNDERGROUND/BERM |
| BI | UNDOCUMENTED |
| BJ | UNFINISHED/UNDER CONSTRUCTION |
| BK | UNKNOWN |
| BL | VICTORIAN |
| C | BI-LEVEL |
| D | BUNGALOW |
| E | CAPE COD |
| F | CENTER HALL |
| G | CHALET/ALPINE |
| H | CLUSTER |
| I | COACH/CARRIAGE HOUSE |
| J | COLONIAL |
| K | CONDO |
| L | CONTEMPORARY |
| M | CONVENTIONAL |
| N | COTTAGE |
| O | CUSTOM |
| P | DOME |
| Q | DUPLEX |
| R | ENGLISH |
| S | EUROPEAN |
| T | FEDERALIST |
| U | FRENCH PROVINCIAL |
| V | GARAGE APARTMENT |
| W | GEORGIAN |
| X | GREEK REVIVAL |
| Y | H-SHAPE |
| Z | HIGH-RISE |
| Code | Description |
| - | - |
| A | ADOBE |
| AA | SIDING (OTHER TYPE) |
| AB | STUCCO |
| AC | TILE |
| AD | TILT-UP (CONCRETE) |
| AE | VINYL SIDING |
| AF | WOOD |
| AG | WOOD SHINGLE |
| AH | WOOD SIDING |
| B | ALUMINUM SIDING |
| C | ASBESTOS SHINGLE |
| D | BAMBOO |
| E | BLOCK |
| F | BRICK |
| G | BRICK VENEER |
| H | CERAMIC TILE |
| I | CLAY TILE |
| J | COMBINATION |
| K | COMPOSITION/COMPOSITE |
| L | CONCRETE |
| M | CONCRETE BLOCK |
| N | CONCRETE TILE |
| O | EIFS/SYNTHETIC STUCCO |
| P | FIBER CEMENT SIDING (HARDIBOARD/HARDIPLANK) |
| Q | GLASS |
| R | LOG |
| S | MARBLE |
| T | MASONITE |
| U | MASONRY |
| V | METAL |
| W | NON-WOOD SHINGLE |
| X | OTHER |
| Y | ROCK/STONE |
| Z | SIDING (ALUM/VINYL) |
| Code | Description |
| - | - |
| A | ABOVE STREET LEVEL |
| B | BELOW STREET LEVEL |
| C | BRUSHY |
| D | HIGH ELEVATION |
| E | HILLY |
| F | LEVEL GRADE |
| G | LOW ELEVATION |
| H | MARSH |
| I | MIXED |
| J | MOUNTAIN |
| K | ROCKY |
| L | ROLLING |
| M | STEEP |
| N | SWAMPY |
| O | WOODED |
| Code | Description |
| - | - |
| A | MORE THAN ONE LOT |
| B | MULTIPLE WITH PORTION OF ONE OR MORE LOTS |
| C | PORTION OF A LOT |
| D | SINGLE LOT NUMBER |
Numeric buyer entity/relationship classification on sale records. The flat shape exposes the most recent sale's value as top-level `buyerIDCode`.
| Code | Description |
| - | - |
| 1 | ADMINISTRATOR |
| 2 | AGENT OR GUARDIAN |
| 3 | ALL AS/UNDEFINED |
| 4 | ALSO KNOWN AS (A/K/A) |
| 5 | ALTER EGO |
| 6 | ALTERNATE BENEFICIARY |
| 7 | ASSIGNEE (BUYER/BORROWER ONLY) |
| 8 | ASSIGNOR (SELLER ONLY) |
| 9 | ASSOCIATION |
| 10 | BENEFICIARY/CREDITOR |
| 11 | BROTHER & SISTER |
| 12 | BUILDER/DEVELOPER |
| 13 | COMMUNITY PROPERTY |
| 14 | COMMUNITY PROPERTY WITH RIGHTS OF SURVIVORSHIP |
| 15 | COMPANY |
| 16 | CONTRACT PURCHASOR |
| 17 | CORPORATE TRUST |
| 18 | CORPORATE TRUSTEE |
| 19 | CORPORATION |
| 20 | DECEASED |
| 21 | DEFENDANT |
| 22 | DISABLED |
| 23 | DIVORCED |
| 24 | DIVORCED NOT REMARRIED |
| 25 | DOING BUSINESS AS (DBA) |
| 26 | DOMESTIC PARTNER |
| 27 | DOWER CLAUSE |
| 28 | ESTATE |
| 29 | ET AL (AND OTHERS) |
| 30 | ET UX (AND WIFE) |
| 31 | EXECUTOR/ADMINISTRATOR |
| 32 | FAMILY LIVING TRUST |
| 33 | FAMILY REVOCABLE TRUST |
| 34 | FAMILY TRUST |
| 35 | FORMERLY KNOWN AS (F/K/A) |
| 36 | GENERAL PARTNER |
| 37 | GENERAL PARTNERSHIP |
| 38 | GOVERNMENT |
| 39 | GUARDIAN |
| 40 | GUARDIAN/CUSTODIAN |
| 41 | HEIRS |
| 42 | HER HUSBAND |
| 43 | HIS WIFE |
| 44 | HUSBAND AND HUSBAND |
| 45 | HUSBAND AND WIFE |
| 46 | INCOMPETENT |
| 47 | INDIVIDUAL(S) |
| 48 | IRA (INDIVIDUAL RETIREMENT ACCOUNT) |
| 49 | IRREVOCABLE LIVING TRUST |
| 50 | IRREVOCABLE TRUST |
| 51 | JOINT TENANTS |
| 52 | JOINT TENANTS WITH RIGHTS OF SURVIVORSHIP |
| 53 | JOINT VENTURE |
| 54 | LAST WILL AND TESTAMENT |
| 55 | LEASE FROM |
| 56 | LIFE BENEFIT ESTATE |
| 57 | LIFE ESTATE |
| 58 | LIFE TENANT |
| 59 | LIMITED LIABILITY COMPANY |
| 60 | LIMITED LIABILITY PARTNERSHIP |
| 61 | LIMITED PARTNERSHIP |
| 62 | LIVING TRUST |
| 63 | MANAGING MEMBER |
| 64 | MARRIED |
| 65 | MARRIED COUPLE |
| 66 | MARRIED MAN AS HIS SOLE AND SEPARATE PROPERTY |
| 67 | MARRIED PERSON |
| 68 | MARRIED WOMAN AS HER SOLE AND SEPARATE PROPERTY |
| 69 | MEMBER |
| 70 | MINOR, WARD, OR CLIENT |
| 71 | NAME DERIVED FROM AFFIDAVIT |
| 72 | NEVER MARRIED PERSON |
| 73 | NON-DECLARED TRUST |
| 74 | NON-VESTED SPOUSE |
| 75 | NOT PROVIDED |
| 76 | NOW KNOWN AS |
| 77 | PARTNERSHIP |
| 78 | PERSONAL REPRESENTATIVE |
| 79 | PERSONAL TRUST |
| 80 | PLAINTIFF |
| 81 | RECEIVER |
| 82 | REMAINDERMAN |
| 83 | REVOCABLE LIVING TRUST |
| 84 | REVOCABLE TRUST |
| 85 | RIGHT OF SURVIVORSHIP |
| 86 | SELLER IS OWNER ON CURRENT ASSESSMENT FILE |
| 87 | SEPARATE PROPERTY |
| 88 | SEPARATED |
| 89 | SINGLE |
| 90 | SINGLE MAN |
| 91 | SINGLE WOMAN |
| 92 | SOLE AND SEPARATE |
| 93 | SOLE PROPRIETORSHIP |
| 94 | SUCCESSOR IN INTEREST |
| 95 | SUCCESSOR TRUSTEE |
| 96 | SURVIVING JOINT TENANT |
| 97 | SURVIVING SPOUSE |
| 98 | SURVIVOR |
| 99 | SURVIVORSHIP MARITAL PROPERTY (WI/AK) |
| 100 | SURVIVORSHIP MARTIAL PROPERTY |
| 101 | TAX PAYER |
| 102 | TENANT |
| 103 | TENANTS BY ENTIRETY |
| 104 | TENANTS IN COMMON |
| 105 | TENANTS IN ENTIRETY |
| 106 | TENANTS IN SEVERALTY |
| 107 | TRANSFER OF DEATH |
| 108 | TRUST |
| 109 | TRUSTOR/DEBTOR |
| 110 | UNDIVIDED INTEREST |
| 111 | UNITED STATES |
| 112 | UNMARRIED |
| 113 | UNMARRIED MAN |
| 114 | UNMARRIED WOMAN |
| 115 | WHO ACQUIRED TITLE AS |
| 116 | WHOLLY EXEMPT |
| 117 | WIDOW OR WIDOWER |
| 118 | WIDOWER |
| 119 | WIFE |
| 120 | WIFE AND WIFE |
Numeric title-vesting classification on sale records. The flat shape exposes the most recent sale's value as top-level `buyerVestingCode`.
| Code | Description |
| - | - |
| 1 | ADMINISTRATOR |
| 2 | AGENT OR GUARDIAN |
| 3 | ALL AS/UNDEFINED |
| 4 | ALSO KNOWN AS (A/K/A) |
| 5 | ALTER EGO |
| 6 | ALTERNATE BENEFICIARY |
| 7 | ASSIGNEE (BUYER/BORROWER ONLY) |
| 8 | ASSIGNOR (SELLER ONLY) |
| 9 | ASSOCIATION |
| 10 | BENEFICIARY/CREDITOR |
| 11 | BROTHER & SISTER |
| 12 | BUILDER/DEVELOPER |
| 13 | COMMUNITY PROPERTY |
| 14 | COMMUNITY PROPERTY WITH RIGHTS OF SURVIVORSHIP |
| 15 | COMPANY |
| 16 | CONTRACT PURCHASER |
| 17 | CORPORATE TRUST |
| 18 | CORPORATE TRUSTEE |
| 19 | CORPORATION |
| 20 | DECEASED |
| 21 | DEFENDANT |
| 22 | DISABLED |
| 23 | DIVORCED |
| 24 | DIVORCED NOT REMARRIED |
| 25 | DOING BUSINESS AS (DBA) |
| 26 | DOMESTIC PARTNER |
| 27 | DOWER CLAUSE |
| 28 | ESTATE |
| 29 | ET AL (AND OTHERS) |
| 30 | ET UX (AND WIFE) |
| 31 | EXECUTOR/ADMINISTRATOR |
| 32 | FAMILY LIVING TRUST |
| 33 | FAMILY REVOCABLE TRUST |
| 34 | FAMILY TRUST |
| 35 | FORMERLY KNOWN AS (F/K/A) |
| 36 | GENERAL PARTNER |
| 37 | GENERAL PARTNERSHIP |
| 38 | GOVERNMENT |
| 39 | GUARDIAN |
| 40 | GUARDIAN/CUSTODIAN |
| 41 | HEIRS |
| 42 | HER HUSBAND |
| 43 | HIS WIFE |
| 44 | HUSBAND AND HUSBAND |
| 45 | HUSBAND AND WIFE |
| 46 | INCOMPETENT |
| 47 | INDIVIDUAL(S) |
| 48 | IRA (INDIVIDUAL RETIREMENT ACCOUNT) |
| 49 | IRREVOCABLE LIVING TRUST |
| 50 | IRREVOCABLE TRUST |
| 51 | JOINT TENANTS |
| 52 | JOINT TENANTS WITH RIGHTS OF SURVIVORSHIP |
| 53 | JOINT VENTURE |
| 54 | LAST WILL AND TESTAMENT |
| 55 | LEASE FROM |
| 56 | LIFE BENEFIT ESTATE |
| 57 | LIFE ESTATE |
| 58 | LIFE TENANT |
| 59 | LIMITED LIABILITY COMPANY |
| 60 | LIMITED LIABILITY COMPANY / PARTNERSHIP (source uses one code for both; LLC in the large majority of records) |
| 61 | LIMITED PARTNERSHIP |
| 62 | LIVING TRUST |
| 63 | MANAGING MEMBER |
| 64 | MARRIED |
| 65 | MARRIED COUPLE |
| 66 | MARRIED MAN AS HIS SOLE AND SEPARATE PROPERTY |
| 67 | MARRIED PERSON |
| 68 | MARRIED WOMAN AS HER SOLE AND SEPARATE PROPERTY |
| 69 | MEMBER |
| 70 | MINOR, WARD OR CLIENT (REPRESENTED BY TRUSTEE) |
| 71 | NAME DERIVED FROM AFFIDAVIT |
| 72 | NEVER MARRIED PERSON |
| 73 | NON-DECLARED TRUST |
| 74 | NON-VESTED SPOUSE |
| 75 | NOT PROVIDED (NAME BLURRED OR MISSING FROM DOCUMENT) |
| 76 | NOW KNOWN AS |
| 77 | PARTNERSHIP |
| 78 | PERSONAL REPRESENTATIVE |
| 79 | PERSONAL TRUST |
| 80 | PLAINTIFF |
| 81 | RECEIVER |
| 82 | REMAINDERMAN |
| 83 | REVOCABLE LIVING TRUST |
| 84 | REVOCABLE TRUST |
| 85 | RIGHT OF SURVIVORSHIP |
| 86 | SELLER IS OWNER ON CURRENT ASSESSMENT FILE |
| 87 | SEPARATE PROPERTY |
| 88 | SEPARATED |
| 89 | SINGLE |
| 90 | SINGLE MAN |
| 91 | SINGLE WOMAN |
| 92 | SOLE AND SEPARATE |
| 93 | SOLE PROPRIETORSHIP |
| 94 | SUCCESSOR IN INTEREST |
| 95 | SUCCESSOR TRUSTEE (LA COUNTY ONLY) |
| 96 | SURVIVING JOINT TENANT |
| 97 | SURVIVING SPOUSE |
| 98 | SURVIVOR |
| 99 | SURVIVORSHIP MARITAL PROPERTY (WI/AK) |
| 100 | SURVIVORSHIP MARTIAL PROPERTY |
| 101 | TAX PAYER |
| 102 | TENANT |
| 103 | TENANTS BY ENTIRETIES |
| 104 | TENANTS IN COMMON |
| 105 | TENANTS IN ENTIRETY |
| 106 | TENANTS IN SEVERALTY |
| 107 | TRANSFER OF DEATH |
| 108 | TRUST |
| 109 | TRUSTOR/DEBTOR (BORROWER IN DEFAULT/FORECLOSURE ON TRUSTEE'S DEED) |
| 110 | UNDIVIDED INTEREST |
| 111 | UNITED STATES |
| 112 | UNMARRIED |
| 113 | UNMARRIED MAN |
| 114 | UNMARRIED WOMAN |
| 115 | WHO ACQUIRED TITLE AS |
| 116 | WHOLLY EXEMPT |
| 117 | WIDOW OR WIDOWER |
| 118 | WIDOWER |
| 119 | WIFE |
| 120 | WIFE AND WIFE |
How the sale price figure was obtained (`PD####` — stated on the document, computed from transfer tax, from an affidavit, ...). Included in bulk data exports, and since August 20, 2026 in nested-shape API responses as `salesHistory[].priceDerivation`; the flat shape does not carry it.
| Code | Description |
| - | - |
| PD0001 | STATED ON DOCUMENT |
| PD0002 | COMPUTED FROM TRANSFER TAX |
| PD0003 | FULL AMOUNT FROM TRANSFER OR EXCISE TAX |
| PD0004 | COMPUTED FROM EXCISE TAX RATE (WA) |
| PD0005 | COMPUTED FROM TAX OR ASSESSED VALUE (NE/WI) |
| PD0006 | FROM AFFIDAVIT |
| PD0007 | FROM ASSESSMENT FILE |
| PD0008 | ESTIMATED |
| PD0009 | ROUNDED |
| PD0010 | ESTIMATED FROM COMPARABLES |
Source qualified/unqualified sale flag. Prefer `transfers[].saleCode` (`TQ####`) for qualification semantics — it is populated on both record eras with one national vocabulary.
| Code | Description |
| - | - |
| Q | QUALIFIED (ARM'S-LENGTH SALE) |
| U | UNQUALIFIED (NOT VERIFIED ARM'S-LENGTH) |
Deed/instrument type on sale and transfer records. A small share of records (\<1%) carry the document type as self-describing full text (e.g. `WARRANTY DEED`) or a rare source code not yet in this table; unmapped codes fold into named entries in an upcoming release.
| Code | Description |
| - | - |
| A | AFFIDAVIT OF TRUST OR TRUST AGREEMENT (LOS ANGELES) |
| AD | ADMINISTRATOR'S DEED |
| AF | AFFIDAVIT |
| AG | AGREEMENT OF SALE |
| AJ | AFFIDAVIT OF DEATH OF JOINT TENANT |
| AL | AFFIDAVIT OF DEATH OF LIFE TENANT |
| AT | AFFIDAVIT DEATH OF TRUSTEE/SUCCESSOR TRUSTEE (LOS ANGELES) |
| B | ASSIGNMENT DEED |
| BD | BENEFICIARY DEED |
| BS | BARGAIN AND SALE DEED |
| C | ASSIGNMENT OF AGREEMENT OF SALE (HAWAII) |
| CD | CONDOMINIUM DEED |
| CH | CASH SALE DEED |
| CM | COMMISSIONER'S DEED |
| CO | CONSERVATOR'S DEED |
| CP | CORPORATION DEED |
| CS | CONTRACT OF SALE |
| CT | CERTIFICATE OF TRANSFER |
| D | ASSIGNMENT OF COMMERCIAL LEASE (HAWAII) |
| DC | DECLARATION |
| DD | DEED OF DISTRIBUTION |
| DE | DEED |
| DG | DEED OF GUARDIAN |
| DL | DEED IN LIEU OF FORECLOSURE |
| DS | DISTRESS SALE |
| DV | DIVORCE/DISSOLUTION OF MARRIAGE TRANSFER |
| E | ASSIGNMENT OF LEASE (LEASEHOLD SALE) (HAWAII) |
| ED | EXECUTOR'S DEED |
| EX | EXCHANGE |
| F | ASSIGNMENT OF SUB AGREEMENT OF SALE (HAWAII) |
| FD | FIDUCIARY DEED |
| G | ASSIGNMENT OF SUB COMMERCIAL LEASE (HAWAII) |
| GD | GRANT DEED |
| GF | GIFT DEED |
| GL | GROUND LEASE |
| H | ASSIGNMENT OF SUB LEASE (HAWAII) |
| I | CANCELLATION OF AGREEMENT OF SALE (HAWAII) |
| ID | INDIVIDUAL DEED |
| IT | INTRAFAMILY TRANSFER & DISSOLUTION |
| J | COMMERCIAL LEASE (HAWAII) |
| JT | JOINT TENANCY DEED |
| K | COMMISSIONERS ASSIGNMENT OF LEASE (HAWAII) |
| L | LEASE (HAWAII) |
| LA | LEGAL ACTION/COURT ORDER |
| LC | LAND CONTRACT |
| LM | LAND COURT (MASSACHUSETTS) |
| LW | LIMITED WARRANTY DEED |
| M | LEASEHOLD CONV. WITH AGREEMENT OF SALE (FEE PURCHASE) (HAWAII) |
| N | LEASEHOLD CONV. WITH AN AGREEMENT OF SALE (HAWAII) |
| O | RELEASE/SATISFACTION OF AGREEMENT OF SALE (LEASEHOLD) (HAWAII) |
| OT | OTHER |
| OW | OWELTY DEED/OWELTY AGREEMENT |
| P | SATISFACTION OF LAND CONTRACT (WI) OR RELEASE/SATISFACTION OF AGREEMENT OF SALE (FEE PROPERTY) (HI) |
| PA | PUBLIC AUCTION (TAX SALE) |
| PD | PARTNERSHIP DEED |
| PR | PERSONAL REPRESENTATIVES DEED |
| Q | SUB AGREEMENT OF SALE (HAWAII) |
| QA | QUIT CLAIM DEED (ARM'S LENGTH) |
| QC | QUIT CLAIM DEED |
| R | SUB COMMERCIAL LEASE (HAWAII) |
| RC | RECEIVER'S DEED |
| RD | REDEMPTION DEED |
| RE | REO SALE (REO OUT) |
| RF | REFEREE'S DEED |
| S | SUB LEASE (HAWAII) |
| SD | SHERIFF'S DEED |
| SM | SPECIAL MASTER DEED |
| SV | SURVIVORSHIP DEED |
| SW | SPECIAL WARRANTY DEED |
| TD | TRUST DEED |
| TO | TRANSFER ON DEATH DEED |
| VL | VENDOR'S LIEN DEED |
| WD | WARRANTY DEED |
Sale-qualification codes as assigned **before August 19, 2026** (`TQ####` ids under their pre-release meanings — these differ from the current table). This is the former bulk-record member name for what is now `salesHistory[].qualification`; present wherever a reviewed qualification signal was recorded, absent otherwise.
| Code | Description |
| - | - |
| TQ0001 | ADJACENT-OWNER TRANSFER |
| TQ0002 | CONSIDERATION-DISCREPANT TRANSFER |
| TQ0003 | CONVENIENCE OR TRUST TRANSFER |
| TQ0004 | CORRECTIVE OR TITLE-IMPAIRED TRANSFER |
| TQ0005 | COURT-ORDERED OR BANKRUPTCY SALE |
| TQ0006 | ESTATE OR RETAINED-INTEREST TRANSFER |
| TQ0007 | FORECLOSURE OR LENDER SALE |
| TQ0008 | FRAUD-IMPAIRED TRANSFER |
| TQ0009 | GIFT TRANSFER |
| TQ0010 | GOVERNMENT OR EXEMPT-ENTITY TRANSFER |
| TQ0011 | MULTI-PARCEL TRANSFER |
| TQ0012 | NON-MARKET FINANCING OR CONTRACT TRANSFER |
| TQ0013 | NON-MARKET OR FORCED TRANSFER |
| TQ0014 | OPTION-EXERCISE TRANSFER |
| TQ0015 | PARTIAL-INTEREST TRANSFER |
| TQ0016 | PARTIAL-PARCEL TRANSFER |
| TQ0017 | PERSONAL PROPERTY INCLUDED |
| TQ0018 | PROPERTY EXCHANGE |
| TQ0019 | PROPERTY OR ASSESSMENT CHANGE AFFECTING SALE COMPARABILITY |
| TQ0020 | RELATED-PARTY TRANSFER |
| TQ0021 | RESOURCE-RIGHTS TRANSFER |
| TQ0022 | VALID ARM'S-LENGTH SALE |
| Code | Description |
| - | - |
| ADJ | ADJUSTABLE RATE MORTGAGE |
| AIT | ALL INCLUSIVE DEED OF TRUST (LEGACY) |
| AITD | ALL INCLUSIVE DOT-LEGACY |
| BAL | BALLOON |
| FIX | FIXED RATE MORTGAGE |
| MUL | MULTIPLE LOAN AMOUNTS |
| OTH | OTHER/NON-STANDARD |
| STP | STEP RATE MORTGAGE |
| UNK | UNKNOWN |
| VAR | VARIABLE RATE MORTGAGE |
The current V3 field stores the source-native numeric values `1`–`6`; this table decodes those values as stored.
| Code | Description |
| - | - |
| 1 | HELOC |
| 2 | REFI/2ND TRUST DEED |
| 3 | RESALE PURCHASE MONEY |
| 4 | CONSTRUCTION |
| 5 | NEW RESIDENTIAL PURCHASE MONEY |
| 6 | NON-RESIDENTIAL MORTGAGE |
Loan program/type.
| Code | Description |
| - | - |
| 1 | STAND ALONE FIRST |
| 2 | STAND ALONE SECOND |
| 3 | ARM (ADJUSTABLE RATE MORTGAGE) |
| 4 | AMOUNT KEYED IS AN AGGREGATE AMOUNT |
| 5 | USDA |
| 6 | CLOSED-END MORTGAGE |
| 7 | ASSUMPTION |
| 8 | CONSTRUCTION LOAN |
| 9 | CASH |
| 10 | DOWN PAYMENT LOAN |
| 11 | HELOC |
| 12 | FHA |
| 13 | FANNIE MAE/FREDDIE MAC (FANNIE MAE TYPICALLY DOES NOT ORIGINATE LOANS DIRECTLY TO BORROWERS OR INVESTORS. MOST "NEW CONVENTIONAL" LOANS MEET THEIR GENERAL UNDERWRITING GUIDELINES.) |
| 14 | BALLOON |
| 15 | FARMERS HOME ADMINISTRATION |
| 16 | NEGATIVE AMORTIZATION |
| 17 | LOAN AMOUNT \$1-9 BILLION |
| 18 | LAND CONTRACT (AGREEMENT OF SALE) |
| 19 | MORTGAGE MODIFICATION |
| 20 | NEW CONVENTIONAL |
| 21 | COMMERCIAL |
| 22 | PURCHASE MONEY MORTGAGE |
| 23 | UNDEFINED/MULTIPLE AMOUNTS |
| 24 | STAND ALONE REFI (REFINANCE OF ORIGINAL LOAN) |
| 25 | SELLER TAKE-BACK |
| 26 | LOAN AMOUNT \$10-99 BILLION |
| 27 | UNKNOWN |
| 28 | VA |
| 29 | FUTURE ADVANCE CLAUSE/OPEN END MORTGAGE |
| 30 | TRADE |
| 31 | STATE VETERANS (CODE PHASED OUT AUGUST 17, 2020) |
| 32 | REVERSE MORTGAGE |
| 33 | NON PURCHASE MONEY MORTGAGE |
| 34 | SBA LOAN |
Adjustment interval on adjustable-rate mortgages. A very small share of records (\<0.01%) carry rare source codes not in this table.
| Code | Description |
| - | - |
| 2 | TWO YEARS |
| 3 | THREE YEARS |
| 4 | FOUR YEARS |
| 7 | SEVEN YEARS |
| A | ANNUALLY |
| E | FIFTEEN YEARS |
| F | FIVE YEARS |
| M | MONTHLY |
| Q | QUARTERLY |
| S | SEMI-ANNUALLY |
| T | TEN YEARS |
Involuntary-lien record type. This table lists the codes present in the current data generation.
| Code | Description |
| - | - |
| FLN | FEDERAL TAX LIEN |
| FLNAMD | FEDERAL TAX LIEN AMENDMENT |
| FLNEST | FEDERAL ESTATE TAX LIEN |
| FLNFIL | FEDERAL TAX LIEN REFILING |
| FLNINH | FEDERAL INHERITANCE TAX LIEN |
| FLNMOD | FEDERAL TAX LIEN MODIFICATION |
| FLNNON | FEDERAL TAX LIEN NON-ATTACHMENT |
| FLNPRL | FEDERAL TAX LIEN PARTIAL RELEASE |
| FLNREL | FEDERAL TAX LIEN RELEASE |
| FLNSUB | FEDERAL LIEN SUBORDINATION |
| SLN | STATE TAX LIEN |
| SLNAMD | STATE TAX LIEN AMENDMENT |
| SLNEST | STATE ESTATE TAX LIEN |
| SLNEXT | STATE TAX LIEN EXTENSION |
| SLNINH | STATE INHERITANCE TAX LIEN |
| SLNMOD | STATE TAX LIEN MODIFICATION |
| SLNPRL | STATE TAX LIEN PARTIAL RELEASE |
| SLNREL | STATE TAX LIEN RELEASE |
| SLNSBE | STATE BOARD OF EQUALIZATION LIEN |
| SLNSUB | STATE LIEN SUBORDINATION |
| UCC | FINANCING STATEMENT |
| UCCAMD | FINANCING STATEMENT AMENDMENT |
| UCCASN | FINANCING STATEMENT ASSIGNMENT |
| UCCCON | FINANCING STATEMENT CONTINUATION |
| UCCMOD | FINANCING STATEMENT MODIFICATION |
| UCCOGL | FINANCING STATEMENT - OIL & GAS LEASE COLLATERAL |
| UCCOOP | FINANCING STATEMENT - COOP |
| UCCPRA | FINANCING STATEMENT PARTIAL ASSIGNMENT |
| UCCPRL | FINANCING STATEMENT PARTIAL RELEASE |
| UCCREL | FINANCING STATEMENT RELEASE |
| UCCSUB | FINANCING STATEMENT SUBORDINATION |
| UCCTER | FINANCING STATEMENT TERMINATION |
Foreclosure record type. The flat shape exposes the most recent record's type as top-level `forecloseCode`.
| Code | Description |
| - | - |
| CO | COURT ORDER |
| FJ | FINAL JUDGMENT |
| LP | LIS PENDENS |
| ND | NOTICE OF DEFAULT |
| NF | NOTICE OF FORECLOSURE |
| NS | NOTICE OF SALE |
| NT | NOTICE OF TRUSTEE SALE |
| O | QUIT CLAIM DEED (ARM'S LENGTH) |
| RL | RELEASE |
| S | RE-RECORDED POWER OF ATTORNEY TO FORECLOSE |
| V | AFFIDAVIT - NOTICE OF SALE (PUBLISHED OR MAILED) |
| W | POWER OF ATTORNEY TO FORECLOSE MORTGAGE |
### Reused code families
These paths reuse a table documented above; they are aliases, not additional code families.
| Code family | Additional field path | Surface |
| - | - | - |
| `propertyClassification.propertyUseCode` | `useCode (top-level convenience key)` | v3 record |
| `propertyClassification.propertyUseCode` | `landInformation.landUseCode` | v3 record |
### Flat-shape field names (v2-compatible)
The v2-compatible flat shape exposes these families under flat field names; the tables above apply unchanged.
| v3 record path | Flat-shape field |
| - | - |
| `propertyClassification.propertyUseCode` | `useCode` |
| `buildingInformation.buildings[].wallType` | `wallType` |
| `buildingInformation.buildings[].roofType` | `roofType` |
| `buildingInformation.buildings[].roofStyle` | `roofStyle` |
| `buildingInformation.buildings[].floorType` | `floorType` |
| `buildingInformation.buildings[].basementType` | `basementType` |
| `buildingInformation.buildings[].constructionType` | `constructionType` |
| `buildingInformation.buildings[].garageType` | `garageType` |
| `buildingInformation.buildings[].poolCode` | `poolCode` |
| `legalInformation.lotCode` | `lotCode` |
| `salesHistory[].saleDocumentType` | `transferDocType` |
| `salesHistory[].buyerIDCode` | `buyerIDCode` |
| `salesHistory[].buyerVestingCode` | `buyerVestingCode` |
| `salesHistory[].salePriceCode` | `transfers[].saleCode` — serves current `TQ####` ids (see that accordion) |
| `foreclosures[].recordType` | `forecloseCode` |
| `buildingInformation.buildings[].styleCode` | `styleDesc` |
### Free-text fields
`propertyClassification.zoning`, `propertyClassification.stateLandUseCode`, `propertyClassification.countyLandUseCode`, and `taxInformation.taxDistrictCode` are jurisdiction-issued values, not members of one national code system. No global decode table exists or should be inferred; interpret them within the issuing jurisdiction.
### foundationType
`buildingInformation.buildings[].foundationType` exists in the V3 schema, but it has no populated values in the released `2026-08-11` full-record snapshot. It therefore has no active V3 decode table.
### Self-describing bulk members
Some bulk-record members carry readable values rather than codes and need no decode table: `buildingInformation.buildings[].buildingAreas[].areaType` (area names such as `Ground Floor`, `Gross`, `Garage`, `Basement`), `valuationInformation.exemptions[].exemptionType` (`Homestead`, `Senior`, `Veteran`, ...), `mortgages[].lienPosition` (`first` / `second`), `mortgages[].termUnit` (`months`), `mortgages[].riders` (rider names such as `PUD`, `Condominium`, `Balloon`), `mortgages[].adjustableRateIndex` (index names such as `LIBOR1YR`, `PRIME`), `mortgages[].assignmentsReleases[].recordType` (`assignment` / `release`), `taxInformation.taxStatus` (`delinquent`), and `taxInformation.taxDistrictCode` (county-issued district names, free text).
# Changelog
Source: https://docs.realie.ai/api-reference/v3/changelog
Data and contract changes in the Realie Property Data API.
**Full property records on comparables.**
[Premium Comparables Search](/api-reference/v3/premium/premium-comparables-search)
accepts a new optional parameter, **`full`**. With
`full=true`, each comparable carries a **`property`** object holding
the comparable's full property record (year built, lot size, pool, and every other
field) in the same response shape your account receives from
[Parcel ID Lookup](/api-reference/v3/property/parcel-id-lookup): the nested v3
record for accounts on the v3 response shape, the v2-compatible flat record
otherwise.
* The comparable's own `transferPrice` and `transferDateObject` still describe its
qualifying sale. Sale fields inside `property` come from the parcel's own sales
record, so they can differ.
* The comparables returned, their order, the filters, and the token cost are
unchanged. Responses are much larger with the parameter on.
* Without the parameter, or with `full=false`, responses are
unchanged.
**Parcel ID Lookup by `realieParcelId` alone.**
[Parcel ID Lookup](/api-reference/v3/property/parcel-id-lookup) now accepts a
stored `realieParcelId` without `state` and `county`. The id carries its own
jurisdiction (the 5-digit county FIPS code, a hyphen, then the APN with spaces
written as `~`), so `state` and `county` are now optional.
* With `state` and `county`, lookups work as before: `parcelId` may be the
assessor's APN or a `realieParcelId` in that county.
* Without them, `parcelId` is interpreted only as a `realieParcelId`. A value that
is not a valid `realieParcelId` returns `400`.
* If you pass just one of `state` or `county` with a `realieParcelId`, it must
match the id's county. A mismatch returns `400`.
**`permits[]` — schema documented, data not yet populated.** The v3 parcel
record includes a `permits` array for building and construction permits sourced
from issuing jurisdictions. The field and its entry shape are documented in the
[Property Data Schema (v3)](/api-reference/v3/property-data-schema), but
**permit data is not currently populated** in live API or bulk responses — the
array may be absent or empty. Population is **expected November 2026** (target
date, not a guaranteed SLA).
**Foreclosure history union.** Foreclosure records from the pre-v3 pipeline —
events the current source feed does not carry, largely pre-2020 — are restored
into the `foreclosures[]` array, deduplicated against the existing entries (a
legacy record is skipped when a record within ±30 days of its recording date is
already present). What this changes:
* Restored entries carry `recordingDate`, `caseNumber`, `auctionDate`, and a new
member **`foreclosures[].fileDate`** — the court filing date, when distinct
from the recording date; the legacy pipeline recorded both.
* Restored entries carry `recordType` `FR0001` (lis pendens class) or `FR0008`
(notice-of-sale class). Legacy event classes with no equivalent code in the
published vocabulary (late-stage/REO and unknown classes) carry **no
`recordType`** — the member may now be absent on restored records.
* The flat field **`forecloseFileDate`** is restored, served from the latest
foreclosure record's `fileDate`. See the
[migration guide](/api-reference/v3/migration) for the updated field lists.
**`assignmentsReleases[].recordType` now populated.**
`mortgages[].assignmentsReleases[].recordType` (`assignment` / `release`) —
documented but never populated until now — carries a value from this snapshot
onward (99.8%+ of entries; null when the source record is ambiguous or
unmatched).
As of **August 20, 2026**, every Property Data API response is served from the v3
data generation, for all states. What this means per response shape:
* **Flat (default) shape** — the response structure is unchanged; values now come
from the v3 record through the compatibility projection. Coded fields carry only
letters whose meanings are published in the
[v2 legacy code tables](/api-reference/v2-legacy-code-tables); per-jurisdiction
vendor code values that had no published meaning are no longer reproduced (see
the [migration guide](/api-reference/v3/migration) for the field-level list).
* **Nested (v3) shape** — opt-in from the Usage page — carries the full v3 record,
including the Realie code system announced below, and
`salesHistory[].priceDerivation` (`PD####`), previously bulk-only. The flat
shape does not carry `priceDerivation`.
Decode every coded value with the
[Property Feature Field Key](/api-reference/v3/feature-key). If you captured
responses before this date, re-capture before validating decoders — earlier
responses came from the previous data generation.
Every normalized coded field of the v3 parcel record now stores a value from the
**Realie code system**, replacing the mix of inherited source vocabularies (the
deliberate exception is the jurisdiction-issued fields — `taxDistrictCode`,
county/state land-use codes, and `zoningInfo.zoningCode` — which carry each
jurisdiction's own value verbatim). This is the migration
announced at the v3 launch, now complete: one national codebook, applied identically
in API responses and bulk full-record exports, documented in full in the
[Property Feature Field Key](/api-reference/v3/feature-key).
**How coded values are represented.** Coded facts appear in one of three
representation classes:
* **Realie codes** (`XX####`) — a two-letter family prefix plus a four-digit number
(e.g. `RM0001`, COMPOSITION SHINGLE). The digits identify, they do not rank —
never compare or compute on them; decode with the published tables. The 4-digit
property-use vocabulary keeps its familiar form and unchanged code identities.
* **Integer ordinal and band scales** — genuinely ordered values: `building.quality`
and `building.condition` are integers on a 1–20 scale (two separate facts sharing
only the scale form), and the legacy length-of-residence, LTV-range, and
equity-range members are integer band indexes.
* **Numeric quantities** — real measurements stored as numbers, such as
`mortgages[].rateChangeFrequency` (an interval in years).
**The codebook is append-only.** Once published, a code id never changes meaning
and is never reused or renumbered. New codes join under the next free number, and
every addition is announced here. The append-only guarantee applies from this
release forward.
**Schema changes in this release**
* `salesHistory[].qualification` now carries the `TQ####` qualification code
(previously a Q/U flag), and a new boolean **`salesHistory[].armsLength`**
carries the derived arm's-length verdict. `salesHistory[].salePriceCode` is
removed — its content lives in `qualification`. The flat shape's
`transfers[].saleCode` now corresponds to `qualification`.
* Building systems are documented as structured objects: per-building
`characteristics` (buildingType, architecturalStyle, exteriorWall, roofMaterial,
quality, condition, parking, driveway, pool, amenities, and more), `heating`
(five facets: equipment, distribution, energySource, configuration, coverage),
and `cooling` — with top-level `building`, `heating`, and `cooling` summaries for
the primary building. They replace the former per-building `*Code` members
(`heatCode`, `airConditioningCode`, `qualityCode`, `conditionCode`, `styleCode`,
`wallType`, `roofType`, `floorType`, `basementType`, `constructionType`,
`garageType`, `poolCode`, `drivewayType`, and related label fields).
* Buyer information on sale events is now four facets — `buyerEntityType`,
`buyerRelationship`, `buyerRole`, `buyerVesting` — replacing `buyerIDCode` and
`buyerVestingCode`.
* `mortgages[].riders[]` and `buildingInformation.buildings[].buildingAreas[].areaType`
now carry codes (`RD####` / `BA####`) instead of ad-hoc labels;
`mortgages[].amortizationType` (`LA####`) is new; `mortgages[].rateChangeFrequency`
is now a numeric interval in years.
* `utilities` now carries `waterSource`, `sewer`, `gasService`, and
`electricService` as coded members; `landInformation` gains `roadAccess`,
`waterfrontType`, and `viewQuality`; `taxInformation` gains `taxClass`. Several
of these ship their vocabulary ahead of their data and populate in later releases.
* **Renamed:** `landInformation.topographyType` is now
**`landInformation.topography`**, carrying a `TP####` code. Nested-shape clients
reading the old key should switch; the field has no equivalent in the flat shape,
so flat-shape integrations are unaffected.
* **Zoning has one surface**: the `zoningInfo` object. Its `matchMethod`
distinguishes the two provenance tiers — `assessor_recorded` (baseline, from the
county assessor's own record) and `gis_point_in_polygon` (curated, from the
zoning jurisdiction's GIS layer). The duplicate raw member
`propertyClassification.zoning` is removed.
* Removed members no longer reproduced by the record:
`propertyClassification.propertyCategory`, `.propertyUse`, `.propertyClassCode`
(replaced by `propertyClass` as a `PC####` code), `landInformation.landUseCode`,
`generalInformation.utilities`, `taxInformation.assessmentClassification`,
`salesHistory[].deedType`, `.instrumentType`, `.instrumentCode`, and
`legacyOwnershipSummary.ownerOriginCode`.
**taxDistrictCode data change.** `taxInformation.taxDistrictCode` — exposed in the
flat shape as **`taxRateCodeArea`** — now carries the **assessor's tax-district
code** wherever the source provides one, carried verbatim as a jurisdiction-issued
value. Stored values change in Maryland, Delaware, and the District of Columbia as
part of this correction; if you keyed logic to previous values in those areas
(under either field name), re-sync from this release.
**Disclosure — values shipped empty pending documentation.** Across the national
dataset, 20,439 coded value-instances could not be confirmed against any published
source documentation at release time. Rather than guess, these ship empty — the
member is **omitted** from the record, as for any field with no value, not returned
as null — and are being backfilled **in place** as county documentation is
confirmed. Backfills add values under existing append-only vocabularies and never
change a published code's meaning. No action is needed; affected records simply
gain values in subsequent data cycles.
**Legacy (v2-compatible) flat shape.** The flat shape carries the same underlying
values, so its coded fields change with this release too; the decode tables on the
[legacy tab](/api-reference/feature-key) update at the same time. The
[v3 Feature Field Key](/api-reference/v3/feature-key) includes the flat-shape
field-name mapping.
The v3 API's standard response is now documented as the **full nested parcel
record** — matching bulk exports apart from delivery-specific fields such as the per-load `_id` — in the
[v3 Property Data Schema](/api-reference/v3/property-data-schema). The shape is an
**account-level setting**, and every API key on an account inherits it: new accounts
start on the nested shape; existing accounts continue to receive the
**v2-compatible flat shape** (the same v3 data through a compatibility layer), now
documented in the [legacy tab](/api-reference/property-data-schema), until they
enable the v3 shape from the dashboard's **Usage** page. Enabling it is one-way.
Field values and codes are identical between shapes.
The [Property Feature Field Key](/api-reference/v3/feature-key) now documents the
coded members carried by **bulk full-record exports** alongside the API response
fields — 37 decode tables in total, covering building systems (`heatCode`,
`qualityCode`, `conditionCode`, `styleCode`, ...), mortgage codes (`loanType`,
`interestRateType`, ...), lien and foreclosure record types, and the sale
qualification flag. Every published table is verified against the live national
data domain (1.19 billion additional coded values, 100% decode on 20 of 21 new
tables).
The API now serves the **v3 data generation** — a rebuilt national dataset on the same
endpoints and response shape.
**Data improvements**
* Sales history extends through **mid-May 2026** in most states (previously \~4 months
older), including ownership updates from recent sales.
* Per-unit parcel identity: every response carries a stable **`realieParcelId`**;
condo and multi-unit parcels resolve to their own records.
* Corrected building characteristics nationally (notably bathroom counts, which are
now decimal — `2.5` instead of a truncated `2`).
**Contract changes**
* A small set of v2 fields are renamed, restored under new names, or no longer
reproduced; several derived-description fields replace raw code fields. Full list in
the [migration guide](/api-reference/v3/migration).
* Some coded fields use different code vocabularies than v2. Decode every value with
the [Property Feature Field Key](/api-reference/v3/feature-key).
* Sale-qualification codes ship in the **Realie code system**: `transfers[].saleCode`
carries `TQ####` qualification codes wherever the source recorded a reviewed
qualification signal, and bulk exports include
the new `priceDerivation` (`PD####`) field recording how each price figure was
obtained.
**Coming**
* ~~Assessor code values will migrate to **Realie's own code system**~~ — **Shipped.**
The migration is complete and live in API responses as of August 20, 2026; see
the code-system entry above and the
[Property Feature Field Key](/api-reference/v3/feature-key) for every table.
* ~~`priceDerivation` exposure in API responses~~ — **Shipped August 20, 2026** on
the nested shape as `salesHistory[].priceDerivation`; the flat shape does not
carry it. (Bulk exports had it from launch.)
* Derived `qualified` booleans on post-March 2026 sale events arrive with the next
data cycle; `transfers[].saleCode` already carries the qualification codes.
# Property Feature Field Key (v3)
Source: https://docs.realie.ai/api-reference/v3/feature-key
Decode tables for every coded field of the v3 parcel record — the Realie code system
Every normalized coded field of the v3 parcel record stores a value from the **Realie code system** — one national codebook, applied identically in API responses and bulk full-record exports. The deliberate exception is the [jurisdiction-issued fields](#jurisdiction-issued-values) (`taxDistrictCode`, county/state land-use codes, `zoningInfo.zoningCode`): those carry each jurisdiction's own code verbatim and have no national decode table. This page is the complete decode reference: every code family, every code, and the fields that carry them. Field names below use the record's nested paths; the v2-compatible flat shape carries the same values under its flat field names (see the [flat-shape field names](#flat-shape-field-names-v2-compatible) at the bottom of this page).
## How the code system works
Coded facts appear in the record in one of three representation classes:
1. **Realie codes** (`XX####`) — a two-letter family prefix plus a four-digit number, e.g. `RM0001` (COMPOSITION SHINGLE) in the roof-material family. These identify *named things*: deed types, roof materials, loan products. The digits are an identifier, **not a rank** — `RM0002` is not "more" than `RM0001`, and the numbers must never be compared, sorted semantically, or used in arithmetic. Always decode them with the tables on this page. One family keeps its historical form: the property-use vocabulary remains the familiar 4-digit scheme (`1001`, `2000`, ...) with unchanged code identities.
2. **Integer ordinal and band scales** — values that really are ordered. `building.quality` and `building.condition` are integers on a 1–20 scale (higher is better); the legacy length-of-residence, LTV-range, and equity-range members are integer band indexes (ordered buckets). Ordinals compare *within* their own field only — a quality of 11 and a condition of 11 are unrelated facts.
3. **Numeric quantities** — real measurements stored as numbers with units, such as `mortgages[].rateChangeFrequency` (an interval in years). No decode table applies.
**The vocabulary is append-only from this release forward.** A code id published in this release keeps its meaning forever: ids are never renumbered, reused, or redefined. Coded values persisted from deliveries **before August 19, 2026** predate this guarantee — decode those against the [Pre-v3 Code Tables (Frozen)](/api-reference/v2-legacy-code-tables) archive, not the tables below. New codes join a family under the next free number, and every addition is announced in the [changelog](/api-reference/v3/changelog). You can safely persist decoded meanings, build logic on specific ids, and update your copy of these tables incrementally. Within each family the initial numbering was assigned by how common each code is nationally, so low numbers tend to be the common members — a convenience of the initial release, not a contract.
Some fields ship their vocabulary ahead of their data: the table exists, but no parcel carries a value yet. These are marked on their tables below and will populate in later data releases without any contract change.
## Classification
Broad property class of the parcel (`PC####`).
| Code | Description |
| - | - |
| PC0001 | RESIDENTIAL |
| PC0002 | VACANT |
| PC0003 | AGRICULTURAL |
| PC0004 | COMMERCIAL |
| PC0005 | EXEMPT |
| PC0006 | INDUSTRIAL |
| PC0007 | OFFICE |
| PC0008 | RECREATIONAL |
| PC0009 | TRANSPORTATION |
| PC0010 | AGRICULTURAL OR UNDEVELOPED |
| PC0011 | BLIGHTED |
| PC0012 | COMMERCIAL AND INDUSTRIAL |
| PC0013 | CONSERVATION |
| PC0014 | INSTITUTIONAL |
| PC0015 | MINERAL RIGHTS |
| PC0016 | MIXED USE |
| PC0017 | UTILITY |
Specific property use. Same 4-digit scheme and code identities as previous releases — an individual parcel can still receive a different code in a newer source delivery because its use or source classification changed. Migrate the vocabulary by code identity rather than translating one use code into another. The top-level convenience key `useCode` carries the same value.
| Code | Description |
| - | - |
| 0010 | Miscellaneous (General) |
| 0011 | Pipeline or Right-of-Way |
| 0012 | Rail (Right-of-way & track) |
| 0013 | Road (Right-of-way) |
| 0014 | Utilities (Right-of-way ONLY) |
| 0015 | Sub-Surface Rights (mineral) |
| 0016 | Surface Rights (Grazing, timber, coal,) |
| 0017 | Leasehold Rights (misc.) |
| 0018 | Possessory Interest (misc.) |
| 0019 | Petroleum & Gas Wells (misc.) |
| 0020 | Water Rights (misc.) |
| 0021 | Right-of-Way (not rail, road or utility) |
| 0022 | Easement (misc.) |
| 0023 | Homestead (Misc.) |
| 0024 | Common Area (misc.) |
| 0025 | Royalty Interest |
| 0026 | Working Interest |
| 0027 | Parcels with improvements, Use Not Specified |
| 0500 | Personal Property General |
| 0510 | Vehicles General |
| 0511 | Motor Vehicles (cars, trucks, etc.) |
| 0512 | Recreational Vehicles / Travel Trailers |
| 0513 | Watercraft (ships, boats, PWCs, etc. |
| 0514 | Aircraft |
| 0515 | Rolling stock (railroad) |
| 0516 | SpaceCraft |
| 0519 | Misc vehicles not otherwise classed (antiques, etc.) |
| 0520 | Business Personal Property General |
| 0521 | Enquipment / Supplies |
| 0522 | Inventory |
| 0523 | Goods in transit |
| 0524 | Livestock (animals, fish, birds, etc.) |
| 0525 | Crops (in ground) |
| 0526 | Crops (harvested) |
| 0529 | Misc Business Personal not classed |
| 0530 | Structures (general) |
| 0532 | Structures on leased land |
| 0533 | Temporary Structures |
| 0539 | Misc. structures not classed (billboards, etc. |
| 0540 | Intangable personal property |
| 0599 | Misc. Property not classed |
| 0714 | Forest |
| 0752 | Park |
| 1000 | Residential (General) (Single) |
| 1001 | Single Family Residential |
| 1002 | Townhouse (Residential) |
| 1003 | Cluster home (Residential) |
| 1004 | Condominium Unit (Residential) |
| 1005 | Cooperative Unit (Residential) |
| 1006 | Mobile/Manufactured Home (regardless of Land ownership) |
| 1007 | Row house (Residential) |
| 1008 | Rural/Agricultural Residence |
| 1009 | Planned Unit Development (PUD Residential) |
| 1010 | Residential Common Area (Condo/PUD/etc.) |
| 1011 | Timeshare (Residential) |
| 1012 | Seasonal, Cabin, Vacation Residence |
| 1013 | Bungalow (Residential) |
| 1014 | Zero Lot Line (Residential) |
| 1015 | Misc Residential Improvement |
| 1016 | Modular/Pre-Fabricated Homes |
| 1017 | Patio Home |
| 1018 | Garden Home |
| 1019 | Landominium |
| 1020 | Barndominium |
| 1021 | Tiny House |
| 1022 | Single Family Residential w/ADU |
| 1023 | Accessory Dwelling Unit (ADU) |
| 1024 | Single Family Residential - Two or more SFR on one parcel |
| 1025 | Horizontal Property Regime |
| 1100 | Residential Income (General) (Multi-Family) |
| 1101 | Duplex (2 units, any combination) |
| 1102 | Triplex (3 units, any combination) |
| 1103 | Quadruplex (4 units, any combination) |
| 1104 | Apartment house (5+ units) |
| 1105 | Apartment house (100+ units) |
| 1106 | Garden Apt, Court Apt (5+ units) |
| 1107 | Highrise Apartments |
| 1108 | Boarding House, Rooming House, Apt Hotel, Transient Lodgings, Hostel |
| 1109 | Mobile Home or Trailer Park |
| 1110 | Multi-Family Dwellings (Generic, 2+) |
| 1111 | Fraternity or Sorority House |
| 1112 | Apartments (generic) |
| 1113 | Dormitory, Group Quarters (Residential) |
| 1114 | Residential Condominium Development (Association Assessment) |
| 1115 | Care Facility (rehab; retirement, rest, convalescent, or nursing home) |
| 1124 | Condominium Building (Residential) |
| 1125 | Cooperative Building (Residential) |
| 1126 | Apartment House (fewer than 5 units) |
| 1901 | Residential Parking Garage |
| 1902 | Residential Storage Space is mainly applied to storage spaces that are assessed separately from their correlated Condos |
| 1999 | Single Family Residential (Assumed) |
| 2000 | Commercial (General) |
| 2001 | Retail Stores (Personal Services, Photography, Travel) |
| 2002 | Store (multi-story) |
| 2003 | Store/Office (mixed use) |
| 2004 | Department Store (apparel, household goods, furniture) |
| 2005 | Department Store (multi-story) |
| 2006 | Grocery, Supermarket |
| 2007 | Regional Shopping Center or Mall with Anchor store |
| 2008 | Community Shopping Plaza or Shopping Center, Mini-Mall |
| 2009 | Neighborhood Shopping Center, Strip Center/Mall, Enterprise Zone |
| 2010 | Shopping Center COMMON AREA parking, park etc. |
| 2011 | Veterinary or Animal Hospital |
| 2012 | Restaurant |
| 2013 | Fast Food Restaurant / Drive-thru |
| 2014 | Take-out Restaurant |
| 2015 | Bakery |
| 2016 | Bar, Tavern |
| 2017 | Liquor Store |
| 2018 | Convenience store |
| 2019 | Convenience Store with fuel |
| 2020 | Service station (full service) |
| 2021 | Service station w/convenience store (food mart) |
| 2022 | Truck stop (fuel and diner) |
| 2023 | Vehicle Rentals, Vehicle Sales |
| 2024 | Auto repair, auto parts, Garage |
| 2025 | Car wash |
| 2026 | Dry Cleaner, Laundry Service |
| 2027 | Service Shop |
| 2028 | Nursery, Greenhouse, Florist |
| 2029 | Wholesale Outlet, Discount Store |
| 2030 | Printer/Delivery - Retail (Kinkos, UPS, FedEx, etc.) |
| 2031 | Mini-Warehouse, Self-Storage |
| 2032 | Day care, Pre-school (Commercial) |
| 2033 | Motel |
| 2034 | Hotel |
| 2035 | Parking Garage, Parking Structure |
| 2036 | Parking Lot |
| 2037 | Funeral Home, Mortuary (Commercial) |
| 2038 | Casino |
| 2039 | Hotel-Resort |
| 2040 | Hotel or Motel |
| 2041 | Gas Station |
| 2042 | Retail/Residential (mixed use) |
| 2043 | Commercial Building |
| 2044 | Commercial/Office/Residential (mixed use) |
| 2045 | Appliance Store (Best Buy, HH Gregg) |
| 2046 | Kennel |
| 2047 | Laundromat (self-service) |
| 2048 | Nightclub (Cocktail Lounge) |
| 2050 | Farm Supply & Equipment (retail) |
| 2051 | Home Improvement, Garden Center (Home Depot, Lowes) |
| 2052 | Commercial Condominium (not offices) |
| 2053 | Drug Store / Pharmacy (CVS, Walgreens) |
| 2054 | Bed & Breakfast |
| 2055 | Barber/Hair Salon |
| 2056 | Pet Boarding & Grooming |
| 2057 | Roadside Market |
| 2058 | Car Wash - Automated |
| 2059 | Car Wash - Self-Serve |
| 2060 | Cannabis Dispensary |
| 2061 | Lumberyard, Building Materials |
| 2062 | Hardware Store |
| 2063 | Furniture, Home Furnishings |
| 2064 | Antiques, Flea Market |
| 2065 | Consignment |
| 2066 | Thrift Store, Secondhand Store |
| 2067 | Books, Stationary |
| 2068 | Computer, Software |
| 2069 | Clothing, Shoes, Luggage, Jewelry, etc. |
| 2070 | Sporting Goods, Toy & Hobby, Music |
| 2071 | Confectionery, Candy, Nuts |
| 3000 | Commercial Office (General) |
| 3001 | Professional Bldg (legal; insurance; real estate; etc.) |
| 3002 | Professional Bldg (multi-story) |
| 3003 | Office Bldg (General) |
| 3004 | Office Bldg (multi-story) |
| 3005 | Dental Bldg |
| 3006 | Medical Bldg/Clinic |
| 3007 | Financial Bldg |
| 3008 | Condominium Offices |
| 3009 | Skyscraper/Highrise (Commercial Offices) |
| 3010 | Commercial/Industrial (mixed use) |
| 3011 | Common Area (commercial) |
| 3012 | Mobile Commercial Units |
| 3013 | Accounting, Tax, Payroll, Employment Services |
| 3014 | Professional Schools: Beauty, Trade/Vocational, Driving, Flight |
| 4000 | Recreational/Entertainment (General) |
| 4001 | Recreation Center |
| 4002 | Public Swimming Pool |
| 4003 | Boat slips, Marina, Yacht Club, Boat Landing |
| 4004 | Bowling Alley |
| 4005 | Arcades (Amusement) |
| 4006 | Skating rink, Ice Skating, Roller Skating |
| 4007 | Clubs, Lodges, Professional Associations |
| 4008 | Museums, Library, Art Gallery |
| 4009 | Country Club |
| 4010 | Stadiums |
| 4011 | Arenas, Convention Center |
| 4012 | Auditoriums |
| 4013 | Golf Driving Range |
| 4014 | Race track |
| 4015 | Gym, Health Spa |
| 4016 | Dance Hall |
| 4017 | Riding Stable, Trails |
| 4018 | Campground, RV Park |
| 4019 | Fairgrounds |
| 4020 | Theater |
| 4021 | Drive-In Theater |
| 4022 | Amusement Park, Tourist Attraction |
| 4023 | Piers, Wharf |
| 4024 | Fish Camps, Game Club, Target Shooting |
| 4025 | Outdoor Recreation: Beach, Mountain, Desert |
| 4026 | Pool Hall, Billiard Parlor |
| 4027 | Park, Playground, Picnic Area |
| 4028 | Golf Course |
| 4029 | Racquet or Tennis Court |
| 4030 | Zoo |
| 4031 | Go-carts, Miniature Golf, Water slides |
| 4032 | Sports Complex |
| 4033 | Clubhouse |
| 4034 | Wedding/Event Venue |
| 5000 | Industrial (General) |
| 5001 | Manufacturing (light) |
| 5002 | Light Industrial |
| 5003 | Warehouse (Industrial) |
| 5004 | Storage yard, Open Storage (light equipment, material) |
| 5005 | Food Packing, Packing Plant |
| 5006 | Assembly (light industrial) |
| 5007 | Food Processing |
| 5008 | Recycling plant |
| 5009 | Communications |
| 5010 | Condominiums (Industrial) |
| 5011 | Laboratory, Research and Development Facility, Cosmetics, Pharmaceutical |
| 5012 | Industrial Park |
| 5013 | Multi-Tenant Industrial Bldg |
| 5014 | Marine Facility/Boat Repairs (small craft or sailboat) |
| 5015 | Lumber & Wood Product Manufacturing (including furniture) |
| 5016 | Paper Product Manufacturing & related products |
| 5017 | Printing & Publishing (Light Industrial) |
| 5018 | Industrial Loft Building, Loft Building |
| 5019 | Construction/Contracting Services (Industrial) |
| 5020 | Common Area (Industrial) |
| 5021 | Data Center |
| 6000 | Heavy Industrial (General) |
| 6001 | Transportation |
| 6002 | Distribution Warehouse (Regional) |
| 6003 | Mining facility (oil; gas; mineral, precious metals) |
| 6004 | Storage yard (junk; auto wrecking, salvage) |
| 6005 | Distillery, Brewery, Bottling |
| 6006 | Refinery, Petroleum Products |
| 6007 | Mill |
| 6008 | Factory (medium) |
| 6009 | Processing Plant |
| 6010 | Lumberyard, Building Materials |
| 6011 | Shipyard/Storage - Built or Repaired (seagoing vessels) |
| 6012 | Slaughter House, Stockyard |
| 6013 | Waste Disposal, Sewage, Treatment facility |
| 6014 | Quarries |
| 6015 | Heavy Manufacturing |
| 6016 | Labor Camps (Industrial) |
| 6017 | Winery |
| 6018 | Chemical |
| 6019 | Foundry, Industrial Plant |
| 6020 | Cannery |
| 6021 | Gasoline, Fuel Bulk Storage |
| 6022 | Grain Elevator |
| 6023 | Dump Site |
| 6024 | Cold Storage |
| 6025 | Sugar Refinery |
| 6500 | Transportation & Communications (General) |
| 6501 | Airport & related |
| 6502 | Railroad & related |
| 6503 | Freeways, State Hwys |
| 6504 | Roads, Streets, Bridges |
| 6505 | Bus Terminal |
| 6506 | Telegraph, Telephone Communications |
| 6507 | Radio or TV Station Communications |
| 6508 | Truck Terminal (Motor Freight) |
| 6509 | Cable TV Station Communications |
| 6510 | Harbor & Marine Transportation |
| 6511 | Microwave |
| 6512 | Commercial Auto Transportation/Storage |
| 6513 | Pollution Control |
| 6514 | Cellular |
| 7000 | Agricultural / Rural |
| 7001 | Farm land |
| 7002 | Ranch |
| 7003 | Range land (grazing) |
| 7004 | Crop, Field Crops, Row Crops (all soil classes) |
| 7005 | Orchard (fruit; nut) |
| 7006 | Vineyard (Agricultural) |
| 7007 | Poultry Farm |
| 7008 | Dairy Farm |
| 7009 | Timberland, Forest, Trees (Agricultural) |
| 7010 | Wildlife Refuge |
| 7011 | Desert or Barren Land |
| 7012 | Pasture, Meadow |
| 7013 | Misc. Structures - Ranch, Farm, Fixtures |
| 7014 | Grove (Agricultural) |
| 7015 | Feedlots |
| 7016 | Livestock parcel |
| 7017 | Horticulture, Growing Houses (Agricultural) |
| 7018 | Well Site (Agricultural) |
| 7019 | Truck Crops (tobacco; cash crops) |
| 7020 | Reservoir, Water Supply |
| 7021 | Irrigation, Flood Control |
| 7022 | Natural Resources |
| 7023 | Rural Improved / Non-Residential |
| 7024 | Cannabis Grow Facility |
| 8000 | Vacant Land (General) |
| 8001 | Residential-Vacant Land |
| 8002 | Commercial-Vacant Land |
| 8003 | Industrial-Vacant Land |
| 8004 | Private Preserve, Open Space-Vacant Land (Forest Land, Conservation) |
| 8005 | Institutional-Vacant Land |
| 8006 | Government-Vacant Land |
| 8007 | Multi-Family-Vacant Land |
| 8008 | Rural/Agricultural-Vacant Land |
| 8009 | Waste Land, Marsh, Swamp |
| 8010 | Recreational-Vacant Land |
| 8011 | Water Area (Lakes; River; Shore) |
| 8012 | Unusable Land (Remnant, Steep, etc.) |
| 8013 | Abandoned Site, Contaminated Site |
| 8014 | Under Construction |
| 8015 | Vacant Land - Destroyed/Uninhabitable Improvement |
| 8016 | Vacant Land - Unspecified Improvement |
| 8017 | Vacant Land - Exempt |
| 8500 | Special Purpose |
| 8501 | State Board of Equalization - Special Assessments |
| 8502 | Regulating Districts & Assessments; Tax Abatement |
| 8503 | Redevlopment Agency or Zone |
| 8504 | Centrally Assessed |
| 9000 | Exempt (full or partial) |
| 9001 | Native American Lands / American Indian Lands |
| 9100 | Institutional (General) |
| 9101 | Religious, Church, Worship |
| 9102 | Parochial School, Private School |
| 9103 | Educational - PRIVATE |
| 9104 | Hospital-PRIVATE |
| 9105 | Medical Clinic |
| 9106 | Retired, Handicap, Convalescent, Nursing Home |
| 9107 | Childrens Home, Orphanage |
| 9108 | Cemetery (Exempt) |
| 9109 | Crematorium, Mortuary (Exempt) |
| 9110 | Charitable organization |
| 9111 | Recreational Non-Taxable (Camps, Boy/Girl Scouts) |
| 9112 | Private Utility (electric, water, gas, nuclear, solar, wind, etc.) |
| 9200 | Governmental/Public Use (General) |
| 9201 | Military |
| 9202 | Forest (park; reserve; recreation, conservation) |
| 9203 | Public School |
| 9204 | Educational Colleges, University-PUBLIC |
| 9205 | Post Office |
| 9206 | Cultural, Historical |
| 9207 | Govt. Administrative Office |
| 9208 | Emergency (Police; Fire; etc) |
| 9209 | Other exempt property |
| 9210 | City, Municipal, Town, Village Owned |
| 9211 | County Owned |
| 9212 | State Owned |
| 9213 | Federal Property |
| 9214 | Public Health Care Facility |
| 9215 | Community Center |
| 9216 | Public Utility (electric, water, gas, nuclear, solar, wind, etc.) |
| 9217 | Welfare, Social Service, Low Income Housing (Exempt) |
| 9218 | Correctional Facility, Jails, Prisons, Insane Asylum |
| 9219 | Hospital-PUBLIC |
| 9300 | Historical-PRIVATE (General) |
| 9301 | Historical Residence |
| 9302 | Historical Retail |
| 9303 | Historical Warehouse |
| 9304 | Historical Office |
| 9305 | Historical Transient Lodging (hotel/motel) |
| 9307 | Historical Recreation, Entertainment |
| 9308 | Historical Park / Site |
| 9309 | Historical District |
## Building characteristics
Each table in this section applies in two places: the top-level `building` object (the parcel's primary-building summary) and the per-building mirror under `buildingInformation.buildings[].characteristics`. `building.quality` and `building.condition` are integer ordinals — see [Ordinal scales](#ordinal-scales-and-numeric-quantities).
Specific building form (`BT####` — manufactured house, duplex, row home, ...).
| Code | Description |
| - | - |
| BT0001 | MANUFACTURED HOUSE |
| BT0002 | TOWNHOUSE |
| BT0003 | DUPLEX |
| BT0004 | MULTI-UNIT RESIDENTIAL BUILDING |
| BT0005 | ROW HOME |
| BT0006 | TRIPLEX |
| BT0007 | QUADPLEX |
| BT0008 | MANSION |
| BT0009 | PATIO HOME |
| BT0010 | TINY HOUSE |
| BT0011 | GARAGE APARTMENT |
| BT0012 | COACH / CARRIAGE HOUSE |
| BT0013 | AUTOMOTIVE FACILITY |
| BT0014 | COMMUNITY / CIVIC FACILITY |
| BT0015 | EDUCATIONAL FACILITY |
| BT0016 | FINANCIAL / BANK BUILDING |
| BT0017 | FLEX BUILDING |
| BT0018 | FUNERAL / MORTUARY |
| BT0019 | GOVERNMENT / PUBLIC BUILDING |
| BT0020 | HEALTHCARE / CARE FACILITY |
| BT0021 | HOTEL / MOTEL |
| BT0022 | HOUSE |
| BT0023 | INDUSTRIAL / MANUFACTURING FACILITY |
| BT0024 | MIXED-USE BUILDING |
| BT0025 | OFFICE BUILDING |
| BT0026 | OTHER BUILDING |
| BT0027 | PARKING / GARAGE STRUCTURE |
| BT0028 | PERSONAL-SERVICE BUILDING |
| BT0029 | PUBLIC SAFETY FACILITY |
| BT0030 | RECREATIONAL / ENTERTAINMENT FACILITY |
| BT0031 | RESTAURANT / FOOD SERVICE FACILITY |
| BT0032 | RETAIL BUILDING |
| BT0033 | TRANSPORTATION FACILITY |
| BT0034 | WAREHOUSE / STORAGE FACILITY |
Property sub-type of the building (`PS####`).
| Code | Description |
| - | - |
| PS0001 | CONDOMINIUM UNIT |
Construction class of the building shell (`BC####` — fire-resistance and materials class).
| Code | Description |
| - | - |
| BC0001 | NON-COMBUSTIBLE EXTERIOR WITH COMBUSTIBLE INTERIOR |
| BC0002 | WOOD OR STEEL FRAME |
| BC0003 | FIRE-RESISTIVE STEEL FRAME |
| BC0004 | SPECIALTY |
| BC0005 | FIRE-RESISTIVE REINFORCED CONCRETE |
| BC0006 | FIRE-RESISTANT CONSTRUCTION |
| BC0007 | FIREPROOF CONSTRUCTION |
| BC0008 | MASONRY BUILDING |
| BC0009 | OPEN STEEL SKELETON |
| BC0010 | POLE CONSTRUCTION |
| BC0011 | PRE-ENGINEERED OR PREFABRICATED STEEL FRAME |
| BC0012 | REINFORCED CONCRETE FRAME - FIRE RESISTANCE UNSPECIFIED |
| BC0013 | SEMI-FIREPROOF CONSTRUCTION |
| BC0014 | STEEL FRAME - FIREPROOFING UNSPECIFIED |
| BC0015 | WOOD FRAME |
Height class of the building (`HB####`).
| Code | Description |
| - | - |
| HB0001 | HIGH-RISE |
| HB0002 | LOW-RISE |
| HB0003 | MID-RISE |
Level configuration of the building (`BL####`).
| Code | Description |
| - | - |
| BL0001 | MULTI-LEVEL |
Footprint shape of the building (`BH####`).
| Code | Description |
| - | - |
| BH0001 | L-SHAPE |
| BH0002 | H-SHAPE |
| BH0003 | HIGH-COMPLEXITY BUILDING SHAPE |
| BH0004 | LOW-COMPLEXITY BUILDING SHAPE |
Architectural style (`AS####`).
| Code | Description |
| - | - |
| AS0001 | RANCH |
| AS0002 | CONVENTIONAL |
| AS0003 | COLONIAL |
| AS0004 | TRADITIONAL |
| AS0005 | BI-LEVEL |
| AS0006 | CAPE COD |
| AS0007 | CONTEMPORARY |
| AS0008 | SPLIT LEVEL |
| AS0009 | BUNGALOW |
| AS0010 | OTHER / UNSPECIFIED |
| AS0011 | MODERN |
| AS0012 | RAISED RANCH |
| AS0013 | SPLIT FOYER |
| AS0014 | A-FRAME |
| AS0015 | LOG CABIN/RUSTIC |
| AS0016 | COTTAGE |
| AS0017 | TRI-LEVEL |
| AS0018 | FRENCH PROVINCIAL |
| AS0019 | SPANISH |
| AS0020 | CHALET/ALPINE |
| AS0021 | TUDOR |
| AS0022 | VICTORIAN |
| AS0023 | MEDITERRANEAN |
| AS0024 | DOME |
| AS0025 | GEORGIAN |
| AS0026 | ENGLISH |
| AS0027 | UNDERGROUND/BERM |
| AS0028 | EUROPEAN |
| AS0029 | SALT BOX |
| AS0030 | SHOTGUN |
| AS0031 | FEDERALIST |
| AS0032 | MISSION |
| AS0033 | NEW ENGLAND |
| AS0034 | GREEK REVIVAL |
| AS0035 | CRAFTSMAN |
| AS0036 | FARMHOUSE |
| AS0037 | FOURSQUARE |
| AS0038 | PRAIRIE |
Floor-plan layout (`FP####`).
| Code | Description |
| - | - |
| FP0001 | CENTER HALL |
Primary structural construction (`CT####` — frame, masonry, ...).
| Code | Description |
| - | - |
| CT0001 | FRAME |
| CT0002 | WOOD |
| CT0003 | MASONRY |
| CT0004 | BRICK |
| CT0005 | CONCRETE |
| CT0006 | CONCRETE BLOCK |
| CT0007 | STEEL |
| CT0008 | OTHER |
| CT0009 | METAL |
| CT0010 | STONE |
| CT0011 | MANUFACTURED |
| CT0012 | LOG |
| CT0013 | MIXED |
| CT0014 | TILT-UP (CONCRETE) |
| CT0015 | ADOBE |
| CT0016 | LIGHT FRAMING |
| CT0017 | DOME |
| CT0018 | HEAVY FRAMING |
| CT0019 | BAMBOO |
| CT0020 | BLOCK |
| CT0021 | MODULAR CONSTRUCTION |
How the building was produced (`CM####`).
| Code | Description |
| - | - |
| CM0001 | CUSTOM-BUILT |
| CM0002 | PREFABRICATED / MODULAR |
Exterior wall covering or material (`EW####`).
| Code | Description |
| - | - |
| EW0001 | SIDING (ALUM/VINYL) |
| EW0002 | BRICK |
| EW0003 | WOOD |
| EW0004 | BRICK VENEER |
| EW0005 | WOOD SIDING |
| EW0006 | STUCCO |
| EW0007 | COMBINATION |
| EW0008 | MASONRY |
| EW0009 | CONCRETE BLOCK |
| EW0010 | VINYL SIDING |
| EW0011 | SIDING (OTHER TYPE) |
| EW0012 | OTHER |
| EW0013 | METAL |
| EW0014 | CONCRETE |
| EW0015 | ASBESTOS SHINGLE |
| EW0016 | FIBER CEMENT SIDING (HARDIBOARD/HARDIPLANK) |
| EW0017 | ROCK/STONE |
| EW0018 | COMPOSITION/COMPOSITE |
| EW0019 | BLOCK |
| EW0020 | WOOD SHINGLE |
| EW0021 | ALUMINUM SIDING |
| EW0022 | LOG |
| EW0023 | NON-WOOD SHINGLE |
| EW0024 | ADOBE |
| EW0025 | TILT-UP (CONCRETE) |
| EW0026 | MASONITE |
| EW0027 | GLASS |
| EW0028 | EIFS/SYNTHETIC STUCCO |
| EW0029 | TILE |
| EW0030 | MARBLE |
| EW0031 | CERAMIC TILE |
| EW0032 | CLAY TILE |
| EW0033 | CONCRETE TILE |
| EW0034 | BAMBOO |
| EW0035 | ASPHALT SIDING |
| EW0036 | ENGINEERED WOOD SIDING |
| EW0037 | FRAME (UNSPECIFIED EXTERIOR) |
| EW0038 | PLASTER |
| EW0039 | SHINGLE SIDING (UNSPECIFIED MATERIAL) |
| EW0040 | STONE VENEER / SIMULATED STONE |
Interior wall finish material (`IW####`).
| Code | Description |
| - | - |
| IW0001 | DRYWALL |
| IW0002 | PLASTER |
| IW0003 | PANELING |
| IW0004 | WOOD |
| IW0005 | PLYWOOD |
| IW0006 | FINISHED/PAINTED |
| IW0007 | UNFINISHED |
| IW0008 | COMPOSITION |
| IW0009 | OTHER |
| IW0010 | DECORATIVE/CUSTOM |
| IW0011 | MASONRY |
| IW0012 | BLOCK |
| IW0013 | METAL |
| IW0014 | LOG |
| IW0015 | CONCRETE |
| IW0016 | BRICK |
| IW0017 | VINYL |
| IW0018 | STONE |
| IW0019 | CEMENT BOARD |
| IW0020 | CELOTEX FIBERBOARD |
| IW0021 | GLASS |
| IW0022 | FORMICA |
| IW0023 | NONE |
Roof covering material (`RM####`).
| Code | Description |
| - | - |
| RM0001 | COMPOSITION SHINGLE |
| RM0002 | ASPHALT |
| RM0003 | METAL |
| RM0004 | OTHER |
| RM0005 | CONCRETE |
| RM0006 | NON-WOOD SHINGLE |
| RM0007 | WOOD SHAKE/SHINGLES |
| RM0008 | TILE |
| RM0009 | BUILT-UP |
| RM0010 | TAR & GRAVEL |
| RM0011 | FIBERGLASS |
| RM0012 | ASBESTOS |
| RM0013 | ROCK/GRAVEL |
| RM0014 | ROLL COMPOSITION |
| RM0015 | SLATE |
| RM0016 | ALUMINUM |
| RM0017 | WOOD |
| RM0018 | STEEL |
| RM0019 | URETHANE |
| RM0020 | TIN |
| RM0021 | CLAY TILE |
| RM0022 | MASONITE/CEMENT SHAKE |
| RM0023 | CONCRETE TILE |
| RM0024 | GYPSUM |
| RM0025 | COPPER |
| RM0026 | BERMUDA ROOFING |
| RM0027 | SOLAR |
| RM0028 | CERAMIC TILE |
| RM0029 | BUILT-UP / ROLL COMPOSITION |
| RM0030 | COMPOSITE SHAKE |
| RM0031 | MIXED MATERIALS |
| RM0032 | NEOPRENE |
| RM0033 | RUBBER / MEMBRANE |
| RM0034 | SHAKE |
| RM0035 | SHINGLE |
| RM0036 | SPANISH TILE |
| RM0037 | SYNTHETIC SLATE |
| RM0038 | SYNTHETIC TILE |
Roof geometry (`RS####` — gable, hip, flat, ...).
| Code | Description |
| - | - |
| RS0001 | GABLE |
| RS0002 | GABLE OR HIP |
| RS0003 | HIP |
| RS0004 | FLAT |
| RS0005 | IRREGULAR/CATHEDRAL |
| RS0006 | GAMBREL |
| RS0007 | WOOD TRUSS |
| RS0008 | SHED |
| RS0009 | SAWTOOTH |
| RS0010 | RIGID FRAME BAR JOIST |
| RS0011 | MANSARD |
| RS0012 | STEEL FRAMING/TRUSS |
| RS0013 | REINFORCED CONCRETE |
| RS0014 | BOWSTRING TRUSS |
| RS0015 | DOME |
| RS0016 | PRESTRESSED CONCRETE |
| RS0017 | A-FRAME |
| RS0018 | MONITOR |
| RS0019 | FLAT/SHED |
| RS0020 | FLOATING TANK ROOF |
| RS0021 | SALTBOX |
| RS0022 | STATIC TANK ROOF |
Floor covering material (`FL####`).
| Code | Description |
| - | - |
| FL0001 | CARPET |
| FL0002 | WOOD |
| FL0003 | TILE |
| FL0004 | HARDWOOD |
| FL0005 | VINYL |
| FL0006 | CONCRETE |
| FL0007 | CERAMIC |
| FL0008 | COVERED |
| FL0009 | SOFTWOOD |
| FL0010 | MIXED |
| FL0011 | LAMINATE |
| FL0012 | LINOLEUM |
| FL0013 | TERRAZZO |
| FL0014 | PLYWOOD |
| FL0015 | PARQUET |
| FL0016 | ASBESTOS |
| FL0017 | DIRT/EARTH |
| FL0018 | MARBLE |
| FL0019 | OTHER |
| FL0020 | STONE |
| FL0021 | CORK |
| FL0022 | BRICK |
| FL0023 | TORGINOL |
| FL0024 | SLATE |
| FL0025 | GRANITE |
| FL0026 | FAUX WOOD TILE |
| FL0027 | EPOXY |
| FL0028 | ASPHALT |
| FL0029 | RESILIENT |
Foundation type (`FN####`). Codes are published ahead of population: no parcel stores a value for this member in the current data generation. The table is the committed vocabulary the member will use when values ship.
| Code | Description |
| - | - |
| FN0001 | MASONRY FOUNDATION |
| FN0002 | CRAWL SPACE FOUNDATION |
| FN0003 | PIER FOUNDATION |
| FN0004 | CONCRETE SLAB FOUNDATION |
| FN0005 | BRICK FOUNDATION |
| FN0006 | CONCRETE FOUNDATION |
| FN0007 | CONCRETE BLOCK FOUNDATION |
| FN0008 | FOOTING FOUNDATION |
| FN0009 | ONE-HALF CRAWL SPACE FOUNDATION |
| FN0010 | ONE-QUARTER CRAWL SPACE FOUNDATION |
| FN0011 | PIER AND SLAB FOUNDATION |
| FN0012 | THREE-QUARTER CRAWL SPACE FOUNDATION |
Basement presence and type (`BS####`).
| Code | Description |
| - | - |
| BS0001 | UNSPECIFIED BASEMENT |
| BS0002 | FULL BASEMENT |
| BS0003 | NO BASEMENT |
| BS0004 | PARTIAL BASEMENT |
| BS0005 | FINISHED BASEMENT |
| BS0006 | UNFINISHED BASEMENT |
| BS0007 | DAYLIGHT FULL |
| BS0008 | DAYLIGHT PARTIAL |
| BS0009 | DAYLIGHT OR WALKOUT |
| BS0010 | QUARTER BASEMENT |
| BS0011 | THREE-QUARTER BASEMENT |
Attic presence and finish (`AT####`). Codes are published ahead of population: no parcel stores a value for this member in the current data generation. The table is the committed vocabulary the member will use when values ship.
| Code | Description |
| - | - |
| AT0001 | FINISHED ATTIC |
| AT0002 | NO ATTIC |
| AT0003 | UNFINISHED ATTIC |
| AT0004 | ONE-HALF FINISHED ATTIC |
| AT0005 | THREE-QUARTER FINISHED ATTIC |
| AT0006 | ONE-QUARTER FINISHED ATTIC |
Parking arrangement (`PK####` — attached garage, carport, ...).
| Code | Description |
| - | - |
| PK0001 | ATTACHED GARAGE |
| PK0002 | GARAGE |
| PK0003 | DETACHED GARAGE |
| PK0004 | CARPORT |
| PK0005 | UNDERGROUND/BASEMENT GARAGE |
| PK0006 | MIXED (MULTIPLE TYPES) |
| PK0007 | NONE |
| PK0008 | FINISHED GARAGE (UNSPECIFIED TYPE) |
| PK0009 | BUILT-IN GARAGE |
| PK0010 | PAVED/SURFACED PARKING |
| PK0011 | OPEN CARPORT |
| PK0012 | COVERED PARKING |
| PK0013 | ATTACHED GARAGE (FINISHED) |
| PK0014 | UNIMPROVED PARKING |
| PK0015 | POLE BARN GARAGE |
| PK0016 | OFFSITE PARKING |
| PK0017 | TUCKUNDER GARAGE |
| PK0018 | PARKING LOT |
| PK0019 | ATTACHED GARAGE (UNFINISHED) |
| PK0020 | DETACHED GARAGE (UNFINISHED) |
| PK0021 | DETACHED GARAGE (FINISHED) |
| PK0022 | PARKING STRUCTURE |
| PK0023 | RAMP PARKING |
| PK0024 | HEATED GARAGE |
| PK0025 | YES |
Driveway surface material (`DM####`).
| Code | Description |
| - | - |
| DM0001 | CONCRETE |
| DM0002 | ASPHALT |
| DM0003 | GRAVEL |
| DM0004 | PAVER |
| DM0005 | BRICK |
| DM0006 | CRUSHED STONE |
| DM0007 | BOMANITE |
| DM0008 | TILE |
Driveway form (`DT####`). `building.driveway` also carries no code when the parcel has no recorded driveway.
| Code | Description |
| - | - |
| DT0001 | DRIVEWAY (TYPE UNSPECIFIED) |
| DT0002 | PAVED DRIVEWAY |
| DT0003 | PAVED SHARED DRIVEWAY |
| DT0004 | UNPAVED DRIVEWAY |
| DT0005 | UNPAVED SHARED DRIVEWAY |
Pool or spa type (`PT####`). The sibling boolean `building.pool.exists` says whether any pool is present; `type` is omitted when the source records a pool without a type.
| Code | Description |
| - | - |
| PT0001 | SPA OR HOT TUB |
| PT0002 | ABOVE GROUND POOL |
| PT0003 | IN-GROUND POOL |
| PT0004 | POOL & SPA |
| PT0005 | VINYL IN-GROUND POOL |
| PT0006 | INDOOR SWIMMING POOL |
| PT0007 | COMMUNITY POOL OR SPA |
| PT0008 | LAP POOL |
| PT0009 | WADING POOL |
Pool features (`PF####`); an array — a pool can carry several.
| Code | Description |
| - | - |
| PF0001 | ENCLOSED |
| PF0002 | HEATED POOL |
| PF0003 | SOLAR HEATED |
| PF0004 | INFINITY EDGE |
Recorded amenities (`AM####`); an array — a building can carry several.
| Code | Description |
| - | - |
| AM0001 | IRRIGATION SPRINKLER SYSTEM |
| AM0002 | BOAT DOCK/RAMP |
| AM0003 | FIRE SPRINKLER |
| AM0004 | OUTDOOR KITCHEN/FIREPLACE |
| AM0005 | CARRIAGE HOUSE |
| AM0006 | WET BAR |
| AM0007 | STORM SHELTER |
| AM0008 | OVERHEAD DOOR |
| AM0009 | SAUNA/STEAM ROOM |
| AM0010 | MOBILE HOME HOOKUP |
| AM0011 | TENNIS COURT |
| AM0012 | BOAT LIFT/DAVITS |
| AM0013 | GOLF COURSE FRONTAGE |
| AM0014 | CENTRAL VACUUM SYSTEM |
| AM0015 | INTERCOM SYSTEM |
| AM0016 | ARBOR/PERGOLA |
| AM0017 | PANIC ROOM |
| AM0018 | WATER FEATURE |
| AM0019 | BASKETBALL/SPORT COURT |
| AM0020 | STORM/SECURITY SHUTTERS |
| AM0021 | RV PARKING |
| AM0022 | ACCESSIBILITY RAMP |
| AM0023 | CLUBHOUSE |
| AM0024 | KOI POND |
| AM0025 | TREEHOUSE/PLAYHOUSE |
| AM0026 | WINE CELLAR |
| AM0027 | SOUND SYSTEM |
| AM0028 | BLEACHERS |
| AM0029 | BOATHOUSE |
| AM0030 | DECK |
| AM0031 | ELEVATOR |
| AM0032 | ESCALATOR |
| AM0033 | FENCING |
| AM0034 | FIREPLACE |
| AM0035 | FLAGPOLE |
| AM0036 | GAZEBO |
| AM0037 | GOLF CART STORAGE |
| AM0038 | GREENHOUSE |
| AM0039 | KENNEL |
| AM0040 | SHED |
| AM0041 | SMOKE/CARBON MONOXIDE DETECTOR |
Additional named rooms (`OR####`); an array.
| Code | Description |
| - | - |
| OR0001 | FAMILY ROOM OR DEN |
| OR0002 | GAME OR RECREATION ROOM |
| OR0003 | UTILITY ROOM |
| OR0004 | LAUNDRY ROOM |
| OR0005 | BONUS ROOM (FLEX SPACE NOT QUALIFYING AS A BEDROOM) |
| OR0006 | SUNROOM |
| OR0007 | GREAT ROOM (OPEN-CONCEPT COMBINED LIVING SPACE) |
| OR0008 | BREAKFAST NOOK |
| OR0009 | CELLAR (UNFINISHED BELOW-GRADE STORAGE, DISTINCT FROM BASEMENT TYPE) |
| OR0010 | LANAI (COVERED OUTDOOR ROOM; COMMON IN FL/HI) |
| OR0011 | STUDY OR LIBRARY |
| OR0012 | EXERCISE ROOM OR HOME GYM |
| OR0013 | MEDIA ROOM OR HOME THEATER |
| OR0014 | HOME OFFICE |
| OR0015 | ATRIUM |
| OR0016 | HOBBY ROOM |
| OR0017 | MUDROOM |
| OR0018 | SITTING ROOM (HISTORICAL/FORMAL LIVING SPACE) |
Development type of the building's setting (`DV####`).
| Code | Description |
| - | - |
| DV0001 | CLUSTER |
Construction/completion status (`DS####`).
| Code | Description |
| - | - |
| DS0001 | UNFINISHED / UNDER CONSTRUCTION |
Historic designation (`HT####`).
| Code | Description |
| - | - |
| HT0001 | HISTORICAL |
Age class of the building (`AC####`).
| Code | Description |
| - | - |
| AC0001 | OLD |
The kind of measured building area a `buildingAreas` entry represents (`BA####`). `building.buildingAreaType` (and `buildingInformation.buildings[].characteristics.buildingAreaType`) use the same table to say what kind of measurement the building's headline `buildingArea` is.
| Code | Description |
| - | - |
| BA0001 | LIVING AREA |
| BA0002 | TOTAL AREA |
| BA0003 | GROSS AREA |
| BA0004 | HEATED AREA |
| BA0005 | FINISHED AREA |
| BA0006 | ADJUSTED AREA |
| BA0007 | BUILDING PERIMETER (LINEAR FEET) |
| BA0008 | BASE AREA |
| BA0009 | FIRST FLOOR |
| BA0010 | GARAGE |
| BA0011 | ATTIC |
| BA0012 | EFFECTIVE AREA |
| BA0013 | CHATAHOOCHIE (PORCH) |
| BA0014 | GROUND FLOOR |
| BA0015 | BASEMENT |
| BA0016 | BASEMENT (UNFINISHED) |
| BA0017 | GARAGE (UNFINISHED) |
| BA0018 | BASEMENT (FINISHED) |
| BA0019 | GARAGE (FINISHED) |
| BA0020 | ATTIC (FINISHED) |
| BA0021 | ATTIC (UNFINISHED) |
## Heating and cooling
Heating is described by five independent facets — equipment, distribution, energy source, configuration, and coverage — because counties record different aspects of the same system. Any subset may be present. Each field appears at the top level (`heating.*`, `cooling.*`, primary building) and per building under `buildingInformation.buildings[].heating` / `.cooling`.
Heating equipment (`HE####` — heat pump, baseboard, stove, ...).
| Code | Description |
| - | - |
| HE0001 | HEAT PUMP |
| HE0002 | SPACE/SUSPENDED HEATER |
| HE0003 | OTHER HEATING SYSTEM |
| HE0004 | VENTED HEATING SYSTEM |
| HE0005 | FLOOR FURNACE |
| HE0006 | FURNACE |
| HE0007 | INFRARED RADIANT HEATER |
| HE0008 | SPACE HEATER |
| HE0009 | WALL FURNACE |
How heat is delivered (`HD####` — forced air, radiant, steam, ...).
| Code | Description |
| - | - |
| HD0001 | FORCED AIR |
| HD0002 | HOT WATER/HYDRONIC |
| HD0003 | FLOOR/WALL |
| HD0004 | BASEBOARD |
| HD0005 | RADIANT |
| HD0006 | STEAM |
| HD0007 | GRAVITY |
| HD0008 | CONVECTION |
| HD0009 | HOT WATER/STEAM |
| HD0010 | RADIATOR |
| HD0011 | WARM AIR |
Fuel or energy source (`HS####` — natural gas, electric, oil, ...).
| Code | Description |
| - | - |
| HS0001 | NATURAL GAS |
| HS0002 | ELECTRIC |
| HS0003 | OIL |
| HS0004 | NONE |
| HS0005 | WOOD |
| HS0006 | SOLAR |
| HS0007 | COAL |
| HS0008 | PROPANE |
| HS0009 | GEOTHERMAL |
| HS0010 | BUTANE |
| HS0011 | WOOD/COAL |
System configuration (`HC####` — central vs. unit).
| Code | Description |
| - | - |
| HC0001 | CENTRAL |
| HC0002 | ZONED |
| HC0003 | COMBINED HEATING/COOLING |
| HC0004 | INDIVIDUAL UNIT |
| HC0005 | NON-CENTRAL |
| HC0006 | SHARED HEATING |
Whether (and how completely) the building is heated, used when the source proves presence without naming the system (`HX####`).
| Code | Description |
| - | - |
| HX0001 | PRESENT (TYPE UNKNOWN) |
| HX0002 | PARTIAL |
| HX0003 | NONE |
Cooling equipment (`CL####` — central, evaporative, window unit, ...).
| Code | Description |
| - | - |
| CL0001 | CENTRAL |
| CL0002 | PRESENT (TYPE UNKNOWN) |
| CL0003 | NONE |
| CL0004 | REFRIGERATION |
| CL0005 | PACKAGED UNIT |
| CL0006 | EVAPORATIVE COOLER |
| CL0007 | WINDOW/UNIT |
| CL0008 | WALL |
| CL0009 | OTHER |
| CL0010 | PARTIAL |
| CL0011 | CHILLED WATER |
| CL0012 | VENTILATION |
| CL0013 | OFFICE ONLY |
| CL0014 | GEO-THERMAL |
| CL0015 | DUCTLESS AC |
## Utilities
Water service for the parcel (`WS####`).
| Code | Description |
| - | - |
| WS0001 | MUNICIPAL |
| WS0002 | YES (UNSPECIFIED) |
| WS0003 | NONE |
| WS0004 | WELL |
| WS0005 | PRIVATE |
| WS0006 | CISTERN |
| WS0007 | SPRING |
| WS0008 | HAULED WATER |
Sewer service for the parcel (`SW####`).
| Code | Description |
| - | - |
| SW0001 | MUNICIPAL |
| SW0002 | YES (UNSPECIFIED) |
| SW0003 | SEPTIC |
| SW0004 | NONE |
| SW0005 | STORM DRAIN |
| SW0006 | INDUSTRIAL SEWER |
| SW0007 | PRIVATE SEWER |
Gas service for the parcel (`GS####`). Codes are published ahead of population: no parcel stores a value for this member in the current data generation. The table is the committed vocabulary the member will use when values ship.
| Code | Description |
| - | - |
| GS0001 | GAS SERVICE |
| GS0002 | NO GAS SERVICE |
| GS0003 | PROPANE OR OTHER GAS SERVICE |
| GS0004 | PUBLIC GAS SERVICE |
Electric service for the parcel (`ES####`). Codes are published ahead of population: no parcel stores a value for this member in the current data generation. The table is the committed vocabulary the member will use when values ship.
| Code | Description |
| - | - |
| ES0001 | ELECTRIC SERVICE |
| ES0002 | NO ELECTRIC SERVICE |
| ES0003 | OVERHEAD ELECTRIC SERVICE |
| ES0004 | SOLAR ELECTRIC SERVICE |
| ES0005 | UNDERGROUND ELECTRIC SERVICE |
| ES0006 | WIND ELECTRIC SERVICE |
## Land and lot
Site topography (`TP####`).
| Code | Description |
| - | - |
| TP0001 | LEVEL GRADE |
| TP0002 | ROLLING |
| TP0003 | ABOVE STREET LEVEL |
| TP0004 | WOODED |
| TP0005 | LOW ELEVATION |
| TP0006 | HIGH ELEVATION |
| TP0007 | BELOW STREET LEVEL |
| TP0008 | STEEP |
| TP0009 | SWAMPY |
| TP0010 | HILLY |
| TP0011 | MOUNTAIN |
| TP0012 | MIXED |
| TP0013 | MARSH |
| TP0014 | BRUSHY |
| TP0015 | ROCKY |
| TP0016 | DOWNSLOPE |
| TP0017 | HIGH BANK |
| TP0018 | MODERATE SLOPE |
| TP0019 | SEVERE SLOPE |
| TP0020 | SLIGHT SLOPE |
| TP0021 | SLOPE |
| TP0022 | UPSLOPE |
Road access to the parcel (`RA####`). Codes are published ahead of population: no parcel stores a value for this member in the current data generation. The table is the committed vocabulary the member will use when values ship.
| Code | Description |
| - | - |
| RA0001 | ALLEY ROAD ACCESS |
| RA0002 | MOUNTAIN ACCESS ROAD |
| RA0003 | NO ROAD ACCESS |
| RA0004 | PAVED ROAD ACCESS |
| RA0005 | PRIVATE PAVED ROAD ACCESS |
| RA0006 | PRIVATE UNPAVED ROAD ACCESS |
| RA0007 | PROPOSED ROAD ACCESS |
| RA0008 | PUBLIC PAVED ROAD ACCESS |
| RA0009 | PUBLIC UNPAVED ROAD ACCESS |
| RA0010 | SIDEWALK ROAD ACCESS |
| RA0011 | UNPAVED ROAD ACCESS |
Waterfront type (`WF####`). Codes are published ahead of population: no parcel stores a value for this member in the current data generation. The table is the committed vocabulary the member will use when values ship.
| Code | Description |
| - | - |
| WF0001 | HIGH-BANK WATERFRONT |
| WF0002 | LAKE WATERFRONT |
| WF0003 | LOW-BANK WATERFRONT |
| WF0004 | POND OR STREAM WATERFRONT |
| WF0005 | RIVER WATERFRONT |
| WF0006 | SWAMP OR SLOUGH WATERFRONT |
View quality (`VQ####`). Codes are published ahead of population: no parcel stores a value for this member in the current data generation. The table is the committed vocabulary the member will use when values ship.
| Code | Description |
| - | - |
| VQ0001 | AVERAGE VIEW QUALITY |
| VQ0002 | EXCELLENT VIEW QUALITY |
| VQ0003 | FAIR VIEW QUALITY |
| VQ0004 | GOOD VIEW QUALITY |
| VQ0005 | POOR VIEW QUALITY |
Lot composition of the legal parcel (`LT####` — more than one lot, partial lot, ...).
| Code | Description |
| - | - |
| LT0001 | MORE THAN ONE LOT |
| LT0002 | PORTION OF A LOT |
| LT0003 | MULTIPLE WITH PORTION OF ONE OR MORE LOTS |
| LT0004 | SINGLE LOT NUMBER |
## Tax
Tax classification of the parcel (`TC####`). Codes are published ahead of population: no parcel stores a value for this member in the current data generation. The table is the committed vocabulary the member will use when values ship.
| Code | Description |
| - | - |
| TC0001 | RESIDENTIAL TAX CLASS |
| TC0002 | COMMERCIAL TAX CLASS |
| TC0003 | AGRICULTURAL TAX CLASS |
| TC0004 | ASSESSMENT-RATIO TAX CLASS |
| TC0005 | EXEMPT TAX CLASS |
| TC0006 | UTILITY TAX CLASS |
| TC0007 | INDUSTRIAL TAX CLASS |
| TC0008 | VACANT LAND TAX CLASS |
| TC0009 | CONSERVATION TAX CLASS |
| TC0010 | MINERAL TAX CLASS |
| TC0011 | TRANSPORTATION TAX CLASS |
| TC0012 | HISTORIC TAX CLASS |
| TC0013 | MIXED-USE TAX CLASS |
| TC0014 | ENVIRONMENTAL REMEDIATION TAX CLASS |
| TC0015 | GOVERNMENT TAX CLASS |
| TC0016 | PERSONAL PROPERTY TAX CLASS |
| TC0017 | MUNICIPAL TAX CLASS |
| TC0018 | NON-MUNICIPAL TAX CLASS |
## Sales and transfers
Recorded instrument (deed) type on the sale or transfer event (`TT####`).
| Code | Description |
| - | - |
| TT0001 | WARRANTY DEED |
| TT0002 | DEED |
| TT0003 | INTRAFAMILY TRANSFER & DISSOLUTION |
| TT0004 | QUIT CLAIM DEED |
| TT0005 | GRANT DEED |
| TT0006 | SPECIAL WARRANTY DEED |
| TT0007 | VENDOR'S LIEN DEED |
| TT0008 | BARGAIN AND SALE DEED |
| TT0009 | TRUST DEED |
| TT0010 | TRANSFER ON DEATH DEED |
| TT0011 | AFFIDAVIT |
| TT0012 | SHERIFF'S DEED |
| TT0013 | QUIT CLAIM DEED (ARM'S LENGTH) |
| TT0014 | LIMITED WARRANTY DEED |
| TT0015 | PUBLIC AUCTION (TAX SALE) |
| TT0016 | GIFT DEED |
| TT0017 | CASH SALE DEED |
| TT0018 | PERSONAL REPRESENTATIVES DEED |
| TT0019 | CORPORATION DEED |
| TT0020 | AFFIDAVIT DEATH OF TRUSTEE/SUCCESSOR TRUSTEE (LOS ANGELES) |
| TT0021 | SURVIVORSHIP DEED |
| TT0022 | AFFIDAVIT OF DEATH OF JOINT TENANT |
| TT0023 | EXECUTOR'S DEED |
| TT0024 | OTHER |
| TT0025 | FIDUCIARY DEED |
| TT0026 | DEED OF DISTRIBUTION |
| TT0027 | BENEFICIARY DEED |
| TT0028 | CONTRACT OF SALE |
| TT0029 | CONDOMINIUM DEED |
| TT0030 | JOINT TENANCY DEED |
| TT0031 | DEED IN LIEU OF FORECLOSURE |
| TT0032 | LAND CONTRACT |
| TT0033 | INDIVIDUAL DEED |
| TT0034 | ADMINISTRATOR'S DEED |
| TT0035 | REDEMPTION DEED |
| TT0036 | ASSIGNMENT DEED |
| TT0037 | LEGAL ACTION/COURT ORDER |
| TT0038 | CERTIFICATE OF TRANSFER |
| TT0039 | COMMISSIONER'S DEED |
| TT0040 | LEASE |
| TT0041 | LAND COURT (MASSACHUSETTS) |
| TT0042 | AGREEMENT OF SALE |
| TT0043 | DIVORCE/DISSOLUTION OF MARRIAGE TRANSFER |
| TT0044 | REFEREE'S DEED |
| TT0045 | SPECIAL MASTER DEED |
| TT0046 | EXCHANGE |
| TT0047 | DEED OF GUARDIAN |
| TT0048 | AFFIDAVIT OF DEATH OF LIFE TENANT |
| TT0049 | PARTNERSHIP DEED |
| TT0050 | CONSERVATOR'S DEED |
| TT0051 | RECEIVER'S DEED |
| TT0052 | FORECLOSURE |
| TT0053 | DISTRESS SALE |
| TT0054 | DECLARATION |
| TT0055 | AFFIDAVIT OF TRUST OR TRUST AGREEMENT (LOS ANGELES) |
| TT0056 | CORRECTION DEED |
| TT0057 | RE-RECORDED DOCUMENT |
| TT0058 | OWELTY DEED/OWELTY AGREEMENT |
| TT0059 | REO SALE (REO OUT) |
Why a sale is — or is not — considered a market (arm's-length) transaction (`TQ####`). The sibling boolean `salesHistory[].armsLength` carries the derived arm's-length verdict; `qualification` is omitted when the source recorded no reviewed qualification signal for that sale. The flat shape carries this per event as `transfers[].saleCode`.
| Code | Description |
| - | - |
| TQ0001 | NON-MARKET OR FORCED TRANSFER |
| TQ0002 | VALID ARM'S-LENGTH SALE |
| TQ0003 | PARTIAL-INTEREST TRANSFER |
| TQ0004 | COURT-ORDERED OR BANKRUPTCY SALE |
| TQ0005 | MULTI-PARCEL TRANSFER |
| TQ0006 | PROPERTY EXCHANGE |
| TQ0007 | ADJACENT-OWNER TRANSFER |
| TQ0008 | CONSIDERATION-DISCREPANT TRANSFER |
| TQ0009 | CONVENIENCE OR TRUST TRANSFER |
| TQ0010 | CORRECTIVE OR TITLE-IMPAIRED TRANSFER |
| TQ0011 | ESTATE OR RETAINED-INTEREST TRANSFER |
| TQ0012 | FORECLOSURE OR LENDER SALE |
| TQ0013 | FRAUD-IMPAIRED TRANSFER |
| TQ0014 | GIFT TRANSFER |
| TQ0015 | GOVERNMENT OR EXEMPT-ENTITY TRANSFER |
| TQ0016 | NON-MARKET FINANCING OR CONTRACT TRANSFER |
| TQ0017 | OPTION-EXERCISE TRANSFER |
| TQ0018 | PARTIAL-PARCEL TRANSFER |
| TQ0019 | PERSONAL PROPERTY INCLUDED |
| TQ0020 | PROPERTY OR ASSESSMENT CHANGE AFFECTING SALE COMPARABILITY |
| TQ0021 | RELATED-PARTY TRANSFER |
| TQ0022 | RESOURCE-RIGHTS TRANSFER |
How the recorded sale-price figure was obtained (`PD####` — stated on the document, computed from transfer tax, from an affidavit, ...).
| Code | Description |
| - | - |
| PD0001 | STATED ON DOCUMENT |
| PD0002 | ROUNDED |
| PD0003 | COMPUTED FROM TRANSFER TAX |
| PD0004 | ESTIMATED |
| PD0005 | FROM ASSESSMENT FILE |
| PD0006 | FROM AFFIDAVIT |
| PD0007 | FULL AMOUNT FROM TRANSFER OR EXCISE TAX |
| PD0008 | COMPUTED FROM TAX OR ASSESSED VALUE (NE/WI) |
| PD0009 | COMPUTED FROM EXCISE TAX RATE (WA) |
| PD0010 | ESTIMATED FROM COMPARABLES |
What kind of entity the buyer is (`BE####` — individual, company, trust, ...).
| Code | Description |
| - | - |
| BE0001 | INDIVIDUAL(S) |
| BE0002 | COMPANY |
| BE0003 | TRUST |
| BE0004 | LIMITED LIABILITY COMPANY |
| BE0005 | CORPORATION |
| BE0006 | GOVERNMENT |
| BE0007 | REVOCABLE TRUST |
| BE0008 | FAMILY TRUST |
| BE0009 | LIMITED PARTNERSHIP |
| BE0010 | LIVING TRUST |
| BE0011 | REVOCABLE LIVING TRUST |
| BE0012 | IRREVOCABLE TRUST |
| BE0013 | PARTNERSHIP |
| BE0014 | FAMILY REVOCABLE TRUST |
| BE0015 | ESTATE |
| BE0016 | LIMITED LIABILITY PARTNERSHIP |
| BE0017 | FAMILY LIVING TRUST |
| BE0018 | GENERAL PARTNERSHIP |
| BE0019 | IRREVOCABLE LIVING TRUST |
| BE0020 | DOING BUSINESS AS (DBA) |
| BE0021 | CORPORATE TRUST |
| BE0022 | BUILDER/DEVELOPER |
| BE0023 | SOLE PROPRIETORSHIP |
| BE0024 | PERSONAL TRUST |
| BE0025 | GENERAL PARTNER |
| BE0026 | IRA (INDIVIDUAL RETIREMENT ACCOUNT) |
| BE0027 | UNITED STATES |
| BE0028 | ALL AS/UNDEFINED |
| BE0029 | JOINT VENTURE |
| BE0030 | ASSOCIATION |
| BE0031 | NON-DECLARED TRUST |
Relationship between co-buyers (`BR####` — husband and wife, ...).
| Code | Description |
| - | - |
| BR0001 | HUSBAND AND WIFE |
| BR0002 | MARRIED MAN AS HIS SOLE AND SEPARATE PROPERTY |
| BR0003 | SINGLE MAN |
| BR0004 | SINGLE WOMAN |
| BR0005 | MARRIED COUPLE |
| BR0006 | UNMARRIED |
| BR0007 | UNMARRIED MAN |
| BR0008 | UNMARRIED WOMAN |
| BR0009 | MARRIED WOMAN AS HER SOLE AND SEPARATE PROPERTY |
| BR0010 | SINGLE |
| BR0011 | MARRIED PERSON |
| BR0012 | MARRIED |
| BR0013 | HIS WIFE |
| BR0014 | WIDOW OR WIDOWER |
| BR0015 | HER HUSBAND |
| BR0016 | DIVORCED |
| BR0017 | WIDOWER |
| BR0018 | DIVORCED NOT REMARRIED |
| BR0019 | ET UX (AND WIFE) |
| BR0020 | WIFE AND WIFE |
| BR0021 | DOMESTIC PARTNER |
| BR0022 | HUSBAND AND HUSBAND |
| BR0023 | SEPARATED |
| BR0024 | NEVER MARRIED PERSON |
| BR0025 | NON-VESTED SPOUSE |
| BR0026 | WIFE |
| BR0027 | BROTHER & SISTER |
Legal role the buyer takes in the transfer (`RO####` — beneficiary, trustee, ...).
| Code | Description |
| - | - |
| RO0001 | BENEFICIARY/CREDITOR |
| RO0002 | SURVIVING JOINT TENANT |
| RO0003 | SURVIVING SPOUSE |
| RO0004 | SUCCESSOR TRUSTEE |
| RO0005 | GUARDIAN/CUSTODIAN |
| RO0006 | PERSONAL REPRESENTATIVE |
| RO0007 | TRUSTOR/DEBTOR |
| RO0008 | ASSIGNEE (BUYER/BORROWER ONLY) |
| RO0009 | MINOR, WARD, OR CLIENT |
| RO0010 | NAME DERIVED FROM AFFIDAVIT |
| RO0011 | EXECUTOR/ADMINISTRATOR |
| RO0012 | DECEASED |
| RO0013 | MANAGING MEMBER |
| RO0014 | ADMINISTRATOR |
| RO0015 | AGENT OR GUARDIAN |
| RO0016 | MEMBER |
| RO0017 | ALTERNATE BENEFICIARY |
| RO0018 | SUCCESSOR IN INTEREST |
| RO0019 | LAST WILL AND TESTAMENT |
| RO0020 | PLAINTIFF |
| RO0021 | CORPORATE TRUSTEE |
| RO0022 | RECEIVER |
| RO0023 | DEFENDANT |
| RO0024 | TRANSFER OF DEATH |
| RO0025 | SURVIVOR |
| RO0026 | TENANT |
| RO0027 | GUARDIAN |
| RO0028 | CONTRACT PURCHASOR |
| RO0029 | HEIRS |
| RO0030 | REMAINDERMAN |
How the buyer holds title (`BV####` — joint tenants, tenants in common, ...).
| Code | Description |
| - | - |
| BV0001 | JOINT TENANTS |
| BV0002 | LIMITED LIABILITY PARTNERSHIP |
| BV0003 | TRUST |
| BV0004 | FAMILY TRUST |
| BV0005 | JOINT TENANTS WITH RIGHTS OF SURVIVORSHIP |
| BV0006 | REVOCABLE TRUST |
| BV0007 | LIFE TENANT |
| BV0008 | SURVIVORSHIP MARITAL PROPERTY (WI/AK) |
| BV0009 | TENANTS BY ENTIRETIES |
| BV0010 | COMPANY |
| BV0011 | ALL AS/UNDEFINED |
| BV0012 | COMMUNITY PROPERTY WITH RIGHTS OF SURVIVORSHIP |
| BV0013 | TENANTS IN COMMON |
| BV0014 | LIFE ESTATE |
| BV0015 | RIGHT OF SURVIVORSHIP |
| BV0016 | COMMUNITY PROPERTY |
| BV0017 | TENANTS IN ENTIRETY |
| BV0018 | LIVING TRUST |
| BV0019 | MARRIED MAN AS HIS SOLE AND SEPARATE PROPERTY |
| BV0020 | SURVIVING SPOUSE |
| BV0021 | MARRIED WOMAN AS HER SOLE AND SEPARATE PROPERTY |
| BV0022 | REVOCABLE LIVING TRUST |
| BV0023 | SOLE AND SEPARATE |
| BV0024 | REMAINDERMAN |
| BV0025 | FAMILY REVOCABLE TRUST |
| BV0026 | TENANTS IN SEVERALTY |
| BV0027 | FAMILY LIVING TRUST |
| BV0028 | IRREVOCABLE TRUST |
| BV0029 | LIMITED PARTNERSHIP |
| BV0030 | SEPARATE PROPERTY |
| BV0031 | JOINT VENTURE |
| BV0032 | PARTNERSHIP |
| BV0033 | ET UX (AND WIFE) |
| BV0034 | ESTATE |
| BV0035 | IRREVOCABLE LIVING TRUST |
| BV0036 | ET AL (AND OTHERS) |
| BV0037 | DOMESTIC PARTNER |
| BV0038 | UNDIVIDED INTEREST |
| BV0039 | ASSOCIATION |
| BV0040 | SURVIVING JOINT TENANT |
| BV0041 | CORPORATE TRUSTEE |
| BV0042 | DOWER CLAUSE |
| BV0043 | PERSONAL TRUST |
| BV0044 | SURVIVOR |
| BV0045 | BENEFICIARY/CREDITOR |
| BV0046 | LIMITED LIABILITY COMPANY |
| BV0047 | ALTERNATE BENEFICIARY |
| BV0048 | ADMINISTRATOR |
| BV0049 | AGENT OR GUARDIAN |
| BV0050 | ALSO KNOWN AS (A/K/A) |
| BV0051 | ALTER EGO |
| BV0052 | ASSIGNEE (BUYER/BORROWER ONLY) |
| BV0053 | ASSIGNOR (SELLER ONLY) |
| BV0054 | BROTHER & SISTER |
| BV0055 | BUILDER/DEVELOPER |
| BV0056 | CONTRACT PURCHASER |
| BV0057 | CORPORATE TRUST |
| BV0058 | CORPORATION |
| BV0059 | DECEASED |
| BV0060 | DEFENDANT |
| BV0061 | DISABLED |
| BV0062 | DIVORCED |
| BV0063 | DIVORCED NOT REMARRIED |
| BV0064 | DOING BUSINESS AS (DBA) |
| BV0065 | EXECUTOR/ADMINISTRATOR |
| BV0066 | FORMERLY KNOWN AS (F/K/A) |
| BV0067 | GENERAL PARTNER |
| BV0068 | GENERAL PARTNERSHIP |
| BV0069 | GOVERNMENT |
| BV0070 | GUARDIAN |
| BV0071 | GUARDIAN/CUSTODIAN |
| BV0072 | HEIRS |
| BV0073 | HER HUSBAND |
| BV0074 | HIS WIFE |
| BV0075 | HUSBAND AND HUSBAND |
| BV0076 | HUSBAND AND WIFE |
| BV0077 | INCOMPETENT |
| BV0078 | INDIVIDUAL(S) |
| BV0079 | IRA (INDIVIDUAL RETIREMENT ACCOUNT) |
| BV0080 | LAST WILL AND TESTAMENT |
| BV0081 | LEASE FROM |
| BV0082 | LIFE BENEFIT ESTATE |
| BV0083 | MANAGING MEMBER |
| BV0084 | MARRIED |
| BV0085 | MARRIED COUPLE |
| BV0086 | MARRIED PERSON |
| BV0087 | MEMBER |
| BV0088 | MINOR, WARD OR CLIENT (REPRESENTED BY TRUSTEE) |
| BV0089 | NAME DERIVED FROM AFFIDAVIT |
| BV0090 | NEVER MARRIED PERSON |
| BV0091 | NON-DECLARED TRUST |
| BV0092 | NON-VESTED SPOUSE |
| BV0093 | NOT PROVIDED (NAME BLURRED OR MISSING FROM DOCUMENT) |
| BV0094 | NOW KNOWN AS |
| BV0095 | PERSONAL REPRESENTATIVE |
| BV0096 | PLAINTIFF |
| BV0097 | RECEIVER |
| BV0098 | SELLER IS OWNER ON CURRENT ASSESSMENT FILE |
| BV0099 | SEPARATED |
| BV0100 | SINGLE |
| BV0101 | SINGLE MAN |
| BV0102 | SINGLE WOMAN |
| BV0103 | SOLE PROPRIETORSHIP |
| BV0104 | SUCCESSOR IN INTEREST |
| BV0105 | SUCCESSOR TRUSTEE (LA COUNTY ONLY) |
| BV0106 | SURVIVORSHIP MARTIAL PROPERTY |
| BV0107 | TAX PAYER |
| BV0108 | TENANT |
| BV0109 | TRANSFER OF DEATH |
| BV0110 | TRUSTOR/DEBTOR (BORROWER IN DEFAULT/FORECLOSURE ON TRUSTEE'S DEED) |
| BV0111 | UNITED STATES |
| BV0112 | UNMARRIED |
| BV0113 | UNMARRIED MAN |
| BV0114 | UNMARRIED WOMAN |
| BV0115 | WHO ACQUIRED TITLE AS |
| BV0116 | WHOLLY EXEMPT |
| BV0117 | WIDOW OR WIDOWER |
| BV0118 | WIDOWER |
| BV0119 | WIFE |
| BV0120 | WIFE AND WIFE |
## Mortgages
Loan product or program (`LN####`).
| Code | Description |
| - | - |
| LN0001 | CONVENTIONAL LOAN |
| LN0002 | FHA-INSURED LOAN |
| LN0003 | HOME EQUITY LINE OF CREDIT (HELOC) |
| LN0004 | VA-GUARANTEED LOAN |
| LN0005 | COMMERCIAL LOAN |
| LN0006 | CONSTRUCTION LOAN |
| LN0007 | OPEN-END / FUTURE-ADVANCE MORTGAGE |
| LN0008 | SELLER FINANCING |
| LN0009 | REVERSE MORTGAGE |
| LN0010 | DOWN-PAYMENT LOAN |
| LN0011 | CLOSED-END MORTGAGE |
| LN0012 | SBA LOAN |
| LN0013 | USDA LOAN |
| LN0014 | LAND CONTRACT / AGREEMENT OF SALE |
| LN0015 | FARMERS HOME ADMINISTRATION LOAN |
What the loan financed (`LX####` — purchase, refinance, construction, ...).
| Code | Description |
| - | - |
| LX0001 | REFINANCE / SECOND TRUST DEED |
| LX0002 | RESALE PURCHASE MONEY |
| LX0003 | HELOC |
| LX0004 | PURCHASE MONEY MORTGAGE |
| LX0005 | STAND-ALONE REFINANCE |
| LX0006 | NON-RESIDENTIAL MORTGAGE |
| LX0007 | NEW RESIDENTIAL PURCHASE MONEY |
| LX0008 | CONSTRUCTION |
| LX0009 | MORTGAGE MODIFICATION |
| LX0010 | ASSUMPTION |
| LX0011 | NON-PURCHASE-MONEY MORTGAGE |
Interest-rate structure (`IR####` — fixed, variable, ...).
| Code | Description |
| - | - |
| IR0001 | VARIABLE RATE |
| IR0002 | FIXED RATE |
| IR0003 | ADJUSTABLE RATE |
| IR0004 | OTHER / NON-STANDARD RATE STRUCTURE |
| IR0005 | STEP RATE |
Amortization structure (`LA####` — balloon, ...).
| Code | Description |
| - | - |
| LA0001 | BALLOON |
| LA0002 | NEGATIVE AMORTIZATION |
Index an adjustable rate is tied to (`RI####`).
| Code | Description |
| - | - |
| RI0001 | LIBOR 1-YEAR |
| RI0002 | 1-YEAR TREASURY (CMT / T-BILL) |
| RI0003 | OTHER INDEX |
| RI0004 | 5-YEAR TREASURY (CMT / T-BILL) |
| RI0005 | PRIME RATE |
| RI0006 | LIBOR (TERM UNSPECIFIED) |
| RI0007 | LIBOR 1-MONTH |
| RI0008 | 3-YEAR TREASURY (CMT / T-BILL) |
| RI0009 | 10-YEAR TREASURY (CMT / T-BILL) |
| RI0010 | 11TH DISTRICT COST OF FUNDS (COFI) |
| RI0011 | LIBOR 6-MONTH |
| RI0012 | 12-MONTH TREASURY AVERAGE (MTA) |
| RI0013 | SOFR 30-DAY |
| RI0014 | 6-MONTH TREASURY BILL |
| RI0015 | LIBOR 3-MONTH |
| RI0016 | 6-MONTH CERTIFICATE OF DEPOSIT |
| RI0017 | SOFR 180-DAY |
| RI0018 | SOFR 90-DAY |
Riders recorded on the mortgage instrument (`RD####`); an array — an instrument can carry several.
| Code | Description |
| - | - |
| RD0001 | PLANNED UNIT DEVELOPMENT RIDER |
| RD0002 | CONDOMINIUM RIDER |
| RD0003 | 1-4 FAMILY RIDER |
| RD0004 | SECOND HOME RIDER |
| RD0005 | ASSUMABILITY RIDER |
| RD0006 | BALLOON RIDER |
| RD0007 | PREPAYMENT RIDER |
| RD0008 | FIXED/STEP-RATE RIDER |
| RD0009 | BIWEEKLY PAYMENT RIDER |
| RD0010 | RATE IMPROVEMENT RIDER |
| RD0011 | GRADUATED PAYMENT RIDER |
Recorded loan-event document types (`LD####`). Codes are published ahead of population: no parcel stores a value for this member in the current data generation. The table is the committed vocabulary the member will use when values ship. `mortgages[].assignmentsReleases[].recordType` currently carries the readable values `assignment` / `release`.
| Code | Description |
| - | - |
| LD0001 | RELEASE / SATISFACTION |
| LD0002 | APPOINTMENT / SUBSTITUTION OF TRUSTEE |
| LD0003 | ASSIGNMENT OF DEED OF TRUST |
| LD0004 | LOAN MODIFICATION AGREEMENT |
| LD0005 | SUBORDINATION AGREEMENT |
| LD0006 | ASSIGNMENT OF MORTGAGE |
| LD0007 | ASSUMPTION AGREEMENT |
| LD0008 | CERTIFICATE OF EXTENSION |
| LD0009 | PARTIAL RELEASE — LEGAL-DESCRIPTION STATUS UNSPECIFIED |
| LD0010 | AFFIDAVIT OF LOST OR MISSING ASSIGNMENT |
| LD0011 | CORRECTION ASSIGNMENT |
| LD0012 | FULL RELEASE WITH LEGAL DESCRIPTION |
| LD0013 | FULL RELEASE WITHOUT LEGAL DESCRIPTION |
| LD0014 | MASTER ASSIGNMENT OF MULTIPLE MORTGAGES |
| LD0015 | MULTIPLE RELEASE |
| LD0016 | PARTIAL RELEASE WITH LEGAL DESCRIPTION |
| LD0017 | PARTIAL RELEASE WITHOUT LEGAL DESCRIPTION |
| LD0018 | PARTIAL-INTEREST ASSIGNMENT |
| LD0019 | RERECORDED ASSIGNMENT |
| LD0020 | TRUSTEE SUBSTITUTION AND ASSIGNMENT OF DEED OF TRUST |
| LD0021 | TRUSTEE SUBSTITUTION AND FULL RECONVEYANCE |
Numeric quantity, not a code: how often an adjustable rate may change, as an interval in **years** (e.g. `1.0` = annually, `0.083` ≈ monthly). No decode table applies.
## Liens and foreclosures
Type of the recorded involuntary lien or judgment (`LI####`).
| Code | Description |
| - | - |
| LI0001 | FINANCING STATEMENT |
| LI0002 | FINANCING STATEMENT TERMINATION |
| LI0003 | FINANCING STATEMENT CONTINUATION |
| LI0004 | FINANCING STATEMENT AMENDMENT |
| LI0005 | FINANCING STATEMENT ASSIGNMENT |
| LI0006 | FINANCING STATEMENT SUBORDINATION |
| LI0007 | FINANCING STATEMENT - COOP |
| LI0008 | STATE TAX LIEN RELEASE |
| LI0009 | STATE TAX LIEN |
| LI0010 | FINANCING STATEMENT RELEASE |
| LI0011 | FINANCING STATEMENT PARTIAL RELEASE |
| LI0012 | FEDERAL TAX LIEN RELEASE |
| LI0013 | STATE INHERITANCE TAX LIEN |
| LI0014 | FINANCING STATEMENT MODIFICATION |
| LI0015 | FEDERAL TAX LIEN |
| LI0016 | STATE TAX LIEN PARTIAL RELEASE |
| LI0017 | FEDERAL TAX LIEN PARTIAL RELEASE |
| LI0018 | STATE TAX LIEN AMENDMENT |
| LI0019 | STATE ESTATE TAX LIEN |
| LI0020 | FEDERAL LIEN SUBORDINATION |
| LI0021 | FEDERAL TAX LIEN NON-ATTACHMENT |
| LI0022 | FEDERAL TAX LIEN REFILING |
| LI0023 | FEDERAL ESTATE TAX LIEN |
| LI0024 | STATE TAX LIEN EXTENSION |
| LI0025 | FEDERAL TAX LIEN AMENDMENT |
| LI0026 | STATE LIEN SUBORDINATION |
| LI0027 | STATE TAX LIEN MODIFICATION |
| LI0028 | FEDERAL TAX LIEN MODIFICATION |
| LI0029 | FINANCING STATEMENT PARTIAL ASSIGNMENT |
| LI0030 | STATE BOARD OF EQUALIZATION LIEN |
| LI0031 | FINANCING STATEMENT - OIL & GAS LEASE COLLATERAL |
| LI0032 | FEDERAL INHERITANCE TAX LIEN |
Type of the recorded foreclosure event (`FR####` — lis pendens, notice of default, ...). The flat shape exposes the most recent record's type as top-level `forecloseCode`.
| Code | Description |
| - | - |
| FR0001 | LIS PENDENS |
| FR0002 | NOTICE OF DEFAULT |
| FR0003 | NOTICE OF FORECLOSURE |
| FR0004 | RELEASE |
| FR0005 | NOTICE OF TRUSTEE SALE |
| FR0006 | FINAL JUDGMENT |
| FR0007 | COURT ORDER |
| FR0008 | NOTICE OF SALE |
## Ordinal scales and numeric quantities
These fields are **numbers, not opaque codes**: order is meaningful within each field, and no `XX####` prefix applies.
Construction quality — the normalized grade of construction quality, workmanship, and materials on an integer 1–20 scale (1 lowest). Excludes current physical condition, age, and architectural style. Also per building at `buildingInformation.buildings[].characteristics.quality`.
| Value | Meaning |
| - | - |
| 1 | LOWEST / POOR |
| 2 | LOW PLUS |
| 3 | BASIC / ECONOMY |
| 4 | FAIR MINUS |
| 5 | FAIR |
| 6 | FAIR PLUS |
| 7 | BELOW AVERAGE |
| 8 | AVERAGE |
| 9 | ABOVE AVERAGE |
| 10 | GOOD MINUS |
| 11 | GOOD |
| 12 | GOOD PLUS |
| 13 | VERY GOOD |
| 14 | VERY GOOD PLUS |
| 15 | EXCELLENT |
| 16 | SUPERIOR |
| 17 | EXCEPTIONAL LEVEL 1 |
| 18 | EXCEPTIONAL LEVEL 2 |
| 19 | EXCEPTIONAL LEVEL 3 |
| 20 | EXCEPTIONAL LEVEL 4 |
Physical condition — the normalized state of repair of the improvements on an integer 1–20 scale (1 worst, 20 best). Excludes construction quality, age, and style. A **separate field from `building.quality`**: a parcel carries both, and they share only the scale form. Current sources occupy the anchor positions below; intermediate values are reserved for finer-grained sources and compare naturally. Also per building at `buildingInformation.buildings[].characteristics.condition`.
| Value | Meaning |
| - | - |
| 1 | UNSOUND |
| 3 | POOR |
| 6 | FAIR |
| 10 | AVERAGE |
| 13 | GOOD |
| 16 | VERY GOOD |
| 18 | EXCELLENT |
Positions **19 and 20 are reserved headroom** above EXCELLENT: the 1–20 range is the scale contract this field shares with `building.quality`, and no source currently maps a parcel there. Validate against 1–20, and expect the unlabelled positions — both the gaps between anchors and the top two — to fill as finer-grained sources land, under the same append-only guarantee.
Owner-tenure band — an integer band index 1–8; higher bands mean longer tenure. Band boundaries are not published; treat values as ordered buckets, not measurements. Prefer `lengthOfResidenceMonths` when it is present. The flat shape exposes the same integer under the same name (`lengthOfResidenceCode`).
Band index for the modeled current loan-to-value estimate — an ordered integer bucket, not a percentage and not an uncertainty spread. Band boundaries are not published. The flat shape exposes the same integer as `LTVCurrentEstRange`.
Band index for the modeled current owner-equity estimate — an ordered integer bucket over dollar ranges, not a dollar amount. Band boundaries are not published. The flat shape exposes the same integer as `equityCurrentEstRange`.
### Flat-shape field names (v2-compatible)
The v2-compatible flat shape carries the same underlying values; the tables above apply under these flat field names.
| v3 record path | Flat-shape field |
| - | - |
| `propertyClassification.propertyUseCode` | `useCode` |
| `building.exteriorWall` | `wallType` |
| `building.roofMaterial` | `roofType` |
| `building.roofStyle` | `roofStyle` |
| `building.flooring` | `floorType` |
| `building.basement` | `basementType` |
| `building.construction` | `constructionType` |
| `building.parking` | `garageType` |
| `building.pool.type` | `poolCode` |
| `legalInformation.lotCode` | `lotCode` |
| `salesHistory[].saleDocumentType` | `transferDocType` |
| `salesHistory[].buyerEntityType` | `buyerIDCode` |
| `salesHistory[].buyerVesting` | `buyerVestingCode` |
| `salesHistory[].qualification` | `transfers[].saleCode` |
| `foreclosures[].recordType` | `forecloseCode` |
| `building.architecturalStyle` | `styleDesc` |
### Jurisdiction-issued values
`propertyClassification.stateLandUseCode`, `propertyClassification.countyLandUseCode`, and `taxInformation.taxDistrictCode` are jurisdiction-issued vocabularies carried verbatim, not members of the national code system. No global decode table exists or should be inferred; interpret them within the issuing jurisdiction. `zoningInfo.zoningCode` is likewise the jurisdiction's own zoning designation.
### Self-describing members
Some members carry readable values rather than codes and need no decode table: `valuationInformation.exemptions[].exemptionType` (`Homestead`, `Senior`, `Veteran`, ...), `mortgages[].lienPosition` (`first` / `second`), `mortgages[].termUnit` (`months`), `mortgages[].assignmentsReleases[].recordType` (`assignment` / `release`), `outbuildingsYardItems[].type`, `buildingInformation.buildings[].buildingAreas[].areaUnits` (`SF`, `LF`), and `taxInformation.taxStatus` (`delinquent`).
# Migrating from v2 to v3
Source: https://docs.realie.ai/api-reference/v3/migration
Field-by-field guide to moving an integration from the v2 to the v3 data generation.
## TL;DR
**Most integrations run unchanged.** v3 serves the same endpoints and the same
authentication — there is no new URL, header, or version parameter. Existing
accounts receive the **v2-compatible flat shape** by default (the same field layout
as before, served from v3 data), so the large majority of fields return under
the same names with the same meanings.
**Two response shapes exist.** The response shape is an **account-level setting**
that every API key on the account inherits. The v3 standard — the default for new
accounts, and a one-way opt-in from the dashboard's **Usage** page for existing
accounts — is the **full nested parcel record**, matching bulk exports apart from delivery-specific fields (bulk records carry a per-load `_id`; API responses omit it)
and documented in the [v3 Property Data Schema](/api-reference/v3/property-data-schema).
The flat shape is documented in the
[legacy tab](/api-reference/property-data-schema); a field-by-field mapping
between the two shapes is at [the bottom of this guide](#flat-shape-to-nested-shape-mapping).
Everything below about field deltas applies to the flat shape; codes and values
are identical in both shapes.
What to check in your integration:
* **Identifiers** — if you persist `_id`, switch to `realieParcelId`. See
[the warning below](#use-realieparcelid-not-_id).
* **Past-sale fields** — if you read any of the fixed "past/prior sale" scalar
fields, switch to the `transfers` array, which now carries the full event
history. See [Removed fields](#removed-fields-57).
* **Coded fields** — 15 coded fields use new code vocabularies. Do not decode
v3 values against v2 tables; use the
[Property Feature Field Key](/api-reference/v3/feature-key). See
[Code vocabularies](#code-vocabularies).
* **Bathrooms** — bathroom counts are now decimals (`2.5`), not truncated
integers. See [Type changes](#type-changes).
The complete v3 field list is documented in the
[Property Data Schema (v3)](/api-reference/v3/property-data-schema).
## Use realieParcelId, not \_id
**`_id` is not stable across data releases.** `_id` values are regenerated on
each data load. If you store `_id` and use it to re-fetch or join properties
later, those references will break at the next release.
**`realieParcelId` is the persistent parcel identifier.** It is new in v3,
returned on every property, and stable across releases. Persist it instead of
`_id`.
## Restored fields (16)
The v2 debt and ownership analytics — lien rollups, LTV/equity estimates, and
owner tenure counts — were modeled estimates, not recorded facts. They are carried forward under their **exact v2
field names** as **frozen estimates, captured May 2026** (the final v2 data
refresh). They do not update with new data releases, and they never mix into
the recorded mortgage and lien data.
| Field | What it is |
| - | - |
| `totalLienCount` \* | Count of open liens |
| `totalLienBalance` \* | Combined open lien balance |
| `lenderName` \* | Lender on the most recent mortgage |
| `totalFinancingHistCount` | Count of financing events on record |
| `LTVCurrentEstCombined` | Estimated current combined loan-to-value |
| `LTVCurrentEstRange` | Range band for the LTV estimate |
| `equityCurrentEstBal` | Estimated current equity balance |
| `equityCurrentEstRange` | Range band for the equity estimate |
| `LTVPurchase` | Loan-to-value at purchase |
| `ownershipStartDate` | Date the current owner took possession (now returned as `YYYY-MM-DD`) |
| `lengthOfResidenceMonths` | Months the current owner has held the property |
| `lengthOfResidenceCode` | Coded length-of-residence band |
| `ownerParcelCount` | Parcels held by the same owner |
| `ownerResCount` | Residential parcels held by the same owner |
| `ownerComCount` | Commercial parcels held by the same owner |
| `forecloseFileDate` | Court filing date of the latest foreclosure record — not a frozen estimate; serves from `foreclosures[].fileDate` on legacy-restored records |
For parcels with no archived analytics, these keys are simply absent, matching
v2's absent-vs-null conventions. (`forecloseFileDate` is the exception in this
list: it is restored record data, not an archived estimate — pre-v3-era
foreclosure records are restored into the `foreclosures[]` array, and the flat
field serves from the latest record's `fileDate`.)
### Recorded facts win: the three starred fields
`totalLienCount`, `totalLienBalance`, and `lenderName` can also be derived
from recorded lien and mortgage records in the new data generation, and
**recorded facts win when known**:
* When lien records are known for a parcel — including a known-empty set,
which counts as zero — `totalLienCount` and `totalLienBalance` are computed
from the recorded liens (count, and sum of amounts). The frozen estimate
fills in only when lien data is entirely unknown for the parcel.
* When mortgage records are known, `lenderName` comes from the most recent
recorded mortgage. If that record carries no lender name, the field is
omitted — a known record without a lender never falls back to the frozen
estimate. The frozen value is used only when no mortgage data is known.
The other 12 frozen-estimate fields have no recorded-fact counterpart, so no
precedence applies: archived value present → returned; absent → key absent.
## Removed fields (56)
These v2 fields have no equivalent key in v3. They fall into a few families,
and every family has a replacement path except the last.
### Past-sale scalar slots → the `transfers` array
v2 copied individual past sale/transfer events into fixed per-event columns.
v3 returns the full event history instead: the same data (and more) is in the
`transfers` array. Page the array rather than reading fixed "past/prior"
slots.
Removed (31 fields): `assessorSaleBookNumber`, `assessorSaleDocumentNumber`,
`assessorSaleDocumentType`, `assessorSalePageNumber`, `assessorSalePrice`,
`assessorSalePriceCode`, `assessorSaleRecordingDate`, `pastBookSale`,
`pastBookTransfer`, `pastDistressedSale`, `pastDistressedTransfer`,
`pastDocumentNumberSale`, `pastDocumentNumberTransfer`,
`pastDocumentTypeSale`, `pastDocumentTypeTransfer`, `pastPageSale`,
`pastPageTransfer`, `pastPriceCodeSale`, `pastPriceCodeTransfer`,
`pastPriceSale`, `pastPriceTransfer`, `pastRealEstateOwnedSale`,
`pastRealEstateOwnedTransfer`, `pastRecoDateSale`, `pastRecordingDateSale`,
`pastSaleDateTransfer`, `priorSalesDate`, `saleBookLastSale`,
`saleDocumentNumberLastSale`, `saleDocumentTypeLastSale`, `salePageLastSale`
Also removed (5 last-sale/transfer scalars of the same flattening class):
`salePriceCodeLastSale`, `salePriceCodeLastTransfer`, `salePriceLastTransfer`,
`purchaseSaleDate`, `purchaseRecordingDate`. The latest event is covered by
the flat `transferDate`/`transferPrice` fields, and per-event codes by
`transfers[].saleCode`.
`transfers` is sorted **newest-first**, and each entry carries exactly these
11 keys (a key is absent when the source record has no value):
```json theme={null}
{
"transferDate": "2024-01-05",
"transferDateObject": "2024-01-05T00:00:00.000Z",
"transferPrice": 2700000,
"recordingDate": "2024-01-10",
"transferDocNum": "2024R0119502",
"transferDocType": "TT0001",
"bookNum": "1234",
"pageNum": "56",
"grantee": "SMITH, JOHN",
"qualified": true,
"saleCode": "TQ0002"
}
```
The flat latest-sale fields (`transferDate`, `transferPrice`, and the other
latest-sale scalars) are always derived from the newest dated entry of
`transfers`, so the scalars and the array cannot disagree.
### Per-transfer deed flags
Removed (2): `distressedDeedTransfer`, `realEstateOwnedDeedTransfer` — flags
of the retired fixed transfer slots. The latest sale keeps its flat flags
(`distressedSale`, `realEstateOwnedPurchaseSale`); entries of the `transfers`
array do not carry per-event distressed/REO flags.
### Owner name splits
Removed (6): `owner1FirstName`, `owner1MiddleName`, `owner1LastName`,
`owner2FirstName`, `owner2MiddleName`, `owner2LastName`.
The new source delivers owner names as raw `LAST FIRST` strings (`ownerName`,
and now also `ownerName2`); there is no authoritative split today, so these
keys are absent (not empty-string). An owner-name parsing initiative may
restore them in a future release.
### Assessment component scalars
Removed (2): `assessedBuildingValue`, `assessedLandValue` — superseded by
`totalBuildingValue`/`totalLandValue` plus the full `assessments` history
array.
### Administrative fields
Removed (10): `citySection`, `countyUSPS`, `districtNum`, `jurisdiction`,
`legalUnit`, `ownerOriginCode`, `phaseNum`, `secTwnRng`, `siteId`, `tractNum`.
These convenience fields have no source in the new data generation, or have
structured equivalents:
| Removed | Use instead |
| - | - |
| `secTwnRng` | `section`, `township`, `range` |
| `tractNum` | `siteCensusTract` |
| `countyUSPS` | `county` |
| `ownerOriginCode` | nothing — a constant-valued source artifact with zero information content |
### Moved to the nested shape: USPS carrier route
Not counted in the 57 — this one has a v3 home. Absent from the flat shape: `siteCarrierRoute`. The value lives in the
nested v3 record as `propertyLocation.siteCarrierRoute` (and in bulk
full-record exports); the flat compatibility layer does not carry it. To keep
reading it, use the nested shape or bulk data.
### Raw codes → descriptive fields
Alongside the removals above, v3 favors readable values over raw source codes
for a few characteristics: air conditioning arrives as the new boolean
`airConditioning`. Building condition and quality are integers on a 1–20 scale
in the nested record (`building.condition` / `building.quality`); the flat
slots `conditionDesc` and `gradeDesc` are declared but **not currently
emitted** — the scale has no label vocabulary yet.
## Type changes
* **`totalBathrooms` — integer → decimal.** After a bathroom-count
data-quality improvement, fractional values (e.g. `2.5`) are now real JSON
numbers. The same applies to the room-level bath fields (`fullBathrooms`,
`halfBathrooms`).
* **`ownershipStartDate` — format.** Now returned as `YYYY-MM-DD` (v2
returned `YYYYMMDD`).
## New fields worth adopting (32)
The headline additions:
* **`realieParcelId`** — the stable parcel identifier. Persist this, not
`_id`.
* **`transfers`** — not new, but newly central: it now carries the full sale
history that v2 spread across fixed past-sale slots, with the 11-key event
shape shown above.
* **`airConditioning`** — boolean air-conditioning presence.
* **`conditionDesc` / `gradeDesc`** — declared but **not currently emitted**;
read the nested `building.condition` / `building.quality` integers instead.
The full list of 32 fields absent from the v2 response:
* **Stable key:** `realieParcelId`
* **Identity / location:** `ownerName2`, `geometry`, `location`,
`zipCodePlusFour`, `fullAddress`, `formattedAddress`
* **Aliases of kept fields:** `legalDescription` (= `legalDesc`), `lotNumber`
(= `lotNum`), `blockNumber` (= `blockNum`)
* **Building:** `roomCount`, `unitCount`, `effectiveYearBuilt`,
`fullBathrooms`, `halfBathrooms`, `airConditioning`, `styleDesc`,
`conditionDesc`, `gradeDesc`
* **Land:** `depth`
* **Sale:** `qualified` — boolean qualification of the latest sale; also
per-event on `transfers[]`
* **Valuation:** `compModelValue`, `compModelValueMin`, `compModelValueMax`,
`compPpsf`, `compCount`, `compMaxDistMi`, `compWindowMo`,
`compModelVersion`, `modelVersion`, `estimateAgreementPct`, and
`modelConfidenceBucket`
**Internal model fields.** `modelConfidenceBucket` is internal-only and not
returned by the public API. The v2-era model diagnostics
(`modelValueStdDev`, `modelConfidence`, `modelDate`, `modelValueRange`) and
`realieSquareFootage` likewise remain excluded from public responses —
unchanged from v2, which excluded the same set.
## Code vocabularies
**15 fields change vocabulary.** The keys are unchanged, but the values are
not the v2 letter codes — do not decode them against v2 tables. Decode every
value with the [Property Feature Field Key](/api-reference/v3/feature-key):
| Field | Decode table |
| - | - |
| `wallType` | [Feature Field Key](/api-reference/v3/feature-key) |
| `garageType` | [Feature Field Key](/api-reference/v3/feature-key) |
| `basementType` | [Feature Field Key](/api-reference/v3/feature-key) |
| `constructionType` | [Feature Field Key](/api-reference/v3/feature-key) |
| `floorType` | [Feature Field Key](/api-reference/v3/feature-key) |
| `poolCode` | [Feature Field Key](/api-reference/v3/feature-key) |
| `roofType` | [Feature Field Key](/api-reference/v3/feature-key) |
| `roofStyle` | [Feature Field Key](/api-reference/v3/feature-key) |
| `lotCode` | [Feature Field Key](/api-reference/v3/feature-key) |
| `buyerIDCode` | [Feature Field Key](/api-reference/v3/feature-key) |
| `buyerVestingCode` | [Feature Field Key](/api-reference/v3/feature-key) |
| `transfers[].saleCode` | [Feature Field Key](/api-reference/v3/feature-key) |
| `transferDocType` | [Feature Field Key](/api-reference/v3/feature-key) |
| `styleDesc` | [Feature Field Key](/api-reference/v3/feature-key) |
| `forecloseCode` | [Feature Field Key](/api-reference/v3/feature-key) |
Notes:
* **`useCode` is unchanged** — the same 4-digit scheme as v2. A small number
of v2 codes are retired by the new source: for example, in Florida the
generic codes `4001` and `8017` are retired and those parcels are re-coded
to specific successor codes.
* **`buyerIDCode` and `buyerVestingCode` carry Realie codes** — `BE####`
buyer-entity codes and `BV####` title-vesting codes respectively, replacing
the numeric source vocabularies.
* **`transferDocType` carries `TT####` deed-type codes** wherever the source's
document type maps to the codebook. Source values that could not be confirmed
against published documentation are omitted rather than shipped as a raw
source token — see the disclosure in the
[changelog](/api-reference/v3/changelog).
* **`transfers[].saleCode` uses the Realie code system** (`TQ####`
sale-qualification codes, e.g. `TQ0002` = valid arm's-length sale,
`TQ0001` = non-market or forced transfer) — one vocabulary across every
sale event. The related `priceDerivation` codes (`PD####`, how the price
figure was obtained) are included in bulk exports and in the nested v3
response as `salesHistory[].priceDerivation`; the flat shape does not
carry them.
## Data freshness
Sale histories now extend through **mid-May 2026 in most states**, via a
fast-path append of recent recordings. Appended recent events carry a reduced
record shape until they backfill in subsequent data releases:
* `qualified` is absent on nearly all events recorded after March 2026 (the
qualification determination lags the recording), and seller (grantor) and
title-company details are similarly not yet attached.
* `transfers[].saleCode` (`TQ####`) carries the qualification semantics —
prefer it over `qualified` for recent events.
* `transferPrice` is sparse on recent events in non-disclosure states (for
example Texas), where recorded documents do not carry a price.
## The code migration is complete
Every normalized coded field of both shapes now carries a value from **Realie's
own code system** — building and characteristic codes alongside the
sale-qualification and price-derivation codes (`TQ####`/`PD####`) that shipped
at launch. (Jurisdiction-issued fields — `taxRateCodeArea`/`taxDistrictCode`,
state and county land-use codes, and zoning codes — stay verbatim, with no
national decode table.) The complete
codebook is published in the
[Property Feature Field Key](/api-reference/v3/feature-key); re-decode any coded
values you persisted before this release.
From here the codebook is **append-only**: a published code id never changes
meaning and is never reused or renumbered. New codes join a family under the next
free number, and every addition is announced in the
[changelog](/api-reference/v3/changelog).
## Flat shape to nested shape mapping
If you are moving from the v2-compatible flat shape to the nested v3 shape, every
flat field maps to a nested path. "direct" means the value is identical; other
transforms describe how the flat value is derived from the nested record.
| v2-legacy field | v3 nested path | transform |
| - | - | - |
| realieParcelId | realieParcelId | direct |
| parcelId | parcelId | direct |
| state | state | direct |
| address | address | direct |
| zipCode | zipCode | direct |
| useCode | useCode | direct |
| county | propertyIdentification.county | direct |
| fipsState | countyFips | slice: first 2 chars |
| fipsCounty | countyFips | slice: chars 3+ |
| state\_parcelId | state + parcelId | computed: `{state}-{parcelId}` concat |
| state\_parcelIdSTD | state + propertyIdentification.county + parcelId | computed: standardizeParcelId() |
| addressFormal | propertyLocation.addressFormal | direct |
| formattedAddress | propertyLocation.addressFormal | direct (alias) |
| addressFull | propertyLocation.addressFull | direct |
| addressFullUSPS | propertyLocation.addressFullUSPS | direct |
| fullAddress | propertyLocation.fullAddress ?? propertyLocation.addressFull | fallback chain |
| addressLine1 | propertyLocation.addressLine1 | direct |
| addressLine2 | propertyLocation.addressLine2 | direct |
| addressRaw | propertyLocation.addressRaw ?? propertyLocation.rawAddress | fallback chain |
| addressUnit | propertyLocation.addressUnit | direct |
| unitNumber | propertyLocation.unitNumber | direct |
| unitNumberStripped | propertyLocation.unitNumberStripped | direct |
| street | propertyLocation.street | direct |
| streetNumber | propertyLocation.streetNumber | direct |
| streetName | propertyLocation.streetName | direct |
| streetType | propertyLocation.streetType | direct |
| streetDirectionPrefix | propertyLocation.streetDirectionPrefix | direct |
| streetDirectionSuffix | propertyLocation.streetDirectionSuffix | direct |
| city | propertyLocation.city | direct |
| cityUSPS | propertyLocation.cityUSPS | direct |
| zipCodePlusFour | propertyLocation.zipCodePlusFour | direct |
| siteCensusTract | propertyLocation.censusTract | direct (rename) |
| latitude | latitude | direct, gated: finite non-zero lat/lon pair else omitted |
| longitude | longitude | direct, same coordinate gate |
| location | location | direct, same coordinate gate |
| geometry | geometry | direct |
| residential | propertyClassification.residential ?? useCode | fallback: useCode numeric in 1000–1099 |
| condo | propertyClassification.condo ?? useCode | fallback: useCode === 1004 |
| zoningCode | zoningInfo.zoningCode | direct |
| neighborhood | propertyClassification.neighborhood | direct |
| ownerName | propertyIdentification.currentOwner.ownerName | direct (raw "LAST FIRST"; no splits) |
| ownerName2 | propertyIdentification.currentOwner.ownerName2 | direct |
| ownerAddressLine1 | propertyIdentification.currentOwner.ownerStreet | direct |
| mailerAddress | propertyIdentification.currentOwner.ownerStreet | direct (alias) |
| ownerAddressFull | propertyIdentification.currentOwner.ownerFullAddress | direct |
| ownerCity | propertyIdentification.currentOwner.ownerCity | direct |
| mailingCity | propertyIdentification.currentOwner.ownerCity | direct (alias) |
| ownerState | propertyIdentification.currentOwner.ownerState | direct |
| mailingState | propertyIdentification.currentOwner.ownerState | direct (alias) |
| ownerZipCode | propertyIdentification.currentOwner.ownerZipCode | direct |
| mailingZip5 | propertyIdentification.currentOwner.ownerZipCode | direct (alias) |
| ownerZipCodePlusFour | propertyIdentification.currentOwner.ownerZipCodePlusFour | direct |
| mailingZip4 | propertyIdentification.currentOwner.ownerZipCodePlusFour | direct (alias) |
| yearBuilt | buildingInformation.buildings\[].actualYearBuilt | primary building (buildingNumber===1, else index 0) |
| effectiveYearBuilt | buildingInformation.buildings\[].effectiveYearBuilt | primary building |
| stories | buildingInformation.buildings\[].stories | primary building |
| livingArea | buildingInformation.buildings\[].livingArea | primary building |
| buildingArea | buildingInformation.buildings\[].buildingArea | primary building |
| realieSquareFootage | buildings\[].livingArea ?? buildings\[].buildingArea | primary building, fallback chain |
| totalBedrooms | buildingInformation.buildings\[].totalBedrooms | sum across buildings |
| totalBathrooms | buildingInformation.buildings\[].totalBathrooms | sum across buildings |
| fullBathrooms | buildingInformation.buildings\[].fullBathrooms | sum across buildings |
| halfBathrooms | buildingInformation.buildings\[].halfBathrooms | sum across buildings |
| fireplaceCount | buildingInformation.buildings\[].fireplaceCount | sum across buildings |
| garageCount | buildingInformation.buildings\[].garageCount | sum across buildings |
| fireplace | buildingInformation.buildings\[].fireplace | any building true (else false if any false, else omitted) |
| garage | buildingInformation.buildings\[].garage | any building true |
| pool | buildingInformation.buildings\[].pool | any building true |
| poolCode | building.pool.type | main building (`PT####`) |
| garageType | building.parking | main building (`PK####`) |
| airConditioning | cooling.equipment | main building; boolean from code (false iff the code means NONE) |
| wallType | building.exteriorWall | main building (`EW####`) |
| roofType | building.roofMaterial | main building (`RM####`) |
| roofStyle | building.roofStyle | main building (`RS####`) |
| floorType | building.flooring | main building (`FL####`) |
| basementType | building.basement | main building (`BS####`) |
| foundationType | building.foundation | main building (`FN####`) |
| constructionType | building.construction | main building (`CT####`) |
| styleDesc | building.architecturalStyle | main building (`AS####`) |
| conditionDesc | building.condition | not emitted by the compatibility layer — the nested value is an integer 1–20 with no label vocabulary; read `building.condition` |
| gradeDesc | building.quality | not emitted by the compatibility layer — the nested value is an integer 1–20 with no label vocabulary; read `building.quality` |
| roomCount | roomInformation.roomCount | direct |
| buildingCount | generalInformation.numberOfBuildings ?? buildings.length | fallback: array length |
| unitCount | generalInformation.numberOfUnits | direct |
| acres | landInformation.acres ?? .deedAcres ?? .calculatedAcres | fallback chain |
| landArea | landInformation.totalLandArea | direct |
| lotSizeArea | landInformation.totalLandArea | direct (alias) |
| frontage | landInformation.lotFrontage | direct |
| depth | landInformation.lotDepth | direct |
| depthSize | landInformation.lotDepth | direct (alias) |
| legalDesc | legalInformation.legalDescription | direct |
| legalDescription | legalInformation.legalDescription | direct (alias) |
| subdivision | legalInformation.subdivisionName | direct |
| blockNum | legalInformation.blockNumber | direct |
| blockNumber | legalInformation.blockNumber | direct (alias) |
| lotNum | legalInformation.lotNumber | direct |
| lotNumber | legalInformation.lotNumber | direct (alias) |
| lotCode | legalInformation.lotCode | direct |
| landLot | legalInformation.landLot | direct |
| section | legalInformation.section | direct |
| township | legalInformation.township | direct |
| range | legalInformation.range | direct |
| totalMarketValue | valuationInformation.totalMarketValue | direct |
| totalAssessedValue | valuationInformation.totalAssessedValue | direct |
| totalBuildingValue | valuationInformation.totalBuildingValue | direct |
| totalLandValue | valuationInformation.totalLandValue | direct |
| assessedYear | valuationInformation.assessmentYear | direct |
| marketValueYear | assessmentHistory\[].marketValueYear ?? valuationInformation.assessmentYear | max-assessmentYear history item, then fallback |
| assessments | assessmentHistory\[] | mapped array (omitted if empty) |
| assessments\[].assessedYear | assessmentHistory\[].assessmentYear | direct |
| assessments\[].marketValueYear | assessmentHistory\[].marketValueYear | direct |
| assessments\[].totalAssessedValue | assessmentHistory\[].assessedTotalValue | direct |
| assessments\[].totalBuildingValue | assessmentHistory\[].assessedBuildingValue | direct |
| assessments\[].totalLandValue | assessmentHistory\[].assessedLandValue | direct |
| assessments\[].totalMarketValue | assessmentHistory\[].assessedMarketValue | direct |
| taxValue | taxInformation.taxAmount | direct |
| taxYear | taxInformation.taxYear | direct |
| taxRateCodeArea | taxInformation.taxDistrictCode | direct |
| transferDate | salesHistory\[].saleDate | most recent sale (max saleDate, ties: higher salePrice, then lower index); date → YYYY-MM-DD string |
| transferDateObject | salesHistory\[].saleDate | most recent sale; Date object |
| transferPrice | salesHistory\[].salePrice | most recent sale |
| recordingDate | salesHistory\[].recordingDate | most recent sale |
| transferDocNum | salesHistory\[].saleDocumentNumber | most recent sale |
| transferDocType | salesHistory\[].saleDocumentType | most recent sale |
| bookNum | salesHistory\[].bookNumber | most recent sale |
| pageNum | salesHistory\[].pageNumber | most recent sale |
| grantee | salesHistory\[].grantee | most recent sale |
| qualified | salesHistory\[].armsLength | most recent sale; the arm's-length boolean. Absent on nearly all events recorded after March 2026 — read `qualification` (`TQ####`) for those |
| buyerIDCode | salesHistory\[].buyerEntityType | most recent sale (`BE####`) |
| buyerVestingCode | salesHistory\[].buyerVesting | most recent sale (`BV####`) |
| distressedSale | salesHistory\[].distressedSale | most recent sale; boolean → 1/0 |
| realEstateOwnedPurchaseSale | salesHistory\[].realEstateOwned | most recent sale; boolean → 1/0 |
| transfers | salesHistory\[] | mapped array, sorted newest-first (omitted if empty) |
| transfers\[].bookNum | salesHistory\[].bookNumber | direct |
| transfers\[].grantee | salesHistory\[].grantee | direct |
| transfers\[].pageNum | salesHistory\[].pageNumber | direct |
| transfers\[].qualified | salesHistory\[].armsLength | the arm's-length boolean. Absent on nearly all events recorded after March 2026 — read `qualification` (`TQ####`) for those |
| transfers\[].recordingDate | salesHistory\[].recordingDate | direct |
| transfers\[].saleCode | salesHistory\[].qualification | direct (`TQ####`); absent when the source recorded no qualification signal |
| transfers\[].transferDate | salesHistory\[].saleDate | date → YYYY-MM-DD string |
| transfers\[].transferDateObject | salesHistory\[].saleDate | Date object |
| transfers\[].transferDocNum | salesHistory\[].saleDocumentNumber | direct |
| transfers\[].transferDocType | salesHistory\[].saleDocumentType | direct |
| transfers\[].transferPrice | salesHistory\[].salePrice | direct |
| totalLienCount | liens\[] (length) → legacyDebtEstimate.lienCount | computed: array count; frozen-estimate fallback only when liens array absent (\[] = known-zero) |
| totalLienBalance | liens\[].amount → legacyDebtEstimate.lienBalance | computed: sum of amounts; same fallback rule |
| lenderName | mortgages\[].lender → legacyDebtEstimate.lenderName | most recent mortgage (by recordingDate); fallback only when mortgages array absent |
| forecloseCode | foreclosures\[].recordType | most recent foreclosure (by recordingDate) |
| forecloseRecordDate | foreclosures\[].recordingDate | most recent foreclosure |
| forecloseFileDate | foreclosures\[].fileDate | most recent foreclosure; populated on legacy-restored records |
| forecloseCaseNum | foreclosures\[].caseNumber | most recent foreclosure |
| auctionDate | foreclosures\[].auctionDate | most recent foreclosure; date → YYYY-MM-DD string |
| totalFinancingHistCount | legacyDebtEstimate.financingCount | direct (frozen May-2026 estimate) |
| LTVCurrentEstCombined | legacyDebtEstimate.ltvCurrentEst | direct (frozen estimate) |
| LTVCurrentEstRange | legacyDebtEstimate.ltvCurrentEstRange | direct (frozen estimate) |
| equityCurrentEstBal | legacyDebtEstimate.equityCurrentEst | direct (frozen estimate) |
| equityCurrentEstRange | legacyDebtEstimate.equityCurrentEstRange | direct (frozen estimate) |
| LTVPurchase | legacyDebtEstimate.ltvPurchase | direct (frozen estimate) |
| ownershipStartDate | legacyOwnershipSummary.ownershipStartDate | date → YYYY-MM-DD string |
| lengthOfResidenceMonths | legacyOwnershipSummary.lengthOfResidenceMonths | direct (frozen estimate) |
| lengthOfResidenceCode | legacyOwnershipSummary.lengthOfResidenceCode | direct (frozen estimate) |
| ownerParcelCount | legacyOwnershipSummary.ownerParcelCount | direct (frozen estimate) |
| ownerResCount | legacyOwnershipSummary.ownerResCount | direct (frozen estimate) |
| ownerComCount | legacyOwnershipSummary.ownerComCount | direct (frozen estimate) |
| ownerOriginCode | — | no v3 source: the underlying member is removed (see the [changelog](/api-reference/v3/changelog)) |
| modelValue | realieValuation.ml.value | direct |
| modelValueMin | realieValuation.ml.low | direct |
| modelValueMax | realieValuation.ml.high | direct |
| modelValueStdDev | realieValuation.ml.stdDev | direct |
| modelConfidence | realieValuation.ml.confidence | direct |
| modelValueRange | realieValuation.ml.high − realieValuation.ml.low | computed: high minus low |
| modelConfidenceBucket | realieValuation.ml.confidenceBucket | direct |
| modelVersion | realieValuation.ml.version | direct |
| modelDate | realieValuation.date | direct |
| compModelValue | realieValuation.comp.value | direct |
| compModelValueMin | realieValuation.comp.low | direct |
| compModelValueMax | realieValuation.comp.high | direct |
| compPpsf | realieValuation.comp.ppsf | direct |
| compCount | realieValuation.comp.count | direct |
| compMaxDistMi | realieValuation.comp.maxDistMi | direct |
| compWindowMo | realieValuation.comp.windowMo | direct |
| compModelVersion | realieValuation.comp.version | direct |
| estimateAgreementPct | realieValuation.ml.value + realieValuation.comp.value | computed: \|ml − comp\| / mean(ml, comp), only when both present and sum > 0 |
**Current flat-shape caveats.** Four flat-shape fields have known issues in the
current release, tracked for an upcoming fix: `conditionDesc` and `gradeDesc` do
not currently emit (the underlying values are the integer 1–20 scales at
`building.condition` and `building.quality` — see
[Ordinal scales](/api-reference/v3/feature-key#ordinal-scales-and-numeric-quantities));
`styleDesc` carries the architectural-style **code** rather than description text
(decode `building.architecturalStyle` with the
[Feature Field Key](/api-reference/v3/feature-key)); and `foundationType` is not
populated in the current data generation. The nested paths are the reliable
source for all four.
# Migration FAQ
Source: https://docs.realie.ai/api-reference/v3/migration-faq
Common questions about moving an integration from the v2 to the v3 data generation.
Answers to the questions we hear most about the v3 data generation. For the
complete field-by-field delta, see the
[migration guide](/api-reference/v3/migration); for account, billing, and
pagination questions, see the [API FAQ](/api-reference/faq).
Almost certainly not. v3 serves the same endpoints, the same authentication, and the same flat, v2-compatible response shape, and the large majority of v2 fields return under the same names with the same meanings. Four things are worth a look before the switch: whether you persist `_id`, whether you read the fixed past-sale fields, whether you decode any coded fields, and whether you treat bathroom counts as integers. Each is covered below and catalogued in the [migration guide](/api-reference/v3/migration).
No. There is no new base URL, no version header, and no version parameter — your existing key and endpoint URLs keep working exactly as they are. The response shape is an **account-level setting**: existing accounts receive v3-generation data in the v2-compatible flat shape until you enable the v3 shape from the **Usage** page of your dashboard; new accounts start on the v3 shape. Enabling v3 is one-way — you can't switch back from the dashboard, so update your parsers first (contact [support@realie.ai](mailto:support@realie.ai) if you need it reverted). Two current exceptions return the flat layout even on v3-enabled accounts: a small number of records resolved through legacy coverage fallbacks, and searches using foreclosure filters — both will be removed in a later release. See [About the v2 Reference](/api-reference/v2-legacy).
57 v2 fields have no equivalent key in v3, and they fall into a few families. 36 of them are the fixed per-event past-sale and last-sale slots (`pastPriceSale`, `priorSalesDate`, `saleBookLastSale`, and the like) — v3 returns the full event history in the `transfers` array instead, so page the array rather than reading fixed "past/prior" columns. The remaining 21 are owner-name splits, assessment component scalars, per-transfer deed flags, and administrative convenience fields, including the constant-valued `ownerOriginCode`. (The USPS carrier route is absent from the flat shape but remains available in the nested record as `propertyLocation.siteCarrierRoute`.) Every field and its replacement path is listed under [Removed fields](/api-reference/v3/migration#removed-fields-57).
`realieParcelId` is the persistent parcel identifier, new in v3 and returned on every property. `_id` values are regenerated on each data load, so if you store `_id` and use it to re-fetch or join properties later, those references break at the next data release. Persist `realieParcelId` instead — it is stable across releases. See [Use realieParcelId, not \_id](/api-reference/v3/migration#use-realieparcelid-not-_id).
A bathroom-count data-quality improvement means fractional values are now real JSON numbers: a house with two full baths and a powder room returns `totalBathrooms: 2.5`, not a truncated `2`. The same applies to `fullBathrooms` and `halfBathrooms`. If your code parses these as integers, or filters on `bathsMin` / `bathsMax` in the comparables endpoint, check that decimals are handled. See [Type changes](/api-reference/v3/migration#type-changes).
They are Realie's own code system for sale events. `TQ####` codes carry sale qualification — `TQ0002` is a valid arm's-length sale, `TQ0001` a non-market or forced transfer — and appear on `transfers[].saleCode` wherever the source recorded a reviewed qualification signal (the key is absent otherwise), replacing the mix of per-source qualification vocabularies. `PD####` codes record how the price figure was obtained (stated on the document, computed from transfer tax, from an affidavit, and so on); they ship in bulk exports and in the nested v3 response as `salesHistory[].priceDerivation` — the flat shape does not carry them. Both tables are published in the [Property Feature Field Key](/api-reference/v3/feature-key).
The [Property Feature Field Key](/api-reference/v3/feature-key) is the single decode source of truth, for API responses and bulk deliveries alike. 15 fields changed code vocabulary in v3 — among them `wallType`, `roofType`, `roofStyle`, `styleDesc`, `garageType`, `basementType`, `constructionType`, `floorType`, `poolCode`, `lotCode`, `buyerIDCode`, `buyerVestingCode`, `forecloseCode`, `transferDocType`, and `transfers[].saleCode`. The keys are unchanged, but the values are not the v2 letter codes, so do not decode them against v2 tables. The full list is under [Code vocabularies](/api-reference/v3/migration#code-vocabularies).
`useCode` itself is unchanged — the same 4-digit scheme as v2, and the search filter still matches exactly, by design. What changed is the coding of individual parcels: the current source retires a small number of v2-era codes and re-codes those parcels to more specific successors. In Florida, for example, the generic codes `4001` and `8017` are retired, and parcels that carried them now return a specific successor code. If a filter went quiet or shifted volume, re-tune it deliberately against the [useCode table](/api-reference/v3/feature-key) and the [Code vocabularies](/api-reference/v3/migration#code-vocabularies) notes rather than assuming data loss.
Sale histories now extend through mid-May 2026 in most states via a fast path that appends recent recordings, and those appended events carry a reduced record shape until they backfill in subsequent data releases. `qualified` is absent on nearly all events recorded after March 2026 — the qualification determination lags the recording — and seller (grantor) and title-company details are similarly not yet attached. Use `transfers[].saleCode` for qualification semantics on recent events; it carries the `TQ####` codes. Note also that `transferPrice` is sparse on recent events in non-disclosure states such as Texas, where recorded documents do not carry a price. See [Data freshness](/api-reference/v3/migration#data-freshness).
Yes. Condo and multi-unit parcels that the county assesses individually resolve to their own records, each with its own `realieParcelId`. Expect higher parcel counts in condo-dense areas, and expect an address search at a multi-unit building to return more parcels than it did under v2. Use `unitNumberStripped` to target a specific unit — the [API FAQ](/api-reference/faq) covers unit-number normalization.
All six owner-name split fields are absent in v3. The current source delivers owner names as raw `LAST FIRST` strings in `ownerName` (and now also `ownerName2`), and there is no authoritative split today, so the keys are absent rather than empty strings. An owner-name parsing initiative may restore them in a future release. See [Owner name splits](/api-reference/v3/migration#owner-name-splits).
They return under their exact v2 field names, but 15 of these debt and ownership analytics are **frozen estimates captured May 2026**. They were modeled estimates rather than recorded facts, so they do not refresh with new data releases and never mix into recorded mortgage and lien data. Three of them — `totalLienCount`, `totalLienBalance`, and `lenderName` — are computed from recorded records when those records are known, and fall back to the frozen estimate only when lien or mortgage data is entirely unknown for the parcel. See [Restored fields](/api-reference/v3/migration#restored-fields-15).
[Owner Search](/api-reference/v3/property/owner-search) and [Premium Owner Search](/api-reference/v3/premium/premium-owner-search) are documented in the v3 reference again. Their URLs and API-key authentication are unchanged. Both support owner-name queries with optional fuzzy or word-matching modes on v3 data reads; premium owner search also supports a county filter. See the endpoint pages for pagination limits, response shapes, and billing details.
No. The building and characteristic code migration has shipped: every normalized coded field of both shapes now carries a value from the Realie code system (jurisdiction-issued fields such as `taxRateCodeArea`, land-use codes, and zoning codes stay verbatim), and the codebook is published complete in the [Property Feature Field Key](/api-reference/v3/feature-key). Re-decode any coded values you persisted before this release. From here the codebook is **append-only** — a published code id never changes meaning and is never reused or renumbered; new codes join under the next free number, and every addition is announced in the [changelog](/api-reference/v3/changelog).
No sunset date has been announced. The [v2 API (legacy) tab](/api-reference/v2-legacy) preserves the v2 reference as it documented the previous generation — including the [Pre-v3 Code Tables (Frozen)](/api-reference/v2-legacy-code-tables) archive for interpreting coded values you persisted before August 19, 2026 — so you can compare against what you built, and it will remain available while v2-era integrations are active. Bear in mind that the endpoint pages in that tab call the live API, so the playground returns v3-generation data.
The `permits` field belongs to the **v3 nested parcel record** and bulk full-record exports, documented in the [v3 Property Data Schema](/api-reference/v3/property-data-schema). **Permit data is not currently populated** — responses may omit the field or return an empty array. Population is **expected November 2026** (target date, not a guaranteed SLA). The [v2-compatible flat schema](/api-reference/property-data-schema) does not document `permits`; flat-shape integrators should not treat it as part of their response contract.
Email [support@realie.ai](mailto:support@realie.ai) with the endpoint, the request parameters, and the `realieParcelId` of an affected property. Check the field against the [Property Data Schema](/api-reference/v3/property-data-schema) first — fields with no value for a parcel are omitted from the response rather than returned as null, which is unchanged from v2 and is not the same as a missing field.
Still have questions? Email us at [support@realie.ai](mailto:support@realie.ai).
# Introduction
Source: https://docs.realie.ai/api-reference/v3/overview
The v3 Realie Property Data API — the current data generation.
Welcome to the Realie Property Data API. The v3 generation serves the same endpoints
you already use, backed by our current national data build: fresher sales (through
mid-May 2026 in most states), per-unit parcel identity via `realieParcelId`, corrected
building characteristics, and nationally normalized assessor codes.
**One dataset, two response shapes.** All responses are served from the v3 data
generation. The **v3 shape** — documented in this tab — is the full nested parcel
record, matching bulk exports apart from delivery-specific fields (bulk records
carry a per-load `_id`; API responses omit it), and is the default for new accounts. The
**v2-compatible shape** is the flat field layout existing integrations already
receive, served from the same v3 data through a compatibility layer; it is
documented in the [legacy tab](/api-reference/v2-legacy) and remains available with
no sunset date announced. The shape is an **account-level setting** that every API
key on the account inherits: existing accounts can enable the v3 shape from the
dashboard's [Usage](https://app.realie.ai/dashboard/) page, which is a one-way
switch. Endpoint URLs, authentication, rate limits, and billing are identical for
both.
## Getting Started
Create an account and sign in. Every account starts on the Free plan with a monthly token allowance shared across the Platform and API.
Add a payment method from [Billing](https://app.realie.ai/billing/) to enable API requests. We place a temporary \$0.50 authorization hold to verify the card, then release it immediately.
Open [Usage](https://app.realie.ai/dashboard/) and select **API access** to copy your key. Once API access is enabled, include this key in the headers of your requests.
Discover the full range of property data available by exploring our endpoints, conveniently accessible via the sidebar on the left.
## Coming from v2?
Most integrations keep working unchanged: endpoint URLs, request parameters, and the
large majority of response fields are identical. The differences that matter — a
stable parcel identifier, a handful of renamed or removed fields, decimal bathrooms,
and new vocabularies for some coded fields — are catalogued in the
[v2 → v3 migration guide](/api-reference/v3/migration).
# Premium Comparables Search
Source: https://docs.realie.ai/api-reference/v3/premium/premium-comparables-search
api-reference/v3/openapi.json GET /public/premium/comparables/
Search for comparable properties based on location and optional property characteristics. Set "full=true" to also return each comparable's full property record.
# Premium Owner Search
Source: https://docs.realie.ai/api-reference/v3/premium/premium-owner-search
api-reference/v3/openapi.json GET /public/premium/owner/
Search parcels by recorded current-owner name. Requires state and at least one of lastName or nameContains. Both recorded owner-name slots are searched. The v3 result window is limited to 200 candidate parcels, so broad names can return an incomplete set; refine the query to narrow the results. Pagination uses limit and offset, with offset + limit at most 200 on v3 reads. The account response-shape setting controls whether properties contain nested v3 records or the v2-compatible flat layout; see the [v3 overview](/api-reference/v3/overview) and [Property Data Schema](/api-reference/v3/property-data-schema). Send the API key directly in the Authorization header. Normal API-access and billing checks apply. A successful 200 response costs one token; 400, 401, 403, and 404 responses are not billed. See [Plans and Pricing](/api-reference/pricing). This premium endpoint uses the same name-matching engine as [Owner Search](/api-reference/v3/property/owner-search), adds optional county filtering, and caps each page at 25 properties.
# Property Data Schema (v3)
Source: https://docs.realie.ai/api-reference/v3/property-data-schema
The full nested v3 parcel record — the standard response shape and the bulk export shape
This page documents the **full nested v3 parcel record** — the shape shipped in bulk full-record exports. Fields with no value for a parcel are omitted rather than returned as null. Persist `realieParcelId` as your property key: API responses in the v3 shape carry no `_id` at all, and the `_id` values in bulk files and flat responses are regenerated on each data load — never a stable reference.
Normalized coded fields store values from the **Realie code system** (`XX####` codes plus integer ordinal/band scales); every such code decodes with the [Property Feature Field Key](/api-reference/v3/feature-key), which also documents the system's three representation classes and its append-only guarantee. The deliberate exception is the jurisdiction-issued fields documented below (`stateLandUseCode`, `countyLandUseCode`, `taxDistrictCode`, `zoningInfo.zoningCode`) — those carry each jurisdiction's own value verbatim, with no national decode table.
API endpoints return this nested record for accounts with the **v3 response shape enabled** — the default for new accounts; existing accounts enable it from the dashboard's **Usage** page (one-way, see the [migration FAQ](/api-reference/v3/migration-faq)). Accounts that haven't switched receive the same data in the **v2-compatible flat layout** documented in the [legacy tab](/api-reference/property-data-schema); the [migration guide](/api-reference/v3/migration) includes a field-by-field mapping between the two shapes. Two current exceptions return the flat layout even on v3-enabled accounts — records resolved through legacy coverage fallbacks, and searches using foreclosure filters (see the [migration FAQ](/api-reference/v3/migration-faq)).
## Identity & location
Primary parcel identifier (Assessor's Parcel Number / tax map parcel ID) as recorded by the county assessor. Example: "0314- -0009"
Stable Realie parcel identifier, persistent across data releases — persist this as your property key. Format: 5-digit county FIPS + the parcel ID with spaces escaped as `~`. Example: "11001-0314-\~-0009"
Two-letter USPS state abbreviation for the parcel. Example: "DC"
Street number and street name of the property, promoted from `propertyLocation.address`. Example: "1217 12TH ST NW"
Property use code, promoted from `propertyClassification.propertyUseCode`. Coded value — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "1110"
5-digit ZIP code of the property, promoted from `propertyLocation.zipCode`. Example: "20005"
5-digit FIPS code (state + county) of the parcel's county, promoted from `propertyLocation.fipsCode`. Example: "11001"
Latitude of the parcel centroid in decimal degrees (mirrors `coordinates.latitude`). Omitted when the parcel has no valid geocode. Example: 38.906297
Longitude of the parcel centroid in decimal degrees (mirrors `coordinates.longitude`). Omitted when the parcel has no valid geocode. Example: -77.027766
GeoJSON Point at the parcel centroid, suitable for geospatial indexing and queries. Coordinates are `[longitude, latitude]` per the GeoJSON spec. Omitted when the parcel has no valid geocode. Example: `{ "type": "Point", "coordinates": [-77.027766, 38.906297] }`
GeoJSON geometry type — always "Point".
`[longitude, latitude]` of the parcel centroid. Example: \[-77.027766, 38.906297]
Geographic coordinates of the parcel centroid.
Latitude of the parcel centroid. Example: 38.906297
Longitude of the parcel centroid. Example: -77.027766
Parcel boundary as a GeoJSON MultiPolygon (single-polygon boundaries are wrapped to MultiPolygon). Omitted when no boundary was matched for the parcel — see `geometrySource`.
GeoJSON geometry type — always "MultiPolygon".
MultiPolygon coordinate array per the GeoJSON spec: an array of polygons, each an array of linear rings, each ring an array of `[longitude, latitude]` positions.
Provenance of the parcel boundary in `geometry`: "apn\_match" (boundary matched by parcel number), "point\_in\_parcel" (boundary matched by the parcel's geocoded point falling inside a polygon), or "none" (no boundary matched; `geometry` is omitted). Example: "apn\_match"
Tax jurisdiction identifiers, parcel IDs, and current ownership.
Municipality, township, or ward name within the county. Example: "WARD 2"
City name for tax jurisdiction purposes. Example: "WASHINGTON"
County name. Example: "DISTRICT OF COLUMBIA"
State abbreviation. Example: "DC"
Primary parcel identifier (tax map parcel ID) — same value as the top-level `parcelId`. Example: "0314- -0009"
Tax account or assessment account number.
Combined map and parcel identifier (e.g., "MAP-PARCEL" format).
Combined map, block, and lot identifier (e.g., "MAP-BLOCK-LOT" format).
A prior or alternate parcel identifier for the same physical property (e.g., a superseded assessor parcel number or an alternate county/tax-authority ID).
Numeric county code assigned by the state.
Numeric parcel sequence number within the tax district.
Tax district group number that this parcel belongs to.
Tax map sheet or cadastral map reference used by the assessor to index this parcel.
Special assessment code — an additional tax levy for specific public improvements (e.g., street reconstruction, sewer, sidewalks) benefiting this parcel.
URL of the county assessor's property detail page for this parcel.
Current owner of record with name and mailing address (from county assessor records).
Full name of the property owner. Example: "6 TREE LLC"
Second owner's full name when title is jointly held (e.g., spouse or co-owner).
Whether the owner of record occupies the property (owner-occupancy flag from the source feed).
Owner mailing address street. Example: "11654 PLAZA AMERICA DR"
Owner mailing address city. Example: "RESTON"
Owner mailing address state. Example: "VA"
Owner mailing address ZIP code. Example: "20190"
Owner mailing address ZIP+4 extension. Example: "4700"
Owner mailing address (street line only).
Owner full mailing address (street, city, state, ZIP).
Physical (situs) address of the parcel. The owner mailing address lives in `propertyIdentification.currentOwner`.
Formatted property address (street line only). Example: "1217 12TH ST NW"
Full, formatted property address (street line + city + state + ZIP).
Unformatted property address as it appears in the county source record. Example: "1217 12TH ST NW"
Street line: direction prefix + name + type + direction suffix. Example: "12TH ST NW"
Street number. Example: "1217"
Directional prefix (e.g., "N", "SW").
Street name without number, direction, or type. Example: "12TH"
Street type suffix. Example: "ST"
Directional suffix. Example: "NW"
Unit, apartment, or suite number.
City of the property's physical location. Example: "WASHINGTON"
State of the property's physical location. Example: "DC"
5-digit ZIP code. Example: "20005"
ZIP+4 extension (4 digits).
US Census tract identifier. Example: "005004"
US Census block identifier (finer-grained than tract). Example: "1000"
Full 5-digit FIPS code (state + county). Example: "11001"
2-digit FIPS state code. Example: "11"
3-digit FIPS county code. Example: "001"
Parsed address line 1 (street address without unit). Example: "1217 12TH ST NW"
Parsed address line 2 (unit designator, e.g., "APT 4B").
Address as delivered by the county source, prior to normalization. Example: "1217 12TH ST NW"
Formal parsed address rendering with words spelled out. Example: "1217 12TH STREET NORTHWEST"
Street address with the unit appended (base address + unit).
Computed full address string (address + unit, city, state, ZIP). Example: "1217 12TH ST NW, WASHINGTON, DC 20005"
USPS-normalized computed full address string. Example: "1217 12TH ST NW, WASHINGTON, DC 20005"
Unit number with designator words stripped (e.g., "APT 4B" → "4B").
USPS-normalized city name. Example: "WASHINGTON"
USPS-normalized county name (uppercase, no suffix). Example: "DISTRICT OF COLUMBIA"
USPS carrier route code for the situs address. Example: "C016"
## Classification, utilities & rooms
Property type, use codes, and administrative district assignments from county assessor records. The parcel's zoning designation lives in the top-level `zoningInfo` object.
Broad property class as a Realie `PC####` code; decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "PC0001" (RESIDENTIAL)
Property use code (4-digit scheme, unchanged code identities); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "1110"
State-standardized land-use code, distinct from the county's local code and from `propertyUseCode`.
County-native land-use code as recorded by the local assessor. Example: "024"
Whether the property is classified as residential, derived from the property use code. Example: false
Assessor neighborhood code or name.
City used for classification and zoning purposes.
Numeric city code.
City section or ward identifier.
School district the parcel belongs to. Example: "District of Columbia Public Schools"
First special service district the parcel belongs to (e.g., fire, water, sewer).
Second special service district the parcel belongs to.
Development phase number within a subdivision.
Tract number within a subdivision.
Whether the property is a condominium, derived from the property use code. Example: false
Property-level counts (buildings, mobile homes, units).
Total number of buildings on the parcel. Example: 1
Total number of mobile homes on the parcel.
Total number of dwelling units across all buildings. Example: 2
Utility connections for the parcel, as Realie codes. Heating and cooling systems are documented in the top-level `heating` and `cooling` objects and per building under `buildingInformation.buildings`.
Water service (`WS####` — municipal, well, ...); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "WS0001" (MUNICIPAL)
Sewer service (`SW####` — municipal, septic, ...); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "SW0001" (MUNICIPAL)
Gas service (`GS####`); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Vocabulary published; not yet populated in the current data generation.
Electric service (`ES####`); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Vocabulary published; not yet populated in the current data generation.
Property-level room totals across all buildings. Per-building room counts are in `buildingInformation.buildings` (totalBedrooms, totalBathrooms, etc.).
Total number of rooms across all buildings on the property. Example: 8
Total bedrooms across all buildings. Example: 3
Total bathrooms across all buildings, as a decimal — half baths count as 0.5. Example: 2.0
Total full bathrooms (toilet + sink + tub/shower) across all buildings. Example: 2
Total half bathrooms (toilet + sink only) across all buildings. Example: 0
Total plumbing fixtures across all buildings.
Accessory structures and yard improvements recorded as simple line items in county assessor records (sheds, fences, decks, pools, detached carports). Structures with detailed characteristics (year built, rooms, construction type) appear in `buildingInformation.buildings` instead.
Building card or improvement number this item belongs to.
Item type (e.g., "Shed", "Fence", "Deck", "Pool", "Detached Carport").
Assessed value of the item.
Additional description or details about the item.
Unit of measure for area (e.g., "SF", "LF").
Area or length measurement in the specified units.
## Buildings
Coded characteristics of the parcel's primary building, promoted to the top level. Every coded member stores a Realie code — decode with the [Property Feature Field Key](/api-reference/v3/feature-key). The same member set appears per building under `buildingInformation.buildings[].characteristics`.
Specific building form (`BT####`). Example: "BT0003" (DUPLEX)
Property sub-type (`PS####`). Example: "PS0001" (CONDOMINIUM UNIT)
Construction class of the building shell (`BC####`).
Height class (`HB####`).
Level configuration (`BL####`).
Footprint shape (`BH####`).
Architectural style (`AS####`). Example: "AS0001" (RANCH)
Floor-plan layout (`FP####`).
Primary structural construction (`CT####`). Example: "CT0003" (MASONRY)
How the building was produced (`CM####`).
Exterior wall covering or material (`EW####`). Example: "EW0002" (BRICK)
Interior wall finish material (`IW####`). Example: "IW0001" (DRYWALL)
Roof covering material (`RM####`). Example: "RM0003" (METAL)
Roof geometry (`RS####`). Example: "RS0001" (GABLE)
Floor covering material (`FL####`). Example: "FL0002" (WOOD)
Foundation type (`FN####`). Vocabulary published; not yet populated in the current data generation.
Basement presence and type (`BS####`).
Attic presence and finish (`AT####`). Vocabulary published; not yet populated in the current data generation.
Physical condition on an integer 1–20 ordinal scale (1 worst, 20 best) — a number, not an opaque code. Scale anchors in the [Property Feature Field Key](/api-reference/v3/feature-key). Example: 10
Construction quality on an integer 1–20 ordinal scale (1 lowest) — a separate fact from `condition`; the two share only the scale form. Scale labels in the [Property Feature Field Key](/api-reference/v3/feature-key). Example: 11
Parking arrangement (`PK####`). Example: "PK0001" (ATTACHED GARAGE)
Driveway characteristics.
Driveway surface material (`DM####`). Example: "DM0001" (CONCRETE)
Driveway form (`DT####`). Example: "DT0001" (DRIVEWAY, TYPE UNSPECIFIED)
Pool characteristics.
Whether any pool or spa is present. Example: true
Pool or spa type (`PT####`); omitted when the source records a pool without a type. Example: "PT0001" (SPA OR HOT TUB)
Pool features (`PF####`); a pool can carry several.
Recorded amenities (`AM####`); a building can carry several. Example: \["AM0001"] (IRRIGATION SPRINKLER SYSTEM)
Additional named rooms (`OR####`). Example: \["OR0001"] (FAMILY ROOM OR DEN)
What kind of measurement the building's headline `buildingArea` represents (`BA####`). Example: "BA0001" (LIVING AREA)
Development type of the building's setting (`DV####`).
Construction/completion status (`DS####`).
Historic designation (`HT####`).
Age class (`AC####`).
Heating system of the primary building, described by five independent facets — counties record different aspects of the same system, so any subset may be present. All facets are Realie codes; decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Per-building heating is under `buildingInformation.buildings[].heating`.
Heating equipment (`HE####`). Example: "HE0001" (HEAT PUMP)
How heat is delivered (`HD####`). Example: "HD0001" (FORCED AIR)
Fuel or energy source (`HS####`). Example: "HS0001" (NATURAL GAS)
System configuration (`HC####`). Example: "HC0001" (CENTRAL)
Whether (and how completely) the building is heated, used when the source proves presence without naming the system (`HX####`).
Cooling system of the primary building. Per-building cooling is under `buildingInformation.buildings[].cooling`.
Cooling equipment (`CL####`); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "CL0001" (CENTRAL)
Container for all improved structures on the parcel. Covers main dwellings, guest houses, detached garages, barns — any building carrying detailed assessor characteristics (year built, construction, rooms, square footage). Simple accessory structures and yard improvements with only a type/description/area/value are listed under `outbuildingsYardItems` instead.
List of all improved structures on the parcel, each with detailed appraisal characteristics from county assessor records.
```json example theme={null}
"buildings": [
{
"stories": 2.0,
"livingArea": 1628.0,
"buildingArea": 2348.0,
"buildingAreas": [
{ "area": 2348.0, "areaUnits": "SF", "areaType": "BA0003", "squareFeet": 2348.0 },
{ "area": 720.0, "areaUnits": "SF", "areaType": "BA0015", "squareFeet": 720.0 }
],
"actualYearBuilt": 1900,
"effectiveYearBuilt": 1967,
"totalBedrooms": 3,
"totalBathrooms": 2.0,
"fullBathrooms": 2,
"halfBathrooms": 0,
"characteristics": {
"exteriorWall": "EW0002",
"roofMaterial": "RM0003",
"roofStyle": "RS0001",
"flooring": "FL0002",
"basement": "BS0001",
"construction": "CT0003",
"architecturalStyle": "AS0001",
"quality": 11,
"condition": 10,
"buildingAreaType": "BA0003",
"pool": { "exists": false }
},
"heating": {
"distribution": "HD0001",
"energySource": "HS0001"
},
"cooling": { "equipment": "CL0001" },
"pool": false,
"fireplaceCount": 2,
"garage": false,
"garageCount": 0
}
]
```
Building sequence number on the parcel (1 = primary building).
Assessed or appraised value of this building, also known as improvement value.
Number of stories in this building; half-stories are decimals (e.g., 1.5). Example: 2
Total heated/finished living area of this building in square feet. Example: 1628
Total building area in square feet; `characteristics.buildingAreaType` says what kind of measurement it represents. Example: 2348
Breakdown of this building's areas by section (e.g., ground floor, gross, garage, basement).
Numeric area value in the units specified by `areaUnits`. Example: 2348
Unit of measure for `area` (e.g., "SF" for square feet, "LF" for linear feet). Example: "SF"
The kind of measured area this entry represents, as a Realie `BA####` code (living area, gross area, garage, basement, ...). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "BA0003" (GROSS AREA)
The same measurement converted to square feet. Example: 2348
Original year the building was constructed. Example: 1900
Effective year built after renovations — reflects condition, not original construction. Example: 1967
Number of bedrooms in this building. Example: 3
Total bathroom count in this building; half baths count as 0.5 (e.g., 2.5). Example: 2
Number of full bathrooms (toilet + sink + tub/shower). Example: 2
Number of half bathrooms (toilet + sink only). Example: 0
Total plumbing fixture count for this building.
This building's coded characteristics — identical member set and vocabularies as the top-level `building` object documented above (buildingType, architecturalStyle, construction, exteriorWall, roofMaterial, flooring, basement, condition, quality, parking, driveway, pool, amenities, otherRooms, buildingAreaType, and the rest). All coded members store Realie codes; decode with the [Property Feature Field Key](/api-reference/v3/feature-key).
This building's heating system — identical facet set as the top-level `heating` object documented above (equipment, distribution, energySource, configuration, coverage).
This building's cooling system — identical member set as the top-level `cooling` object documented above (equipment).
Roof framing type (e.g., "Truss", "Rafter"). Not populated in the current data generation.
Floor structural system (e.g., "Joist", "Slab on Grade"). Not populated in the current data generation.
Cabinet and millwork quality grade. Not populated in the current data generation.
Paint and decor quality grade. Not populated in the current data generation.
Bathroom tile quality or type. Not populated in the current data generation.
Whether the building has a pool; mirrors `characteristics.pool.exists`. Example: false
Whether the building has a fireplace.
Number of fireplaces. Example: 2
Whether the building has a garage. Example: false
Number of garage bays or spaces. Example: 0
## Land, valuation, tax & legal
Aggregate land measurements, lot dimensions, and land classification for the parcel.
Acreage as stated on the recorded deed.
Total parcel acreage from county assessor records. Example: 0.0425
Acreage calculated from GIS or survey data rather than stated on the deed.
Total land area in the units specified by `landAreaUnits`. Example: 1853
Unit of measure for `totalLandArea` (e.g., "AC" for acres, "SF" for square feet).
Lot depth in feet.
Lot frontage (street-facing width) in feet.
Site topography (`TP####` — level, rolling, hilly, ...); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "TP0001" (LEVEL GRADE)
Road access to the parcel (`RA####`); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Vocabulary published; not yet populated in the current data generation.
Waterfront type (`WF####`); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Vocabulary published; not yet populated in the current data generation.
View quality (`VQ####`); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Vocabulary published; not yet populated in the current data generation.
Breakdown of the parcel into land segments by use code or soil class.
Land use or soil classification code for this parcel segment. Not populated in the current data generation.
Soil productivity class or rating. Not populated in the current data generation.
Numeric area measurement for this land segment in the units specified by `areaUnits`.
Unit of measure for `area` (e.g., "AC", "SF", "FF").
Area of this land segment in acres.
Area of this land segment in square feet.
Total assessed value of this land segment.
Assessor valuation figures and tax exemptions for the parcel.
Total market value of the property (land plus buildings) from county assessor records. Example: 1184520
Total assessed value used for tax calculation. Example: 1184520
Assessed or appraised value of all buildings/improvements (also known as total improvement value). Example: 479530
Assessed or appraised value of the land only. Example: 704990
Total just/fair market value, used in Florida and similar jurisdictions.
Taxable value after exemptions are applied — the basis tax is actually levied against. Differs from `totalAssessedValue` when exemptions exist.
Tax year the assessment applies to. Example: 2025
Year the appraisal was performed.
Tax exemptions applied to the property.
Exemption type as a readable value — no decode table needed. Values include "Homestead", "Senior", "Veteran", "School/College", "Disabled", "Widow", "Religious". Example: "Homestead"
Dollar amount of the exemption.
Additional description or details about the exemption.
Total dollar value of all exemptions combined.
Tax amounts, districts, and historical tax records for the parcel.
Total tax amount due or paid for the current tax year. Example: 59226
Tax year the record applies to. Example: 2025
Tax district name.
The assessor's tax-district code for the parcel, where the source provides one — the district identifier the county assessor levies against, carried verbatim. Jurisdiction-issued: meaningful within its county, not part of the national code system, and format varies by county (numeric codes, structured codes, or district names). Example: "01"
Tax classification of the parcel (`TC####`); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Vocabulary published; not yet populated in the current data generation.
Explicit tax status when the source feed semantically proves it: "current", "exempt", "delinquent", or "not\_available"; omitted when status is unknown. Only "delinquent" is emitted in the current data generation. Example: "delinquent"
Tax-levying jurisdiction; may differ from the zoning jurisdiction.
URL to the county tax record or tax bill.
Historical tax records by year.
Tax year this record applies to.
Total tax amount due or paid for that year.
Description of what the tax is for (e.g., "Property Tax", "School Tax", "Municipal Tax").
Payment status (e.g., "Paid", "Unpaid", "Delinquent", "Partial").
Date the tax bill was paid.
Date the tax bill is or was due.
Recorded legal description, subdivision/plat identifiers, and Public Land Survey System references.
Full legal description of the property as recorded. Example: "SQUARE 0314 LOT 0009 NBHD: OLD CITY 2"
Reference to the recorded legal document (e.g., deed book/page).
Name of the subdivision or plat. Example: "OLD CITY 2"
Public Land Survey System (PLSS) section number.
Public Land Survey System (PLSS) township designation.
Public Land Survey System (PLSS) range designation.
Block number within the subdivision plat. Example: "314"
Lot number within the block. Example: "9"
Lot composition of the legal parcel (`LT####` — more than one lot, partial lot, ...); decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "LT0001" (MORE THAN ONE LOT)
Land lot number, used in metes-and-bounds states such as Georgia.
URL to the recorded deed document.
## Sales history
Chronological list of recorded sale and transfer events for the parcel, from county recorder records — each entry carries the price, dates, deed references, and parties. In the v2-legacy flat shape these events are exposed as `transfers[]`, where `saleCode` corresponds to `qualification` here.
Date the sale was executed (YYYY-MM-DD format). Example: "2019-12-17"
Date the deed was recorded with the county (YYYY-MM-DD format). Example: "2020-01-16"
Recorded sale price in dollars. May be 0 for nominal-consideration or non-disclosure transfers — check `armsLength` and `qualification` before treating it as a market price. Example: 1400000
Combined deed book and page reference for the recorded instrument (e.g., "1234/567").
Deed book number of the recorded instrument.
Deed page number of the recorded instrument.
Recorded instrument (deed) type on the event (`TT####`). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "TT0001" (WARRANTY DEED)
Recorder's document or instrument number for the sale. Mortgages that financed a sale reference this value via `mortgages[].relatedSaleDocumentNumber`. Example: "2020.6827"
Sale-qualification code (`TQ####`) saying why the sale is — or is not — considered a market (arm's-length) transaction. Omitted when the source recorded no reviewed qualification signal for the sale. Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). In the v2-legacy flat shape this is exposed as `transfers[].saleCode`. Example: "TQ0002" (VALID ARM'S-LENGTH SALE)
Whether the sale is considered an arm's-length market transaction — the boolean verdict carried alongside `qualification`. Omitted when the source supplied no qualification verdict for the sale, including on nearly all events recorded after March 2026, where the determination lags the recording; read `qualification` for those. Example: true
Whether the property was vacant or improved at the time of sale. Not populated in the current data generation.
Whether the sale was distressed (foreclosure, short sale, etc.), as flagged in recorder records.
Whether the property was REO (bank-owned, post-foreclosure) at the time of sale, as flagged in recorder records.
Documentary transfer / excise tax paid on the sale, in dollars. Example: 0
Title company that handled the recorded transaction. Example: "ALLIED TITLE & ESCROW LLC"
Seller name in this transaction. Example: "MARR NELSON P"
Second seller/grantor name when the property was sold by co-sellers. Example: "MARR LISETTE M"
Buyer name in this transaction. Example: "6 TREE LLC"
Second buyer/grantee name when the property was bought by co-buyers.
What kind of entity the buyer is (`BE####` — individual, company, trust, ...). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "BE0001" (INDIVIDUAL(S))
Relationship between co-buyers (`BR####`). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "BR0001" (HUSBAND AND WIFE)
Legal role the buyer takes in the transfer (`RO####`). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "RO0001" (BENEFICIARY/CREDITOR)
How the buyer holds title (`BV####` — joint tenants, tenants in common, community property, ...). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "BV0001" (JOINT TENANTS)
How the recorded sale-price figure was obtained (`PD####` — stated on the document, computed from transfer tax, ...). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "PD0001" (STATED ON DOCUMENT)
## Mortgages, liens & foreclosures
Mortgages and deeds of trust recorded against the property — purchase-money loans and refinances, sourced from county recorder records and sorted newest-first. Each entry carries the lender, loan terms, lien position, a link to the sale it financed (if any), and the loan's own post-origination custody chain (assignments and releases). A key is absent when the source record has no value.
```json example theme={null}
"mortgages": [
{
"amount": 308000,
"lender": "AURORA FINANCIAL LLC",
"interestRate": 4.0,
"interestRateType": "IR0001",
"term": 360,
"termUnit": "months",
"loanType": "LN0001",
"lienPosition": "first",
"recordingDate": "2017-03-21",
"documentNumber": "2017.30971",
"dueDate": "2047-04-01",
"loanTransactionType": "LX0001",
"adjustableRateRider": true,
"firstRateChangeYear": 24,
"riders": ["RD0003"]
}
]
```
Loan amount in dollars. Example: 308000
Lender / beneficiary name as recorded. Example: "AURORA FINANCIAL LLC"
Interest rate, in percent. Example: 4.0
Interest-rate structure (`IR####` — fixed, variable, ...). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "IR0001" (VARIABLE RATE)
Loan term length, in the unit given by termUnit. Example: 360
Unit of the loan term. Currently always "months". Example: "months"
Loan product or program (`LN####`). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "LN0001" (CONVENTIONAL LOAN)
Amortization structure (`LA####` — balloon, ...). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "LA0001" (BALLOON)
Lien priority at origination: "first" (senior) or "second" (junior/piggyback). Carried on the source record — not derivable from date, since first and second mortgages are typically recorded at the same closing. Example: "first"
Date the mortgage was recorded (YYYY-MM-DD format). Example: "2017-03-21"
Recorder's document number for the mortgage. Example: "2017.30971"
Loan maturity / due date (YYYY-MM-DD format). Example: "2047-04-01"
Source loan identifier used to link this loan to its assignment/release records.
Document number of the sale this loan financed, if any — links to a salesHistory entry's saleDocumentNumber. Absent for a standalone refinance. Example: "2020.6827"
What the loan financed (`LX####` — purchase, refinance, construction, ...). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "LX0001" (REFINANCE / SECOND TRUST DEED)
Whether this loan is a refinance. Example: true
Whether this loan is a home equity line of credit. Example: true
Whether this loan is a home-equity loan. Example: true
Whether this loan is a construction loan.
Whether interestRate is estimated rather than recorded. Example: true
Whether the seller carried back financing.
Whether the lender is a private party rather than an institution.
Whether an adjustable-rate rider is present on the recorded mortgage. Example: true
Index the adjustable rate is tied to (`RI####`). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "RI0001" (LIBOR 1-YEAR)
Lifetime maximum (cap) interest rate, in percent.
Lifetime minimum (floor) interest rate, in percent.
Interest-only period length in months, if any.
How often the adjustable rate may change, as an interval in years — a numeric quantity, not a code (e.g. `1.0` = annually, `0.083` ≈ monthly). Example: 1.0
Year of the first scheduled rate change, as recorded (may appear as a two-digit year). Example: 24
Riders recorded on the mortgage instrument (`RD####` — planned unit development, condominium, second home, balloon, ...); an instrument can carry several. Decode each entry with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: \["RD0003"] (1-4 FAMILY RIDER)
This loan's post-origination custody chain — assignments (lender-to-lender transfers) and releases/reconveyances — in recording order, joined to the loan from recorder assignment and release records.
"assignment" (the loan is transferred to a new holder) or "release" (the loan is satisfied/reconveyed). Example: "assignment"
Date this assignment/release was recorded (YYYY-MM-DD format). Example: "2025-01-21"
Lender assigning or releasing the loan (the current holder). Example: "CENTER STREET LENDING VIII SPE LLC"
Lender the loan is assigned to. Assignments only — absent for releases. Example: "CENTER STREET LENDING RIO IX LLC"
Original amount of the mortgage being assigned/released, in dollars. Example: 80000
Recording date of the original mortgage being assigned/released (YYYY-MM-DD format). Example: "2024-11-07"
Document number of the original mortgage being assigned/released. Example: "105276"
Recorder's document number for this assignment/release record. Example: "6692"
Borrower on the underlying loan. Example: "6 TREE LLC"
Involuntary liens and judgments recorded against the property — tax liens, judgments, mechanic's liens, UCC filings — sourced from county recorder records. A key is absent when the source record has no value.
Type of the recorded lien or judgment (`LI####`). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). Example: "LI0001" (FINANCING STATEMENT)
Date the lien was recorded (YYYY-MM-DD format).
Recorder's document number for the lien.
Lien / judgment amount in dollars.
Lien holder / creditor — the party the lien is in favor of.
Debtor — the party the lien is against.
Court or case number associated with the lien, if any.
Document number of a related/referenced instrument (e.g., the underlying loan).
Pre-foreclosure and foreclosure events recorded against the property — notices of default, notices of sale, lis pendens, and auctions — sourced from county recorder records. A key is absent when the source record has no value.
Type of the recorded foreclosure event (`FR####` — lis pendens, notice of default, notice of sale, ...). Decode with the [Property Feature Field Key](/api-reference/v3/feature-key). May be absent on records restored from the pre-v3 pipeline whose event class has no code in the published vocabulary. Example: "FR0002" (NOTICE OF DEFAULT)
Date this foreclosure record was recorded (YYYY-MM-DD format).
Court filing date (YYYY-MM-DD format), when distinct from the recording date. Populated on records restored from the pre-v3 pipeline, which recorded both dates.
Recorder's document number for this record.
Court or trustee case number.
Date of default (YYYY-MM-DD format).
Unpaid loan balance at filing, in dollars.
Amount past due at filing, in dollars.
Scheduled foreclosure-auction / trustee-sale date (YYYY-MM-DD format).
Scheduled auction time, as free text as recorded.
Scheduled auction location.
Minimum auction bid amount, in dollars.
Lender / beneficiary on the defaulted loan.
Trustee handling the foreclosure.
Borrower in default.
Original amount of the defaulted loan, in dollars.
## Histories, valuation model & extensions
Historical appraised values by year from county assessor records — one entry per appraisal year, with land, building, and total market components.
Year of the appraisal. Example: 2024
Appraised value of buildings/improvements for this year (also known as improvement value).
Appraised value of land for this year.
Total appraised market value for this year.
Historical assessed values by year from county assessor records — one entry per assessment year, with land, building, total, and market components.
Year of the assessment. Example: 2025
Assessed value of buildings/improvements for this year (also known as improvement value). Example: 479530
Assessed value of land for this year. Example: 704990
Total assessed value for this year. Example: 1184520
Market value recorded alongside the assessment for this year, where the county exposes both. Example: 1184520
Year the market value applies to, when distinct from `assessmentYear`. Example: 2025
Building and construction permits associated with the property, sourced from the issuing jurisdiction's permit records.
**Permit data is not currently populated.** The `permits` array may be absent or empty in live API and bulk responses today. Population is **expected November 2026** (target date, not a guaranteed SLA). The schema below documents the planned response shape for when data lands.
Permit number or ID assigned by the issuing authority.
Authority that issued the permit (e.g. "City of Tampa", "Hillsborough County") — useful when permits cross municipal/county boundaries.
Short description of the permitted work.
Date the permit was issued (YYYY-MM-DD).
Estimated value of the permitted work as stated on the application.
Permit type (e.g., "Building", "Electrical", "Plumbing", "Mechanical").
Current status (e.g., "Issued", "Final", "Expired", "Void").
Date the permit application was submitted (YYYY-MM-DD).
Date the permit received final inspection/approval (YYYY-MM-DD).
Date the permit expires (YYYY-MM-DD).
Detailed description of the permitted work.
Licensed contractor name.
Contractor license number.
Contractor business address.
Contractor phone number.
Official valuation of the permitted work (may differ from the estimated value on the application).
Square footage affected by the permitted work.
Number of stories affected by the permitted work.
Number of units affected by the permitted work.
Most recent inspection status (e.g., "Passed", "Failed", "Pending").
Total number of inspections performed.
Date of the most recent inspection (YYYY-MM-DD).
Total permit fees charged in dollars.
Additional notes or comments on the permit.
URL to the permit record on the issuing jurisdiction's site.
Electricity utility and rate information for the property's service area.
Name of the electric utility serving this property.
EIA (U.S. Energy Information Administration) utility identifier.
Rate schedule name or code.
Default/Tier 1 residential rate in \$/kWh.
Monthly fixed service charge in dollars.
Date the rate became effective (YYYY-MM-DD).
Estimated monthly consumption in kWh, derived from building square footage and type.
Estimated monthly electricity cost (rate × estimated kWh + fixed charge).
Rate data source: "urdb" (Utility Rate Database) or "scraped".
URL where the rate data was sourced from.
The parcel's zoning designation with provenance — the record's one zoning surface. `matchMethod` says which of the two provenance tiers produced it.
Zoning district code as issued by the zoning jurisdiction (e.g., "R-1", "B-2", "AG-1"). Jurisdiction-issued — interpret within `zoningJurisdiction`, not as a national vocabulary.
Human-readable zoning description (e.g., "Single Family Residential").
Regulatory body that administers the zoning (e.g., "HAMMOND", "LAKE COUNTY").
Identifier of the dataset the zoning designation was sourced from (e.g., "IN\_LAKE\_HAMMOND").
How the designation was matched to the parcel: "assessor\_recorded" (baseline — the designation as recorded on the county assessor's own record for the parcel) or "gis\_point\_in\_polygon" (curated — the parcel's point located inside the zoning jurisdiction's GIS zoning layer). Example: "gis\_point\_in\_polygon"
Availability flags and links for supplementary property resources — building sketches, property card PDFs, photos, and GIS maps.
Whether a building sketch/floor plan is available.
URL to the building sketch or floor plan document.
Whether the assessor property card PDF is available for download.
URL or reference to parcel photo(s).
Whether a GIS/parcel map is available.
URL to the GIS or parcel map viewer.
URLs to external property resources hosted by the county or its mapping providers.
URL to the county's comparable sales search tool.
URL to the Pictometry/aerial photo viewer.
URL to the metro or county map viewer.
Catch-all for additional source data that does not fit the structured sections, serialized as a JSON string. Structure varies by county.
Realie's own automated valuation (AVM): two independent estimators that cross-check each other — a machine-learning estimate with universal coverage (`ml`) and a comparable-sales estimate where enough nearby comps exist (`comp`).
Realie's machine-learning AVM estimate. Produced for essentially all valued parcels.
Calibrated ML point estimate of market value, in dollars.
Lower bound of the estimate band (30th percentile), in dollars.
Upper bound of the estimate band (70th percentile), in dollars.
Model ensemble disagreement, in dollars — larger values indicate a less certain estimate.
Confidence tier from 0 to 100.
Confidence label: "very\_high", "high", "medium", "low", or "very\_low".
Model version identifier for the estimate. Example: "v3-noassessor-2026-06-13"
Realie's comparable-sales estimate — K-nearest recent comparable sales, no ML. Absent where comparable sales are too sparse.
Comparable-sales point estimate (median comparable \$/sqft × living area), in dollars.
Lower bound of the comp estimate band (25th percentile), in dollars.
Upper bound of the comp estimate band (75th percentile), in dollars.
Median price per square foot across the comparable sales used.
Number of comparable sales used in the estimate.
Distance in miles to the farthest comparable used — a comp-density/confidence signal.
Trailing lookback window for comparable sales, in months.
Comp-model version identifier for the estimate. Example: "compval-knn10-2026-06-13"
Date the valuation was scored (YYYY-MM-DD) — the "estimated as of" date.
Modeled debt/equity analytics carried over from the legacy v2 pipeline. These are modeled estimates (open-lien rollups, current-LTV/equity models), not recorded facts — recorded mortgages and liens live in their own history arrays and are never derived from this object. Present only on parcels uniquely matched to a legacy v2 record. Excluded from API responses; available in bulk data only.
Modeled count of open liens against the parcel. Example: 2
Modeled total open lien balance in dollars. Example: 4377540
Count of financing events in the legacy analytics model. Example: 8
Estimated current combined loan-to-value ratio, as a percentage. Example: 311.5685
Band index for the modeled current LTV — an ordered integer bucket, not a percentage and not an uncertainty spread. Band boundaries are not published; treat as ordered buckets. Example: 14
Estimated current owner equity in dollars (negative when modeled debt exceeds modeled value). Example: -2972539
Band index for the modeled current equity — an ordered integer bucket over dollar ranges, not a dollar amount. Band boundaries are not published; treat as ordered buckets. Example: 65
Loan-to-value ratio at purchase, as a percentage. Example: 75
Most recent lender name in the legacy debt model. Example: "CENTER STREET LENDING CORPORATION"
Ownership-tenure analytics carried over from the legacy v2 pipeline. Keyed to the v2-era owner of record and may lag the current owner in `propertyIdentification.currentOwner`. Present only on parcels uniquely matched to a legacy v2 record. Excluded from API responses; available in bulk data only.
Date the (v2-era) current ownership began (YYYYMMDD). Example: "20191217"
Owner tenure at the property in months. Example: 72
Owner-tenure band — an integer band index 1–8; higher bands mean longer tenure. Band boundaries are not published; prefer `lengthOfResidenceMonths` when present. Example: 4
Number of parcels held by the same owner, per the legacy owner match. Example: 12
Residential parcels held by the same owner. Example: 10
Commercial parcels held by the same owner. Example: 2
# Address Lookup
Source: https://docs.realie.ai/api-reference/v3/property/address-lookup
api-reference/v3/openapi.json GET /public/property/address/
# Location Search
Source: https://docs.realie.ai/api-reference/v3/property/location-search
api-reference/v3/openapi.json GET /public/property/location/
Search by latitude/longitude with an optional radius in miles. By default, nearby searches exclude parcels without assigned addresses unless you explicitly set `includeUnassignedAddress=true`.
# Owner Search
Source: https://docs.realie.ai/api-reference/v3/property/owner-search
api-reference/v3/openapi.json GET /public/property/owner/
Search parcels by recorded current-owner name. Requires state and at least one of lastName or nameContains. Both recorded owner-name slots are searched. The v3 result window is limited to 200 candidate parcels, so broad names can return an incomplete set; refine the query to narrow the results. Pagination uses limit and offset, with offset + limit at most 200 on v3 reads. The account response-shape setting controls whether properties contain nested v3 records or the v2-compatible flat layout; see the [v3 overview](/api-reference/v3/overview) and [Property Data Schema](/api-reference/v3/property-data-schema). Send the API key directly in the Authorization header. Normal API-access and billing checks apply. A successful 200 response costs one token; 400, 401, 403, and 404 responses are not billed. See [Plans and Pricing](/api-reference/pricing). This base endpoint allows up to 100 properties per page. For county filtering, use [Premium Owner Search](/api-reference/v3/premium/premium-owner-search).
# Parcel ID Lookup
Source: https://docs.realie.ai/api-reference/v3/property/parcel-id-lookup
api-reference/v3/openapi.json GET /public/property/parcelId/
Get a single property by its parcel identifier. Pass the assessor's parcel ID (APN) with "state" and "county", or pass a stored "realieParcelId", which also works on its own. When "state" or "county" is omitted, "parcelId" is interpreted only as a realieParcelId: a value that is not a valid realieParcelId returns 400, and if you pass just one of "state" or "county", it must match the realieParcelId's county or the request returns 400.
# Property Search
Source: https://docs.realie.ai/api-reference/v3/property/property-search
api-reference/v3/openapi.json GET /public/property/search/
Search and paginate through properties across states, counties, or cities. The "state" field is required. For best performance and lowest latency, include "state", "county", and "address" — ZIP codes and city names vary across data sources. By default, broad searches exclude parcels without assigned addresses; set "includeUnassignedAddress=true" to include them. **Pagination:** use the "cursor" parameter for efficient pagination at any depth — see the [Pagination guide](/api-reference/pagination) for full details. The legacy "offset" parameter still works but is deprecated.
# Bulk Data Licensing
Source: https://docs.realie.ai/bulk-data
Secure flexible, scalable licensing for comprehensive access to Realie’s property data
Unlock immediate licensing of Realie’s complete property dataset for statewide or nationwide distribution. With Bulk Data Licensing, enterprises and innovators receive in-depth data on more than **180 million addresses** through our AI-driven collection and normalization, enabling pricing that stays significantly below industry norms.
### Why License Realie’s Bulk Data
* Scale effortlessly with state, regional or nationwide coverage
* Stay current with frequent data updates each year
* Access all-inclusive data fields, from parcel details and ownership records to automated valuation metrics
* Choose flexible yearly contracts tailored to your organization’s needs
### Transfer via Your Cloud Platform
Realie transfers licensed data directly into your chosen cloud storage environment — **AWS S3**, **Google Cloud Storage (GCS)** or **Azure Blob Storage**. Once downloaded, this rich property dataset becomes a strategic asset, empowering your organization to drive smarter decisions, optimize customer engagement and accelerate business growth.
Reach out to sales at [hello@realie.ai](mailto:hello@realie.ai) to secure your bulk data license and start scaling your property data distribution
# Code Reference Library
Source: https://docs.realie.ai/code-references
Your go-to section for ready-to-use code snippets and utility functions to streamline integration with our Property Data API.
This section is a curated collection of ready-to-use code examples, helper functions, and utilities to accelerate your work with our Property Data API. You’ll find snippets for data normalization, such as unit number formatting and address standardization, authentication flows, pagination handling, error handling routines, and response parsing. Each sample includes clear usage notes and parameter details, so you can drop it straight into your project and get up and running faster.
Want to skip the code and query from the terminal? Install the [Realie CLI](/realie-cli) — one command to look up properties, search, and more.
### Unit Number Normalization (Python)
This Python utility cleans raw unit information by removing common designators such as apartment, basement, suite, and their abbreviations in a case-insensitive way. It dynamically builds a regular expression from a mapping of full words and abbreviations, strips out any matches, then trims whitespace to return only the core unit identifier.
```python normalize_unit_number.py lines icon="python" expandable theme={null}
import re
unit_designators_mapping = {
"APARTMENT": "APT",
"BASEMENT": "BSMT",
"BUILDING": "BLDG",
"DEPARTMENT": "DEPT",
"FLOOR": "FL",
"FRONT": "FRNT",
"HANGER": "HNGR",
"KEY": "KEY",
"LOBBY": "LBBY",
"LOT": "LOT",
"LOWER": "LOWR",
"OFFICE": "OFC",
"PENTHOUSE": "PH",
"PIER": "PIER",
"REAR": "REAR",
"ROOM": "RM",
"SIDE": "SIDE",
"SLIP": "SLIP",
"SPACE": "SPC",
"STOP": "STOP",
"SUITE": "STE",
"TRAILER": "TRLR",
"UNIT": "UNIT",
"UPPER": "UPPR",
"#": "NUMBER"
}
# build sets of all designators (full words and abbreviations)
all_designators = set(unit_designators_mapping.keys()) | set(unit_designators_mapping.values())
# split into word-only vs symbol-containing
word_designators = [d for d in all_designators if re.match(r'^\w+$', d)]
symbol_designators = [d for d in all_designators if not re.match(r'^\w+$', d)]
# build two sub-patterns: one with \b…\b for word-designators, one raw for symbols
parts = []
if word_designators:
parts.append(r"\b(?:" + "|".join(re.escape(d) for d in word_designators) + r")\b")
if symbol_designators:
parts.append("|".join(re.escape(d) for d in symbol_designators))
# final pattern matches either case
unit_identifiers = r"(?:" + "|".join(parts) + r")"
def normalize_unit_number(unit_info: str) -> str:
"""
Remove known designators (case-insensitive), then trim whitespace.
"""
return re.sub(unit_identifiers, "", unit_info, flags=re.IGNORECASE).strip()
# example usage
if __name__ == "__main__":
print(normalize_unit_number("Apartment 12B")) # "12B"
print(normalize_unit_number("#300")) # "300"
print(normalize_unit_number("# 300")) # "300"
print(normalize_unit_number("number 300")) # "300"
print(normalize_unit_number("Unit 12A")) # "12A"
print(normalize_unit_number("Suite 100")) # "100"
print(normalize_unit_number("Apt 5")) # "5"
print(normalize_unit_number("BSMT 1")) # "1"
print(normalize_unit_number("FL 3")) # "3"
print(normalize_unit_number("PH 2")) # "2"
print(normalize_unit_number("TRLR 4")) # "4"
print(normalize_unit_number("123")) # "123" (no change)
print(normalize_unit_number(" ")) # "" (empty string)
```
### Pagination Example (Python)
Below is an example script demonstrating how to paginate through property search results for Monterey County using cursor pagination, printing each page until no more results are returned. Pass `cursor=start` on the first request, then reuse `metadata.nextCursor` for subsequent pages. See the [pagination guide](/api-reference/pagination) for details — `offset` is deprecated and deep offset pagination can time out.
```python pagination_monterey.py lines icon="python" expandable theme={null}
import requests
# Set the request headers with your API Key
headers = {"Authorization": ""}
# Define the API endpoint URL
url = "https://app.realie.ai/api/public/property/search/"
# Set the number of records to fetch per request (limit) and start cursor pagination
limit = 10
cursor = "start"
while True:
# Define query parameters including limit, cursor, county, and state
params = {"limit": limit, "cursor": cursor, "county": "MONTEREY", "state": "CA"}
# Send a GET request to the API with the headers and parameters
response = requests.get(url, headers=headers, params=params)
# Check if the response returned a non-200 status code
if response.status_code != 200:
print("Error:", response.status_code, response.text)
break
# Parse the JSON response and extract the list of properties
data = response.json()
properties = data.get("properties", [])
# Print how many properties were fetched
print(f"Fetched {len(properties)} properties")
# If no properties are returned, exit the loop
if not properties:
break
# Loop through each property and print its details
for prop in properties:
print(prop)
# Use the next cursor for the following page; null means no more results
next_cursor = data.get("metadata", {}).get("nextCursor")
if next_cursor is None:
break
cursor = next_cursor
# Print a final message after finishing the loop
print("Finished looping through parcels.")
```
# Welcome to Realie
Source: https://docs.realie.ai/introduction
The home of AI-powered property data, fueling insights for developers, analysts, and real estate professionals.
Realie harnesses cutting-edge AI to collect and normalize property data directly from public sources—no middlemen required.
Our platform powers everyone from prop-tech innovators and academic researchers to institutional planners, mortgage underwriters, and insurance risk modelers—delivering comprehensive, up-to-the-minute property insights via API, optimized for industry-leading speed, or through our intuitive web dashboard. To get started quickly, check out our [quick start guide](https://docs.realie.ai/api-reference/property-data) in the API reference and for common questions see our [API FAQ](/api-reference/faq).
We also provide bulk data exports for seamless, large-scale access to our complete dataset.
### Get started with Realie today:
Find your API key, review usage, and start accessing nationwide property data programmatically.
Easily review a property's data, comparable properties, and automated valuation model values on Realie's platform.
Quickly download full-state or nationwide property datasets through efficient bulk data transfers via Amazon S3.
Query property data, manage API keys, and monitor usage from the terminal. Built for developers and AI agents.
### Need more?
[API FAQ](/api-reference/faq)
[Contact Support](mailto:support@realie.ai)
[Contact Sales](mailto:hello@realie.ai)
# Realie CLI
Source: https://docs.realie.ai/realie-cli
Property data from the terminal — built for developers and AI agents
## About the Realie CLI
The Realie CLI lets you access property data, manage API keys, and monitor usage directly from the terminal. It's designed for both interactive use and autonomous operation by AI coding agents like Claude Code, Cursor, and Copilot.
Every command outputs human-readable text by default, with a `--json` flag for machine-parseable output.
## Install
```bash theme={null}
curl -fsSL https://app.realie.ai/api/cli/install | bash
```
This downloads a single-file bundle (\~150KB) to `~/.realie/bin/` and adds it to your PATH. Requires Node.js 18+.
```bash theme={null}
npm install -g @realie/cli
```
```bash theme={null}
npx @realie/cli --help
```
## Quick Start
Run `realie login` to open your browser and sign in:
```bash theme={null}
realie login
```
This opens `app.realie.ai` in your browser. Sign in with your Realie account, confirm the code shown in the terminal, and you're authenticated.
For CI/CD or AI agents, pass an API key directly:
```bash theme={null}
realie login --api-key YOUR_API_KEY
```
```bash theme={null}
realie lookup --address "504 LAVACA ST" --state TX --county TRAVIS
```
```bash theme={null}
realie usage
```
## Commands
### Authentication
| Command | Description |
| - | - |
| `realie login` | Sign in via browser (OAuth) or `--api-key` for direct auth |
| `realie logout` | Remove stored credentials |
| `realie whoami` | Show current authenticated user and plan |
### Property Data
| Command | Description |
| - | - |
| `realie lookup --address "..." --state TX` | Look up a property by address |
| `realie search --state TX --county DENTON --limit 10` | Search properties using the full `/api/public/property/search` filter set |
| `realie comparables --latitude 30.2 --longitude -97.7` | Find comparable properties near a location |
| `realie parcel --parcel-id "R12345" --state TX --county TRAVIS` | Look up a property by parcel ID |
| `realie parcel --parcel-id "48453-R12345"` | Look up a property by `realieParcelId` alone (no state or county) |
| `realie location --latitude 30.2 --longitude -97.7` | Search nearby properties |
### Account Management
| Command | Description |
| - | - |
| `realie usage` | Show token usage and request activity for the current billing period |
| `realie keys list` | Show your current API key |
| `realie keys regenerate` | Generate a new API key |
### Utilities
| Command | Description |
| - | - |
| `realie docs [search]` | Search Realie documentation |
| `realie config list` | Show CLI configuration |
| `realie config set ` | Set a config value (baseUrl, defaultState) |
| `realie status` | Check API health and latency |
| `realie version` | Show CLI version and environment info |
| `realie upgrade` | Upgrade to the latest CLI version |
## JSON Mode
Add `--json` to any command for machine-readable output. This is what AI agents and scripts should use.
```bash theme={null}
# Human-readable (default)
realie usage
# Plan: Tier 1 (monthly)
# Period: Jul 1, 2026 – Jul 31, 2026
# Tokens: ████░░░░░░░░░░░░░░░░ 256 / 1,250 (20.5%)
# Machine-readable
realie --json usage
```
```json theme={null}
{
"plan": "Tier 1",
"planId": "apiTier1",
"billingPeriod": { "start": "2026-07-01", "end": "2026-07-31", "interval": "monthly" },
"usage": { "apiCalls": 142, "apiTokens": 256, "baseTokens": 1250 },
"endpointBreakdown": { "property/address": 40, "premium/comparables": 62, "property/search": 40 },
"overage": { "tokens": 0, "estimatedCost": "$0.00" }
}
```
The JSON field names `apiCalls` and `apiTokens` are retained for backward compatibility. Their values use the account’s shared request and token totals.
## API Parameter Parity
The API-backed property commands mirror their corresponding endpoint query parameters using kebab-case CLI flags.
* `realie lookup` mirrors `/api/public/property/address`
* `realie search` mirrors `/api/public/property/search`
* `realie parcel` mirrors `/api/public/property/parcelId`
* `realie location` mirrors `/api/public/property/location`
* `realie comparables` mirrors `/api/public/premium/comparables`
Examples:
```bash theme={null}
realie search \
--state WI \
--county TAYLOR \
--city WESTBORO \
--zip-code 54451 \
--include-unassigned-address true \
--limit 25
realie comparables \
--latitude 30.2672 \
--longitude -97.7431 \
--time-frame 12 \
--beds-min 2 \
--beds-max 4 \
--price-min 300000 \
--price-max 900000
# Add each comparable's full property record
realie --json comparables \
--latitude 30.2672 \
--longitude -97.7431 \
--full
realie location \
--latitude 45.3090682 \
--longitude -90.5608659 \
--radius 0.05 \
--include-unassigned-address true \
--limit 10
```
`realie parcel` needs `--state` and `--county` for an assessor's parcel ID. A `realieParcelId` (the 5-digit county FIPS code, a hyphen, then the APN, as returned in the `realieParcelId` field) can be passed alone. See [Parcel ID Lookup](/api-reference/v3/property/parcel-id-lookup) for the 400 cases.
`--full` adds a `property` object to every comparable, in the same shape `realie parcel` returns for your account. `transferPrice` and `transferDateObject` still describe the qualifying sale, and the call costs the same as a plain comparables call. The default table shows only the comparable columns, so use `--json` to see `property`.
## Configuration
Config is stored at `~/.realie/config.json`:
| Key | Description | Default |
| - | - | - |
| `apiKey` | Your API key (set via `realie login`) | — |
| `baseUrl` | API base URL | `https://app.realie.ai` |
| `defaultState` | Default state code for queries | — |
| `defaultFormat` | Output format (`json` or `pretty`) | `pretty` |
You can also authenticate via the `REALIE_API_KEY` environment variable:
```bash theme={null}
REALIE_API_KEY=your_key realie whoami
```
## For AI Agents
The CLI is designed for fully autonomous use by AI coding agents:
* **Browser login**: `realie login` opens a browser for OAuth sign-in (interactive terminals)
* **Direct auth**: `realie login --api-key ` or `REALIE_API_KEY` env var (non-interactive / CI)
* **JSON output**: `--json` on every command for structured, parseable responses
* **Structured errors**: `{ "error": "message", "code": "ERROR_CODE" }` with exit code 1
* **Self-updating**: `realie upgrade` checks for and installs new versions
Add to your `CLAUDE.md` or agent instructions:
```
Use the `realie` CLI to query property data.
Always pass --json for parseable output.
Authenticate with: realie login --api-key
```
Add to your `.cursorrules`:
```
The realie CLI is available for property data queries.
Use `realie --json ` for structured output.
```
For CI/CD or agent environments, set the API key as an environment variable:
```bash theme={null}
export REALIE_API_KEY=your_api_key
realie --json lookup --address "123 Main St" --state TX
```
# Realie MCP Server
Source: https://docs.realie.ai/realie-mcp-server
Live U.S. property data in Claude, Cursor, Grok, and other MCP hosts. Sign in with OAuth.
## About the Realie MCP Server
The product MCP server exposes live property lookup, search, parcel, location, comparables, and owner tools over Streamable HTTP. Add the URL with no API key. The host completes Clerk OAuth (DCR + PKCE).
**MCP URL:** `https://app.realie.ai/api/mcp`
Do not put an API key in the URL or in `mcp.json`. `initialize` and `tools/list` work without a token. `tools/call` returns HTTP 401 with `WWW-Authenticate` pointing at [protected-resource metadata](https://app.realie.ai/.well-known/oauth-protected-resource/mcp).
`https://docs.realie.ai/mcp` is Mintlify documentation search only. It cannot return property records. Use `https://app.realie.ai/api/mcp` for property data.
Agent-readable setup: [auth.md](https://www.realie.ai/auth.md) and [agents.md](https://www.realie.ai/agents.md).
### How to connect
1. Add **`https://app.realie.ai/api/mcp`** as a Streamable HTTP MCP server.
2. Complete Clerk sign-up or sign-in in the browser (`accounts.realie.ai`).
3. If this is a new Realie account, add a payment method at [the dashboard](https://app.realie.ai/developer). OAuth does not mint an API key. Property calls need a billed user.
1) Open [Connectors](https://claude.ai/settings/connectors) in Claude settings.
2) Select **Add custom connector**.
3) Name: `Realie`
4) URL: `https://app.realie.ai/api/mcp`
5) Select **Add**. Do not paste an API key.
1. Enable the Realie connector in a chat.
2. Complete Clerk consent when prompted.
3. Call `address_lookup` or `property_search`.
```bash theme={null}
claude mcp add --transport http realie https://app.realie.ai/api/mcp
```
Test the connection:
```bash theme={null}
claude mcp list
```
See the [Claude Code MCP docs](https://docs.anthropic.com/en/docs/claude-code/mcp#installing-mcp-servers).
1. Use Command + Shift + P (Ctrl + Shift + P on Windows).
2. Search for **Open MCP settings**.
3. Select **Add custom MCP**.
```json theme={null}
{
"mcpServers": {
"realie": {
"url": "https://app.realie.ai/api/mcp"
}
}
}
```
Call `address_lookup` or `property_search`. Cursor opens Clerk OAuth. After consent, the tools return property data.
See [Installing MCP servers](https://docs.cursor.com/en/context/mcp#installing-mcp-servers) in the Cursor documentation.
Create `.vscode/mcp.json`:
```json theme={null}
{
"servers": {
"realie": {
"type": "http",
"url": "https://app.realie.ai/api/mcp"
}
}
}
```
See the [VS Code MCP documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers).
1. Open [grok.com/connectors](https://grok.com/connectors).
2. Select **New Connector**, then **Custom**.
3. URL: `https://app.realie.ai/api/mcp`
4. Complete Clerk sign-in when prompted. Do not paste an API key.
Ask Grok a property question, for example "Look up 415 Mission St, San Francisco, CA and give me its assessed value." Grok lists the Realie tools and calls `address_lookup`.
On Grok Business and Enterprise, a team admin must add the connector in the [xAI console](https://console.x.ai) before members can use it.
Server-side calls to Grok can use Realie as a remote MCP tool. Pass your Realie API key in `authorization`; OAuth is not used here.
```bash theme={null}
curl https://api.x.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $XAI_API_KEY" \
-d '{
"model": "grok-4.7",
"input": [{"role": "user", "content": "Look up 415 Mission St, San Francisco, CA and report its assessed value."}],
"tools": [{
"type": "mcp",
"server_url": "https://app.realie.ai/api/mcp",
"server_label": "realie",
"authorization": "Bearer YOUR_REALIE_API_KEY"
}]
}'
```
Each successful Realie tool call uses one token. See [Remote MCP tools](https://docs.x.ai/developers/tools/remote-mcp) in the xAI documentation.
## Authentication
MCP hosts authenticate with Clerk OAuth. Do not register an OAuth app in the Clerk dashboard. Hosts discover Realie's authorization server and register themselves (DCR).
OAuth discovery:
* Resource: `https://app.realie.ai/api/mcp`
* Protected resource metadata: `https://app.realie.ai/.well-known/oauth-protected-resource/mcp`
* Authorization server metadata: `https://app.realie.ai/.well-known/oauth-authorization-server`
After OAuth, MCP keeps the Clerk access token. REST and CI still use `Authorization: Bearer YOUR_API_KEY`. The CLI path `realie login` uses the same Clerk window, then stores the existing API key.
Prefer a terminal workflow? The [Realie CLI](/realie-cli) runs `realie login` (browser OAuth) and every command supports `--json`.