🏠

Realtor Property Data APIs

Find U.S. rentals by ZIP code, explore sale and sold listings, then enrich selected property IDs. An unofficial Realtor.com data service with explicit coverage and missing-data caveats.

Start a rental search Browse property-data endpoints
Open the standalone property demo

Your first ZIP-code rental search

Replace <API_KEY> with an authorized platform API key from your dashboard. The query URL contains your key; keep it out of shared links and logs.

The example requests rentals in ZIP code 10001 with sort=newest and page=1. This location was live-tested, but listings and available fields can change; an empty or unsuccessful response is possible.

Base URL https://api.opendata-api.com

curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-search-rent?key=<API_KEY>&location=10001&sort=newest&page=1'
Property request basics
  • Property search accepts a city, ZIP code, address or returned property-search location ID. Use actual autocomplete suggestions rather than inventing IDs, and treat an empty suggestion array as no match. Agent and finance location formats are separate contracts; do not assume their IDs are interchangeable.
  • A location suggestion id selects a search area; property_id identifies a property and listing_id identifies its listing. Pass property_id as query to property-v2-detail. Where both propertyId and listingId are required, take them from the same search row; use agent profile and fulfillment keys only on their matching agent routes.
  • Use actual array lengths and inspect page transitions. In tested searches, pageSize=8 returned 30 listings; autocomplete limit=5 returned 10 suggestions. Totals may not reconcile with returned rows. Deduplicate identifiers across pages and apply any UI display cap locally rather than promising request limits are enforced.
  • Keep missing prices, dates and housing attributes null, not zero. Rental list_price and its min/max fields describe advertised rent, not completed leases; sale list_price is an asking price, while last_sold_price is a separate, sometimes missing recorded price. Sold newest ordering did not necessarily follow last_sold_date.
  • HTTP 200 can still accompany a gateway or property-search business failure. Inspect code/message/data, then the operation payload's status/message where present. An impossible sale location returned status=false with a misleading pagination message; do not treat every such message as proof that the requested page is invalid.
  • Live checks covered property-search-buy, property-search-rent, property-search-sold, property-auto-complete and property-v2-detail using a search-derived property ID. Optional search filters and address/URL detail inputs were not individually verified. All other documented routes require their own response and behavior checks before production use.
  • Mortgage, rate and affordability routes were not live-tested. Confirm each route's rate scale, tax assumptions, insurance period, loan codes and returned units; do not share unchecked form conversions across calculators. Any available figures are nonbinding estimates, not an AVM, loan offer, eligibility decision, preapproval or financial advice. Avoid retaining personal financial inputs unnecessarily.
  • This is an unofficial Realtor.com data service, not an affiliated integration, comprehensive historical feed, owner-contact service or direct MLS/IDX feed. Access to listing records, photos or narratives does not grant redistribution rights. Confirm permitted content use and applicable licensing independently, and retain retrieval timestamps rather than promising real-time freshness.

Read status before listing fields

Check HTTP status and the gateway's code/message/data business status separately: code 200 indicates gateway business success, while HTTP 200 alone does not. In the returned property-search or v2-detail payload, also inspect status and message before reading data. Location autocomplete has no status/message fields; data:[] is a valid no-match result.

Choose a property workflow
Find sale, rental and sold listings

Start with a city or ZIP code, or select a location ID returned by property-auto-complete. The dedicated searches were live-tested. URL-based search needs a complete search URL; MLS-reference lookup needs a known mlsId. Those routes and the shared status search still need validation.

Enrich a selected property

Pass a current search property_id as query to the tested property-v2-detail route. The unverified photo route also uses query; similar homes needs propertyId, descriptions need propertyId and listingId from the same row, and URL detail needs a current listing URL. Address and URL query forms need separate validation.

Evaluate commute and local context

Both documented routes need a discovered propertyId; commute also requires destinationAddress. Validate actual context fields, travel modes, duration units and traffic behavior before display. Neither route was live-tested; minimize retention of personal destinations.

Evaluate coordinate-based discovery

Provide numeric latitude and longitude for the documented sale, rental or sold route. These routes were not live-tested: inspect returned geography, filters and expansion behavior before labeling results nearby or promising a distance boundary.

Evaluate agent discovery and portfolios

Begin with an agent-search location or ZIP code and verify agent autocomplete values before using agents-list. Profile lookup needs profileId; listings, reviews and recommendations need fulfillmentId from the selected agent. Keep the keys distinct and validate all agent routes before relying on filters or response fields.

Evaluate mortgage and affordability scenarios

Supply the chosen calculator's required inputs: home price and down payment, location where required, and explicit term, rate, tax or insurance assumptions on the relevant routes. Affordability starts with annualIncome and availableFunds. No calculator was live-tested; use synthetic finances and verify units before interpreting estimates.

Evaluate financing by location

The simple rate lookup needs postalCode; scenario rates, postal context and analysis use their documented location inputs. Verify values from tools-auto-complete rather than substituting property or agent IDs. Rate-term codes and purchase/refinance amounts are route-specific, and all financing routes remain unverified.

Maintain a legacy detail integration

The deprecated detail route requires propertyId and listingId from the same search row and has not been live-tested. For new work, use property-v2-detail with a current property_id as query; compare actual fields before migrating an existing integration.

GET /api/project/realtor/property-search-buy

Search Homes for Sale

Full docs β†’
Details

Find U.S. for-sale listings using a city, ZIP code, address or location ID from property-auto-complete. New York, NY with sort=newest was live-tested. Successful responses contain status=true, message, a flat data array, resultsPerPage, totalResultCount, totalPages and currentPage. Observed listing fields include property_id, listing_id, status=for_sale, list_price, list_date, location.address, description.beds/baths/sqft, primary_photo.href and photos[].href; some attributes are null. Optional price, room, home-size, property-type and amenity inputs are documented but were not individually validated. pageSize=8 returned 30 rows, so use the actual array length and verify page transitions rather than trusting requested sizes or perfectly consistent totals. An impossible city returned HTTP 200 with status=false, data=null and a misleading pagination message; inspect the business status instead of treating HTTP 200 alone as a successful search.

Test this property-data endpoint 1 required Β· 35 optional
ParameterInValue
query
query
query
query
query
Optional filters and page controls (31)
ParameterInValue
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-search-buy?key=<API_KEY>&location=New+York%2C+NY&sort=newest&page=1&newConstructionOnly=false&virtualToursOnly=false&garageParking=false&hide55plusCommunity=false&foreclosuresOnly=false&hideHomesNotYetBuilt=false&has3dTours=false&showHomesWhereHoaIsNotKnown=false&openHousesOnly=false&hidePendingContingent=true&priceRecentlyReducedOnly=false'
GET /api/project/realtor/property-search-rent

Search Rental Listings by City or ZIP Code

Full docs β†’
Details

Discover advertised U.S. rentals using location; ZIP code 10001 with sort=newest was live-tested. The response has status=true, message, a flat data array and resultsPerPage, totalResultCount, totalPages and currentPage. Observed rows include property_id, listing_id, status=for_rent, location.address including postal_code, list_date, nullable list_price/list_price_min/list_price_max, bedroom and bathroom values or ranges in description, primary_photo and photos. Advertised rent is not a signed-lease price. pageSize=8 still returned 30 listings; returned totals and page counts may not reconcile with the actual row count. Use explicit unavailable-price states, inspect each page and deduplicate identifiers. Pets, move-in date, features and other optional filters are documented inputs, not individually verified filtering guarantees.

Test this property-data endpoint 1 required Β· 20 optional
ParameterInValue
query
query
query
query
query
Optional filters and page controls (16)
ParameterInValue
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-search-rent?key=<API_KEY>&location=10001&sort=newest&page=1'
GET /api/project/realtor/property-search-sold

Search Sold Homes and Available Sale Records

Full docs β†’
Details

Search sold-property records by location, with documented price, room, property-type, size and minSoldDate inputs. Austin, TX with sort=newest was live-tested and returned status=true, message, a flat data array and resultsPerPage, totalResultCount, totalPages and currentPage. Observed rows include property_id, listing_id, status=sold, location.address, last_sold_date, nullable last_sold_price, list_price, list_date, description and photos. Keep list_price distinct from recorded last_sold_price, and do not interpret an absent sale price as zero. newest reflects listing ordering and did not necessarily mean the most recent sale date. pageSize=8 returned 30 rows; verify actual page contents and totals. The sale-date filter and other optional filters remain unverified, and this search is not a comprehensive historical transaction feed or a certified appraisal.

Test this property-data endpoint 1 required Β· 18 optional
ParameterInValue
query
query
query
Optional filters and page controls (16)
ParameterInValue
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-search-sold?key=<API_KEY>&location=Austin%2C+TX&sort=newest&page=1'
GET /api/project/realtor/property-auto-complete

Find Property Search Locations

Full docs β†’
Details

Submit location text to obtain a location-selection list for property searches. The New York, NY test returned an object with a data array; observed suggestion fields include id, full_address, area_type, city, state_code, country, centroid, counties and a nullable propertyId. The first city suggestion had id=city:New York, NY. Pass the returned id to a property search and do not confuse it with property_id or listing_id. The success payload has no status or message envelope. A nonexistent location returned exactly {"data":[]}, which is a valid no-match result. limit=5 returned 10 suggestions, so apply a client-side display cap when needed rather than promising the requested limit is honored.

Test this property-data endpoint 1 required Β· 1 optional
ParameterInValue
query
Optional filters and page controls (1)
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-auto-complete?key=<API_KEY>&location=New+York%2C+NY'
GET /api/project/realtor/property-search-by-url

Search Listings from a Realtor.com Search URL

Full docs β†’
Details

Supply a complete Realtor.com search URL as url, with optional page and pageSize. The documented inputs include city, state, ZIP-code and other supported search-page URLs; the New York city URL is a source-provided example, not a live-verified request for this route. Use this read to evaluate turning a saved search context into JSON listing candidates. No response fields or pagination behavior were confirmed for property-search-by-url, so inspect the result before depending on a particular listing schema or assuming compatibility with every URL. Prefer the tested city/ZIP search routes when you do not need URL-based input.

Test this property-data endpoint 1 required Β· 2 optional
ParameterInValue
query
query
Optional filters and page controls (1)
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-search-by-url?key=<API_KEY>&url=https%3A%2F%2Fwww.realtor.com%2Frealestateandhomes-search%2FNew-York_NY'
GET /api/project/realtor/property-search-consumer

Search Listings by Market Status

Full docs β†’
Details

Submit location with an optional single status value: for_sale, for_rent or sold. page and pageSize are optional string-valued request inputs on this route; the status default is for_sale. The documented purpose is a shared listing search across these market states, but this endpoint was not live-tested and no response field names were confirmed. Validate each chosen status, returned geography and pagination before unifying production calls behind it. For verified examples, use the dedicated sale, rental and sold searches instead of assuming their contracts are identical to this route.

Test this property-data endpoint 1 required Β· 3 optional
ParameterInValue
query
query
query
Optional filters and page controls (1)
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-search-consumer?key=<API_KEY>&location=New+York%2C+NY&status=for_sale'
GET /api/project/realtor/property-search-mls-id

Find Public Listings by MLS Reference

Full docs β†’
Details

Pass a known MLS listing reference as mlsId; page and pageSize are optional numeric inputs. The documented example is a listing number, not a city name. This lookup was not live-tested, so returned property fields, reference ambiguity and pagination have not been confirmed. Check any returned identity against the intended property and geography before linking records. MLS reference lookup does not provide direct MLS access, an IDX license, comprehensive MLS coverage or permission to redistribute a listing.

Test this property-data endpoint 1 required Β· 2 optional
ParameterInValue
query
Optional filters and page controls (2)
ParameterInValue
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-search-mls-id?key=<API_KEY>&mlsId=<mlsId>'

Property Details and Photos

GET /api/project/realtor/property-v2-detail

Get Full Property Details

Full docs β†’
Details

Enrich a selected search result by submitting its property_id as query. The documented query also accepts a property URL, full address or address-style ID; only the property-ID form was live-tested. For the tested search-derived ID, the response matched property_id, listing_id, address and list_price and contained status=true, message and a data object. Observed data fields include status, location.address and coordinates, description.text and housing attributes, photo_count, photos[].href, mortgage.estimate, mortgage.average_rates, hoa, details, tax_history, property_history, last_sold_date, last_sold_price and last_update_date. Not every field is populated for every property. Preserve nullable values and retain retrieval timestamps; returned financing information is an estimate, not a loan offer. Use a fresh search ID when following the example because a listing can change or become unavailable.

Test this property-data endpoint 1 required Β· 0 optional
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-v2-detail?key=<API_KEY>&query=3196769134'
GET /api/project/realtor/property-detail-by-url

Get Property Details from a Listing URL

Full docs β†’
Details

Submit a complete Realtor.com property-detail URL as url. This documented read offers a URL-based alternative for a saved listing bookmark, but it was not live-tested and its response fields and URL-pattern coverage are unconfirmed. Use a current listing URL, inspect the returned identity and available fields, and do not assume the payload matches property-v2-detail. If a property_id is already available from search, the tested property-v2-detail operation is the preferred enrichment example.

Test this property-data endpoint 1 required Β· 0 optional
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-detail-by-url?key=<API_KEY>&url=<url>'
GET /api/project/realtor/property-photos

Look Up a Property Photo Gallery

Full docs β†’
Details

Supply query as a known property ID, supported property URL, full address or address-style ID. The optional size input uses the documented w2048_h1536 format; actual image dimensions and resize behavior need validation. This dedicated photo route was not live-tested, so its response envelope, gallery fields and link availability have not been confirmed. The tested property-v2-detail route already exposed photos[].href for one property and can be used when full details are needed. Photo access alone does not grant image reuse or redistribution rights.

Test this property-data endpoint 1 required Β· 1 optional
ParameterInValue
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-photos?key=<API_KEY>&query=<query>'
GET /api/project/realtor/property-get-descriptions

Get a Listing Narrative by Property and Listing ID

Full docs β†’
Details

Pass propertyId and listingId from the same search result; the tested searches expose these as data[].property_id and data[].listing_id. The documented purpose is a separate listing-description read. This route was not live-tested, so the text field name, response envelope and behavior for outdated ID pairs are unconfirmed. Do not mix a property ID from one home with a listing ID from another. For a tested description field, property-v2-detail returned data.description.text together with full details. Confirm content-use rights before displaying narrative text.

Test this property-data endpoint 2 required Β· 0 optional
ParameterInValue
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-get-descriptions?key=<API_KEY>&propertyId=<propertyId>&listingId=<listingId>'
GET /api/project/realtor/property-similar-homes

Find Documented Similar-Home Candidates

Full docs β†’
Details

Provide a propertyId obtained from a search result, with optional pageSize. The route is documented for similar-home discovery, but it was not live-tested; returned fields, matching criteria and requested result counts are unconfirmed. Inspect candidate identities and attributes independently before offering alternatives to a user. Do not describe the unknown similarity method as personalized intelligence, valuation advice or appraisal-grade sold comparables.

Test this property-data endpoint 1 required Β· 1 optional
ParameterInValue
query
Optional filters and page controls (1)
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-similar-homes?key=<API_KEY>&propertyId=<propertyId>'

Commute and Local Context

GET /api/project/realtor/property-get-commute-time

Estimate a Property-to-Destination Commute

Full docs β†’
Details

Submit propertyId and destinationAddress, with optional transportationType and withTraffic. Documented transportation values are driving, transit, walking and bicycling; withTraffic is a boolean input. This route was not live-tested, so duration units, routing fields and traffic behavior have not been confirmed. Validate each mode and returned geography before showing travel estimates. Treat any available time as an estimate, not a guaranteed journey duration, and avoid retaining a user's workplace or home destination unnecessarily.

Test this property-data endpoint 2 required Β· 2 optional
ParameterInValue
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-get-commute-time?key=<API_KEY>&propertyId=<propertyId>&destinationAddress=New+Orleans%2C+LA%2C+USA'
GET /api/project/realtor/property-get-surroundings

Look Up Documented Property Surroundings

Full docs β†’
Details

Submit a known propertyId to evaluate the documented surrounding-area information read. This endpoint was not live-tested, and no response categories, scores, boundaries or field names have been confirmed. Inspect the actual payload before designing a neighborhood panel. Do not infer school quality, crime risk, walkability or comprehensive amenity coverage from the endpoint name, and preserve missing context rather than inventing local claims.

Test this property-data endpoint 1 required Β· 0 optional
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-get-surroundings?key=<API_KEY>&propertyId=<propertyId>'
GET /api/project/realtor/coordinates-search-buy

Search Homes for Sale from Coordinates

Full docs β†’
Details

Provide numeric latitude and longitude to evaluate the documented coordinate-based for-sale search. Optional inputs include expandSearchArea, price, rooms, propertyType, sizes, amenities, sort, page and pageSize. The coordinate examples are numeric source examples, not live-verified search locations for this route. No response fields or radius behavior were confirmed. Validate returned geography and each filter before labeling results nearby, and do not assume support for map polygons, bounding boxes or guaranteed distance coverage.

Test this property-data endpoint 2 required Β· 35 optional
ParameterInValue
query
query
query
query
Optional filters and page controls (33)
ParameterInValue
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/coordinates-search-buy?key=<API_KEY>&latitude=29.27052&longitude=-95.74991'
GET /api/project/realtor/coordinates-search-rent

Search Rentals from Coordinates

Full docs β†’
Details

Supply numeric latitude and longitude for the documented coordinate-based rental read. Price, bedrooms, bathrooms, propertyType, features, pets, moveInDate, expandSearchArea, sort, page and pageSize are optional inputs. This endpoint was not live-tested, so its rental fields, filtering effects and search-area coverage are unconfirmed. Keep advertised rents separate from completed leases, check returned locations before calling them nearby, and validate pet and move-in behavior before promising suitable or available rentals.

Test this property-data endpoint 2 required Β· 20 optional
ParameterInValue
query
query
query
query
Optional filters and page controls (18)
ParameterInValue
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/coordinates-search-rent?key=<API_KEY>&latitude=29.27052&longitude=-95.74991'
GET /api/project/realtor/coordinates-search-sold

Search Sold Properties from Coordinates

Full docs β†’
Details

Pass numeric latitude and longitude to evaluate sold-property discovery around a point. Optional inputs include minSoldDate, price, rooms, home and lot sizes, propertyType, expandSearchArea, sort, page and pageSize. This coordinate route was not live-tested, so sale-field availability, distance behavior, filtering and ordering are unconfirmed. Inspect available sale dates and sale prices separately from listing fields, and do not treat nearby candidates as comprehensive transactions or appraisal-grade comparables.

Test this property-data endpoint 2 required Β· 18 optional
ParameterInValue
query
query
query
Optional filters and page controls (17)
ParameterInValue
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/coordinates-search-sold?key=<API_KEY>&latitude=29.27052&longitude=-95.74991'

Real-Estate Agents

GET /api/project/realtor/agents-auto-complete

Find Locations for Agent Search

Full docs β†’
Details

Submit query text with optional limit to evaluate the documented agent-location autocomplete route. Its suggestions are intended for selecting the location input used by agents-list; inspect the actual returned identifier before forwarding it. This route was not live-tested, so suggestion field names, empty-result behavior and limit enforcement are unconfirmed. Keep its location values distinct from property-auto-complete IDs and finance-tool locations rather than assuming those formats are interchangeable.

Test this property-data endpoint 1 required Β· 1 optional
ParameterInValue
query
Optional filters and page controls (1)
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/agents-auto-complete?key=<API_KEY>&query=new+york'
GET /api/project/realtor/agents-list

Find Real-Estate Agents by Area

Full docs β†’
Details

Provide id as the documented agent-search location or ZIP-code input. Optional name, language, agentType, agentFilterCriteria, price range, sort, limit and page refine the requested directory search. Documented agent types are BUYER, SELLER and BOTH; language and ordering options are listed in the reference. This route was not live-tested, so filter enforcement, response fields and pagination are unconfirmed. Documentation identifies data[].id as a possible profileId and data[].fulfillment_id as a fulfillmentId; verify their actual paths before using agents-profile or portfolio reads. Finding an agent record does not establish contact permission or professional suitability.

Test this property-data endpoint 1 required Β· 9 optional
ParameterInValue
query
query
query
query
Optional filters and page controls (6)
ParameterInValue
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/agents-list?key=<API_KEY>&id=11234'
GET /api/project/realtor/agents-profile

Get a Public Agent Profile

Full docs β†’
Details

Submit profileId from a verified agents-list result; fulfillmentId is an optional companion input for that same agent. The documented mapping points profileId to a directory record's id and fulfillmentId to fulfillment_id, but those response paths were not live-confirmed. This profile endpoint was also not tested, so biography, office, rating, contact and other profile fields are not guaranteed. Inspect the actual response and render only confirmed, permitted public fields; do not interchange the two identifiers.

Test this property-data endpoint 1 required Β· 1 optional
ParameterInValue
query
Optional filters and page controls (1)
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/agents-profile?key=<API_KEY>&profileId=<profileId>'
GET /api/project/realtor/agents-listings

Get an Agent's Documented Listing Portfolio

Full docs β†’
Details

Provide fulfillmentId from an inspected agent-search result. Optional status accepts documented values for_sale, for_rent, off_market, sold, ready_to_build and other, including comma-separated combinations; limit and page are optional. This route was not live-tested, so listing fields, status filtering, page behavior and portfolio completeness are unconfirmed. Check the returned identities and statuses before display, and do not treat one response as the agent's complete inventory or transaction history.

Test this property-data endpoint 1 required Β· 3 optional
ParameterInValue
query
query
Optional filters and page controls (2)
ParameterInValue
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/agents-listings?key=<API_KEY>&fulfillmentId=<fulfillmentId>'
GET /api/project/realtor/agents-reviews

Read Documented Public Agent Reviews

Full docs β†’
Details

Submit fulfillmentId for the selected agent to evaluate the documented public-review read. No page or limit parameter is exposed by this contract. The route was not live-tested, so review fields, rating scales, response count and coverage are unconfirmed. Keep review content separate from agents-recommendations, validate the actual format before display, and establish permitted use independently. Public feedback is not an objective guarantee of an agent's service quality.

Test this property-data endpoint 1 required Β· 0 optional
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/agents-reviews?key=<API_KEY>&fulfillmentId=<fulfillmentId>'
GET /api/project/realtor/agents-recommendations

Read Documented Agent Recommendations

Full docs β†’
Details

Provide fulfillmentId to evaluate the documented recommendation or testimonial read for an agent. This endpoint was not live-tested; item fields, dates, rating content and response envelope are unconfirmed. Inspect what it actually returns rather than assuming the agents-reviews schema applies. Retain retrieval context and do not present recommendation content as verified endorsements or evidence of authenticity.

Test this property-data endpoint 1 required Β· 0 optional
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/agents-recommendations?key=<API_KEY>&fulfillmentId=<fulfillmentId>'

Mortgage and Home Budgets

GET /api/project/realtor/mortgage-calculationv1

Evaluate a Location-Based Mortgage Estimate

Full docs β†’
Details

Supply homePrice, downPayment and location; optional rate, homeInsurance and hoaFees allow explicit scenario inputs. The documented location example is 11212, Brooklyn, NY. This version-1 calculation route was not live-tested, so output fields, implicit assumptions, rate units and insurance periods are unconfirmed. Inspect defaults and units before comparing scenarios, and do not assume the contract or calculations match the other mortgage routes. Treat outputs as illustrative budgeting estimates, not quotes, approvals or personalized financial advice.

Test this property-data endpoint 3 required Β· 3 optional
ParameterInValue
query
query
query
Optional filters and page controls (3)
ParameterInValue
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/mortgage-calculationv1?key=<API_KEY>&location=11212%2C+Brooklyn%2C+NY&homePrice=979003&downPayment=195801'
GET /api/project/realtor/mortgage-calculationv2

Evaluate a Mortgage with Explicit Cost Inputs

Full docs β†’
Details

Provide price, term, downPayment, rate, propertyTaxRate and homeInsurance; applyVeteransBenefits is optional. These are the documented version-2 numeric inputs. Example rate and tax values use fractional-looking numbers, but their accepted scale and insurance period were not live-validated. No response fields or calculation behavior were confirmed for this endpoint. Verify every unit and optional benefit assumption before comparing scenarios; outputs must remain illustrative estimates rather than financing offers, eligibility decisions or preapproval.

Test this property-data endpoint 6 required Β· 1 optional
ParameterInValue
query
query
query
query
query
query
Optional filters and page controls (1)
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/mortgage-calculationv2?key=<API_KEY>&price=349000&downPayment=69800&term=30&propertyTaxRate=0.010399999618530274&homeInsurance=121&rate=0.06668000221252442'
GET /api/project/realtor/property-calculate-down-payment-percentage

Estimate Financing by Down-Payment Percentage

Full docs β†’
Details

Provide homePrice, downPaymentPercentage, mortgageLoanType, interestRate, propertyTaxRate and homeInsurance. This documented calculation accepts the down payment as a percentage; its source example is 20, while the rate examples use fractional-looking numbers. It was not live-tested, so response fields, supported loan-term interpretation, interest and tax scales, and insurance period are unconfirmed. Validate these assumptions before using a percentage slider or comparing estimates. This route does not issue a loan quote or make a lending decision.

Test this property-data endpoint 6 required Β· 0 optional
ParameterInValue
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-calculate-down-payment-percentage?key=<API_KEY>&homePrice=5450000&downPaymentPercentage=20&homeInsurance=1892&propertyTaxRate=0.00865&mortgageLoanType=30&interestRate=0.06577'
GET /api/project/realtor/property-calculate-down-payment-price

Estimate Financing by Cash Down Payment

Full docs β†’
Details

Supply homePrice and downPaymentPrice with mortgageLoanType, interestRate, propertyTaxRate and homeInsurance. The documented downPaymentPrice input is a cash contribution rather than a percentage; source examples are scenario inputs, not API pricing. This route was not live-tested, so payment fields, loan-term interpretation, rate scale and insurance period are unconfirmed. Compare scenarios only after verifying all units and returned calculations, and describe the result as an estimate rather than a lender quote or personalized recommendation.

Test this property-data endpoint 6 required Β· 0 optional
ParameterInValue
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-calculate-down-payment-price?key=<API_KEY>&homePrice=5450000&downPaymentPrice=1090000&interestRate=0.06577&propertyTaxRate=0.00865&mortgageLoanType=30&homeInsurance=1892'
GET /api/project/realtor/tools-affordability-calculator

Evaluate Home Affordability from Income and Funds

Full docs β†’
Details

Provide annualIncome and availableFunds as the documented string inputs; monthlyDebt is an optional number and isPmiIncluded is an optional boolean. The source description for isPmiIncluded is inconsistent with its name, so its meaning and effect must be confirmed rather than described as a verified military or insurance benefit. This route was not live-tested and no affordability fields, ratios or assumptions were observed. Use synthetic scenario inputs, minimize retention of personal finances, and treat any available output as a budgeting estimate rather than mortgage preapproval.

Test this property-data endpoint 2 required Β· 2 optional
ParameterInValue
query
query
query
Optional filters and page controls (1)
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/tools-affordability-calculator?key=<API_KEY>&annualIncome=100000&availableFunds=240000&isPmiIncluded=true'
GET /api/project/realtor/tools-mortgage-calculator

Evaluate Mortgage Estimates by Loan Type

Full docs β†’
Details

Provide homePrice and downPayment with string-valued interestRate, propertyTax and homeInsurance. Optional loanType selects documented fixed-rate, FHA or ARM choices; TWENTY_YEAR_FIX is the documented default. This route was not live-tested, so output fields, tax and insurance interpretation, loan-type effects and adjustable-rate behavior are unconfirmed. Do not mix its loanType codes with tools-mortgage-rates loanTerm codes. Validate cost units and each chosen financing method before display, and keep results illustrative rather than binding offers.

Test this property-data endpoint 5 required Β· 1 optional
ParameterInValue
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/tools-mortgage-calculator?key=<API_KEY>&homePrice=1988000&downPayment=397600&propertyTax=0.0125&homeInsurance=0.0055&interestRate=0.06332'

Mortgage Reference Rates

GET /api/project/realtor/mortgage-rates

Look Up Documented Mortgage Rates by ZIP Code

Full docs β†’
Details

Submit a U.S. ZIP code as postalCode; the documented example is 10065. This simple mortgage-rate read was not live-tested, so rate fields, dates, loan products, lender attribution and qualification assumptions are unconfirmed. Inspect any timestamps and conditions actually returned before displaying reference rates. A successful response would not itself establish a current binding quote, an available loan offer or a rate the user qualifies for.

Test this property-data endpoint 1 required Β· 0 optional
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/mortgage-rates?key=<API_KEY>&postalCode=10065'
GET /api/project/realtor/tools-mortgage-rates

Evaluate Purchase or Refinance Rate Scenarios

Full docs β†’
Details

Provide location and optionally loanType, loanTerm, propertyUse, propertyType, creditScore, points, showUsda and financing amounts. Documented loanType codes are 52 for purchase and 54 for refinance. purchasePrice and downPaymentPercent describe purchase inputs; propertyValue and loanBalance are documented for refinance. This route was not live-tested, so returned rate or offer fields, input dependencies and qualification behavior are unconfirmed. The documented showUsda toggle and rate term codes are request options, not proof of product availability. Validate code meanings and scenario handling, minimize personal-finance retention and treat any rates as nonbinding.

Test this property-data endpoint 1 required Β· 11 optional
ParameterInValue
query
query
query
query
Optional filters and page controls (8)
ParameterInValue
query
query
query
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/tools-mortgage-rates?key=<API_KEY>&location=New+York%2C+NY'

Financing Location Lookup

GET /api/project/realtor/tools-auto-complete

Find Locations for Financing Tools

Full docs β†’
Details

Submit location text to evaluate the documented autocomplete route for financial tools. This route was not live-tested, so suggestion fields, returned location format and no-match behavior are unconfirmed. Documentation points to data.autocomplete[].location for downstream finance requests, but verify that path in an actual response before use. Keep tool locations separate from property search IDs and agent directory IDs; this operation does not itself calculate a mortgage or retrieve a rate.

Test this property-data endpoint 1 required Β· 0 optional
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/tools-auto-complete?key=<API_KEY>&location=new+york'
GET /api/project/realtor/tools-get-postal-code

Look Up Postal-Code Context from a Location

Full docs β†’
Details

Provide location as a supported address or place value; the documented finance-tool workflow obtains it from tools-auto-complete. This postal-code route was not live-tested, and no postal-code fields, multiplicity or matching rules were confirmed. Inspect the response before choosing a ZIP for rate requests, especially for cities with many ZIP codes. Treat it as geographic context lookup rather than authoritative postal-delivery validation.

Test this property-data endpoint 1 required Β· 0 optional
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/tools-get-postal-code?key=<API_KEY>&location=New+York%2C+NY'
GET /api/project/realtor/tools-mortgage-loan-analysis

Evaluate Location-Based Mortgage Analysis

Full docs β†’
Details

Submit location for the documented mortgage-loan analysis read. This endpoint was not live-tested, and no analysis metrics, geographic granularity, calculation assumptions or response field names were confirmed. Inspect actual content before designing a location-level financing panel. Do not infer amortization schedules, underwriting decisions, borrower eligibility or detailed loan offers from the route name.

Test this property-data endpoint 1 required Β· 0 optional
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/tools-mortgage-loan-analysis?key=<API_KEY>&location=New+York%2C+NY'

Legacy Compatibility

GET /api/project/realtor/property-detail-deprecated

Get Legacy Property Details (Deprecated)

Full docs β†’
Details

Legacy detail read requiring both propertyId and listingId from the same search row. This documented route is deprecated and was not live-tested; response fields and continued availability are unconfirmed. It remains in the reference for existing integrations, not as a new quick-start recommendation. New development should use property-v2-detail with a freshly obtained property_id. Compare actual field availability before migrating and preserve the distinction between a property identity and its listing identity.

Test this property-data endpoint 2 required Β· 0 optional
ParameterInValue
query
query
curl -X GET 'https://api.opendata-api.com/api/project/realtor/property-detail-deprecated?key=<API_KEY>&propertyId=<propertyId>&listingId=<listingId>'

Capabilities and validation scope

Unofficial Realtor.com data API for U.S. property discovery, rental search and listing enrichment. Build practical home-search and real-estate research workflows with structured JSON.

  • For-sale, rental and sold searches: live-tested city and ZIP-code examples with property IDs, addresses, available prices and listing photos
  • Location autocomplete: returned search IDs, readable place labels and centroid context, with an observed empty result for an unknown location
  • Property details: a live-tested search-to-detail lookup with narrative text, photos, housing attributes, update dates and mortgage-estimate context
  • Extended reference: documented coordinate searches, agent discovery, property context and financing tools; these supporting routes require individual validation

Observed limits matter: pageSize=8 returned 30 search rows and limit=5 returned 10 location suggestions. Page totals may not reconcile with actual row counts. Missing prices remain null; asking prices, advertised rents and recorded sale prices are distinct measures. Inspect business status even on HTTP 200, since an empty sale search can produce a misleading pagination error.

Designed for PropTech discovery, relocation tools, saved-property enrichment and reproducible research samples. Not an official integration, guaranteed real-time or comprehensive feed, automated valuation, owner-contact service or licensed MLS/IDX feed. Data and photo access do not establish redistribution rights; financing figures are nonbinding estimates.

Guides