Authenticate to the Spark API using OAuth 2.0 with the authorization code flow to obtain a user-scoped access token representing the licensed agent account
Call the Spark listings endpoint with OData-style filter parameters specifying property type, geographic area (city, county, or polygon), bedrooms, bathrooms, square footage range, and a sold date range of the past 6 months to retrieve closed comparable sales
Sort the results by ClosePrice descending and apply a $select parameter to retrieve only the fields needed for CMA (address, ClosePrice, CloseDate, BelowGradeArea, AboveGradeArea, YearBuilt, DaysOnMarket, ListPrice)
Calculate price-per-square-foot for each comparable and apply adjustments for time of sale, location, condition, and feature differences to derive adjusted sale prices
Call the Spark market statistics endpoint for the target ZIP code or area to retrieve aggregate metrics such as median sale price, average days on market, list-to-sale price ratio, and active inventory count for market context
Combine the comparable sale data and market statistics into a CMA report structure, flagging comps with outlier adjusted values (more than 10% above or below the median) for agent review
Known gotchas
Spark API access is tied to a specific MLS and the agent's active membership in that MLS; agents who are members of multiple MLSs need separate Spark API credentials for each MLS, and data from different MLSs cannot be combined in a single authenticated API call
Closed sale data returned by the Spark API reflects the MLS-entered close price, which may differ from the publicly recorded deed price in jurisdictions where sale price disclosure is not required—do not present Spark close prices as legally verified recorded sale amounts
The Spark API rate limits are enforced per access token and can vary by MLS configuration; CMA tools that query large geographic areas with many comparable properties can hit rate limits during peak usage hours, requiring backoff and retry logic
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp