FSBO Scraper avatar

FSBO Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
FSBO Scraper

FSBO Scraper

[๐Ÿ’ฐ $5.0 / 1K] Extract For Sale By Owner property listings from FSBO.com. Get direct seller contact info (name + phone), price, address, beds/baths, square footage, photos, and full property description. Search by state, city, ZIP code, or paste FSBO.com URLs.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

3

Bookmarked

23

Total users

5

Monthly active users

16 days ago

Last modified

Share

Pull For Sale By Owner listings from FSBO.com at scale โ€” direct seller names, prices, addresses, photos, beds/baths/sqft, lat/lng, full descriptions, HOA fees, year built, and seller phone numbers extracted from listing text. Covers all 50 US states plus DC across a live catalog of more than 20,000 active owner-listed properties. Built for real estate investors sourcing off-MLS deals, lead-generation agencies hunting direct-owner contacts, and market analysts tracking FSBO inventory shifts without paying for MLS subscriptions or building their own scraper.

Why This Scraper?

  • 3x cheaper than the leading competitor โ€” $5.00 per 1,000 results, down to $4.25 on the Gold discount tier, against $15.00 for the nearest FSBO extractor on the Apify Store, with at least as many fields per row.
  • All 50 US states plus DC, 20,000+ live listings โ€” every state returns results, from Florida and Texas at the deep end (2,000+ and 1,500+ listings each) down to Rhode Island and DC with a couple of dozen apiece.
  • Multi-location runs in one invocation โ€” mix state names ("Florida"), 2-letter codes ("FL"), city+state ("Austin, TX"), and 5-digit ZIPs ("78641") in a single searchLocations array.
  • Owner names, not agent names โ€” sellerName carries the seller's own name on every owner-claimed listing, a field MLS-aggregator scrapers never carry at all. State-wide sweeps of Florida and Texas came back with it filled on more than 60% of rows, and roughly one row in three across all search types. A best-effort sellerPhone is pulled from the listing text on top.
  • Latitude and longitude on every row โ€” stitched into the output so you can map results, geofence by drive-time, or compute distance-to-feature in your own pipeline.
  • Seven property type filters โ€” Single Family, Condo, Townhouse, Multi-Family, Mobile / Manufactured Home, Land / Lot, or Other (mixed-use).
  • Pre-computed pricePerSqft and daysOnMarket โ€” price per square foot on every row that carries a square-footage figure, which is the large majority of them, and days on market wherever FSBO.com publishes a list date, so your downstream queries skip the math.
  • Inline photo arrays โ€” every photo the seller uploaded, as absolute URLs with sort order and primary-photo flags preserved. Most listings carry a single photo; premium-plan sellers routinely post 30 or more, and the deepest galleries run past 150.
  • Friendly zero-result messaging โ€” runs that return no matches name the locations and filters tried in the status message, so you can copy-paste an alternative without digging through logs.

Use Cases

Investor Sourcing & Off-MLS Deal Flow

  • Surface owner-listed properties below MLS comps for direct-to-seller offers
  • Track new FSBO inventory daily in your target ZIPs and counties
  • Build a buy-box pipeline filtered by min beds, max price, and property type

Lead Generation for Real Estate Services

  • Build direct-owner contact lists for listing-agent recruiting (sellers who tried FSBO and may convert)
  • Source leads for title, escrow, photography, staging, and home-inspection services
  • Target investor-friendly markets with bulk seller name + phone exports

Market Research & FSBO Inventory Tracking

  • Monitor FSBO market share by state, city, or ZIP over time
  • Detect price-per-square-foot trends in owner-listed vs. MLS-listed segments
  • Quantify days-on-market for FSBO inventory in growth markets

Comparable-Property & Valuation Analysis

  • Pull comparable sqft/bed/bath/year-built sets for CMA reports
  • Feed FSBO asking prices into iBuyer and AVM training datasets
  • Layer FSBO inventory onto MLS heatmaps for full-market coverage

Real-Estate-Tech Data Ingestion

  • Power FSBO-specific listing aggregators with a fresh feed
  • Enrich CRM records with FSBO listing activity by owner name
  • Build alerting on new FSBO listings in saved geographies

Getting Started

Simple State Sweep

The simplest possible run โ€” pull the first 100 active FSBO listings in Florida:

{
"searchLocations": ["Florida"],
"maxResults": 100
}

Multi-Location with Filters

Mix a state, a city, and a ZIP in one run, narrowed to single-family homes between $250k and $750k with at least 3 beds:

{
"searchLocations": ["TX", "Austin, TX", "78641"],
"propertyType": "single_family",
"minPrice": 250000,
"maxPrice": 750000,
"minBeds": 3,
"maxResults": 500
}

Cheap Fast Card-Level Run

Skip the per-listing lookup when you only need card-level data (price, full address, beds/baths/sqft, year built, description, primary photo). Owner names need the full lookup, so leave it on if you are building a contact list:

{
"searchLocations": ["California"],
"includePropertyDetails": false,
"maxResults": 1000
}

Paste a URL or Sweep Everything

Copy a search results page or a listing page straight out of your browser's address bar, or set maxResults to 0 to sweep an entire small-inventory state:

{
"startUrls": [
"https://fsbo.com/search/list/miami-fl",
"https://fsbo.com/search/123-main-st-austin-tx-78701"
],
"searchLocations": ["Vermont"],
"maxResults": 0
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
startUrlsstring[][]Paste FSBO.com URLs copied from your browser: a results page (https://fsbo.com/search/list/state/fl, https://fsbo.com/search/list/miami-fl/land) or a single listing page. Search filters in the URL (state, city, price, beds, type) are honored as-is. Mix freely with searchLocations.
searchLocationsstring[]["Florida"]Search by US state name ("Florida"), 2-letter code ("FL"), city + state ("Austin, TX"), or 5-digit ZIP ("78641"). Add multiple entries to sweep several markets in one run.

Filters

ParameterTypeDefaultDescription
propertyTypeselectAll TypesAll Types, Single Family Home, Condo, Townhouse, Multi-Family, Mobile / Manufactured Home, Land / Lot, or Other (mixed-use, unusual). Applies to search locations only.
minPriceintegernullOnly return listings priced at or above this amount in USD. Leave blank for no minimum.
maxPriceintegernullOnly return listings priced at or below this amount in USD. Leave blank for no maximum.
minBedsintegernullOnly return listings with at least this many bedrooms. Ignored for Land and Other.
minBathsintegernullOnly return listings with at least this many bathrooms. Ignored for Land and Other.

Output

ParameterTypeDefaultDescription
includePropertyDetailsbooleantrueOpen each listing to capture the owner's name, county, neighborhood, school district, lot size, HOA fee, room-level features, and the complete photo array. Disable for faster, cheaper card-level runs โ€” price, address, beds/baths/sqft, year built, description, and the primary photo all still come through.

Limits

ParameterTypeDefaultDescription
maxResultsinteger100Hard cap on total listings across all URLs and searches. Set to 0 for no cap. The run stops exactly on this number, so you are never charged for more listings than you asked for. Caps below 50 return the first page of results, the smallest page FSBO.com serves.

Output

One flat row per listing โ€” no nested children, no duplicate rows. Photos are inlined as an array of absolute URLs.

{
"listingId": "clxyz0123abc",
"url": "https://fsbo.com/search/123-main-st-austin-tx-78701",
"source": "fsbo.com",
"scrapedAt": "2026-05-16T14:30:00+00:00",
"title": "Charming 3-Bed Bungalow Near Downtown",
"headline": "Charming 3-Bed Bungalow Near Downtown",
"propertyType": "SINGLE_FAMILY",
"status": "ACTIVE",
"price": 525000,
"priceUsd": 525000,
"pricePerSqft": 315,
"address": "123 Main St, Austin, TX 78701",
"street": "123 Main St",
"city": "Austin",
"state": "TX",
"zipCode": "78701",
"county": "Travis",
"neighborhood": "East Austin",
"latitude": 30.2672,
"longitude": -97.7431,
"beds": 3,
"baths": 2,
"sqft": 1665,
"lotSize": 6500,
"yearBuilt": 1972,
"description": "Updated bungalow with open floor plan. Call (512) 555-1234 to schedule a viewing...",
"features": ["Open Floor Plan", "Hardwood Floors", "Updated Kitchen"],
"interiorFeatures": ["Walk-In Closet", "Granite Counters"],
"utilities": ["City Water", "Natural Gas"],
"hoaFee": null,
"primaryPhotoUrl": "https://fsbo.com/api/fsbo/photos?key=abc-001",
"photoUrls": ["https://fsbo.com/api/fsbo/photos?key=abc-001", "https://fsbo.com/api/fsbo/photos?key=abc-002"],
"photos": [
{ "url": "https://fsbo.com/api/fsbo/photos?key=abc-001", "sortOrder": 0, "isPrimary": true }
],
"sellerName": "Jane Smith",
"sellerPhone": "(512) 555-1234",
"mlsListed": false,
"isUnclaimed": false,
"publishedAt": "2026-04-01T00:00:00Z",
"daysOnMarket": 45
}

Core Identity

FieldTypeDescription
listingIdstringUnique FSBO.com listing identifier
urlstringDirect link to the listing on FSBO.com
sourcestringAlways "fsbo.com"
scrapedAtstringISO timestamp of data extraction
titlestringReady-to-use label for every row. The seller's own headline when they wrote one, otherwise built from the property itself, e.g. 2 bed, 2 bath Condo - 1148 Redwood Ln, Gulf Breeze, FL
headlinestringSeller's listing headline, exactly as written. Blank on most listings because most sellers never add one
propertyTypestringSINGLE_FAMILY, CONDO, TOWNHOUSE, MULTI_FAMILY, LAND, MOBILE_HOME, OTHER
statusstringListing status (ACTIVE, etc.)

Address & Location

FieldTypeDescription
addressstringComplete one-line address, ready to paste into a mail merge or a mapping tool, e.g. 1148 Redwood Ln, Gulf Breeze, FL 32563
streetstringStreet line on its own, without the city, state or ZIP
citystringCity name
statestringTwo-letter state code
zipCodestring5-digit ZIP code
countystringCounty name
neighborhoodstringNeighborhood name when present
schoolDistrictstringSchool district name when present
latitudenumberDecimal latitude
longitudenumberDecimal longitude

Pricing

FieldTypeDescription
pricenumberAsking price in USD
priceUsdnumberThe same number as price, kept so existing spreadsheets and workflows keep working. Build new work on price
pricePerSqftnumberDerived: price divided by square footage
hoaFeenumberMonthly HOA fee in USD when present
hoaNamestringHOA name when present

Property Details

FieldTypeDescription
bedsnumberNumber of bedrooms
bathsnumberNumber of bathrooms
sqftnumberLiving area in square feet
lotSizenumberLot size value
lotUnitstringUnit FSBO.com states for lotSize โ€” almost always acres, occasionally sqft. Returned only when lotSize has a value
yearBuiltnumberYear constructed
descriptionstringFull seller-written listing description
featuresstring[]Exterior and overall features
interiorFeaturesstring[]Interior features (flooring, fixtures, etc.)
utilitiesstring[]Utilities and connections

Photos

FieldTypeDescription
primaryPhotoUrlstringAbsolute URL of the primary listing photo
photoUrlsstring[]All listing photos as a flat array of absolute URLs
photosobject[]Photos with {url, sortOrder, isPrimary}. sortOrder follows FSBO.com's own gallery order, lowest first, and is filled whether or not you turn on the per-listing lookup

Seller & Listing Meta

FieldTypeDescription
sellerNamestringOwner's own name. Filled on every owner-claimed listing โ€” roughly one row in three overall, and 60%+ on state-wide sweeps
sellerPhonestringPhone number lifted from the listing text when the seller typed one in. Around 1 row in 12
mlsListedbooleanTrue if also cross-listed on MLS
isUnclaimedbooleanTrue if the listing was MLS-scraped rather than owner-posted
planNamestringSeller's plan tier on FSBO.com

Dates & Derived

FieldTypeDescription
publishedAtstringISO date the seller listed the property. FSBO.com publishes this on owner-claimed listings only
daysOnMarketnumberDerived from publishedAt โ€” days since the listing went live, so it follows the same availability

Tips for Best Results

  • City names need a state. Use "Austin, TX", not just "Austin" โ€” bare city names cross-collide across states and are rejected. State name alone ("Florida") or 2-letter code ("FL") is fine for state-wide sweeps.
  • Smaller-inventory states are catalog-exhaustible. Vermont, Wyoming, and North Dakota each sit around 100 active listings, and Rhode Island and DC under 25. Set maxResults: 0 to sweep one of them completely โ€” the run stops cleanly when the catalog ends.
  • Toggle includePropertyDetails for speed vs. depth. Off gives you fast card-level rows (price, address, beds/baths/sqft, year built, description, primary photo). On adds owner names, county, school district, lot size, HOA fees, room-level features, and the complete photo array.
  • Claimed listings are the gold standard for lead generation. Every row with isUnclaimed: false carries the seller's real name in sellerName, and every row with isUnclaimed: true does not. It's a clean split with no partial cases, so filtering on that single flag gives you a contact list with no empty rows in it. Broad state sweeps return the most names.
  • sellerPhone is best-effort from the listing text. It only appears when the seller typed a 10-digit number into their own write-up, which is about 1 row in 12. Treat sellerName as the reliable owner-identity field and the phone as a bonus.
  • ZIP codes are for pinning a neighborhood, not for volume. FSBO inventory is thin per ZIP: even the densest ZIPs carry only around 20 listings and plenty carry none at all. Use a ZIP when you want one exact pocket of a metro, and "Austin, TX" or "TX" when you want a workable sample size.
  • Mix startUrls and searchLocations in one run. Paste a few specific listing URLs you already know about alongside broader location sweeps, and they all flow into the same dataset.

Pricing

From $4.25 per 1,000 results โ€” $5.00 undiscounted, still roughly 3x cheaper than the leading FSBO scraper on the Apify Store at $15.00 per 1,000. No compute or time-based charges: you pay per result, plus a small fixed start fee each time a run begins. Bronze, Silver, and Gold subscribers pay progressively less, and the table below shows the total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.50$0.475$0.45$0.425
1,000$5.00$4.75$4.50$4.25
10,000$50.00$47.50$45.00$42.50
100,000$500.00$475.00$450.00$425.00

A "result" is any property row in the output dataset. The per-run start fee and standard platform fees (storage, data transfer) are additional and depend on your Apify plan.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom APIs on run completion
  • Apify API โ€” Full programmatic access

FSBO.com is a public marketplace where sellers list their properties for buyers to discover. This actor is designed for legitimate real estate market analysis, comparable-property research, investor sourcing, and lead generation for real estate services. Users are responsible for complying with applicable laws and FSBO.com's terms of service, including any limits on automated access and downstream use of contact information. Do not use extracted data for spam, harassment, or any illegal purpose. Be especially mindful of telephone consumer protection rules (TCPA) and CAN-SPAM when contacting sellers from this dataset.