RentCast · Capability

RentCast Property Research

Unified workflow for real estate property research, market analysis, and investment evaluation using the RentCast API. Combines property record lookup, rent and home value estimation, listing search, and market statistics to support real estate investors, landlords, property managers, and proptech applications.

Run with Naftiko Real EstateProperty DataValuationInvestmentMarket Analysis

What You Can Do

GET
Search properties — Search property records by address or geographic area
/v1/properties
GET
Get property — Retrieve a property record by ID
/v1/properties/{id}
GET
Get rent estimate — Get an automated rent estimate for a property
/v1/estimates/rent
GET
Get value estimate — Get an automated home value estimate for a property
/v1/estimates/value
GET
Search sale listings — Search for sale listings by location
/v1/listings/sale
GET
Search rental listings — Search for rental listings by location
/v1/listings/rental
GET
Get market statistics — Get aggregate market statistics for a zip code
/v1/markets

MCP Tools

search-properties

Search US property records by address, city, state, zip code, or geographic coordinates

read-only
get-property

Get detailed property record by RentCast property ID

read-only
get-rent-estimate

Get an automated rent estimate (AVM) for a property with comparable rentals

read-only
get-value-estimate

Get an automated home value estimate (AVM) for a property with comparable sales

read-only
search-sale-listings

Search for active and historical sale listings by location or address

read-only
search-rental-listings

Search for long-term rental listings by location, address, or property criteria

read-only
get-market-statistics

Get aggregate real estate market statistics for a zip code including price trends and inventory

read-only

APIs Used

rentcast

Capability Spec

property-research.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "RentCast Property Research"
  description: >-
    Unified workflow for real estate property research, market analysis, and
    investment evaluation using the RentCast API. Combines property record lookup,
    rent and home value estimation, listing search, and market statistics to
    support real estate investors, landlords, property managers, and proptech
    applications.
  tags:
    - Real Estate
    - Property Data
    - Valuation
    - Investment
    - Market Analysis
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      RENTCAST_API_KEY: RENTCAST_API_KEY

capability:
  consumes:
    - import: rentcast
      location: ./shared/rentcast-api.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: rentcast-research-api
      description: "Unified REST API for RentCast property research and market analysis."
      resources:
        - path: /v1/properties
          name: properties
          description: "US property record lookup and search"
          operations:
            - method: GET
              name: search-properties
              description: "Search property records by address or geographic area"
              call: "rentcast.search-properties"
              with:
                address: "rest.address"
                city: "rest.city"
                state: "rest.state"
                zipCode: "rest.zipCode"
                latitude: "rest.latitude"
                longitude: "rest.longitude"
                radius: "rest.radius"
                propertyType: "rest.propertyType"
                limit: "rest.limit"
                offset: "rest.offset"
              outputParameters:
                - type: array
                  mapping: "$."

        - path: /v1/properties/{id}
          name: property
          description: "Get a specific property record"
          operations:
            - method: GET
              name: get-property
              description: "Retrieve a property record by ID"
              call: "rentcast.get-property"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/estimates/rent
          name: rent-estimate
          description: "Rent estimate via AVM"
          operations:
            - method: GET
              name: get-rent-estimate
              description: "Get an automated rent estimate for a property"
              call: "rentcast.get-rent-estimate"
              with:
                address: "rest.address"
                propertyType: "rest.propertyType"
                bedrooms: "rest.bedrooms"
                bathrooms: "rest.bathrooms"
                squareFootage: "rest.squareFootage"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/estimates/value
          name: value-estimate
          description: "Home value estimate via AVM"
          operations:
            - method: GET
              name: get-value-estimate
              description: "Get an automated home value estimate for a property"
              call: "rentcast.get-value-estimate"
              with:
                address: "rest.address"
                propertyType: "rest.propertyType"
                bedrooms: "rest.bedrooms"
                bathrooms: "rest.bathrooms"
                squareFootage: "rest.squareFootage"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/listings/sale
          name: sale-listings
          description: "For-sale property listings"
          operations:
            - method: GET
              name: search-sale-listings
              description: "Search for sale listings by location"
              call: "rentcast.search-sale-listings"
              with:
                address: "rest.address"
                city: "rest.city"
                state: "rest.state"
                zipCode: "rest.zipCode"
                propertyType: "rest.propertyType"
                status: "rest.status"
                limit: "rest.limit"
              outputParameters:
                - type: array
                  mapping: "$."

        - path: /v1/listings/rental
          name: rental-listings
          description: "Long-term rental listings"
          operations:
            - method: GET
              name: search-rental-listings
              description: "Search for rental listings by location"
              call: "rentcast.search-rental-listings"
              with:
                address: "rest.address"
                city: "rest.city"
                state: "rest.state"
                zipCode: "rest.zipCode"
                propertyType: "rest.propertyType"
                bedrooms: "rest.bedrooms"
                price: "rest.price"
                limit: "rest.limit"
              outputParameters:
                - type: array
                  mapping: "$."

        - path: /v1/markets
          name: markets
          description: "Real estate market statistics"
          operations:
            - method: GET
              name: get-market-statistics
              description: "Get aggregate market statistics for a zip code"
              call: "rentcast.get-market-statistics"
              with:
                zipCode: "rest.zipCode"
                state: "rest.state"
                city: "rest.city"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9080
      namespace: rentcast-research-mcp
      transport: http
      description: "MCP server for AI-assisted real estate research and property analysis using RentCast data."
      tools:
        - name: search-properties
          description: "Search US property records by address, city, state, zip code, or geographic coordinates"
          hints:
            readOnly: true
            openWorld: true
          call: "rentcast.search-properties"
          with:
            address: "tools.address"
            city: "tools.city"
            state: "tools.state"
            zipCode: "tools.zipCode"
            latitude: "tools.latitude"
            longitude: "tools.longitude"
            radius: "tools.radius"
            propertyType: "tools.propertyType"
            limit: "tools.limit"
          outputParameters:
            - type: array
              mapping: "$."
        - name: get-property
          description: "Get detailed property record by RentCast property ID"
          hints:
            readOnly: true
            openWorld: false
          call: "rentcast.get-property"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-rent-estimate
          description: "Get an automated rent estimate (AVM) for a property with comparable rentals"
          hints:
            readOnly: true
            openWorld: true
          call: "rentcast.get-rent-estimate"
          with:
            address: "tools.address"
            propertyType: "tools.propertyType"
            bedrooms: "tools.bedrooms"
            bathrooms: "tools.bathrooms"
            squareFootage: "tools.squareFootage"
            compCount: "tools.compCount"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-value-estimate
          description: "Get an automated home value estimate (AVM) for a property with comparable sales"
          hints:
            readOnly: true
            openWorld: true
          call: "rentcast.get-value-estimate"
          with:
            address: "tools.address"
            propertyType: "tools.propertyType"
            bedrooms: "tools.bedrooms"
            bathrooms: "tools.bathrooms"
            squareFootage: "tools.squareFootage"
            compCount: "tools.compCount"
          outputParameters:
            - type: object
              mapping: "$."
        - name: search-sale-listings
          description: "Search for active and historical sale listings by location or address"
          hints:
            readOnly: true
            openWorld: true
          call: "rentcast.search-sale-listings"
          with:
            address: "tools.address"
            city: "tools.city"
            state: "tools.state"
            zipCode: "tools.zipCode"
            propertyType: "tools.propertyType"
            status: "tools.status"
            price: "tools.price"
            limit: "tools.limit"
          outputParameters:
            - type: array
              mapping: "$."
        - name: search-rental-listings
          description: "Search for long-term rental listings by location, address, or property criteria"
          hints:
            readOnly: true
            openWorld: true
          call: "rentcast.search-rental-listings"
          with:
            address: "tools.address"
            city: "tools.city"
            state: "tools.state"
            zipCode: "tools.zipCode"
            propertyType: "tools.propertyType"
            bedrooms: "tools.bedrooms"
            price: "tools.price"
            limit: "tools.limit"
          outputParameters:
            - type: array
              mapping: "$."
        - name: get-market-statistics
          description: "Get aggregate real estate market statistics for a zip code including price trends and inventory"
          hints:
            readOnly: true
            openWorld: true
          call: "rentcast.get-market-statistics"
          with:
            zipCode: "tools.zipCode"
            state: "tools.state"
            city: "tools.city"
          outputParameters:
            - type: object
              mapping: "$."