Starlight Homes
Reads Starlight Homes' own metro/neighborhood catalogue — every metro division, one metro's neighborhoods with real live monthly-price and sq-ft ranges,…
Reads Starlight Homes' own metro/neighborhood catalogue — every metro division, one metro's neighborhoods with real live monthly-price and sq-ft ranges, and one neighborhood's ACTUAL move-in-ready homes right now with real street addresses, real sale prices, real plan names and real availability — the cross-neighborhood search the live site itself does not offer.
Domain: starlighthomes.com
Also known as: Starlight Homes, starlighthomes.com
Call it directly
bowmark.providers.starlighthomes.listMetros(): Promise<StarlighthomesMetroSummary[]>
bowmark.providers.starlighthomes.getMetro(path: string): Promise<StarlighthomesMetroDetail>
bowmark.providers.starlighthomes.getNeighborhood(path: string): Promise<StarlighthomesNeighborhoodDetail>Functions
| Function | What it does |
|---|---|
listMetros | Lists every metro division Starlight Homes currently builds in (e.g. Dallas - Fort Worth, Phoenix). The entry point: every metro's path is what getMetro takes. |
getMetro | Reads one metro's own page: every named neighborhood in it with a real live monthly-price range, square-footage range and map coordinates. |
getNeighborhood | Reads one neighborhood's own page: its ACTUAL move-in-ready homes right now, each with a real street address, real sale price, real plan name and real beds/baths/sqft/availability — never a… |
Types
// Starlight Homes' OWN shapes — not a capability contract.
interface StarlighthomesRange { lowest: number | null; highest: number | null }
interface StarlighthomesMetroSummary {
name: string; // e.g. "Dallas - Fort Worth"
path: string; // the key getMetro takes
}
interface StarlighthomesNeighborhoodSummary {
name: string;
path: string; // the key getNeighborhood takes
monthlyPriceRange: StarlighthomesRange; // advertised MONTHLY payment, not sale price
sqftRange: StarlighthomesRange;
coordinates: { lat: number; lng: number } | null;
}
interface StarlighthomesMetroDetail {
path: string;
neighborhoods: StarlighthomesNeighborhoodSummary[];
}
interface StarlighthomesAvailableHome {
address: string; // real street address, e.g. "818 Independence Trail"
price: number; // current sale price
listPrice: number | null; // struck-through prior/list price, when discounted
planName: string;
planPath: string;
beds: number;
baths: number;
sqft: number;
availability: string; // e.g. "Ready Now"
}
interface StarlighthomesNeighborhoodDetail {
path: string;
availableHomes: StarlighthomesAvailableHome[];
}Examples
// The query ANGLE found ChatGPT could only answer by reconstructing pages
// one at a time: real move-in-ready homes across a metro's neighborhoods,
// under a price ceiling, right now.
const metro = await bowmark.providers.starlighthomes.getMetro("dallas");
const underBudget = metro.neighborhoods.filter((n) => (n.monthlyPriceRange.lowest ?? Infinity) <= 1800);
return underBudget.map((n) => ({ neighborhood: n.name, path: n.path }));// Drill into one neighborhood's ACTUAL homes — real address, real price,
// real availability — where ChatGPT alone had to open the page itself.
const neighborhood = await bowmark.providers.starlighthomes.getNeighborhood("dallas/liberty-ranch");
return neighborhood.availableHomes.filter((h) => h.price < 300_000 && h.beds >= 3);