Discover/tollbrothers.com API
live

tollbrothers.com APIwww.tollbrothers.com

Browse and retrieve available home designs and quick move-in homes directly from Toll Brothers communities. Search through specific community listings to find home options that match your preferences.

Endpoint health
monitored
get_community_homes
Checks pendingself-healing
Endpoints
1
Updated
2h ago
Try it
The Toll Brothers community page URL path, e.g. '/luxury-homes-for-sale/California/Metro-Heights/Viewpoint'. Full URLs starting with https://www.tollbrothers.com are also accepted.
api.parse.bot/scraper/fc75b6ab-bf75-4c1e-bc61-c3631a2194e3/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/fc75b6ab-bf75-4c1e-bc61-c3631a2194e3/get_community_homes?community_url=%2Fluxury-homes-for-sale%2FCalifornia%2FMetro-Heights%2FViewpoint' \
  -H 'X-API-Key: $PARSE_API_KEY'
Or use the typed Python SDKfully typed · autocompletes

Typed Python client. Install the CLI, sign in, then pull this API’s generated client:

pip install parse-sdk
parse login
parse add --marketplace tollbrothers-com-api

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.

"""
Toll Brothers Community Homes API Client

This module provides a Python client for the Parse API to retrieve home designs
and quick move-in homes from Toll Brothers community pages.

Get your API key from: https://parse.bot/settings
"""

import os
import requests
from typing import Optional


class ParseClient:
    """Client for interacting with the Parse API."""
    
    def __init__(self, api_key: Optional[str] = None):
        """
        Initialize the Parse API client.
        
        Args:
            api_key: API key for authentication. If not provided, will use PARSE_API_KEY env var.
        """
        self.base_url = "https://api.parse.bot"
        self.scraper_id = "fc75b6ab-bf75-4c1e-bc61-c3631a2194e3"
        self.api_key = api_key or os.getenv("PARSE_API_KEY")
        
        if not self.api_key:
            raise ValueError("API key must be provided or set in PARSE_API_KEY environment variable")
    
    def _call(self, endpoint: str, method: str = "POST", **params) -> dict:
        """
        Make a request to the Parse API.
        
        Args:
            endpoint: The API endpoint name
            method: HTTP method (GET or POST)
            **params: Parameters to pass to the endpoint
            
        Returns:
            JSON response from the API
        """
        url = f"{self.base_url}/scraper/{self.scraper_id}/{endpoint}"
        headers = {
            "X-API-Key": self.api_key,
            "Content-Type": "application/json"
        }
        
        if method == "GET":
            response = requests.get(url, headers=headers, params=params)
        elif method == "POST":
            response = requests.post(url, headers=headers, json=params)
        else:
            raise ValueError(f"Unsupported HTTP method: {method}")
        
        response.raise_for_status()
        return response.json()
    
    def get_community_homes(self, community_url: str) -> dict:
        """
        Retrieve all home designs and quick move-in homes from a Toll Brothers community page.
        
        Args:
            community_url: The Toll Brothers community page URL path or full URL
                          e.g., '/luxury-homes-for-sale/California/Metro-Heights/Viewpoint'
        
        Returns:
            Dictionary containing community name, homes list, and total count
        """
        return self._call("get_community_homes", method="GET", community_url=community_url)


def main():
    """Main function demonstrating practical usage of the Toll Brothers API client."""
    
    # Initialize the client
    client = ParseClient()
    
    # List of Toll Brothers communities to analyze
    communities_to_search = [
        "/luxury-homes-for-sale/California/Metro-Heights/Viewpoint",
        "/luxury-homes-for-sale/Pennsylvania/Philadelphia-Area/Moorland",
    ]
    
    print("=" * 80)
    print("TOLL BROTHERS COMMUNITY HOMES ANALYSIS")
    print("=" * 80)
    
    all_homes = []
    total_communities = 0
    
    # Fetch homes from each community
    for community_url in communities_to_search:
        try:
            print(f"\nFetching homes from: {community_url}")
            response = client.get_community_homes(community_url)
            
            if response.get("status") == "success":
                community_data = response.get("data", {})
                community_name = community_data.get("community_name", "Unknown")
                homes = community_data.get("homes", [])
                total = community_data.get("total", 0)
                
                print(f"Community: {community_name}")
                print(f"Total homes found: {total}")
                
                total_communities += 1
                
                # Process each home
                for idx, home in enumerate(homes, 1):
                    all_homes.append(home)
                    
                    # Print home details
                    print(f"\n  Home {idx}:")
                    print(f"    Plan: {home.get('plan_name', 'N/A')}")
                    print(f"    Builder: {home.get('builder_name', 'N/A')}")
                    print(f"    Bedrooms: {home.get('bedrooms', 'N/A')}")
                    print(f"    Bathrooms: {home.get('bathrooms', 'N/A')}")
                    print(f"    Square Footage: {home.get('square_footage', 'N/A'):,}")
                    print(f"    Starting Price: ${home.get('starting_price', 0):,}")
                    
                    if home.get("is_qmi"):
                        qmi_price = home.get("qmi_price")
                        print(f"    Quick Move-In: YES - ${qmi_price:,}")
                    else:
                        print(f"    Quick Move-In: NO")
                    
                    print(f"    URL: {home.get('listing_url', 'N/A')}")
            else:
                print(f"Error: {response.get('message', 'Unknown error')}")
        
        except requests.exceptions.RequestException as e:
            print(f"Error fetching community {community_url}: {e}")
        except Exception as e:
            print(f"Unexpected error processing {community_url}: {e}")
    
    # Summary analysis
    print("\n" + "=" * 80)
    print("SUMMARY ANALYSIS")
    print("=" * 80)
    
    if all_homes:
        print(f"Total communities searched: {total_communities}")
        print(f"Total homes found: {len(all_homes)}")
        
        # Calculate statistics
        prices = [h.get("starting_price", 0) for h in all_homes if h.get("starting_price")]
        if prices:
            avg_price = sum(prices) / len(prices)
            min_price = min(prices)
            max_price = max(prices)
            print(f"\nPrice Statistics:")
            print(f"  Average Price: ${avg_price:,.0f}")
            print(f"  Minimum Price: ${min_price:,}")
            print(f"  Maximum Price: ${max_price:,}")
        
        # Count QMI homes
        qmi_homes = [h for h in all_homes if h.get("is_qmi")]
        print(f"\nQuick Move-In Homes: {len(qmi_homes)} out of {len(all_homes)}")
        
        # Bedroom distribution
        bedroom_counts = {}
        for home in all_homes:
            bedrooms = home.get("bedrooms", "Unknown")
            bedroom_counts[bedrooms] = bedroom_counts.get(bedrooms, 0) + 1
        
        print(f"\nBedroom Distribution:")
        for bedrooms, count in sorted(bedroom_counts.items()):
            print(f"  {bedrooms} bedrooms: {count} homes")
    else:
        print("No homes found in any community.")


if __name__ == "__main__":
    main()
All endpoints · 1 totalmissing one? ·

Retrieve all home designs and quick move-in (QMI) homes listed on a Toll Brothers community page. Returns each floor plan with builder name, community name, plan name, square footage, bedroom count, bathroom count, starting/from price, QMI price (if applicable), and the listing URL. Supports both individual community pages and master community pages which aggregate multiple sub-communities.

Input
ParamTypeDescription
community_urlrequiredstringThe Toll Brothers community page URL path, e.g. '/luxury-homes-for-sale/California/Metro-Heights/Viewpoint'. Full URLs starting with https://www.tollbrothers.com are also accepted.
Response
{
  "type": "object",
  "fields": {
    "homes": "array of home objects with builder_name, community_name, plan_name, square_footage, bedrooms, bathrooms, starting_price, qmi_price, is_qmi, listing_url",
    "total": "integer",
    "community_name": "string"
  },
  "sample": {
    "data": {
      "homes": [
        {
          "is_qmi": false,
          "bedrooms": "5-6",
          "bathrooms": "5-6",
          "plan_name": "Compass",
          "qmi_price": null,
          "listing_url": "https://www.tollbrothers.com/luxury-homes-for-sale/California/Metro-Heights/Viewpoint/Compass",
          "builder_name": "Toll Brothers",
          "community_name": "Viewpoint at Metro Heights",
          "square_footage": 2962,
          "starting_price": 1758000
        },
        {
          "is_qmi": true,
          "bedrooms": "5",
          "bathrooms": "5",
          "plan_name": "Compass Contemporary Craftsman",
          "qmi_price": 1758000,
          "listing_url": "https://www.tollbrothers.com/luxury-homes-for-sale/California/Metro-Heights/Viewpoint/Quick-Move-In/284366",
          "builder_name": "Toll Brothers",
          "community_name": "Viewpoint at Metro Heights",
          "square_footage": 2962,
          "starting_price": 1758000
        }
      ],
      "total": 6,
      "community_name": "Viewpoint at Metro Heights"
    },
    "status": "success"
  }
}

About the tollbrothers.com API

The tollbrothers.com API on Parse exposes 1 endpoint for the publicly available data on www.tollbrothers.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.

Related APIs
zillow.com API
Search for homes for sale, rent, or recently sold listings on Zillow while accessing detailed property information, Zestimates, agent profiles, and current mortgage rates all in one place. Streamline your real estate research by gathering comprehensive property details, agent information, and financing options without navigating multiple pages.
zoopla.co.uk API
Search for properties available for sale or rent, view detailed listing information, check sold house prices, and find local estate agents all in one place. Get access to live marketplace data to help you research properties, compare prices, and connect with agents on the Zoopla platform.
domain.com.au API
Search and compare property listings for sale, rent, or sold properties across Australia, view detailed property information and agent profiles, and explore suburb insights to make informed real estate decisions. Access comprehensive data on agents, neighborhoods, and properties all in one place.
funda.nl API
Search for property listings on Funda.nl, the largest Dutch real estate platform. Access prices, addresses, property details, and agent contact information across Dutch cities and neighbourhoods. Supports paginated browsing and bulk retrieval of listings by area.
loopnet.com API
Access LoopNet's commercial real estate data programmatically. Search listings by location, property type, and transaction type; retrieve full listing details including pricing and property facts; and find and profile commercial real estate brokers.
yad2.co.il API
Search for apartments and cars on Yad2's marketplace and access detailed listing information including photos, prices, and specifications. Instantly reveal seller contact information to connect directly with real estate agents and car dealers.
rightmove.co.uk API
Search for properties across the UK's largest property portal and retrieve detailed listings for homes for sale or to rent, including prices, descriptions, and key property information. Find your next home or investment opportunity by browsing available properties and getting comprehensive details on individual listings.
trulia.com API
Search real estate listings for properties available for sale, rent, or recently sold, and access detailed information like property photos, price history, nearby schools, and local amenities. Compare similar homes, calculate mortgage estimates, and make informed decisions with comprehensive property data all in one place.