Richmond American APIrichmondamerican.com ↗
Access floor plans and move-in ready home listings from Richmond American Homes community pages, including plan names, lot IDs, types, and listing URLs.
What is the Richmond American API?
The Richmond American Homes API provides 1 endpoint — get_community_listings — that returns all floor plan and move-in ready (QMI) listings for a given community page, exposing up to 7 fields per listing including builder name, community name, plan name, listing type, lot ID, and direct listing URL, plus a location object with city, state, ZIP, street, and coordinates when available.
curl -X GET 'https://api.parse.bot/scraper/42c19201-00d7-4cd7-a551-37d7fe4f48ca/get_community_listings?community_url=%2Fcalifornia%2Flos-angeles-new-homes%2Fvalencia%2Fesprit-at-valencia%2F' \ -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 richmondamerican-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.
"""
Richmond American Homes API - Usage Example
Get your API key from: https://parse.bot/settings
"""
import requests
import os
class ParseClient:
"""Client for Richmond American Homes API."""
def __init__(self, api_key=None):
self.api_key = api_key or os.getenv("PARSE_API_KEY")
self.base_url = "https://api.parse.bot"
self.scraper_id = "42c19201-00d7-4cd7-a551-37d7fe4f48ca"
def _call(self, endpoint, method="POST", **params):
"""Make API call."""
url = f"{self.base_url}/scraper/{self.scraper_id}/{endpoint}"
headers = {
"X-API-Key": self.api_key,
"Content-Type": "application/json",
}
payload = dict(params)
if method.upper() == "GET":
response = requests.get(url, headers=headers, params=payload)
else:
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
data = response.json()
return data
def get_community_listings(self, community_url):
"""Get floor plans and move-in ready (QMI) homes for a Richmond American Homes community. Returns builder name, community name, plan names, listing types, lot IDs, listing URLs, square footage, bedrooms, bathrooms, and prices. Plan details are extracted via the site's Blazor Server long-polling protocol. Starting prices may be null when displayed as 'Coming soon' on the site."""
return self._call("get_community_listings", method="GET", community_url=community_url)
if __name__ == "__main__":
client = ParseClient()
result = client.get_community_listings(community_url="<URL path of the Richmond Ameri>")
print("get_community_listings:", result)
Get floor plans and move-in ready (QMI) homes for a Richmond American Homes community. Returns builder name, community name, plan names, listing types, lot IDs, listing URLs, square footage, bedrooms, bathrooms, and prices. Plan details are extracted via the site's Blazor Server long-polling protocol. Starting prices may be null when displayed as 'Coming soon' on the site.
| Param | Type | Description |
|---|---|---|
| community_urlrequired | string | URL path of the Richmond American community page, e.g. /california/los-angeles-new-homes/valencia/esprit-at-valencia/. Must match the path structure used on richmondamerican.com. |
{
"type": "object",
"fields": {
"listings": "array of listing objects with builder_name, community_name, plan_name, type, listing_url, square_footage, bedrooms, bathrooms, starting_price or qmi_price, and optionally lot_id",
"location": "object containing city, state, zip_code, street, latitude, longitude when available from JSON-LD",
"builder_name": "string - always Richmond American Homes",
"community_url": "string - full URL of the community page",
"community_name": "string - name of the community extracted from page title",
"total_listings": "integer - total number of plan and QMI listings found"
},
"sample": {
"data": {
"listings": [
{
"type": "plan_to_build",
"bedrooms": "4 - 5",
"bathrooms": "3",
"plan_name": "Nathanson",
"listing_url": "https://www.richmondamerican.com/california/los-angeles-new-homes/valencia/esprit-at-valencia/nathanson/",
"builder_name": "Richmond American Homes",
"community_name": "Esprit at Valencia",
"square_footage": 2720,
"starting_price": null
},
{
"type": "move_in_ready",
"lot_id": "33650000-0003",
"bedrooms": "4 - 5",
"bathrooms": "3",
"plan_name": "Nathanson",
"qmi_price": null,
"listing_url": "https://www.richmondamerican.com/california/los-angeles-new-homes/valencia/esprit-at-valencia/nathanson/33650000-0003/",
"builder_name": "Richmond American Homes",
"community_name": "Esprit at Valencia",
"square_footage": 2720
}
],
"location": {},
"builder_name": "Richmond American Homes",
"community_url": "https://www.richmondamerican.com/california/los-angeles-new-homes/valencia/esprit-at-valencia/",
"community_name": "Esprit at Valencia",
"total_listings": 25
},
"status": "success"
}
}About the Richmond American API
What the API Returns
The get_community_listings endpoint accepts a community_url path — for example, /california/los-angeles-new-homes/valencia/esprit-at-valencia/ — and returns a structured response covering all discoverable listings for that Richmond American Homes community. Each listing object includes builder_name, community_name, plan_name, type (distinguishing floor plan templates from quick move-in homes), listing_url, and optionally lot_id where applicable. The top-level response also includes total_listings and community_url for easy reference.
Location Data
When available, the response includes a location object containing city, state, zip_code, street, latitude, and longitude. This lets you geocode communities, plot them on a map, or filter by geographic area without a secondary geocoding call.
Listing Types and Coverage
The type field differentiates between standard floor plan listings (configurable home designs offered by the community) and QMI (quick move-in) homes that are already built or near completion and assigned a specific lot_id. Note that numeric details such as square footage, bedroom count, bathroom count, and pricing are not currently returned by this endpoint — the response focuses on identifiers, types, and URLs.
Scope and Input
The API is scoped to individual community pages on richmondamerican.com. You supply the URL path of a specific community, and the response reflects the listings tied to that community. To cover multiple communities across a region or state, you would call the endpoint once per community URL.
The Richmond American API is a managed, monitored endpoint for richmondamerican.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when richmondamerican.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 richmondamerican.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?+
- Aggregate new construction inventory across Richmond American communities for a real estate search portal
- Monitor when new QMI (move-in ready) lots appear in a specific community using lot_id tracking
- Map Richmond American communities by geocoordinates from the location object for a homebuyer search tool
- Compare available floor plan names across multiple communities in the same metro area
- Feed listing URLs into a downstream scraper or notification system when new plan types appear
- Build a lead-generation tool that surfaces communities with active QMI inventory for buyers seeking fast closings
| 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 Richmond American Homes offer an official developer API?+
How does the get_community_listings endpoint distinguish floor plans from move-in ready homes?+
type field that separates standard floor plan listings from QMI (quick move-in) homes. QMI listings also carry an optional lot_id field identifying the specific lot, which floor plan listings typically do not have.Does the API return pricing, square footage, bedroom counts, or other numeric home details?+
Can I retrieve listings for multiple communities in a single request?+
community_url parameter. To cover multiple communities, you call the endpoint once per community URL. You can fork this API on Parse and revise it to add a batch endpoint that accepts multiple community paths.