texasrealestate APItexasrealestate.com ↗
Search and retrieve profiles from the official Texas REALTORS® directory. Access contact details, designations, social links, and firm data via 3 endpoints.
What is the texasrealestate API?
The texasrealestate.com API provides access to the official Texas REALTORS® directory through 3 endpoints, covering agent search, full profile retrieval, and filter metadata. The search_realtors endpoint accepts location, firm name, and name filters and returns paginated lists of agents with IDs and profile links. The get_realtor_profile endpoint returns contact numbers, designations, website URLs, and social media links for any agent by numeric ID.
curl -X GET 'https://api.parse.bot/scraper/fd7bb7e2-e3c5-4b41-b156-7f23fd5b105d/search_realtors?page=1&state=TX&location=Austin' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace texasrealestate-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Texas REALTORS® — search agents, view profiles, check form options."""
from parse_apis.Texas_REALTORS__Scraper_API import (
TexasRealtors, RealtorSummary, Realtor, SearchForm, RealtorNotFound
)
client = TexasRealtors()
# Search for realtors in Austin, capped at 5 results
for agent in client.realtor_summaries.search(location="Austin", limit=5):
print(agent.name, agent.company, agent.location)
# Drill into the first result's full profile
summary = client.realtor_summaries.search(location="Dallas", limit=1).first()
if summary:
profile = summary.details()
print(profile.name, profile.office_phone, profile.website)
# Fetch a realtor profile directly by ID
try:
realtor = client.realtors.get(id="126686")
print(realtor.name, realtor.designations, realtor.company)
except RealtorNotFound as exc:
print(f"Realtor not found: {exc}")
# Retrieve available search form options (languages, specialties, designations)
form = client.search_forms.get()
for specialty in form.specialties[:3]:
print(specialty.name, specialty.value)
print("exercised: realtor_summaries.search / summary.details / realtors.get / search_forms.get")
Search for realtors in Texas by location and other filters. Returns a paginated list of realtors with basic info and profile links. Results are randomized per session by the upstream site. Each page returns up to 25 results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number starting from 1 |
| state | string | Two-letter US state code (e.g. TX) |
| location | string | City name or ZIP code to search in |
| firm_name | string | Company name to filter by |
| last_name | string | Last name to filter by |
| first_name | string | First name to filter by |
{
"type": "object",
"fields": {
"page": "integer current page number",
"realtors": "array of realtor summary objects with id, name, company, location, bio_snippet, profile_url",
"total_results": "integer total number of matching realtors",
"results_per_page": "integer number of results per page (25)"
},
"sample": {
"data": {
"page": 1,
"realtors": [
{
"id": "498769",
"name": "Blake Towsley",
"company": "Dave Perry Miller Real Estate",
"location": "Dallas, TX 75225",
"bio_snippet": "",
"profile_url": "https://www.texasrealestate.com/realtors/profile?id=498769"
}
],
"total_results": 13094,
"results_per_page": 25
},
"status": "success"
}
}About the texasrealestate API
Searching the Texas REALTORS® Directory
The search_realtors endpoint accepts up to six filter parameters: location (city name or ZIP code), state, firm_name, first_name, last_name, and page. Each response returns up to 25 results per page alongside a total_results count, making it straightforward to walk through large result sets. Note that the source directory randomizes result ordering per session, so the same query may return results in a different sequence across calls.
Realtor Profile Data
Passing a numeric id from search results to get_realtor_profile returns the full agent record: name, company, city, website, mobile_phone, office_phone, designations (comma-separated credential codes), and a social_links array of profile URLs. The note field carries any informational text the agent has attached to their listing. Fields not populated by the agent are returned as empty strings rather than omitted.
Search Form Metadata
The get_search_form_options endpoint takes no inputs and returns three arrays: languages, specialties, and designations. Each specialty and designation entry includes both a human-readable name and a machine-readable value, suitable for populating filter UIs or validating inputs before passing them to search_realtors. This endpoint is useful for discovering the full set of supported filter values without guessing at string formats.
The texasrealestate API is a managed, monitored endpoint for texasrealestate.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when texasrealestate.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official texasrealestate.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Texas agent finder app filtered by city or ZIP using
locationandfirm_nameparameters - Compile a contact list of agents with specific designations by cross-referencing
get_search_form_optionsvalues withsearch_realtorsresults - Enrich a CRM with mobile and office phone numbers retrieved from
get_realtor_profile - Aggregate social media profiles for Texas agents using the
social_linksarray from profile responses - Index agent websites by collecting the
websitefield across paginatedsearch_realtorsresults - Identify all agents at a specific brokerage by filtering
search_realtorswithfirm_name - Populate language and specialty filter dropdowns in a client-facing search tool using
get_search_form_options
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Texas REALTORS® have an official developer API?+
What does `get_realtor_profile` return beyond what the search results include?+
search_realtors returns a summary record with name, company, location, a bio snippet, and a profile URL. get_realtor_profile adds mobile_phone, office_phone, website, designations, and a social_links array — none of which appear in the search list response.Why might the same search query return results in a different order on repeated calls?+
Does the API expose license numbers or MLS IDs?+
Can I filter `search_realtors` by language or specialty?+
search_realtors endpoint accepts location, state, firm_name, first_name, and last_name as filters. Language and specialty filters are not currently supported as query parameters, though get_search_form_options does return their possible values. You can fork this API on Parse and revise it to add those filter parameters to the search endpoint.