US Real Estate Listings (RentCast, licensed, no scraping) avatar

US Real Estate Listings (RentCast, licensed, no scraping)

Pricing

$10.00 / 1,000 listing delivereds

Go to Apify Store
US Real Estate Listings (RentCast, licensed, no scraping)

US Real Estate Listings (RentCast, licensed, no scraping)

US property listings (for-sale and rental) by zip: price, status, days on market, MLS number, price history, from a licensed RentCast feed. No listing agent/office field. Covers 3 pilot zips only: 78704, 90028, 60614; more as demand appears. Billed only if address, price and status are present.

Pricing

$10.00 / 1,000 listing delivereds

Rating

0.0

(0)

Developer

Kevin

Kevin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

US Real Estate Listings — licensed RentCast feed, refreshed on a schedule

An independent tool. It is not affiliated with, endorsed by, or operated by RentCast. It resells RentCast API data under RentCast's own resale licence (API Terms of Use, Section 1) and reports what RentCast returns.

No scraper. This Actor never touches Zillow, Realtor.com or any other listing site's HTML. Its data comes from RentCast's licensed /listings/sale and /listings/rental/long-term endpoints, refreshed on a schedule and bundled into this Actor at build time.

No listing agent or office contact field is ever emitted — not redacted after the fact, never requested from the source in the first place. See "Why no agent contact info" below.


What you get per listing

FieldMeaning
listing_idRentCast's own listing identifier
market_typesale or rentalprice means different things for each
formatted_address, address_line1, address_line2, city, state, zip_code, countyWhere
latitude, longitude
property_type, bedrooms, bathrooms, square_footage, lot_size, year_builtWhat
status, price, listing_typeActive/pending/etc, sale price or monthly rent, standard/new-construction/etc
listed_date, removed_date, created_date, last_seen_date, days_on_marketWhen
mls_provider, mls_numberWhich MLS, when RentCast supplies one
hoa_feeWhen present
price_change_historyEvery listing/price event RentCast has on file for this address, oldest first
chargedWhether this row cost you anything
not_charged_reasonWhy it did not, in plain English

Why no agent contact info

RentCast API Terms Section 2(iv) forbids using the data "to send automated queries to any website or to send any unsolicited commercial e-mail." A customer who received a listing agent's name, phone or email and used it to cold-contact that agent would put RentCast's own data into exactly the conduct that clause forbids. listing_agent_* and listing_office_* are dropped in the refresh step, before anything reaches this Actor's own bundled data — a bug downstream cannot resurrect a field that was never kept.


The billing rule, stated plainly

One event: listing delivered, charged only when the cached row has an id, an address, a price and a status. A row missing any of those is delivered free, with not_charged_reason saying which.

Coverage — read this before you rely on it

This Actor answers from a cache refreshed on a schedule, not a live call per request. SUMMARY.json in the run's key-value store reports cache_refreshed_at and cache_markets_covered on every run, so you can see exactly how fresh the data you received was and which zip codes are served at all. A zip code outside cache_markets_covered returns zero rows and costs nothing — it is not an error, and it is not this Actor guessing at coverage it does not have.

Coverage is capped by RentCast's own request quota (RentCast bills per request, not per record): only a limited number of zip codes can be refreshed on any given schedule. Ask for the zip codes you actually need covered if yours is not yet in cache_markets_covered.


Input

{
"markets": ["78704"]
}

One zip code per line, up to 200 per run.

Output

{
"listing_id": "2505-Bluebonnet-Ave,-Unit-5,-Austin,-TX-78704",
"market_type": "sale",
"formatted_address": "2505 Bluebonnet Ave, Unit 5, Austin, TX 78704",
"city": "Austin",
"state": "TX",
"zip_code": "78704",
"property_type": "Townhouse",
"bedrooms": 2,
"bathrooms": 2.5,
"square_footage": 1519,
"status": "Active",
"price": 685900,
"listing_type": "New Construction",
"days_on_market": 468,
"mls_provider": "UnlockMLS",
"mls_number": "2231134",
"hoa_fee": 300,
"price_change_history": [ ... ],
"charged": true,
"not_charged_reason": ""
}

A SUMMARY.json lands in the key-value store with the counts, a breakdown of every reason a listing was not charged, and the cache's own freshness — so a stale refresh looks like a stale refresh, not like a quiet drop in your results.