Realtor Autocomplete Scraper (Cheap)
Pricing
from $3.99 / 1,000 results
Realtor Autocomplete Scraper (Cheap)
Realtor.com location autocomplete scraper that returns addresses, cities, ZIP codes, schools, and neighborhoods for any search query, so developers can build autofill UIs and validate locations affordably.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Realtor Autocomplete Scraper
Realtor.com finishes your sentence the moment you start typing in its search bar — half an address, three letters of a city, a stray ZIP code, and it offers up matching places. This scraper taps that same suggestion feed directly. Hand it a search term and it returns every location Realtor.com would have suggested: the formatted label, the city and state, the ZIP, GPS coordinates, and a property or MLS ID where one exists. Pass a single term or a list of thousands, and toggle off the categories you don't care about so the output stays clean.

What you get
Every suggestion comes back as one flat row with the same shape, so your columns line up whether you open the results in a spreadsheet or load them into a database. If a term matches nothing, you still get a row carrying that term and a note, so nothing silently disappears. Each record holds:
- Match basics —
queryText,suggestionType,locationLabel,streetLine - Place details —
townName,stateAbbr,zipCode,nationCode,gpsLat,gpsLng - Identifiers —
mlsListingId,realtorPropertyId,urlSlug - Run metadata —
collectedAt,errorNote
Quick start
- Hit Try for free and open the input form.
- Type one or more terms into Search terms — a partial address, a city, a ZIP, a school, anything.
- Untick any location types you don't want under Which location types to keep, and set a Suggestions per term cap if you only need the top hits.
- Press Start, then download the rows as JSON, CSV, Excel, or XML once it wraps.

Use cases
- Address validation — confirm a user-typed address actually exists on Realtor.com before you spend on a deeper property pull
- Autocomplete for your own app — power a search dropdown in a real estate product with genuine Realtor.com suggestions
- Lead enrichment — take rough city names or half-addresses from a CRM and expand them into clean, verified locations
- Geographic research — list the neighborhoods, schools, and parks tied to a town or region
- MLS cross-checks — test MLS IDs against Realtor.com's index
- Input cleanup — turn messy entries like "nyc" or "Manhattan NY" into tidy city, state, and ZIP records
Input
| Field | Type | Required | Description |
|---|---|---|---|
searchTerms | array of strings | Yes | Terms to look up, one autocomplete call each. Mix addresses, cities, ZIPs, schools freely. Example: ["Seattle", "742 Evergreen Terrace", "60614", "Denver CO", "Harvard University"]. |
resultsLimit | integer | No | Suggestions kept per term, up to 10,000. Default 50. |
showAddresses | boolean | No | Keep street-address matches. Default true. |
showNeighborhoods | boolean | No | Keep named neighborhoods and subdivisions. Default true. |
showCities | boolean | No | Keep city-wide matches. Default true. |
showCounties | boolean | No | Keep county-wide matches. Default true. |
showZipCodes | boolean | No | Keep ZIP and postal code matches. Default true. |
showStreets | boolean | No | Keep full-street matches with no house number. Default true. |
showSchools | boolean | No | Keep individual schools. Default true. |
showSchoolDistricts | boolean | No | Keep school district matches. Default true. |
showUniversities | boolean | No | Keep colleges and universities. Default true. |
showParks | boolean | No | Keep parks and recreation areas. Default true. |
showStates | boolean | No | Keep state-wide matches. Default true. |
showMlsIds | boolean | No | Keep MLS listing ID matches. Default true. |
runTimeoutSeconds | integer | No | Cap on total run time in seconds. Default 300; raise to 600 for big batches. |
requestTimeoutSeconds | integer | No | Seconds to wait on the server per term. Default 45. |
proxyConfiguration | object | No | Proxies for requests. Defaults to US datacenter. |
Example input
{"searchTerms": ["Seattle","742 Evergreen Terrace","60614","Denver CO","Harvard University"],"resultsLimit": 50,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyCountry": "US"}}
Output
Each suggestion is pushed as one flat JSON record. Every field is always present — values that don't apply to a given match come back empty or null, so the dataset stays rectangular.
Example output
{"queryText": "Denver CO","suggestionType": "city","locationLabel": "Denver, CO","streetLine": "","townName": "Denver","stateAbbr": "CO","zipCode": "","nationCode": "US","gpsLat": 39.7392,"gpsLng": -104.9903,"mlsListingId": "","realtorPropertyId": "","urlSlug": "Denver_CO","collectedAt": "2026-06-29T10:30:00.000000+00:00","errorNote": null}
Output fields
| Field | Type | Description |
|---|---|---|
queryText | string | The term you submitted. Always present, even on an empty match. |
suggestionType | string | Category: address, city, neighborhood, county, postal_code, street, school, school_district, university, park, state, or mlsid. |
locationLabel | string | Full formatted location string as Realtor.com displays it. |
streetLine | string | Street portion (house number plus street). Empty for non-address types. |
townName | string | City or town name. |
stateAbbr | string | Two-letter US state abbreviation. |
zipCode | string | ZIP or postal code. |
nationCode | string | Country code, usually US. |
gpsLat | number | Latitude. null when unavailable. |
gpsLng | number | Longitude. null when unavailable. |
mlsListingId | string | MLS listing ID. Filled only for MLS matches. |
realtorPropertyId | string | Realtor.com property ID. Filled only for address matches. |
urlSlug | string | URL-safe slug for the location. |
collectedAt | string | ISO 8601 timestamp of when the row was pulled. |
errorNote | string | Failure reason, or "No suggestions found" on an empty match. null on success. |
Tips for best results
- Partial text is enough. Typing "aus" gets you "Austin, TX" and "Australia" — you never have to spell out the full name.
- When you only want one or two categories, switch the rest off with the boolean toggles. Fewer types means less clutter to sift through.
queryTextrides along on every row, so joining results back to your source list is easy even when a term returns nothing.- Most terms land 10 to 50 suggestions, so a
resultsLimitof 50 covers nearly everything. Drop it lower when you only want the strongest matches. - For large batches, lift
runTimeoutSecondsso the run isn't cut short before every term is processed.
How can I use Realtor.com autocomplete data?
How can I use the Realtor Autocomplete Scraper to validate addresses at scale?
Feed your list of raw addresses into searchTerms and turn off everything except showAddresses. Each entry that Realtor.com recognizes comes back with a clean locationLabel, zipCode, and coordinates, so you can flag the ones that resolve and quarantine the ones that don't before running any pricier lookups.
How can I build a Realtor.com search autocomplete for my own app?
Send the partial text a user has typed as a single term and read back the suggestions in order. Each row gives you locationLabel to show in the dropdown plus suggestionType, townName, and stateAbbr to group or filter by — the same data that drives Realtor.com's own search box.
How can I pull GPS coordinates for a batch of US locations?
List your cities, ZIPs, or addresses in searchTerms and read gpsLat and gpsLng off each result. Because queryText is stamped on every row, you can map coordinates straight back to the location you asked for and drop them onto a map or into a geospatial dataset.
How can I look up MLS listing IDs on Realtor.com?
Leave showMlsIds on and type an MLS ID as your term. When Realtor.com knows it, the match comes back with mlsListingId and realtorPropertyId populated, giving you a quick way to check IDs against the live index.
Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Support
Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.