Craigslist Real Estate Scraper - FSBO Listings & Rentals
Pricing
from $16.00 / 1,000 results
Craigslist Real Estate Scraper - FSBO Listings & Rentals
Craigslist FSBO homes and rentals for any city, with a by-owner flag and a 0-100 lead score on every listing, plus price, beds, baths, size, coordinates, photos, posting text and contact availability. Filter by owner or dealer, price, bedrooms, keyword and distance.
Pricing
from $16.00 / 1,000 results
Rating
0.0
(0)
Developer
Ben
Maintained by CommunityActor stats
3
Bookmarked
156
Total users
5
Monthly active users
4 days ago
Last modified
Categories
Share
Craigslist Real Estate Scraper — FSBO, Rentals & Off-Market Property Data
Extract real estate listings from Craigslist — for-sale-by-owner (FSBO) homes, rentals, rooms, sublets and vacation properties — as clean, structured data with an rule-based lead score on every listing. It's the off-market inventory that never reaches Zillow or Realtor.com: direct-from-owner deals with no MLS gatekeepers. Export to JSON/CSV/Excel, run on a schedule, call via API, or pipe into Make / Zapier / n8n.
How the lead score is calculated: a fixed formula adds up to 30 points for a
by-owner listing (by_owner), 25 for photos and contact availability, 25 for price
and size, and 20 for complete details, so FSBO listings with photos and a way to reply
rank first (full table below).
Transparent pricing: $0.02 per returned listing plus a $0.00005
actor-start event per GB of run memory (at least one). At the standard 512 MB
setting, 10 listings cost about $0.20005 before account discounts.
🏠 What is the Craigslist Real Estate Scraper?
It turns any Craigslist real-estate search into a structured dataset. Give it a city (and optional filters for FSBO, price, bedrooms or a postal-code radius) and it returns every matching listing with full details, photos, contact availability and a 0–100 lead score that ranks the best opportunities first — so agents, investors and property managers can work the hottest leads without manual browsing.
What data does it extract?
- Price, bedrooms, bathrooms, square footage and property attributes
- Title & full description (body text)
- Location, map coordinates and the exact posting time (spot fresh listings)
- Up to 20 photos per listing
- Owner flag (
by_owner) — by-owner vs agent/dealer. Exact for sale (rea); a wording-based heuristic for rentals, rooms, sublets and vacation posts - Contact availability, the reply link, the Craigslist post ID and the listing URL
- Lead score (0–100) from a fixed, published formula (see below)
⬇️ Input
Run it two ways — search a city with filters, or pass exact listing URLs:
| Field | Description |
|---|---|
mode | search (by city + filters) or direct_urls |
city | Craigslist city code, e.g. sfbay, newyork, losangeles, chicago |
category | apa (apartments/rent), rea (for sale), roo (rooms), sub (sublets), vac (vacation) |
listingType | all, owner (by owner only), or dealer. For apa, roo, sub and vac the owner split is a heuristic read from the posting text, and the run opens up to 3x maxListings postings to find matches |
minPrice / maxPrice / minBedrooms | Standard filters |
postalCode + searchDistance | Radius search around a ZIP |
maxListings | Cap the run (1–500) |
includePhotos / includeContactInfo / includeLeadScore | Toggle extras |
Example input
{"mode": "search","city": "sfbay","category": "rea","listingType": "owner","minPrice": 200000,"maxPrice": 900000,"minBedrooms": 2,"maxListings": 100,"includeLeadScore": true}
⬆️ Output
Every listing is one clean row (view as a table, or export JSON / CSV / Excel):
{"url": "https://www.craigslist.org/view/d/san-francisco-2br-condo-for-sale-by/abc123","post_id": "7976797995","title": "2BR Condo — For Sale By Owner, Mission District","price": 825000,"bedrooms": 2,"bathrooms": 1,"sqft": 950,"location": "24th St near Mission St","latitude": 37.7522,"longitude": -122.4184,"posting_date": "2026-10-02T10:38:41-0700","photos": ["https://images.craigslist.org/..."],"body": "Charming 2 bedroom condo with hardwood floors...","attributes": ["2BR / 1Ba", "950ft2", "condo", "w/d in unit"],"reply_link": "https://sfbay.craigslist.org/reply/sfo/reo/7976797995","by_owner": true,"housing_type": "/ 2br - 950ft2 -","contact_available": true,"lead_score": 84,"scraped_at": "2026-06-26T15:30:00.000Z"}
💡 Use cases
- 🎯 Agents — FSBO lead generation: find owners selling without an agent (a warm listing-appointment lead) before competitors do.
- 💰 Investors — off-market deals: motivated, un-bid-up sellers and distressed properties for flips and wholesale.
- 🏢 Property managers & landlords: benchmark rental rates, amenities and vacancy by neighborhood.
- 📊 Market research: track pricing and supply trends across cities over time.
🧮 How the lead score works
The score is a fixed formula, not a model. The same listing always gets the same score, and you can recompute it from the output fields:
| Part | Points |
|---|---|
FSBO (by_owner) | 30 if by owner, 10 otherwise |
| Photos | 15 for 10+, 10 for 5–9, 5 for 1–4 |
Contact (contact_available) | +10 (photos and contact together max 25) |
| Price | 15 for $500k+, 12 for $200k+, 8 for $100k+, 5 below |
Size (sqft) | 10 for 2,000+ ft², 7 for 1,000+, 3 below (price and size together max 25) |
| Completeness | 5 each for price, bedrooms, size and at least one photo (max 20) |
80–100 = hot lead, 60–79 = good, 40–59 = average. The price bands are built for
homes for sale, so rentals score lower on price by design; compare rentals with each
other, not with sale listings. With includePhotos or includeContactInfo off,
those parts count as zero.
❓ FAQ
How do I scrape Craigslist real estate listings? Pick a city code and optional
filters (FSBO, price, bedrooms, radius), then Run. You get structured listings with
price, beds, baths, photos, contact info, FSBO detection and a lead score.
Can I get For Sale By Owner (FSBO) leads? Yes — set listingType: owner to keep
only by-owner listings; each is flagged and scored.
How reliable is the owner filter on rentals? Craigslist has a by-owner flag only for real estate for sale. For apartments, rooms, sublets and vacation rentals the actor reads the title, description and attributes: 'by owner' wording marks an owner, broker, realty, management or fee wording marks a broker, and a post with neither is treated as an owner post. Treat it as a heuristic and check the leads that matter.
Does it cover rentals too? Yes — apartments, rooms, sublets and vacation rentals, as well as homes for sale.
Do I need an API key or login? No. It reads public Craigslist data — just give it a city and filters.
How do I find my city code? It's the subdomain on craigslist.org (e.g.
sfbay.craigslist.org). Popular: sfbay, newyork, losangeles, chicago,
seattle, boston, miami, austin, denver, sandiego.
Can I search a specific ZIP area? Yes — set postalCode and searchDistance
(miles) for a radius search.
How many listings can it return? Up to your maxListings cap of 500 per run.
One Craigslist results page lists about 350 postings; for more, the Actor reads the
same search in other sort orders and saves each posting once.
How fast is it? The Actor reads Craigslist's pages directly, without a browser.
In a test run on October 25, 2026 (San Francisco Bay Area, FSBO homes for sale,
maxListings: 40, 512 MB) it saved 40 listings in 9.4 seconds. Larger runs read
one posting page per listing, so time grows with maxListings.
What if a search finds nothing, or the city code is wrong? The run finishes without rows and the status message says why. Only the start fee is charged.
What happens with a short timeout or a spending limit? The run stops cleanly before its time limit, or when your maximum charge is used up. The listings saved so far stay in the dataset and the status message says why it stopped.
Can I run it on a schedule or via API? Yes — schedule recurring runs in Apify, call it via the API/SDK, or connect it to Make, Zapier or n8n.
Is scraping Craigslist legal? It extracts publicly available listing data. Use it responsibly for research and lead generation, and follow applicable laws and Craigslist's terms.
⚠️ Empty fields and what they mean
- No phone number or email, ever. Craigslist hides the poster's contact behind
its reply page and relays email through anonymous addresses. The Actor gives you
the
reply_linkto that page andcontact_available: true. When a posting has no reply button (the poster turned replies off, or the post was flagged or expired),reply_linkis an empty string andcontact_availableisfalse. - Location fields depend on the poster.
locationis empty andlatitude/longitudearenullwhen the poster didn't place a map pin.bedrooms,bathroomsandsqftarenullwhen the posting's attribute box leaves them out (19 of 40 listings in the October 25, 2026 test run of San Francisco FSBO homes for sale had nosqft); they are never guessed from the text.
🔗 You might also like
- FSBO Real Estate Scraper — for-sale-by-owner listings
- Zumper Rental Scraper — Zumper rentals
- Redfin Scraper — homes for sale, rent & sold
- OnTheMarket Scraper — UK property listings
Keywords: Craigslist scraper, Craigslist real estate scraper, FSBO leads, for sale by owner, real estate lead generation, off-market properties, rental listings scraper, Craigslist API, property data, real estate investor leads, motivated sellers, Zillow alternative data.