OpenAPI Specification
openapi: 3.0.3
info:
title: Mashvisor Data Investment Analysis Trends 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: Trends
description: Market trends and heatmaps
paths:
/client/trends/cities:
get:
operationId: listCityTrends
summary: List city trends
description: Returns trend data for cities within a state.
tags:
- Trends
parameters:
- $ref: '#/components/parameters/stateQuery'
- name: items
in: query
required: false
schema:
type: integer
- name: page
in: query
required: false
schema:
type: integer
responses:
'200':
description: City trends
'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/trends/summary/{state}/{city}:
get:
operationId: getTrendsSummary
summary: Get market trends summary
description: Returns a market-trends summary for a given city.
tags:
- Trends
parameters:
- name: state
in: path
required: true
schema:
type: string
- name: city
in: path
required: true
schema:
type: string
responses:
'200':
description: Trends summary
'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/trends/listing-price:
get:
operationId: getListingPriceTrends
summary: Get listing-price trends
description: Returns listing-price trend data for a zip code.
tags:
- Trends
parameters:
- $ref: '#/components/parameters/stateQuery'
- name: zip_code
in: query
required: true
schema:
type: string
- name: beds
in: query
required: false
schema:
type: integer
- name: property_type
in: query
required: false
schema:
type: string
responses:
'200':
description: Listing-price trends
'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/search/heatmap:
get:
operationId: getSearchHeatmap
summary: Get investment heatmap
description: Returns heatmap data for a state or bounding box.
tags:
- Trends
parameters:
- $ref: '#/components/parameters/stateQuery'
- name: sw_lat
in: query
required: false
schema:
type: number
- name: sw_lng
in: query
required: false
schema:
type: number
- name: ne_lat
in: query
required: false
schema:
type: number
- name: ne_lng
in: query
required: false
schema:
type: number
- name: type
in: query
required: false
schema:
type: string
responses:
'200':
description: Heatmap 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'
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.