RealtyMole Property Records API

Look up residential property records by address or latitude/longitude, returning attributes such as property type, bedrooms, bathrooms, square footage, lot size, year built, last sale price/date, owner and assessor data.

OpenAPI Specification

realtymole-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Realty Mole Property API
  description: >-
    The Realty Mole Property API provides US real-estate and property data:
    property records, AVM-based rental estimates and sale-price (value)
    estimates with comparable properties, and active for-sale and for-rent
    listings, queried by address or latitude/longitude. The API is distributed
    through RapidAPI and authenticated with RapidAPI headers (X-RapidAPI-Key,
    X-RapidAPI-Host). STATUS: The standalone Realty Mole Property API is legacy
    and superseded by the RentCast API (https://api.rentcast.io/v1). New
    integrations should use RentCast; existing Realty Mole users should follow
    the Realty Mole Migration Guide
    (https://developers.rentcast.io/reference/realty-mole-migration-guide).
  termsOfService: https://rapidapi.com/realtymole/api/realty-mole-property-api
  contact:
    name: RealtyMole / RentCast
    url: https://www.rentcast.io/api
  version: '1.0'
servers:
  - url: https://realty-mole-property-api.p.rapidapi.com
    description: Realty Mole Property API host on RapidAPI (legacy; superseded by RentCast)
security:
  - RapidAPIKey: []
tags:
  - name: Property Records
    description: Property record lookups by address or coordinates.
  - name: Rental Estimate
    description: AVM long-term rent estimate with comparable properties.
  - name: Sale Estimate
    description: AVM sale-price (value) estimate with comparable sales.
  - name: Listings
    description: Active for-sale and for-rent listings near a location.
paths:
  /properties:
    get:
      operationId: getProperties
      tags:
        - Property Records
      summary: Look up property records
      description: >-
        Returns property records matching an address or a
        latitude/longitude pair, including property attributes and the most
        recent assessor/sale data available for the property.
      parameters:
        - name: address
          in: query
          required: false
          description: Full property address (street, city, state, zip).
          schema:
            type: string
        - name: latitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: longitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: radius
          in: query
          required: false
          description: Search radius in miles when querying by coordinates.
          schema:
            type: number
            format: double
        - name: limit
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: A list of property records.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PropertyRecord'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /rentalPrice:
    get:
      operationId: getRentalPrice
      tags:
        - Rental Estimate
      summary: Estimate long-term rent
      description: >-
        Returns an estimated long-term monthly rent for the target property,
        a low/high range, and the comparable rental properties used by the
        AVM algorithm.
      parameters:
        - name: address
          in: query
          required: false
          description: Target property address.
          schema:
            type: string
        - name: latitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: longitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: propertyType
          in: query
          required: false
          description: Property type, e.g. Single Family, Condo, Apartment, Townhouse.
          schema:
            type: string
        - name: bedrooms
          in: query
          required: false
          schema:
            type: number
        - name: bathrooms
          in: query
          required: false
          schema:
            type: number
        - name: squareFootage
          in: query
          required: false
          schema:
            type: number
        - name: compCount
          in: query
          required: false
          description: Number of comparable properties to return (capped by the API).
          schema:
            type: integer
      responses:
        '200':
          description: Rent estimate with range and comparables.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RentEstimate'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /salePrice:
    get:
      operationId: getSalePrice
      tags:
        - Sale Estimate
      summary: Estimate sale price (value)
      description: >-
        Returns an estimated market sale price (value) for the target
        property, a low/high range, and the comparable sold properties used
        by the AVM algorithm.
      parameters:
        - name: address
          in: query
          required: false
          description: Target property address.
          schema:
            type: string
        - name: latitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: longitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: propertyType
          in: query
          required: false
          schema:
            type: string
        - name: bedrooms
          in: query
          required: false
          schema:
            type: number
        - name: bathrooms
          in: query
          required: false
          schema:
            type: number
        - name: squareFootage
          in: query
          required: false
          schema:
            type: number
        - name: compCount
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Sale price estimate with range and comparables.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaleEstimate'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /saleListings:
    get:
      operationId: getSaleListings
      tags:
        - Listings
      summary: Active for-sale listings
      description: >-
        Returns active for-sale listings near a location (address or
        latitude/longitude within a radius), including listing price,
        property attributes, days on market, and listing status.
      parameters:
        - name: address
          in: query
          required: false
          schema:
            type: string
        - name: latitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: longitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: radius
          in: query
          required: false
          description: Search radius in miles.
          schema:
            type: number
            format: double
        - name: limit
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: A list of for-sale listings.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Listing'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /rentalListings:
    get:
      operationId: getRentalListings
      tags:
        - Listings
      summary: Active for-rent listings
      description: >-
        Returns active for-rent listings near a location (address or
        latitude/longitude within a radius), including listing rent,
        property attributes, days on market, and listing status.
      parameters:
        - name: address
          in: query
          required: false
          schema:
            type: string
        - name: latitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: longitude
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: radius
          in: query
          required: false
          description: Search radius in miles.
          schema:
            type: number
            format: double
        - name: limit
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: A list of for-rent listings.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Listing'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  securitySchemes:
    RapidAPIKey:
      type: apiKey
      in: header
      name: X-RapidAPI-Key
      description: >-
        RapidAPI subscription key. Requests must also send the header
        `X-RapidAPI-Host: realty-mole-property-api.p.rapidapi.com`.
  responses:
    Unauthorized:
      description: Missing or invalid RapidAPI key.
    RateLimited:
      description: Plan request quota or rate limit exceeded.
  schemas:
    PropertyRecord:
      type: object
      description: A property record with attributes and last-known sale/assessor data.
      properties:
        id:
          type: string
        formattedAddress:
          type: string
        addressLine1:
          type: string
        city:
          type: string
        state:
          type: string
        zipCode:
          type: string
        county:
          type: string
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
        propertyType:
          type: string
        bedrooms:
          type: number
        bathrooms:
          type: number
        squareFootage:
          type: number
        lotSize:
          type: number
        yearBuilt:
          type: integer
        lastSalePrice:
          type: number
        lastSaleDate:
          type: string
          format: date
        owner:
          type: object
          additionalProperties: true
        features:
          type: object
          additionalProperties: true
    RentEstimate:
      type: object
      description: Long-term rent estimate with range and comparable properties.
      properties:
        rent:
          type: number
          description: Estimated monthly rent.
        rentRangeLow:
          type: number
        rentRangeHigh:
          type: number
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
        listings:
          type: array
          description: Comparable rental properties used by the estimate.
          items:
            $ref: '#/components/schemas/Comparable'
    SaleEstimate:
      type: object
      description: Sale price (value) estimate with range and comparable sales.
      properties:
        price:
          type: number
          description: Estimated sale price (value).
        priceRangeLow:
          type: number
        priceRangeHigh:
          type: number
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
        listings:
          type: array
          description: Comparable sold properties used by the estimate.
          items:
            $ref: '#/components/schemas/Comparable'
    Comparable:
      type: object
      description: A comparable property contributing to an estimate.
      properties:
        formattedAddress:
          type: string
        price:
          type: number
        propertyType:
          type: string
        bedrooms:
          type: number
        bathrooms:
          type: number
        squareFootage:
          type: number
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
        distance:
          type: number
          description: Distance in miles from the target property.
        daysOld:
          type: integer
        correlation:
          type: number
          description: Similarity weighting applied to the comparable.
    Listing:
      type: object
      description: An active for-sale or for-rent listing.
      properties:
        id:
          type: string
        formattedAddress:
          type: string
        addressLine1:
          type: string
        city:
          type: string
        state:
          type: string
        zipCode:
          type: string
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
        price:
          type: number
          description: Listing price (for sale) or monthly rent (for rent).
        propertyType:
          type: string
        bedrooms:
          type: number
        bathrooms:
          type: number
        squareFootage:
          type: number
        lotSize:
          type: number
        yearBuilt:
          type: integer
        status:
          type: string
        daysOnMarket:
          type: integer
        listedDate:
          type: string
          format: date