BusinessesForSale $1.5๐Ÿ’ฐ Search | URLs | Rich Output avatar

BusinessesForSale $1.5๐Ÿ’ฐ Search | URLs | Rich Output

Pricing

from $1.50 / 1,000 results

Go to Apify Store
BusinessesForSale $1.5๐Ÿ’ฐ Search | URLs | Rich Output

BusinessesForSale $1.5๐Ÿ’ฐ Search | URLs | Rich Output

From $1.5/1K. Extract businesses and franchises listed for sale on BusinessesForSale.com. Search by keywords, country, price, revenue, profit, sort, or use search/listing URLs. Returns title, asking price, revenue, cash flow, location, premises size, employees, photos, categories, and description.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

AbotAPI

AbotAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

BusinessesForSale.com Scraper

Extract businesses and franchises listed for sale on BusinessesForSale.com, the global marketplace for buying and selling companies. This scraper returns the full listing record: title, asking price, revenue, cash flow, location, premises size, employees, year established, trading hours, categories, the complete photo gallery, and the listing description. It works in two modes: build a search from filters (keywords, country, price/revenue/profit ranges, sort), or paste any search-result or listing URL. Both cover as many result pages as you ask for.

Why this scraper

  • Two ways to start: structured search filters OR paste-a-URL, both covering multiple result pages up to your page limit.
  • Rich output: 30+ fields per listing, including numeric and display values for asking price, revenue, and cash flow.
  • Detail enrichment built in: full description, every photo, premises size, employees, year established, trading hours, lease or freehold, and category tags.
  • Server-side filters that actually narrow results: keywords, country market, asking price range, revenue range, cash flow range, disclosed-only toggles, and eight sort orders.
  • Global coverage: search the worldwide catalogue or pin to a single market (US, UK, Australia, Canada, Ireland, New Zealand, South Africa).
  • Fast and economical: a results-only run is the cheapest option; detail enrichment is an opt-in surcharge that only applies to pages actually opened.
  • Resilient connections: automatic session refresh, connection rotation, and a backup pool keep long runs going.

Data you get

Sample shape, values are illustrative placeholders, not from a live listing.

FieldExample
idus:sample-coffee-shop
urlhttps://us.businessesforsale.com/us/sample-coffee-shop.aspx
titleSample Coffee Shop For Sale
listingClassbusiness
labels["New", "Business"]
searchCountryus
locationTextSample City, Sample State, US
locationDetailSample City ST 00000
countryUS
regionSample State
localitySample City
askingPriceDisplay$000,000
askingPriceValue0
priceCurrencyUSD
businessFunctionSell
revenueDisplay$000,000
revenueValue0
cashFlowDisplay$000,000
cashFlowValue0
tenureLease
sizeSqFt0,000
tradingHours0 a.m. to 0 p.m.
employees0
yearsEstablished2020
descriptionFull listing description text appears here when fetchDetails is on.
categories[{ "name": "Sample Category", "url": "https://..." }]
financials{ "Asking Price": "...", "Revenue": "...", "Cash Flow": "..." }
details{ "Size in square feet": "0,000", "Trading hours": "...", ... }
thumbnailhttps://www.businessesforsale.com/uploadsstatic/00000000mediumthumbnail.jpg
imageCount0
images["https://us.businessesforsale.com/uploads/00000000.jpg", ...]
scrapedAt2026-01-01T00:00:00.000Z

How to use

Basic search:

{
"mode": "search",
"keywords": "restaurant",
"country": "us",
"maxPages": 3,
"maxListings": 50
}

Search with financial filters:

{
"mode": "search",
"country": "uk",
"minPrice": 100000,
"maxPrice": 1000000,
"minProfit": 50000,
"profitDisclosedOnly": true,
"sortBy": "PriceAsc",
"maxPages": 5
}

Multiple markets in one run, using URL mode:

{
"mode": "url",
"urls": [
"https://us.businessesforsale.com/us/search/businesses-for-sale",
"https://australia.businessesforsale.com/australian/search/businesses-for-sale"
],
"maxPages": 3,
"maxListings": 100
}

Fast, results-only run (no detail pages):

{
"mode": "search",
"keywords": "car wash",
"country": "us",
"fetchDetails": false,
"maxPages": 10
}

Input parameters

ParameterTypeDefaultDescription
modestringsearch"search" builds a query from the filters; "url" scrapes pasted URLs.
keywordsstring""Free-text search (search mode).
countrystringglobalMarket to search: global, us, uk, australia, canada, ireland, newzealand, southafrica.
minPrice / maxPriceinteger(none)Asking price range.
minRevenue / maxRevenueinteger(none)Yearly revenue (turnover) range.
minProfit / maxProfitinteger(none)Yearly cash flow range.
priceDisclosedOnlybooleanfalseHide "on request" asking prices.
revenueDisclosedOnlybooleanfalseOnly listings that disclose revenue.
profitDisclosedOnlybooleanfalseOnly listings that disclose cash flow.
sortBystringDefaultDefault, Newest, PriceAsc, PriceDesc, RevenueAsc, RevenueDesc, ProfitAsc, ProfitDesc.
urlsarray(example)Search or listing URLs to scrape (URL mode).
fetchDetailsbooleantrueInclude the full per-listing record (description, all photos, size, employees, tenure).
pageSizestring"50"Listings per request: "50" or "100".
maxPagesinteger1Result pages to walk per search / URL.
maxListingsinteger0Stop after this many listings; 0 means unlimited.
proxyobjectresidentialResidential connection is required (see below).

Send results into your apps (MCP connectors)

Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape โ€” the Apify dataset is never changed.

What gets written to the connector: a condensed, human-readable summary of each record โ€” not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.

  1. Authorize a connector once under Apify โ†’ Settings โ†’ Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to the page where items should be created.

The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.

Output example

Sample shape, values are illustrative placeholders, not from a live listing.

{
"id": "us:sample-coffee-shop",
"url": "https://us.businessesforsale.com/us/sample-coffee-shop.aspx",
"title": "Sample Coffee Shop For Sale",
"listingClass": "business",
"labels": ["New", "Business"],
"searchCountry": "us",
"locationText": "Sample City, Sample State, US",
"locationDetail": "Sample City ST 00000",
"country": "US",
"region": "Sample State",
"locality": "Sample City",
"askingPriceDisplay": "$000,000",
"askingPriceValue": 0,
"priceCurrency": "USD",
"businessFunction": "Sell",
"revenueDisplay": "$000,000",
"revenueValue": 0,
"cashFlowDisplay": "$000,000",
"cashFlowValue": 0,
"tenure": "Lease",
"sizeSqFt": "0,000",
"tradingHours": "0 a.m. to 0 p.m.",
"employees": "0",
"yearsEstablished": "2020",
"description": "Full listing description text appears here when fetchDetails is on.",
"categories": [{ "name": "Sample Category", "url": "https://us.businessesforsale.com/us/search/sample-category" }],
"financials": { "Asking Price": "$000,000", "Revenue": "$000,000", "Cash Flow": "$000,000" },
"details": { "Location": "Sample City ST 00000", "Size in square feet": "0,000", "Trading hours": "0 a.m. to 0 p.m." },
"thumbnail": "https://www.businessesforsale.com/uploadsstatic/00000000mediumthumbnail.jpg",
"imageCount": 3,
"images": ["https://us.businessesforsale.com/uploads/00000000.jpg"],
"scrapedAt": "2026-01-01T00:00:00.000Z"
}

Plan requirement

This site only accepts residential connections, so a residential proxy is required. On Apify, the RESIDENTIAL group is included on the Starter plan and above; the free plan does not include it. If you run on the free plan or pick a datacenter connection, the run will warn you and is likely to return zero items.

You can either:

  • Use Apify Proxy with the RESIDENTIAL group (the prefilled default), or
  • Uncheck "Use Apify proxy" and paste your own residential proxy URLs.

The actor pins the connection country to US by default and rotates across a pool of clean countries automatically if an exit IP is flagged. You can change the country in the proxy field.