Mashvisor Property Info API
Property records, images, taxing, transactions, estimates
Property records, images, taxing, transactions, estimates
openapi: 3.0.3
info:
title: Mashvisor Data Investment Analysis Property Info API
description: 'The Mashvisor Data API provides real estate investment analytics for the US housing market: short-term (Airbnb) and long-term (traditional) rental performance, MLS listings and property records, neighborhood and city analytics, rental-rate estimates, investment ROI breakdowns, and market trends. All endpoints are read-only (GET) and authenticated with an `x-api-key` header. Responses are JSON. Captured by the API Evangelist enrichment pipeline from the public documentation at https://www.mashvisor.com/api-doc-v2 (no OpenAPI is published by the vendor).'
version: v1.1
contact:
name: Mashvisor API Support
url: https://www.mashvisor.com/api-doc-v2
x-apievangelist-source: https://www.mashvisor.com/api-doc-v2
x-apievangelist-method: searched
servers:
- url: https://api.mashvisor.com/v1.1
description: Production
security:
- apiKey: []
tags:
- name: Property Info
description: Property records, images, taxing, transactions, estimates
paths:
/client/property:
get:
operationId: getProperty
summary: Look up a property
description: Returns property records by address, id, city, zip code, parcel number, or MLS id within a state.
tags:
- Property Info
parameters:
- $ref: '#/components/parameters/stateQuery'
- name: address
in: query
required: false
schema:
type: string
- name: id
in: query
required: false
schema:
type: string
- name: city
in: query
required: false
schema:
type: string
- name: zip_code
in: query
required: false
schema:
type: string
- name: parcel_number
in: query
required: false
schema:
type: string
- name: mls_id
in: query
required: false
schema:
type: string
responses:
'200':
description: Property record
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
/client/property/{id}/images:
get:
operationId: getPropertyImages
summary: Get property images
description: Returns images for a property.
tags:
- Property Info
parameters:
- name: id
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/stateQuery'
responses:
'200':
description: Property images
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
/client/property/{id}/taxing:
get:
operationId: getPropertyTaxing
summary: Get property taxing data
description: Returns tax-assessment data for a property.
tags:
- Property Info
parameters:
- name: id
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/stateQuery'
responses:
'200':
description: Property taxing data
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
/client/property/{id}/transactions:
get:
operationId: getPropertyTransactions
summary: Get property transactions
description: Returns the sale/transaction history for a property.
tags:
- Property Info
parameters:
- name: id
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/stateQuery'
responses:
'200':
description: Property transactions
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
/client/property/estimates/{pid}:
get:
operationId: getPropertyEstimates
summary: Get property value estimates
description: Returns current value estimates for a property.
tags:
- Property Info
parameters:
- name: pid
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/stateQuery'
responses:
'200':
description: Property estimates
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
/client/property/{id}/estimates-history:
get:
operationId: getPropertyEstimatesHistory
summary: Get property estimate history
description: Returns the historical value-estimate series for a property.
tags:
- Property Info
parameters:
- name: id
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/stateQuery'
responses:
'200':
description: Property estimate history
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
/client/property/nearby:
get:
operationId: listNearbyProperties
summary: List nearby properties
description: Returns properties near a given property or location.
tags:
- Property Info
parameters:
- $ref: '#/components/parameters/stateQuery'
- name: id
in: query
required: false
schema:
type: string
- name: address
in: query
required: false
schema:
type: string
- name: city
in: query
required: false
schema:
type: string
- name: zip_code
in: query
required: false
schema:
type: string
- name: parcel_number
in: query
required: false
schema:
type: string
- name: mls_id
in: query
required: false
schema:
type: string
- name: page
in: query
required: false
schema:
type: integer
responses:
'200':
description: Nearby properties
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
/client/property/{id}/schools:
get:
operationId: getPropertySchools
summary: Get property schools
description: Returns schools near a property.
tags:
- Property Info
parameters:
- name: id
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/stateQuery'
responses:
'200':
description: Property schools
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
components:
responses:
NotFound:
description: Not Found -- The specified resource could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequests:
description: Too Many Requests -- You're sending too many requests, slow down.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized -- Your API key is wrong.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
ServerError:
description: Internal Server Error -- We had a problem with our server.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Bad Request -- Your request is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
stateQuery:
name: state
in: query
required: true
description: Two-letter US state code (e.g. CA). Required; API returns 404 if omitted.
schema:
type: string
schemas:
Error:
type: object
description: Standard JSON error envelope returned on 4xx/5xx responses.
properties:
status:
type: string
example: error
code:
type: integer
example: 404
message:
type: string
example: Not Found -- The specified property could not be found.
required:
- status
- code
- message
securitySchemes:
apiKey:
type: apiKey
in: header
name: x-api-key
description: Include your secret API key in the `x-api-key` header on every request. Obtain a key by registering for a developer account at mashvisor.com.