Mashvisor Property Info API
Property records, images, taxing, transactions, estimates
Property records, images, taxing, transactions, estimates
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/mashvisor-property-info-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
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'
ServerError:
description: Internal Server Error -- We had a problem with our server.
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'
BadRequest:
description: Bad Request -- Your request is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized -- Your API key is wrong.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
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
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
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.