Mashvisor Property Info API

Property records, images, taxing, transactions, estimates

OpenAPI Specification

mashvisor-property-info-api-openapi.yml Raw ↑
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.