For AI agents and developers

Techy Broker MCP server

Techy Broker speaks the Model Context Protocol, the open standard AI agents use to call tools. Connect ChatGPT, Claude, Claude Code, Cursor or an agent you build, sign in once, and it can work for a real estate agent: their clients and properties, 26 calculators with branded PDF reports, property research and form drafts. 45 tools in all.

Just want to use it in ChatGPT or Claude? Follow Use Techy Broker in ChatGPT and Claude.

At a glance

Server URLhttps://techybroker.com/api/mcp
TransportStreamable HTTP (POST, with GET for the event stream)
Sign-inOAuth 2.1 with PKCE (S256) and dynamic client registration; no API keys
Scopetechybroker
Acts asOne signed-in agent, with their plan and permissions
DeletesNever: no tool deletes anything
Supportservice@techybroker.com

Connect an agent

Every MCP client takes the same URL. The first time it connects, a Techy Broker window opens: the agent signs in, reviews what the client can do and clicks Allow.

Claude Code
claude mcp add --transport http techy-broker https://techybroker.com/api/mcp

Then run /mcp in Claude Code and choose Authenticate.

Cursor
{
  "mcpServers": {
    "techy-broker": {
      "url": "https://techybroker.com/api/mcp"
    }
  }
}

~/.cursor/mcp.json (or .cursor/mcp.json in a project).

VS Code
{
  "servers": {
    "techy-broker": {
      "type": "http",
      "url": "https://techybroker.com/api/mcp"
    }
  }
}

.vscode/mcp.json, then Start on the server.

Claude and ChatGPT

Add a custom connector named Techy Broker with the server URL (in ChatGPT, choose OAuth). Step by step: Use Techy Broker in ChatGPT and Claude.

Your own agent

Use any MCP client library with OAuth support, such as the official TypeScript or Python SDK: give it the server URL and an OAuth client provider, and it handles discovery, registration and sign-in. The flow it follows is below.

Sign-in (OAuth)

  1. A request without a token gets 401 with a WWW-Authenticate header pointing at https://techybroker.com/.well-known/oauth-protected-resource/api/mcp.
  2. That names the authorization server. Its metadata is at https://techybroker.com/.well-known/oauth-authorization-server.
  3. Register at https://techybroker.com/api/oauth/register with your redirect_uris (https, loopback http such as http://127.0.0.1:port, or an app scheme). Public clients only: no client secret. Client ID metadata documents are supported too.
  4. Send the agent to https://techybroker.com/oauth/authorize with response_type=code, PKCE S256, scope=techybroker and resource=https://techybroker.com/api/mcp.
  5. Exchange the code at https://techybroker.com/api/oauth/token, then call the server with Authorization: Bearer. Access tokens last about an hour; refresh tokens rotate on use and expire after 90 days without use.

Each approval is its own connection, listed in the agent's Techy Broker account under Account, AI assistants, where they can remove it. Signing out of all sessions or changing the password ends every connection. Tools only ever do what the agent could do in the dashboard.

What comes back

  • Text first. The first content block is a short, plain summary written to be read aloud, headline number first, followed by the disclaimer that applies. Pass the disclaimer along to the user.
  • Full data. The same result as JSON in structuredContent (and as a second text block, for clients that don't read structured content).
  • Files. A PDF report comes as a resource_link with mimeType: application/pdf, and its URL is also in the text.
  • Errors. isError: true with a sentence you can say to the user, such as which client matched or which plan a tool needs.

Calculators return estimates. Research comes from public records and AI, and can be wrong or out of date. Neither is legal, tax, lending or appraisal advice.

Results and PDF links

Work done through MCP lands in the agent's dashboard exactly like work done on the website. Every calculator run is saved to Results with its inputs and report, filed under the client and property when you pass client_id or property_id; the reply includes a link that reopens it. Every finished research lookup is saved the same way. Because each call saves, calling twice makes two entries.

With pdf: true, a calculator also returns a link to the branded PDF (the agent's name, photo and color, and "Prepared for" the client). The link is signed, opens for anyone who has it without signing in, and expires after 30 days; the PDF can always be downloaded again from Results.

Rules for agents

The server sends these instructions when a client connects. Follow them in your own agent too.

Techy Broker is a toolkit for real estate agents. You are acting for one signed-in agent.
- Clients and properties are the agent's real CRM. Before creating or changing anything, confirm names, spellings, emails, phone numbers and addresses with the agent, and read back what you'll save. This matters most by voice.
- Prefer find_clients / get_client before create_client so you don't make duplicates.
- Calculator runs and research lookups are saved to the agent's Results in Techy Broker, as if they'd run them on the website. When it's for a client, pass client_id / property_id so it's filed under them.
- Every calculator can also make the agent's branded PDF report: set pdf: true. Give the agent the PDF link exactly as returned; it opens for anyone for 30 days.
- Calculators return estimates. Research tools return public-record lookups that can be wrong or out of date. Always pass along the disclaimer that comes with a result, and never present a number or a record as a guarantee, an appraisal, or legal, tax or lending advice.
- Form tools only start drafts with the client, property and agent details filled in. The agent reviews, edits and signs in Form Filler. Never choose or suggest contract terms.
- Nothing can be deleted through this connection.
- For questions about Techy Broker itself (how to do something, a real estate term, the terms of use, privacy, partnering at eXp, what a plan includes), call search_techy_broker_info and answer only from what it returns. Say less rather than more: never interpret the terms or privacy policy for someone's own situation, and never discuss eXp fees, stock, revenue share or income. When unsure, or when the agent wants a person, offer contact_techy_broker; ask before sending and confirm it's OK for the team to reach out.

Plans

Tools follow the agent's Techy Broker plan, the same as the website. Clients and properties, every calculator and PDF reports work on every plan, including the free Basic plan. Flood risk, school district, zoning, tax history and forms need Plus; permit history needs Premier. A tool outside the plan returns an error that says which plan includes it.

Tool reference

Generated from the live server, so it always matches what your agent sees. Inputs marked * are required; everything else has a default or is optional.

Clients and properties

The agent's CRM. Look up before creating, and confirm spellings before saving. Nothing can be deleted.

whoamiWho am IRead only

The signed-in Techy Broker agent: name, email, plan and how many clients they have. Call this first if unsure which account is connected.

find_clientsFind clientsRead only

Search the agent's clients by name, email, phone, tag or property address. Leave query empty to list everyone (most recently updated first).

Inputs (4)
NameTypeDefaultWhat it is
querystringWords to match: a name, email, phone, tag or part of an address
stagelead | active | under-contract | closed | pastOnly clients in this stage
typebuyer | seller | both | investor | landlord | renterOnly clients of this type
limitwhole number25
get_clientGet a clientRead only

One client with contact details, notes and every property (with property ids). Pass client_id, or client_name if it matches one client.

Inputs (2)
NameTypeDefaultWhat it is
client_idstring
client_namestring
create_clientCreate a clientSaves to account

Add a new client to the agent's CRM. Confirm the spelling of the name (and email/phone) with the agent before calling, especially by voice. Warns instead of creating if a client with the same name exists unless allow_duplicate is true.

Inputs (8)
NameTypeDefaultWhat it is
name*stringFull name, e.g. 'Daniel and Priya Shah'
emailstring
phonestring
typebuyer | seller | both | investor | landlord | renterbuyer
stagelead | active | under-contract | closed | pastlead
notesstring
tagsarray of string
allow_duplicatebooleanfalseCreate even if a client with this name already exists
update_clientUpdate a clientSaves to account

Change a client's contact details, type, stage or tags, or add to their notes. Only the fields you pass change. Use append_note to add a dated note without replacing existing notes.

Inputs (10)
NameTypeDefaultWhat it is
client_idstring
client_namestring
namestring
emailstring
phonestring
typebuyer | seller | both | investor | landlord | renter
stagelead | active | under-contract | closed | past
tagsarray of stringReplaces the tag list
append_notestringAdded to the end of the notes with today's date
notesstringReplaces all notes. Prefer append_note
add_propertyAdd a property to a clientSaves to account

Attach a property to a client. Give the full address as said (street, city, state); it's looked up on the map to fill in city, state, ZIP and location. Read the matched address back to the agent.

Inputs (9)
NameTypeDefaultWhat it is
client_idstring
client_namestring
address*stringFull street address, e.g. '1420 Maple Ave, Evanston, IL'
role*selling | buying | owns | rentingselling: their listing; buying: a home they want; owns: they own it; renting: they rent it
pricenumberList, offer or estimated price in dollars
bedsnumber
bathsnumber
sqftnumber
notesstring
update_propertyUpdate a propertySaves to account

Change a client's property: role, price, beds, baths, square feet or notes. Find it by property_id, or by address (optionally within one client).

Inputs (10)
NameTypeDefaultWhat it is
client_idstring
client_namestring
property_idstring
addressstringPart of the property's address, if no property_id
roleselling | buying | owns | renting
pricenumber
bedsnumber
bathsnumber
sqftnumber
notesstring
recent_resultsRecent resultsRead only

The agent's saved results, newest first: calculator runs (net sheets, mortgage, etc., with PDFs) and research lookups (flood, schools, zoning, permits, taxes). Filter by a client's name, a property address, or a type (e.g. 'net sheet', 'flood'). Use open_result to reopen a calculator run.

Inputs (4)
NameTypeDefaultWhat it is
querystringWords to match against the client, property address, or result type
kindall | calculator | researchall
dayswhole numberOnly results from the last N days
limitwhole number15
open_resultOpen a saved resultRead only

Reopen a saved result from recent_results: a calculator run (run_id) as its full report card, or a research or other tool result (result_id) as its card. Set pdf to also get a calculator's branded PDF link.

Inputs (3)
NameTypeDefaultWhat it is
run_idstringA calculator run's id (kind calculator in recent_results)
result_idstringA research or other tool result's id (kind research in recent_results)
pdfbooleanfalseAlso return a link to the branded PDF

Calculators

The same math as the calculator pages. Every run is saved to Results; pdf: true adds a link to the branded PDF. Every calculator also takes pdf, client_id, client_name and property_id.

seller_net_sheetSeller net sheetSaves to account

Estimate what a seller walks away with at closing: payoff, commissions, transfer tax, tax proration, title, fees and credits, plus the net at 2.5% below and above the price. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (24)
NameTypeDefaultWhat it is
pricenumber525000Sale price in dollars
closingdate (YYYY-MM-DD)Estimated closing date, YYYY-MM-DD. Defaults to 45 days from today
hasMortgagebooleantrueWhether the seller has a mortgage to pay off
payoffnumber310000Mortgage payoff balance in dollars
secondPayoffnumber0Second mortgage or HELOC payoff in dollars
listingPctnumber2.5Listing-side commission, percent (e.g. 2.5)
buyerPctnumber2.5Buyer-side commission, percent (e.g. 2.5)
transferPer1knumber1.5Transfer tax in dollars per $1,000 of price
annualTaxnumber8400Annual property tax in dollars
titlenumber2100Owner's title insurance in dollars
attorneynumber950Attorney or escrow fee in dollars
otherFeesnumber820Recording and other closing fees in dollars
concessionsnumber0Seller concessions (credits to the buyer) in dollars
repairCreditnumber0Repair or inspection credit in dollars
warrantynumber0Home warranty the seller pays for, dollars
stagingnumber0Staging and prep costs in dollars
hasHoabooleanfalseWhether the property has an HOA
hoaTransfernumber500HOA transfer fee in dollars
hoaMonthlynumber325Monthly HOA dues in dollars
prorateHoabooleantrueProrate this month's HOA dues to the closing date
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
mortgage_paymentMortgage paymentSaves to account

Estimate the full monthly mortgage payment (principal and interest, property tax, insurance, PMI, HOA), total interest, the effect of discount points and extra principal payments, and the payment if the rate moves half a point. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (19)
NameTypeDefaultWhat it is
pricenumber500000Home price in dollars
downPctnumber20Down payment, percent of price (e.g. 20)
ratenumber6.5Interest rate, percent (e.g. 6.5)
termwhole number30Loan term in years (e.g. 30 or 15)
taxRatenumber1.1Property tax rate, percent of price per year (e.g. 1.1)
insurancenumber1800Homeowner's insurance in dollars per year
hoanumber0HOA dues in dollars per month
pmiRatenumber0.5PMI, percent of the loan per year (e.g. 0.5); applies only under 20% down
extranumber0Extra principal paid each month, dollars
extraYearlynumber0Extra principal paid once a year (with every 12th payment), dollars
lumpnumber0One-time lump-sum principal payment, dollars
lumpMonthwhole number12Payment number the lump sum goes in with (e.g. 12)
pointsnumber0Discount points bought (1 point = 1% of the loan)
perPointnumber0.25Rate reduction per point, percent (e.g. 0.25)
startDatedate (YYYY-MM-DD)First payment date, YYYY-MM-DD (only the month counts). Defaults to this month
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
affordabilityHome affordabilitySaves to account

Estimate how much home a buyer can afford from income, monthly debts, down payment and rate: the max price whose full payment (principal and interest, tax, insurance, PMI, HOA) hits a target debt-to-income ratio, plus comfortable (36%), standard (43%) and stretch (50%) scenarios. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (17)
NameTypeDefaultWhat it is
incomenumber120000Gross household income in dollars per year
debtsnumber650Other monthly debt payments (cars, student loans, cards) in dollars per month
downnumber50000Cash available for the down payment, dollars
dtinumber43Target debt-to-income ratio, percent (e.g. 43): all monthly debts plus the housing payment as a share of gross monthly income
ratenumber6.5Interest rate, percent (e.g. 6.5)
termwhole number30Loan term in years
taxRatenumber1.1Property tax rate, percent of price per year (e.g. 1.1)
insurancenumber1800Homeowner's insurance in dollars per year
hoanumber0HOA dues in dollars per month
pmiRatenumber0.5PMI, percent of the loan per year (e.g. 0.5); applies only under 20% down
useFrontEndbooleanfalseAlso cap the housing payment alone at the front-end ratio
frontEndnumber28Front-end ratio: max housing payment as a share of gross income, percent (e.g. 28). Used only when useFrontEnd is true
closingPctnumber0Closing costs paid out of the down-payment cash, percent of price (e.g. 2.5)
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
buyer_cash_to_closeBuyer cash to closeSaves to account

Estimate how much cash a buyer needs at closing: down payment, lender and third-party fees, title, prepaid interest, insurance and escrow reserves, less earnest money and credits. Also gives the estimated monthly payment. Handles conventional, FHA, VA and cash purchases. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (26)
NameTypeDefaultWhat it is
pricenumber425000Purchase price in dollars
loanTypeconventional | fha | va | cashconventionalLoan type: conventional, fha, va, or cash (no loan)
downPctnumber10Down payment, percent of price (e.g. 10). Ignored for cash
ratenumber6.5Interest rate, percent (e.g. 6.5)
termwhole number30Loan term in years
closingdate (YYYY-MM-DD)Closing date, YYYY-MM-DD. Defaults to 45 days from today
lenderFeesnumber2400Lender fees (origination, underwriting) in dollars
titleEscrownumber2200Title insurance and escrow fees in dollars
recordingnumber250Recording and government fees in dollars
annualTaxnumber5100Annual property tax in dollars
insurancenumber1650Homeowner's insurance in dollars per year
emdnumber5000Earnest money already paid, dollars (credited at closing)
sellerCreditnumber0Seller credit toward closing costs, dollars
lenderCreditnumber0Lender credit, dollars
pmiRatenumber0.5PMI, percent of the loan per year (e.g. 0.5); conventional loans under 20% down only
hoanumber0HOA dues in dollars per month (affects the monthly payment only)
appraisalnumber600Appraisal fee in dollars
inspectionnumber500Inspection fee in dollars
surveynumber0Survey fee in dollars
attorneynumber0Buyer's attorney fee in dollars
taxDueMonthwhole number6Month the next property tax bill is due, 1-12 (e.g. 6 for June)
billsPerYear1 | 22Property tax bills per year: 2 (semi-annual) or 1 (annual)
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
closing_prorationsClosing prorationsSaves to account

Prorate closing items to the day, settlement-statement style: property taxes (arrears or prepaid), HOA dues and assessments, rent and security deposits, fuel, the seller's payoff interest and the buyer's prepaid interest, with who credits whom and the net between buyer and seller. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (30)
NameTypeDefaultWhat it is
closingdate (YYYY-MM-DD)2026-12-15Closing date, YYYY-MM-DD
sellerOwnsDaybooleanfalseWhether the seller owns (pays for) the day of closing
annualTaxnumber8400Annual property tax bill in dollars
taxPaidThroughdate (YYYY-MM-DD)2025-12-31Date property taxes are paid (or prepaid) through, YYYY-MM-DD
arrearsbooleantrueTrue if taxes are paid in arrears (seller credits buyer); false if prepaid (buyer reimburses seller)
proratePctnumber105Tax proration factor, percent of the last bill (e.g. 105)
hoanumber250Monthly HOA dues in dollars (0 if none)
hoaPaidThroughdate (YYYY-MM-DD)2026-12-31Date HOA dues are paid through, YYYY-MM-DD
assessmentnumber0Outstanding special assessment the seller pays, dollars
hoaTransferFeenumber0HOA transfer or move-in fee in dollars
hoaFeePayerseller | buyersellerWho pays the HOA transfer fee: seller or buyer
tenantbooleanfalseWhether the property is tenant-occupied
rentnumber2200Monthly rent in dollars (if tenant-occupied)
rentPaidThroughdate (YYYY-MM-DD)2026-12-31Date the tenant's rent is paid through, YYYY-MM-DD
depositnumber2200Tenant security deposit held by the seller, dollars
hasLoanbooleantrueWhether the seller has a mortgage to pay off
payoffnumber310000Seller's mortgage payoff balance in dollars
payoffRatenumber6.25Seller's mortgage interest rate, percent (e.g. 6.25)
lastPaymentdate (YYYY-MM-DD)2026-12-01Date the seller's last mortgage payment covers interest through, YYYY-MM-DD
hasNewLoanbooleantrueWhether the buyer is getting a mortgage
newLoannumber420000Buyer's new loan amount in dollars
newRatenumber6.5Buyer's new loan interest rate, percent (e.g. 6.5)
fuelnumber0Fuel oil or propane left in the tank, dollars (buyer reimburses seller)
waternumber0Estimated final water/sewer bill for the seller's use, dollars
othernumber0Other item in dollars: positive credits the buyer, negative credits the seller
otherLabelstringOther seller creditLabel for the other item
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
refinance_break_evenRefinance break-evenSaves to account

Compare a current mortgage with a refinance: new principal and interest payment, monthly savings, how many months until the closing costs pay for themselves, interest on each loan, lifetime savings, and savings after 1, 3, 5 and 10 years. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (14)
NameTypeDefaultWhat it is
balancenumber350000Current loan balance in dollars
ratenumber7.25Current interest rate, percent (e.g. 7.25)
yearsLeftnumber27Years left on the current loan
currentPaymentnumber0Current monthly principal and interest in dollars; 0 to calculate it from balance, rate and years left
newRatenumber6New loan interest rate, percent (e.g. 6.0)
newTermwhole number30New loan term in years
closingnumber6000Refinance closing costs in dollars
pointsnumber0Discount points on the new loan, percent of the loan (1 point = 1%)
cashOutnumber0Cash taken out in the refinance, dollars
rollbooleanfalseRoll the closing costs and points into the new loan instead of paying them in cash
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
rate_buydownRate buydownSaves to account

Compare a permanent rate buydown with discount points against 2-1, 3-2-1 and 1-0 temporary buydowns: upfront cost, monthly payment in years 1–3 and after, break-even, and the savings over the years the loan is kept. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (11)
NameTypeDefaultWhat it is
loannumber400000Loan amount in dollars
ratenumber6.75Note rate, percent (e.g. 6.75)
termwhole number30Loan term in years
pointsnumber2Discount points for the permanent buydown; one point costs 1% of the loan (e.g. 2)
perPointnumber0.25Rate drop per point, percent (e.g. 0.25)
holdwhole number7Years the borrower expects to keep the loan
payerseller | buyersellerWho pays for the buydown: seller (as a concession) or buyer
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
appraisal_gapAppraisal gapSaves to account

Estimate what a low appraisal costs the buyer: the gap, the loan on the lower value, the extra cash needed under the contract's gap coverage, and the outcomes if the buyer covers it all, the price drops to the appraisal, or the gap is split. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (16)
NameTypeDefaultWhat it is
pricenumber500000Contract price in dollars
appraisednumberAppraised value in dollars. Defaults to 96% of the contract price
downModepct | amtpctWhether the down payment is given as a percent (pct) or dollars (amt)
downPctnumber20Planned down payment, percent of price (e.g. 20); used when downMode is pct
downAmtnumber100000Planned down payment in dollars; used when downMode is amt
loanTypeconv | fha | va | jumboconvLoan type: conv (97% max LTV), fha (96.5%), va (100%), jumbo (90%)
cashnumber125000Buyer's cash available in dollars
coveragenone | upto | fulluptoGap coverage in the contract: none, upto (up to a set amount) or full
coverUpTonumber10000Most the buyer agreed to cover of the gap, dollars; used when coverage is upto
closingCostsnumber0Closing costs to count against the buyer's cash, dollars
earnestnumber10000Earnest money deposit in dollars (shown in the PDF)
contingencybooleantrueWhether the contract has an appraisal contingency, so earnest money comes back if the buyer walks
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
rent_vs_buyRent vs. buySaves to account

Compare the all-in cost of renting vs. buying over the years you'll stay: payments, taxes, insurance, maintenance, buying and selling costs, lost investment return and equity. Returns which comes out ahead, by how much, and the year buying pulls ahead (looks out 15 years). Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (21)
NameTypeDefaultWhat it is
rentnumber2400Monthly rent today in dollars
rentGrowthnumber3Yearly rent increase, percent (e.g. 3)
pricenumber450000Home price in dollars
downPctnumber10Down payment, percent of price (e.g. 10)
ratenumber6.5Mortgage interest rate, percent (e.g. 6.5)
termwhole number30Loan term in years
taxRatenumber1.1Property tax rate, percent of price per year (e.g. 1.1)
insurancenumber1800Homeowners insurance in dollars per year
hoanumber0HOA dues in dollars per month
maintenancenumber1Maintenance, percent of price per year (e.g. 1)
appreciationnumber3Home appreciation, percent per year (e.g. 3)
yearswhole number7Years you'll stay, 1 to 15
buyCostsnumber3Buying closing costs, percent of price (e.g. 3)
sellCostsnumber7Selling costs when you move, percent of the home's value then (e.g. 7)
investReturnnumber5Return the cash at closing would earn if invested instead, percent per year (e.g. 5)
deductbooleanfalseWhether the buyer itemizes and deducts mortgage interest and property tax
taxBracketnumber24Marginal income tax rate for the deduction, percent (e.g. 24)
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
investment_propertyInvestment propertySaves to account

Quick look at a rental property: monthly cash flow, NOI, cap rate, cash-on-cash return, DSCR, gross rent multiplier, 1% rule, break-even rent, and a 10-year projection of equity, cash flow and total return. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (19)
NameTypeDefaultWhat it is
pricenumber400000Purchase price in dollars
downPctnumber25Down payment, percent of price (e.g. 25)
ratenumber7Mortgage interest rate, percent (e.g. 7)
termwhole number30Loan term in years
closingnumber2Closing costs, percent of price (e.g. 2)
rentnumber3400Monthly rent in dollars
vacancynumber5Vacancy, percent of gross rent (e.g. 5)
taxesnumber6000Property taxes in dollars per year
insurancenumber1800Insurance in dollars per year
hoanumber0HOA dues in dollars per month
maintenancenumber8Maintenance, percent of collected rent (e.g. 8)
managementnumber8Property management, percent of collected rent (e.g. 8)
appreciationnumber3Appreciation, percent per year (e.g. 3)
rentGrowthnumber3Rent growth, percent per year (e.g. 3)
expenseGrowthnumber2Growth in taxes, insurance and HOA, percent per year (e.g. 2)
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
capital_gainsHome sale capital gainsSaves to account

Estimate the taxable gain on a home sale after the primary-home exclusion ($250k single / $500k joint), plus a rough federal (0/15/20% brackets, depreciation recapture, 3.8% NIIT) and state tax. This is an estimate, not tax advice; confirm with a CPA. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (19)
NameTypeDefaultWhat it is
purchasenumber300000Original purchase price in dollars
purchaseClosingnumber6000Closing costs paid when buying, dollars
improvementsnumber40000Capital improvements made (not repairs), dollars
salenumber750000Sale price in dollars
sellingCostsnumber45000Selling costs (commissions, fees) in dollars
primarybooleantrueWhether it is the seller's primary home
yearsLivednumber5Years lived in the home out of the last 5, years
filingsingle | jointjointFiling status: single or joint (married filing jointly)
customExclusionnumber0Partial exclusion in dollars, used only for a primary home lived in under 2 years
depreciationnumber0Depreciation taken if the home was ever rented, dollars
incomenumber150000Other taxable income this year in dollars
zeroTopnumberTaxable income where the 0% long-term rate ends, dollars. Defaults to the assumed 2026 breakpoint for the filing status
fifteenTopnumberTaxable income where the 15% long-term rate ends, dollars. Defaults to the assumed 2026 breakpoint for the filing status
niitbooleantrueApply the 3.8% net investment income tax
stateRatenumber5State income tax rate on the gain, percent (e.g. 5)
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
exchange_10311031 exchangeSaves to account

Estimate a 1031 like-kind exchange: equity to reinvest, the replacement price and loan needed to defer all gain, cash and mortgage boot, the taxable and deferred gain, and rough tax with and without the exchange. This is an estimate, not tax advice; confirm with a CPA and a qualified intermediary. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (12)
NameTypeDefaultWhat it is
salePricenumber600000Sale price of the property being sold, dollars
sellCostsnumber36000Selling costs in dollars
payoffnumber250000Loan payoff on the property being sold, dollars
basisnumber300000Adjusted basis after depreciation, dollars
replPricenumber700000Replacement property price in dollars
newLoannumber400000New loan on the replacement property, dollars
fedRatenumber15Federal capital gains rate, percent (e.g. 15)
stateRatenumber5State tax rate, percent (e.g. 5)
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
commission_splitCommission splitSaves to account

What an agent keeps over a year at their brokerage after the split, cap, per-deal fees, monthly fees, dues and franchise royalty, with the deal they cap on and a deal-by-deal breakdown. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (17)
NameTypeDefaultWhat it is
dealswhole number15Closed deals per year
pricenumber400000Average sale price in dollars
ratenumber2.5Agent's side of the commission, percent of price (e.g. 2.5)
agentSplitnumber70Agent's share of each commission before the cap, percent (70 means a 70/30 split)
hasCapbooleanfalseWhether the brokerage caps its split each year
capnumber20000Yearly cap: the most the brokerage takes in split, dollars (used when hasCap is true)
txFeenumber395Transaction fee per deal in dollars
eonumber0E&O fee per deal in dollars
monthlynumber0Desk or tech fee in dollars per month
duesnumber1200MLS and board dues in dollars per year
royaltyPctnumber0Franchise royalty, percent of each commission (e.g. 6)
royaltyCapnumber0Yearly royalty cap in dollars; 0 means no cap
postCapFeenumber0Fee per deal after capping, dollars
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
property_tax_prorationProperty tax prorationSaves to account

Prorate the property tax between buyer and seller to the closing day: how much the seller credits the buyer (taxes paid in arrears) or the buyer reimburses the seller (taxes prepaid), with the daily rate and days counted. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (12)
NameTypeDefaultWhat it is
closingdate (YYYY-MM-DD)Closing date, YYYY-MM-DD. Defaults to 45 days from today
annualTaxnumber8400Annual property tax bill in dollars
arrearsbooleantrueTrue if taxes are paid in arrears (seller credits buyer); false if paid in advance (buyer reimburses seller)
sellerOwnsDaybooleanfalseWhether the seller owns (pays for) the day of closing
basis360 | 365365Day count: "365" for actual days (365 or 366), "360" for twelve 30-day months
proratePctnumber100Proration percentage of the annual bill, percent (e.g. 100, or 105 to 110 in Cook County)
paidThroughdate (YYYY-MM-DD)Date taxes are paid (or prepaid) through, YYYY-MM-DD. Defaults to Dec 31 of the year before closing in arrears markets, Dec 31 of the closing year if prepaid
alreadyPaidnumber0Amount already paid toward this period in dollars (e.g. a second installment)
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
fix_and_flipFix and flipSaves to account

Analyze a fix-and-flip: projected profit after purchase, rehab, an interest-only hold loan, carrying and selling costs, with cash invested, ROI and the max offer by the 70% rule or a target profit. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (20)
NameTypeDefaultWhat it is
pricenumber220000Purchase price in dollars
closingPctnumber2Purchase closing costs, percent of price (e.g. 2)
rehabnumber60000Rehab budget in dollars
contingencyPctnumber10Contingency on the rehab budget, percent (e.g. 10)
ltvnumber80Loan amount, percent of purchase price (e.g. 80)
ratenumber11Loan interest rate, percent per year (e.g. 11); interest only for the hold
loanPointsnumber2Loan points, percent of the loan (e.g. 2)
financeRehabbooleantrueWhether the loan also covers the rehab (with contingency)
monthswhole number6Months held, from purchase to sale
taxesnumber300Property taxes during the hold, dollars per month
insurancenumber150Insurance during the hold, dollars per month
utilitiesnumber200Utilities during the hold, dollars per month
arvnumber380000Resale price after repairs (ARV) in dollars
sellPctnumber7Selling costs, percent of resale price (e.g. 7)
rulePctnumber70Max-offer rule, percent of ARV (e.g. 70 for the 70% rule)
targetnumber40000Target profit in dollars, for the max offer that still hits it
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
referral_feeReferral feeSaves to account

Work out the referral fee on a deal and what the agent nets after their brokerage split, cap and fees, as either the referring or the receiving agent. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (13)
NameTypeDefaultWhat it is
pricenumber450000Sale price in dollars
commissionnumber2.5This side's commission, percent of price (e.g. 2.5)
referralPctnumber25Referral fee, percent of the side's commission (e.g. 25)
referringbooleanfalseTrue if the agent is the referring agent (receives the fee); false if they received the client (pay the fee)
splitnumber80Agent's split with their brokerage, percent the agent keeps (e.g. 80)
onCapbooleanfalseWhether the agent's brokerage has a cap
capLeftnumber6000Dollars left to pay on the cap (0 if already capped); used when onCap is true
feesnumber400Transaction or franchise fees on the deal, dollars
eonumber0E&O fee on the deal, dollars
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
exp_commission_spliteXp commission splitSaves to account

What an agent would keep in a year at eXp Realty under its split, cap and fees, compared with what they keep at their current brokerage, plus eXp stock awards. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (17)
NameTypeDefaultWhat it is
dealswhole number15Closed deals per year
pricenumber400000Average sale price in dollars
ratenumber2.5Agent's side of the commission, percent of price (e.g. 2.5)
firstYearbooleantrueWhether this is the agent's first year at eXp (adds the onboarding fee)
iconbooleanfalseWhether to count ICON (the cap back in eXp stock) if the agent earns it
nowSplitnumber70Agent's split at their current brokerage, percent they keep (70 means 70/30)
nowCapnumber0Yearly cap at the current brokerage in dollars; 0 means no cap
nowFeesnumber395Fee per deal at the current brokerage, dollars
nowMonthlynumber0Monthly fees at the current brokerage, dollars
splitnumber80eXp split, percent the agent keeps before the cap (e.g. 80)
capnumber16000eXp yearly cap in dollars
monthlynumber85eXp tech fee, dollars per month
reviewnumber25eXp broker review fee per deal, dollars
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
rent_vs_listKeep the rental or sellSaves to account

For an owner deciding whether to keep a rental or sell it now and invest the cash: where each choice leaves them after the years they'd hold it, counting cash flow, equity, selling costs and optional rough taxes on the sale. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (26)
NameTypeDefaultWhat it is
valuenumber400000Home value today in dollars
loanBalnumber220000Mortgage balance today in dollars
loanRatenumber4Mortgage interest rate, percent (e.g. 4)
loanYearsnumber24Years left on the mortgage
sellPctnumber7Selling costs, percent of the sale price (e.g. 7)
rentnumber2500Monthly rent in dollars
vacancynumber5Vacancy, percent of rent (e.g. 5)
taxesnumber4800Property tax in dollars per year
insurancenumber1600Insurance in dollars per year
maintenancenumber8Maintenance, percent of rent (e.g. 8)
mgmtnumber8Property management, percent of rent collected (e.g. 8)
hoanumber0HOA dues in dollars per month
appreciationnumber3Home appreciation, percent per year (e.g. 3)
rentGrowthnumber3Rent growth, percent per year (e.g. 3)
costGrowthnumber3Growth in tax, insurance and HOA, percent per year (e.g. 3)
yearswhole number10Years the owner would keep it, 1 to 30
investReturnnumber6Return on the cash if sold now and invested, percent per year (e.g. 6)
useTaxbooleanfalseInclude rough federal tax on the sale (depreciation recapture and capital gains)
basisnumber260000Adjusted basis today, after depreciation, dollars (used when useTax is true)
depTakennumber40000Depreciation taken so far, dollars (used when useTax is true)
depPerYearnumber9000Depreciation per year if kept, dollars (used when useTax is true)
ltcgRatenumber15Long-term capital gains rate, percent (e.g. 15; used when useTax is true)
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
seller_rent_backSeller rent-backSaves to account

Work out what a seller pays to stay in the home after closing: the daily occupancy rate from the buyer's monthly cost, the total charge credited to the buyer, and the security deposit held from the seller's proceeds. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (23)
NameTypeDefaultWhat it is
closingdate (YYYY-MM-DD)Closing date, YYYY-MM-DD. Defaults to 30 days from today
moveOutdate (YYYY-MM-DD)Date the seller moves out, YYYY-MM-DD. Defaults to 14 days after closing
fromLoanbooleanfalseWork the buyer's monthly cost out from the loan (loan, rate, term, tax, insurance) instead of a given monthly payment
pitinumber3200Buyer's monthly mortgage payment (principal, interest, tax, insurance) in dollars, used when fromLoan is false
hoanumber0HOA dues in dollars per month
loannumber400000Buyer's loan amount in dollars, used when fromLoan is true
ratenumber6.5Buyer's interest rate, percent (e.g. 6.5), used when fromLoan is true
termwhole number30Buyer's loan term in years, used when fromLoan is true
annualTaxnumber6000Property tax in dollars per year, used when fromLoan is true
annualInsnumber1800Homeowners insurance in dollars per year, used when fromLoan is true
sellerUtilitiesbooleantrueWhether the seller pays utilities during the stay. If false, the buyer pays and utilities are added to the rate
utilitiesnumber300Utilities in dollars per month, added to the rate when the buyer pays them
overridebooleanfalseUse an agreed daily rate instead of the buyer's monthly cost divided by 30
dailyOverridenumber100Agreed daily rate in dollars, used when override is true
depositModepct | amt | dayspctHow the security deposit is set: pct (percent of sale price), amt (dollar amount) or days (days of rent)
depositPctnumber1Security deposit, percent of sale price (e.g. 1), used when depositMode is pct
pricenumber500000Sale price in dollars, used for a percent-of-price deposit
depositAmtnumber5000Security deposit in dollars, used when depositMode is amt
depositDayswhole number30Security deposit as this many days of the daily rate, used when depositMode is days
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
home_maintenance_costHome maintenance costSaves to account

Estimate what to set aside each month for a home's upkeep: a routine yearly budget by age, size, type and climate, plus the big replacements (roof, HVAC, water heater, exterior paint) likely in the next 10 years. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (16)
NameTypeDefaultWhat it is
valuenumber450000Home value in dollars
sqftwhole number2000Square feet
yearBuiltwhole number1998Year the home was built
thisYearwhole numberYear the budget starts. Defaults to the current year
typesfh | town | condo | multisfhHome type: sfh (single family), town (townhome), condo (HOA covers the exterior) or multi (multi-family)
climatemild | harshmildClimate: mild, or harsh (heat, freeze, storms), which shortens system lives and raises upkeep 15%
unitswhole number2Number of units, used only for multi-family
roofAgewhole number12Roof age in years (capped at the home's age). Not used for condos
hvacAgewhole number10HVAC age in years (capped at the home's age)
heaterAgewhole number7Water heater age in years (capped at the home's age)
paintbooleantrueWhether the exterior is painted. Not used for condos
paintAgewhole number5Years since the exterior was last painted
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
property_tax_appealProperty tax appealSaves to account

Check a home's assessed value against recent comparable sales (median price per square foot) and estimate what a property tax appeal could save per year and over several years. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (13)
NameTypeDefaultWhat it is
assessednumber450000Current assessed value in dollars
rationumber100Assessment ratio: assessed value as a percent of market value (100 if assessed at full market value)
modepct | millspctHow the tax rate is given: pct (percent of assessed value) or mills (dollars per $1,000)
ratenumber1.2Tax rate: a percent when mode is pct (e.g. 1.2), or mills when mode is mills (e.g. 12)
exemptionsnumber0Exemptions subtracted from the assessed value, dollars
subjectSqftnumber1950The home's square feet
compsarray of object[{"address":"","price":410000,"sqft":1900},{"address":"","price":395000,"sqft":1850},{"address":"","price":425000,"sqft":2000}]Recent comparable sales (3 to 6 recommended), each with a sale price and square feet
yearswhole number3Years the lower assessment would last, for total savings
filingCostnumber0Cost to file the appeal, dollars (subtracted from total savings)
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
listing_price_strategyListing price strategySaves to account

Compare three ways to price a listing (under value, at value, above value) side by side: list and likely sale price, days on market, price cuts, carrying costs and what the seller nets. Returns which strategy nets the most and by how much. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (12)
NameTypeDefaultWhat it is
valuenumber500000Market value of the home in dollars
payoffnumber250000Seller's mortgage payoff in dollars
commissionnumber5.5Total commission, percent of sale price (e.g. 5.5)
otherPctnumber1.5Other closing costs, percent of sale price (e.g. 1.5)
carryingnumber3200Monthly carrying cost while listed (mortgage, taxes, insurance, HOA, utilities), dollars
typicalDomwhole number30Typical days on market in the area
closeDayswhole number30Days from contract to closing
scenariosarray of object[{"listPct":-4,"salePct":2,"domMult":0.5,"reductions":0,"offers":3},{"listPct":0,"salePct":-1.5,"domMult":1,"reductions":0,"offers":1},{"listPct":7,"salePct":-4,"domMult":2.5,"reductions":2,"offers":0}]Exactly three scenarios, in order: Aggressive (priced under value), Market value, Aspirational (priced over value). Defaults: list -4%/sale +2%/0.5x days/0 cuts/3 offers; 0%/-1.5%/1x/0/1; +7%/-4%/2.5x/2/0
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
seller_readinessSeller readiness scoreSaves to account

Score how ready a seller is to list (condition, presentation, pricing, timing and finances, 0 to 100) and return a prioritized to-do list. Scores preparation, not what the home is worth. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (15)
NameTypeDefaultWhat it is
conditionready | touch | work | majortouchCondition of the home: "ready" = Move-in ready, "touch" = Needs touch-ups, "work" = Needs real work, "major" = Major repairs
repairsarray of roof | hvac | plumbing | electrical | foundation | water | windows | appliances | flooring | paint | none["paint"]Known repairs, any number: "roof" = Roof, "hvac" = Heating / AC, "plumbing" = Plumbing, "electrical" = Electrical, "foundation" = Foundation, "water" = Water damage / mold, "windows" = Windows, "appliances" = Appliances, "flooring" = Flooring, "paint" = Paint, "none" = None. Roof, heating / AC, plumbing, electrical, foundation and water damage count as major
clutterminimal | some | lotssomeHow much clutter: "minimal" = Minimal, "some" = Some, "lots" = A lot
curbgreat | ok | needsokCurb appeal: "great" = Great, "ok" = OK, "needs" = Needs work
valuenumber450000Estimated value of the home in dollars (from the agent)
expectnumberPrice the seller hopes for, in dollars. Defaults to 5% above the estimated value
timelinelt1 | 1to3 | 3to6 | 6plus | flex3to6When the seller needs to move: "lt1" = Under 1 mo, "1to3" = 1–3 mo, "3to6" = 3–6 mo, "6plus" = 6+ mo, "flex" = Flexible
nextHomefound | looking | notyet | rentinglookingNext home: "found" = Found it, "looking" = Looking, "notyet" = Haven't started, "renting" = Renting / not buying
payoffKnownyes | estimate | noestimateDoes the seller know their mortgage payoff: "yes" = Yes, from the lender, "estimate" = Rough idea, "no" = No
payoffnumber250000Mortgage payoff in dollars (0 if paid off)
bridgeno | maybe | yesmaybeDoes the seller need this sale's money to buy the next home: "no" = No, "maybe" = Maybe, "yes" = Yes
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
seller_prep_checklistPre-listing prep planSaves to account

Build a week-by-week pre-listing prep checklist that counts back from the list date, tailored to the home (type, age, pets, kids, yard, pool), the work it needs, staging and media. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (19)
NameTypeDefaultWhat it is
listDatestringPlanned list date, YYYY-MM-DD. Leave blank for an undated week-by-week plan
startDatestringDate prep starts, YYYY-MM-DD. Blank means today
todaydate (YYYY-MM-DD)Today's date, YYYY-MM-DD. Defaults to today
homeTypehouse | townhome | condohouseType of home: "house" = House, "townhome" = Townhome, "condo" = Condo
agewhole number20Age of the home in years
bedroomswhole number3Number of bedrooms
occupiedbooleantrueWhether the seller still lives in the home
petsbooleanfalseWhether there are pets
kidsbooleanfalseWhether there are kids
yardbooleantrueWhether the home has a yard
poolbooleanfalseWhether the home has a pool
workarray of paint | carpet | roof | landscaping | repairs | clean | declutter | storage["paint","clean","declutter"]What needs work, any number: "paint" = Paint, "carpet" = Carpet / floors, "roof" = Roof, "landscaping" = Landscaping, "repairs" = Repairs, "clean" = Deep clean, "declutter" = Declutter, "storage" = Storage unit
repairListstringSpecific repairs, one per line (used when work includes "repairs")
stagingnone | partial | fullpartialStaging: "none" = None, "partial" = Some rooms, "full" = Full, by a stager
mediaphotos | video | dronephotosListing media: "photos" = Photos, "video" = Photos and video, "drone" = Photos, video, drone
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
buyer_readinessFirst-time buyer readiness scoreSaves to account

Score how ready a first-time buyer is (savings, credit, income and debt, stability and preparation, 0 to 100), with the estimated payment, cash needed and next steps. Not a pre-approval. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (15)
NameTypeDefaultWhat it is
pricenumber350000Target home price in dollars
down3 | 5 | 10 | 205Down payment, percent of price: "3" = 3%, "5" = 5%, "10" = 10%, "20" = 20%
savingsnumber25000Dollars saved for the down payment and closing costs
emergency0 | 1 | 2 | 3 | 62Emergency fund, apart from those savings, in months of expenses: "0" = None, "1" = Under 1 mo, "2" = 1–2 mo, "3" = 3–5 mo, "6" = 6+ mo
credit580 | 620 | 680 | 740 | low | unsure680Credit score range: "740" = 740+, "680" = 680–739, "620" = 620–679, "580" = 580–619, "low" = Under 580, "unsure" = Not sure
incomenumber7500Monthly household income before tax, dollars
debtsnumber600Monthly debt payments (cars, cards, loans), dollars
joblt1 | 1to2 | 2plus2plusTime at the current job or line of work: "lt1" = Under 1 yr, "1to2" = 1–2 yrs, "2plus" = 2+ yrs
approvalnone | prequal | preapprovednoneTalked to a lender: "none" = Not yet, "prequal" = Pre-qualified, "preapproved" = Pre-approved
areasyes | some | nosomeKnows where they want to live: "yes" = Yes, "some" = Sort of, "no" = No
agentyes | nonoWorking with an agent: "yes" = Yes, "no" = Not yet
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.
moving_checklistMoving checklistSaves to account

Build a dated moving checklist from the closing and move dates: notice, movers or truck, utilities, insurance, address changes and after-the-move tasks, tailored to renting or owning, out-of-state moves, kids, pets and storage. Estimates only. Ask the agent for any number they know rather than relying on the defaults. Each run is saved to the agent's Results (pass the client when it's for one); set pdf for a branded PDF report link.

Inputs (12)
NameTypeDefaultWhat it is
closingdate (YYYY-MM-DD)Closing date on the new home, YYYY-MM-DD. Defaults to 45 days from today
movedate (YYYY-MM-DD)Move date, YYYY-MM-DD. Defaults to 2 days after closing
currentrent | ownrentWhere they live now: "rent" = Renting, "own" = Own (selling)
movermovers | diymoversHow they're moving: "movers" = Hiring movers, "diy" = Doing it ourselves
outOfStatebooleanfalseWhether the move is out of state
kidsbooleanfalseWhether there are kids in school
petsbooleanfalseWhether there are pets
storagebooleanfalseWhether they need a storage unit
pdfbooleanfalseAlso return a link to the branded PDF report. Set true when the agent asks for a PDF, a report, or something to send a client.
client_idstringThe client this is for (from find_clients). Optional; files the result under them and puts their name on the PDF.
client_namestringThe client's name, if it matches one client. Optional; client_id is safer.
property_idstringThe client's property it's about (from get_client). Optional.

Property research

Public-record and AI research. Every finished lookup is saved to Results. The slow ones take background: true and get_research_result.

flood_riskFlood risk (FEMA)Saves to accountPublic records

Takes a few seconds. The FEMA flood zone for a property from the National Flood Hazard Layer: zone, whether it's a special flood hazard area (where lenders usually require flood insurance), base flood elevation and FIRM panel. Straight from FEMA's map, no AI.

Inputs (4)
NameTypeDefaultWhat it is
addressstringFull address, e.g. '1420 Maple Ave, Evanston, IL 60201'
client_idstringUse this client's property instead of typing an address
client_namestring
property_idstring
school_districtSchool district lookupSaves to accountPublic records

The public school district that serves an address, with public facts (enrollment, schools, student-teacher ratio, spending, graduation rate), contacts, and the schools that likely serve it, with official links. Attendance boundaries change: always verify with the district. Share facts, never opinions of school quality (fair housing). Usually takes about 30 to 90 seconds. Tell the agent that before starting. Use background: true to start it and come back later with get_research_result (the result also lands in the agent's Techy Broker dashboard).

Inputs (5)
NameTypeDefaultWhat it is
addressstringFull address, e.g. '1420 Maple Ave, Evanston, IL 60201'
client_idstringUse this client's property instead of typing an address
client_namestring
property_idstring
backgroundbooleanfalseStart it and return right away (it takes about 30 to 90 seconds); fetch the answer later with get_research_result
zoning_lookupZoning lookupSaves to accountPublic records

Zoning for a property from official sources: zone code, permitted and conditional uses, ADU rules, setbacks, height and lot coverage, plus an answer to an optional question (e.g. 'can they build a detached garage?'). AI research; verify with the zoning office. Usually takes about 30 to 90 seconds. Tell the agent that before starting. Use background: true to start it and come back later with get_research_result (the result also lands in the agent's Techy Broker dashboard).

Inputs (6)
NameTypeDefaultWhat it is
addressstringFull address, e.g. '1420 Maple Ave, Evanston, IL 60201'
client_idstringUse this client's property instead of typing an address
client_namestring
property_idstring
questionstringA specific zoning question to answer
backgroundbooleanfalseStart it and return right away (it takes about 30 to 90 seconds); fetch the answer later with get_research_result
permit_historyPermit historySaves to accountPublic records

Public building permits for a property, a renovation timeline, and features that may not have been permitted, with questions to ask the seller. AI research of public permit portals; records are often incomplete. Usually takes about 1 to 2 minutes. Tell the agent that before starting. Use background: true to start it and come back later with get_research_result (the result also lands in the agent's Techy Broker dashboard).

Inputs (6)
NameTypeDefaultWhat it is
addressstringFull address, e.g. '1420 Maple Ave, Evanston, IL 60201'
client_idstringUse this client's property instead of typing an address
client_namestring
property_idstring
featuresstringRenovations or features to check, e.g. 'finished basement, new deck'
backgroundbooleanfalseStart it and return right away (it takes about 1 to 2 minutes); fetch the answer later with get_research_result
tax_historyProperty tax historySaves to accountPublic records

A property's assessed values and tax bills by year from public records, and nearby comparable assessments where found. AI research; confirm with the county assessor and treasurer. Usually takes about 30 to 90 seconds. Tell the agent that before starting. Use background: true to start it and come back later with get_research_result (the result also lands in the agent's Techy Broker dashboard).

Inputs (5)
NameTypeDefaultWhat it is
addressstringFull address, e.g. '1420 Maple Ave, Evanston, IL 60201'
client_idstringUse this client's property instead of typing an address
client_namestring
property_idstring
backgroundbooleanfalseStart it and return right away (it takes about 30 to 90 seconds); fetch the answer later with get_research_result
get_research_resultGet a research resultRead only

The result of a research lookup started with background: true. If it's still running, says how long it's been going; ask again in about 30 seconds.

Inputs (1)
NameTypeDefaultWhat it is
job_id*string

Forms

Find a standard form and start a draft. The agent reviews, edits and signs it in Form Filler; tools never choose contract terms.

search_formsSearch real estate formsRead only

Search Techy Broker's library of public real estate forms by state and words (e.g. 'IL', 'residential purchase contract', 'lead paint disclosure'). Fillable forms come with an id to use with start_form_draft; others link to where to get them. Members-only association forms aren't in the library; agents upload those in Form Filler.

Inputs (3)
NameTypeDefaultWhat it is
statestringTwo-letter state, e.g. IL
querystringWords in the form's name, e.g. 'purchase agreement'
limitwhole number10
start_form_draftStart a form draftSaves to account

Start a draft of a standard form in Form Filler for a client and property, and return the link. Only pass deal facts the agent explicitly said (names, price, earnest money, closing date, county); never choose or suggest terms. The agent opens the link, presses Prefill to fill names, addresses and their own details, reviews every field and downloads it. Nothing is signed or sent.

Inputs (6)
NameTypeDefaultWhat it is
form_id*stringFrom search_forms
client_idstring
client_namestring
property_idstring
addressstringPart of the property's address, if no property_id
factsobject{}

About Techy Broker

Look things up in the help center, glossary, terms, privacy policy, eXp partner page and plans, and ask the Techy Broker team to get in touch.

search_techy_broker_infoLook up Techy Broker infoRead only

Search Techy Broker's own pages: the help center (how to use every tool), the real estate glossary, the Terms of Use, the Privacy Policy, partnering with Techy Broker at eXp Realty, and what each plan includes. Use it for any question about Techy Broker, how to do something in it, a real estate term, or its policies, instead of answering from memory. Answer only from what comes back. When it doesn't clearly answer, or the question is about someone's own legal rights, billing dispute, refund or the details of eXp's plan, offer contact_techy_broker instead.

Inputs (2)
NameTypeDefaultWhat it is
question*stringThe question or words to look up, e.g. 'how do I add my logo', 'what is earnest money', 'can I delete my data'
topichelp | glossary | terms | privacy | exp | plansOnly search one area: help, glossary, terms, privacy, exp (partnering at eXp) or plans
contact_techy_brokerAsk the Techy Broker team to reach outSaves to account

Send the Techy Broker team a message so someone gets back to the agent: a question the assistant couldn't answer, a support problem, billing, privacy or legal questions, interest in partnering at eXp, feedback or a bug. Before calling, tell the agent what you'll send and ask whether it's OK for the team to contact them; only call with ok_to_contact true if they said yes. Name, email and phone default to the signed-in account; ask before using different ones. Limited to a few a day.

Inputs (6)
NameTypeDefaultWhat it is
topic*question | support | billing | privacy | legal | exp | feedback | bugWhat it's about. Use exp for interest in partnering with Techy Broker at eXp Realty.
message*stringWhat they want, in their words, with any question the assistant couldn't answer
ok_to_contact*booleanTrue only if the agent clearly said yes to being contacted
namestring
emailstring
phonestring

Questions or trouble connecting? Email service@techybroker.com. See also our Privacy Policy, section 5.3.