Discover/Zoocasa API
live

Zoocasa APIzoocasa.com

Access Zoocasa property data via API: search active and sold listings, retrieve full property details, and fetch comparable properties across Canada and the US.

Endpoint health
verified 4d ago
get_listing_details
search_listings
get_similar_listings
3/3 passing latest checkself-healing
Endpoints
3
Updated
21d ago

What is the Zoocasa API?

The Zoocasa API exposes 3 endpoints covering Canadian and US real estate listings, giving developers programmatic access to active listings, sold homes, and rental properties. Starting with search_listings, you can query by city and province slug, filter by property type and listing status, and paginate results — each page returning up to 20 listings with paths and slugs that feed directly into the detail and comparable-properties endpoints.

Try it
Page number for pagination
City and province slug (e.g., 'toronto-on', 'mississauga-on', 'vancouver-bc')
Transaction type
Filter by home type
Listing status filter
api.parse.bot/scraper/52fda4e5-f786-48ef-b404-6b8963b51f80/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/52fda4e5-f786-48ef-b404-6b8963b51f80/search_listings?page=1&location=toronto-on&listing_type=buy&property_type=houses&listing_status=available' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 zoocasa-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.

"""Walkthrough: Zoocasa SDK — search listings, drill into details, find comparable properties."""
from parse_apis.Zoocasa_Real_Estate_API import Zoocasa, ListingType, ListingStatus, PropertyType, ListingNotFound

zoocasa = Zoocasa()

# Search available condos in Toronto — limit= caps total items fetched
for summary in zoocasa.listing_summaries.search(
    location="toronto-on",
    listing_type=ListingType.BUY,
    listing_status=ListingStatus.AVAILABLE,
    property_type=PropertyType.CONDOS,
    limit=3,
):
    print(summary.api_slug, summary.url)

# Drill down: get full details for the first listing found
summary = zoocasa.listing_summaries.search(
    location="mississauga-on",
    listing_type=ListingType.BUY,
    limit=1,
).first()

if summary:
    listing = summary.details()
    print(listing.city, listing.province, listing.price, listing.bedrooms, listing.bathrooms)
    print(listing.mls_num, listing.address_slug)

    # Find similar/comparable properties for market analysis
    for comp in listing.similar(limit=3):
        print(comp.city, comp.price, comp.bedrooms, comp.bathrooms)

# Typed error handling
try:
    bad = zoocasa.listing_summaries.search(location="toronto-on", limit=1).first()
    if bad:
        bad.details()
except ListingNotFound as exc:
    print(f"Listing not found: {exc}")

print("exercised: listing_summaries.search / details / similar")
All endpoints · 3 totalmissing one? ·

Search for real estate listings in a specific location (city and province). Supports active and sold listings, rental listings, and property type filtering. Returns listing paths and API slugs for use with get_listing_details. Paginates by page number; each page returns up to ~20 listings. The location slug follows the pattern city-province (e.g. 'toronto-on', 'mississauga-on').

Input
ParamTypeDescription
pageintegerPage number for pagination
locationrequiredstringCity and province slug (e.g., 'toronto-on', 'mississauga-on', 'vancouver-bc')
listing_typestringTransaction type
property_typestringFilter by home type
listing_statusstringListing status filter
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page number",
    "listings": "array of listing summaries with path, api_slug, and url",
    "location": "string location slug used in the request",
    "total_on_page": "integer count of listings returned on this page"
  },
  "sample": {
    "data": {
      "page": 1,
      "listings": [
        {
          "url": "https://www.zoocasa.com/toronto-on-real-estate/703-39-sherbourne-st",
          "path": "toronto-on-real-estate/703-39-sherbourne-st",
          "api_slug": "703-39-sherbourne-st-toronto-on"
        }
      ],
      "location": "toronto-on",
      "total_on_page": 20
    },
    "status": "success"
  }
}

About the Zoocasa API

Search and Filter Listings

The search_listings endpoint accepts a required location parameter in slug format (e.g., toronto-on, vancouver-bc) and optional filters for listing_type, property_type, and listing_status. Responses include the current page number, a total_on_page count, and an array of listing summaries — each carrying a path, api_slug, and url. The api_slug values are the keys that unlock the other two endpoints.

Property Details

Pass any api_slug from a search result to get_listing_details and receive a full attribute set for that property: price, bedrooms, bathrooms, city, province, status, mls-num, sold-price, sold-at, and more. This endpoint covers both currently active listings and sold properties — the sold-at and sold-price fields return populated values for completed transactions and null otherwise, making it straightforward to distinguish active from sold inventory in your application logic.

Comparable Properties

The get_similar_listings endpoint takes the numeric listing_id from a get_listing_details response and returns a total count alongside an array of full listing objects for comparable properties. Each object in the array carries the same attribute set as a direct detail lookup, which makes this endpoint useful for building side-by-side market comparisons or automated valuation workflows without issuing individual detail requests per comparable.

Coverage and Pagination

Listings span Canadian provinces and select US locations. Pagination through search_listings is page-number based, with each page capped at approximately 20 results. The location slug format mirrors Zoocasa's own URL conventions — for example, mississauga-on for Mississauga, Ontario. Slugs that don't match a recognized location will return empty result sets rather than an error, so validating slugs against known city patterns before querying is advisable.

Reliability & maintenanceVerified

The Zoocasa API is a managed, monitored endpoint for zoocasa.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when zoocasa.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 zoocasa.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.

Last verified
4d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Building a cross-city price comparison dashboard using price, bedrooms, and bathrooms fields from get_listing_details
  • Tracking days-on-market and sold prices for a specific neighbourhood by combining listing_status filtering with sold-at and sold-price fields
  • Generating automated comparable market analyses by feeding a listing's listing_id into get_similar_listings
  • Aggregating active rental inventory in a target city using listing_type and location filters in search_listings
  • Alerting on new MLS numbers in a given city by storing mls-num values from repeated paginated queries
  • Populating a property search portal with structured address, price, and bedroom data from paginated search_listings results
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Zoocasa offer an official developer API?+
Zoocasa does not publish a public developer API or documented API program. There is no official API key portal or developer documentation available at zoocasa.com.
What does `get_listing_details` return beyond price and bedroom count?+
The endpoint returns the listing's id, city, province, status, mls-num, sold-at, sold-price, and additional property attributes such as maintenance fees, taxes, and a description field. For active listings, sold-at and sold-price are null; for sold properties, both fields are populated.
How does pagination work in `search_listings`, and is there a total listing count available?+
Pagination uses an integer page parameter. Each page returns up to approximately 20 listings. The response includes total_on_page for the current page count but does not expose a global total across all pages. To retrieve all listings for a location you need to iterate pages until total_on_page drops below the maximum.
Does the API return listing photos or map coordinates?+
Not currently. The endpoints cover text-based attributes — price, bedroom/bathroom counts, MLS number, address components, status, and sold data — but do not expose image URLs or latitude/longitude coordinates. You can fork this API on Parse and revise it to add an endpoint that returns media and geo fields.
Can I filter `search_listings` results by price range or square footage?+
The current search_listings inputs support location, listing_type, property_type, listing_status, and page. Price-range and square-footage filters are not available parameters at this time. You can fork this API on Parse and revise it to add those filter parameters to the endpoint.
Page content last updated . Spec covers 3 endpoints from zoocasa.com.
Related APIs in Real EstateSee all →
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.
realtor.ca API
Search Canadian real estate listings and retrieve detailed property information including photos, prices, descriptions, and agent details from REALTOR.ca. Browse available properties with comprehensive listing data across Canada.
rentals.ca API
Search and browse rental listings across Canada by city or neighbourhood, and view detailed property information including prices, amenities, and availability. Find your next home by filtering thousands of rental properties on Rentals.ca in real-time.
rew.ca API
Search rental and for-sale properties across Canada, get detailed listing information, explore neighbourhoods, and find real estate agents in your area. Access property details, agent profiles, and neighbourhood data all in one place.
zonaprop.com.ar API
Search and retrieve property listings from Zonaprop, Argentina's leading real estate portal. Filter by operation type, property category, and location, then fetch full details for any listing.
condos.ca API
Search and browse comprehensive condo listings across Canada while accessing detailed building information, neighbourhood statistics, and mortgage calculators to make informed real estate decisions. Get instant market data, compare properties, and estimate mortgage payments all from one integrated platform.
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.
centris.ca API
Search and retrieve real estate listings from Centris.ca, Canada's largest real estate platform. Filter by location, property type, price range, and keywords to find houses, condos, plexes, and multi-generational properties across Quebec. Get detailed listing information including price, address, room counts, and photos.