ssh.autos

Catalog / Real estate

REAL ESTATE · UNITED STATES

Redfin: US Real Estate Listings

Redfin API for US homes for sale and sold homes.

PER CALL · X402 / MPP From $0.02 per call 1 endpoint at api.ssh.autos. Pay in USDC, no account. See the endpoint
APIFY STORE Public actor Run it with your Apify account: bulk runs, schedules and exports. Open on Apify

About this data

Redfin API for US homes for sale and sold homes. Paste any Redfin search URL or pick cities and ZIP codes; get one record per home with price USD, address, beds, baths, square feet, home type, photos and the listing URL, plus optional sale and tax history.

From the actor’s Apify Store listing. The per-call endpoint may return a bounded subset; its own description is below.

Buy per call over x402

One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.

POST /v1/us/redfin/listings

Live Redfin property listings for one US city (Austin by default), optionally by property type or sold search: price in USD, address, city, state, bedrooms, bathrooms, floor area in square feet, property type where shown, images and listing URL.

PRICE$0.02 per call, in USDC
RESULTUp to 20 per call
PAYMENTx402 or MPP · no account

For sold searches, the card price is the last asking price.

First results page only, no detail history, up to 20 listings per call; the residential proxy is included in the price.

Input

Send a JSON body to POST https://api.ssh.autos/v1/us/redfin/listings.

FieldTypeRequiredNotes
citystringoptionalone of Austin, TX, Seattle, WA, San Francisco, CA, Los Angeles, CA, Chicago, IL; default "Austin, TX"
propertyTypestringoptionalone of house, condo, townhouse, apartment, multi-family, land, mobile
soldbooleanoptionaldefault false
maxResultsintegeroptional1–20; default 10

Returned fields

The answer is JSON: records, a list of up to 20, and summary, the run status and counts. Each record has these 16 fields; a field the source does not publish comes back null.

16 fields per record
FieldTypeNotes
listing_keystringStable record key 'redfin.com:{homeId}', or the canonical URL when the id is unknown.
urlstringCanonical listing detail URL on www.redfin.com (/{ST}/{City}/{addr}/home/{id}); query strings and fragments removed.
price_usdintegerAsking price in integer USD ('$625,000' → 625000, '$849K' → 849000, '$1.2M' → 1200000). Null for monthly rent figures ('$2,900/mo') and missing prices.
addressstringStreet address ('123 Main St Unit 4, Austin, TX 78704' → '123 Main St Unit 4').
citystringCity, from the listing address or the /{ST}/{City}/.../home/{id} detail URL.
statestringTwo-letter US state code from the detail URL path or the listing address.
bedsintegerBedrooms from the 'N bd' card stat. Null when absent (Studio).
bathsnumberBathrooms from the 'N ba' card stat (halves allowed: 2.5).
sqftintegerLiving area in sq ft from the 'N,NNN sqft' card stat.
property_typestringHome type: house, condo, townhouse, apartment, multi-family, land or mobile. Set from the search's home type filter when it has exactly one; otherwise from the listing data, which labels most homes '…
imagesarray of stringsListing image URLs (ssl.cdn-redfin.com / cdn.cdn-redfin.com).
historyarray of objectsProperty-history events from the listing's detail page (issue #251, present only on includeHistory-enriched records): {date (ISO-8601), event, price} rows — Listed/Sold/Price change/… newest-first; a…
tax_historyarray of objectsTax-assessment rows from the detail page's taxHistoryPanel: {year, property_tax_usd, land_additions_usd}.
last_soldobjectThe newest Sold event from the detail-page history: {date, price} (price null for pre-internet '*' sales). Null when the property has no Sold event.
sourcestringSource slug 'redfin.com'.
scraped_atstringUTC ISO-8601 collection timestamp.

Example call

TERMINAL · $0.02 PER RUN
npx agentcash@latest fetch https://api.ssh.autos/v1/us/redfin/listings -m POST -b '{"city": "Austin, TX", "maxResults": 3}'

The example values come from the API spec or the actor’s own sample input. Running it is a paid call.

What is and isn’t charged

Free

  • Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
  • Invalid input and source failures are not charged.

Prefer a subscription? Run it on Apify

This data source is a public actor on the Apify Store: Redfin Scraper: US Real Estate Listings API. Run it with your Apify account and plan for larger, scheduled or exported runs; it may offer more input options than the per-call endpoint.

Open on Apify

How x402 payment works

  1. Your client sends the request. The API answers 402 Payment Required with the price and where to pay.
  2. The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
  3. The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.

The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.

Machine-readable: openapi.json · llms.txt

Some links to Apify are affiliate links. We may earn a commission if you sign up and become a paying customer.