Realtor.com Listing & Property Detail Extractor
Search Realtor.com for-sale, for-rent, or recently-sold listings by city, or pull full detail pages with agent contacts, nearby schools, tax and price history, and flood/wildfire/noise risk scores.
Open in Apify Store$0.99 / 1K on Free
Short answer
Realtor.com Listing & Property Detail Extractor is an Apify Store Actor for Realtor.com data that returns 18 published output fields, including address, listPrice, beds, baths. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 33 input settings; one is required (mode). It covers 7 of the 7 core Realtor.com fields this site tracks. Last updated Nov 9, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
18 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
addresslistPricebedsbathssqftpricePerSqfttypestatusmlsIdyearBuiltdaysOnMarketurlnameofficeNamephonelicenseNumberlanguagesprofileUrl
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | Yes | BUY | Property status to search. `BUY` is active for-sale, `RENT` is for-rent, `SOLD` is recently sold, `PENDING`/`CONTINGENT` are under contract, `COMING_SOON` is not-yet-active inventory, `OFF_MARKET` is delisted and `READY_TO_BUILD` is new construction. Used in property mode; ignored in agent mode. |
| recordType | string | No | PROPERTIES | Collect property listings or real-estate agent directory records. |
| search | string | No | – | City and state (`Houston, TX`), ZIP code (`77002`), neighborhood, county or a street address (`16142 Maladi Dr`). In agent mode this may be a city/state or ZIP. |
| agentName | string | No | – | Agent or team name to search in agent mode, e.g. `Pedro Casanova`. Leave empty to search agents by the location above. |
| startUrls | array | No | [] | Realtor.com property detail URLs or search-result URLs. Detail URLs are resolved directly; search URLs reuse their location, mode and page. |
| maxItems | integer | No | 100 | Maximum property or agent records to emit (1-10000). Property searches are limited by the source to 10,000 addressable rows per search. |
| endPage | integer | No | 50 | Maximum GraphQL result pages per search. Each page holds up to 200 properties; set 50 to reach the 10,000-row search cap. Agents use their own page size. |
| scrapeDetails | boolean | No | true | Fetch each property's full detail record: description, HOA, mortgage estimate, assigned schools, open houses, tours, photo tags, tax and price history, risk scores and extra agent contacts. In agent mode it also fetches each agent's profile phone numbers. |
| bedsMin | integer | No | – | Minimum bedrooms. Applied server-side, then verified on each record. |
| bedsMax | integer | No | – | Maximum bedrooms. |
Show the other 23 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| bathsMin | integer | No | – | Minimum bathrooms. |
| bathsMax | integer | No | – | Maximum bathrooms. |
| priceMin | integer | No | – | Minimum list price in US dollars. |
| priceMax | integer | No | – | Maximum list price in US dollars. |
| sqftMin | integer | No | – | Minimum living area in square feet. |
| sqftMax | integer | No | – | Maximum living area in square feet. |
| lotSqftMin | integer | No | – | Minimum lot size in square feet. |
| lotSqftMax | integer | No | – | Maximum lot size in square feet. |
| yearBuiltMin | integer | No | – | Minimum construction year. |
| yearBuiltMax | integer | No | – | Maximum construction year. |
| propertyTypes | array | No | [] | Limit results to one or more Realtor.com property types. |
| keywords | array | No | [] | Free-text keywords matched by Realtor.com, e.g. `pool`, `waterfront`, `garage`, `new construction`. |
| hasPhotos | boolean | No | false | Exclude listings that have no photos. |
| comingSoonOnly | boolean | No | false | Apply the source's coming-soon filter to for-sale modes. `COMING_SOON` mode enables it automatically. |
| sortBy | string | No | relevant | Result ordering. |
| listedSince | string | No | – | Only listings added on or after this date (YYYY-MM-DD). Useful for delta monitoring. |
| soldSince | string | No | – | In SOLD mode, only sales on or after this date (YYYY-MM-DD). |
| openHouseFrom | string | No | – | Only listings with an open house on or after this date (YYYY-MM-DD). |
| openHouseTo | string | No | – | Only listings with an open house on or before this date (YYYY-MM-DD). |
| latitude | number | No | – | Latitude for a radius search. Combine with longitude and radius miles. |
| longitude | number | No | – | Longitude for a radius search. Combine with latitude and radius miles. |
| radiusMiles | integer | No | – | Search radius in miles around the latitude/longitude point. |
| boundary | object | No | – | Search inside a GeoJSON Polygon instead of a named location. Coordinates are [longitude, latitude]; rings may be open and are closed automatically. Example: {"type":"Polygon","coordinates":[[[-95.6,29.6],[-95.0,29.6],[-95.0,30.1],[-95.6,30.1],[-95.6,29.6]]]}. |
Example input
Built from the input form's published example values and defaults.
{
"mode": "BUY",
"recordType": "PROPERTIES",
"search": "Houston, TX",
"startUrls": [],
"maxItems": 3,
"endPage": 1,
"scrapeDetails": false,
"propertyTypes": [],
"keywords": [],
"hasPhotos": false,
"comingSoonOnly": false,
"sortBy": "relevant"
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "BUY",
"recordType": "PROPERTIES",
"search": "Houston, TX",
"startUrls": [],
"maxItems": 3,
"endPage": 1,
"scrapeDetails": False,
"propertyTypes": [],
"keywords": [],
"hasPhotos": False,
"comingSoonOnly": False,
"sortBy": "relevant"
}
run = client.actor("nimbryxo-studio/realtor-com-listing-and-property-detail-extractor").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "BUY",
"recordType": "PROPERTIES",
"search": "Houston, TX",
"startUrls": [],
"maxItems": 3,
"endPage": 1,
"scrapeDetails": false,
"propertyTypes": [],
"keywords": [],
"hasPhotos": false,
"comingSoonOnly": false,
"sortBy": "relevant"
};
const run = await client.actor("nimbryxo-studio/realtor-com-listing-and-property-detail-extractor").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/nimbryxo-studio~realtor-com-listing-and-property-detail-extractor/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"BUY","recordType":"PROPERTIES","search":"Houston, TX","startUrls":[],"maxItems":3,"endPage":1,"scrapeDetails":false,"propertyTypes":[],"keywords":[],"hasPhotos":false,"comingSoonOnly":false,"sortBy":"relevant"}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=nimbryxo-studio/realtor-com-listing-and-property-detail-extractor",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among Realtor.com routes
It ranks 1 of 1 catalogue Actors for Realtor.com on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 Realtor.com Listing & Property Detail Extractor 18 output fields, pay per event 7 of 7 core fields
$0.99 / 1K - + 7 other Store tools, combined Reference only 7 of 7 core fields
from $0.96 / 1K - API Realtor.com data programs Partner only fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: Realtor.com data programs
Partner only. Realtor.com does not publish an open self-serve listing API. Data partnerships are separate from the public site.
Not publicly listed.
Other Store tools for Realtor.com
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Realtor Scraper listings) | 20 | $1.00 |
| Realtor.com Scraper | 13 | $0.96 |
| Realtor.com Search Cheap (Pay-Per-Result) | 11 | $2.00 |
| Realtor.com Agents Scraper | 65 | $1.20 |
| Realtor.com Scraper | 33 | $3.45 |
What people use it for
- Property discovery
- Listing monitoring
- Agent contact extraction
Similar Actors
Apartments.com Rental Listing & Floor Plan Scraper
Search Apartments.com rentals by city, bedroom count, price, property type, pet policy, and amenities, or scrape specific listing URLs directly.…
Century 21 Listings & Property Detail Finder
Find Century 21 homes for sale or rent by city, county, neighborhood, or ZIP with price and size filters, or look up a property by address with…
Property Finder MENA Listings & Agent Contact Extractor
Reads Property Finder listings across the UAE, Saudi Arabia, Qatar, Bahrain, and Egypt, returning price, size, location hierarchy, amenities, and…
Southeast Asia Property Listings by Country & Bedroom Count
Search PropertyGuru for-sale and for-rent listings across Singapore, Malaysia, Thailand and Indonesia by property type, bedrooms and price, with…
Trulia Listings & Price History Scraper
Scrape property listings from Trulia - for sale, for rent, and sold. Supports search pages and direct property URLs. No login required.
Brazil Rental & Sale Listings by City (QuintoAndar)
Search Brazilian rental and sale property listings by city and transaction type: price breakdown, bedrooms, bathrooms, area, furnishing, and…
Questions people ask
How much does Realtor.com Listing & Property Detail Extractor cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does Realtor.com Listing & Property Detail Extractor return?
Its published output schema lists 18 fields: address, listPrice, beds, baths, sqft, pricePerSqft, type, status, mlsId, yearBuilt, daysOnMarket, url, and 6 more. A listed field is not guaranteed to be filled in every row.
What input does Realtor.com Listing & Property Detail Extractor need?
Required: mode. Optional settings include recordType, search, agentName, startUrls, maxItems, endPage.
How do I run Realtor.com Listing & Property Detail Extractor from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("nimbryxo-studio/realtor-com-listing-and-property-detail-extractor").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("nimbryxo-studio/realtor-com-listing-and-property-detail-extractor").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/nimbryxo-studio~realtor-com-listing-and-property-detail-extractor/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- Realtor.com Listing & Property Detail Extractor on Apify Store
- Published build with input and output schema (JSON)
- Realtor.com data programs documentation
Cite this page
Scraper Finder. "Realtor.com Listing & Property Detail Extractor." https://scraperfinder.com/catalogue/realtor-com-listing-and-property-detail-extractor/ (data checked 2026-11-12).
Run Realtor.com Listing & Property Detail Extractor
$0.99 per 1,000 results. Paste the example input above, set your Realtor.com query, then export the dataset. Still choosing? Compare every Realtor.com route.