The APIVex Realtor.com API supports searches for sale, rental, and sold listings, followed by property-level lookups. Use it to collect candidates for a listing dashboard or research workflow, then retrieve details for selected properties.
This is a guide to APIVex's third-party API. Requests go to https://api.apivex.com/realtor and use your APIVex key in the x-apivex-key header.
Start with the listing status you need
| Task | Endpoint | Starting input |
|---|---|---|
| Find homes for sale | GET /search/forsale | location |
| Find rental listings | GET /search/forrent | location |
| Find sold listings | GET /search/forsold | location |
| Retrieve one property | GET /property/details | property_id or property url |
| Discover agents | GET /agent/search | Location or name |
The Realtor API reference also includes geographic searches and property history, photos, and school-related routes. Choose the smallest set of endpoints that supports your application.
Search for-sale listings
Set APIVEX_API_KEY in your shell environment, then use this Bash/cURL request:
curl --get 'https://api.apivex.com/realtor/search/forsale' \
--header "x-apivex-key: $APIVEX_API_KEY" \
--data-urlencode 'location=Houston, TX' \
--data-urlencode 'limit=20' \
--data-urlencode 'sort=newest_listing'The location can be an address, neighborhood, city, or ZIP code. For this endpoint, the docs specify a default limit of 50 and a maximum of 200. Starting with 20 makes the response easier to inspect.
Add filters one at a time. For example, the for-sale route documents beds-min, list_price-min, and list_price-max. Preserve the hyphens in these query names; similar filters in another API may use underscores instead.
Enrich a selected property
Take a property ID from your search result and pass it to the details route:
curl --get 'https://api.apivex.com/realtor/property/details' \
--header "x-apivex-key: $APIVEX_API_KEY" \
--data-urlencode 'property_id=PROPERTY_ID_FROM_SEARCH'Alternatively, supply the Realtor.com property URL using url. The endpoint schema marks individual lookup parameters optional because alternatives exist; that does not make an empty lookup useful. Supply a documented identifier or URL.
Inspect the result before mapping it to your database. Keep the original identifier alongside normalized fields, and allow absent attributes to remain unknown. A missing attribute should not silently become a zero.
Design a repeatable listing monitor
Separate your own observations from the source's property facts. For each retrieval, record when you fetched the data and the search configuration that produced it. Keep source property IDs separate from any internal listing IDs you assign.
For a daily listing comparison:
- Run the same location and status query.
- Retrieve the needed pages using the documented
pageinput. - Deduplicate candidates by source property ID.
- Fetch details only for new records or records that need refreshing.
- Compare like-for-like fields and retain the previous observation where history matters.
Bound the page loop and stop when results are exhausted or repeat. Results can change between requests, so pagination is not a guarantee of a single frozen snapshot. An absent result is a reason to investigate, not enough evidence to label a home sold.
Keep Realtor and Zillow identifiers separate
If you combine this feed with the Zillow workflow, do not pass a Zillow zpid as a Realtor property_id. Store a source label with each identifier. Address matching can help identify candidates across datasets, but check ambiguous matches before merging records.
The two APIs also use different search routes and filter names. Build a source-specific adapter, then convert validated results into your application's common format.
Troubleshooting and limits
If a search returns no candidates, begin with the location alone, confirm the listing status route, and restore filters gradually. If a details lookup fails, verify that the ID came from this source and try the documented property URL input.
For rejected requests, inspect the status and error body, verify x-apivex-key, and check your account's access and usage. Use bounded retries for transient failures rather than repeatedly retrying an invalid query.
Check data freshness and coverage for your target market before using the feed operationally. The existence of a property route does not guarantee every field for every listing.
Next step
Test your location in the Realtor documentation. If you need a spreadsheet report, the Google Sheets add-on is an optional destination for the same workflow.



