API Real estate data

Real estate API. Five sources, one schema.

Homes for sale, sold prices, rentals, property history, estimates and comps from Zillow, Redfin, Realtor.com, StreetEasy and Auction.com, as typed JSON with one key.

100 free credits · No credit card required · No Zillow, Redfin, Realtor.com, StreetEasy or Auction.com login

GET /v1/zillow/sold
curl -G https://api.realtycrawl.com/v1/zillow/sold \  -H "Authorization: Bearer $REALTYCRAWL_KEY" \  -d zip=80221 \  -d sold_within_days=90
result.summaryExample data
{  "priced_count": 1,  "disclosed_count": 0,  "median_sale_price": 450000,  "p25": 450000,  "p75": 450000,  "median_price_per_sqft": 265,  "earliest_sold_date": "2026-10-09",  "latest_sold_date": "2026-10-09"}
Sources

Each source, its own routes.

A new source adds routes and never changes another source's, so code you ship keeps working.

SourceRoutesCovers
Zillowlistings, sold, rentals, property, estimate, compsZillow homes for sale, sold and for rent across the US, plus property details with full price, tax and Zestimate history, Zillow's Zestimate, and sold comps for any home.
Redfinlistings, sold, rentals, property, estimate, compsRedfin homes for sale, sold and for rent across the US by ZIP code, city, county or map area, plus property details with price and tax history, and Redfin's own estimates.
Realtor.comlistings, sold, rentals, property, estimate, compsRealtor.com homes for sale, sold and for rent across the US by ZIP code, city, county, neighborhood or map area, plus property details with price, tax and estimate history, three independent value estimates, and sold comps for any home.
StreetEasylistings, sold, rentals, property, estimate, compsStreetEasy homes for sale, sold and for rent in New York City by ZIP code, borough or map area, with recorded closing prices, co-op maintenance and condo charges, no-fee and free-month rentals, plus listing details with price history, StreetEasy's sale and rent estimates, and sold comps.
Auction.comlistings, sold, property, estimateAuction.com foreclosure and bank-owned homes up for auction across the US by ZIP code, city, county or map area, with the auction date, opening bid and bids, recent auction results, property details with the parcel number, and the value and rent estimates Auction.com shows.
Built for

Who uses it, and for what.

Search pages and property pages, turned into rows you can store, chart and price from.

Investors and wholesalers

Pull sold comps for a deal, check a home's sale history and compare each portal's estimate before you offer.

Proptech and lenders

Feed listings, sold prices and tax records into valuation, underwriting or lead tools without signing an MLS data agreement.

Agents and teams

Build market reports and CMAs from recent sales, days on market and price per sqft by ZIP code or neighborhood.

Foreclosure buyers

Track Auction.com auctions by area with the date, opening bid and results, and look up each home's value estimate.

Building with ChatGPT? Paste this.

One prompt gives your assistant the endpoint, the sign-in header and how to wait for a result, so its first script works.

Prompt for ChatGPT, Claude or Cursor
I'm building with the RealtyCrawl API. It returns real-estate data from Zillow as typed JSON: homes for sale, sold homes, rentals, property history, estimates and comps.

Read the docs first: https://realtycrawl.com/llms.txt
OpenAPI spec: https://realtycrawl.com/openapi.json

Rules for the code you write:
- Base URL: https://api.realtycrawl.com/v1
- Auth: send the header "Authorization: Bearer <key>". Read the key from the REALTYCRAWL_KEY environment variable. Never put it in browser code.
- Zillow sold homes: GET /zillow/sold?zip=<5-digit ZIP>&sold_within_days=90. You can send city and state instead of zip.
- A call often answers 202 with status "pending" and a poll_url. Poll GET /jobs/<request_id>?wait=20 with the same header until status is "complete" or "failed".
- The rows are in result.data, each with address, sale_price, sold_date, sale_price_disclosure and source_url. sale_price is null when the price isn't public; result.field_notes says why. Never replace a null with a guess.
- result.summary has median_sale_price and median_price_per_sqft. For the next page, send result.next_cursor as cursor.
- A search costs 1 credit; property details and comps cost 2. A free account starts with 100 credits that do not refill, so save results while testing instead of repeating a call.

Start with a short script that prints the median sale price for ZIP "80221". Then ask me what I want to build.
Paste it in, add your key as REALTYCRAWL_KEY, and it writes working code.Open in ChatGPT Open in Claude
FAQ

Common questions

Something else? Email support@realtycrawl.com and a person will reply.

Homes for sale, sold homes with sale prices, rentals, one home's facts with its price and tax history, the source's own value and rent estimates, and sold comps for any home.

Every source returns the same core fields, so one parser handles all of them. Fields only one source has go in extras.

From the public pages of Zillow, Redfin, Realtor.com, StreetEasy and Auction.com, collected signed out, facts only. We aren't affiliated with any of them. Each route is named for its source, like /v1/redfin/sold, so you always know where a row came from.

Zillow, Redfin, Realtor.com and Auction.com cover the US. StreetEasy covers New York City.

Not as numbers. In non-disclosure states such as Texas and Utah, sale prices aren't public, so sale_price can be null with a field_notes reason. We never fill it with a list price or an estimate.

Start with 100 free credits, no credit card required. Plans start at $9 a month for 1,000 credits, or pay as you go at $10 per 1,000. Most calls cost 1 credit; property and comps cost 2. Failed calls are free.

Yes. A hosted MCP server gives Claude, Cursor and VS Code one typed tool per route, and the docs come as llms.txt and an OpenAPI file.

Get sold homes as JSON in about two minutes.

Create a free account, make a key, and send your first request. Start with 100 free credits. No credit card required.