BusinessesForSale Scraper avatar

BusinessesForSale Scraper

Pricing

from $0.99 / 1,000 results

Go to Apify Store
BusinessesForSale Scraper

BusinessesForSale Scraper

Extract business listings from BusinessesForSale with complete details, including business name, price, location, category, revenue, cash flow, description, images, broker information, and listing URL. Ideal for market research, lead generation, investment analysis, and business intelligence.

Pricing

from $0.99 / 1,000 results

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

9 days ago

Last modified

Share

Collect public business-for-sale listings from BusinessesForSale.com. Give the Actor a search URL, or a keyword and location, and it saves listing records to an Apify dataset.

The output covers business details, asking prices, revenue, cash flow, location, labels, tags, contact links, and listing URLs. It works for buyers, brokers, analysts, and lead generation teams that need search results in a structured file instead of a browser tab.

What it collects

FieldDescription
listing_idListing or advert identifier from the search card
titleBusiness listing title
urlListing page URL
descriptionSummary shown on the search card
locationLocation text from the card
regionRegion when the location includes one
countryCountry code or country name when available
asking_priceDisplayed asking price
priceNumeric asking price
currencyPrice currency code
revenueDisplayed revenue or turnover
sales_revenueSales revenue, or the revenue value when the card uses one label
cash_flowDisplayed cash flow
growthGrowth value on M&A Vault cards
profitabilityProfitability value on M&A Vault cards
leverageLeverage value on M&A Vault cards
listing_typeBusiness, franchise, or teaser
labelsBadges such as Business, High Value, or Price Reduced
tagsTags such as Real Property, Lease, or Quick Sale
is_premiumTrue when the card is marked premium
contact_urlContact seller URL when the card provides one
image_urlListing image URL
positionPosition on the search page
source_urlSearch page that produced the record
source_typesearch_page or json_ld
scraped_atCollection timestamp

How it works

  1. The Actor reads the run input.
  2. It opens the supplied search URL, or builds a search from the keyword and location.
  3. It reads the 25 listing cards on each page.
  4. It follows the site's own next-page link.
  5. It saves each page to the dataset as soon as the page is parsed.
  6. It stops when it reaches results_wanted, max_pages, or the last page.

Input parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoNoneBusinessesForSale search or category URL. Takes priority over keyword and location.
keywordStringNoGas StationSearch keyword used when startUrl is empty.
locationStringNoNoneLocation used with the keyword, or alone when the keyword is empty.
results_wantedIntegerNo20Maximum number of listings to save.
max_pagesIntegerNo5Maximum number of pages to process for each source.
proxyConfigurationObjectNo{}Optional proxy. The Actor starts direct and uses Apify Proxy if the site blocks a request. Set useApifyProxy to false to disable the fallback.

startUrl wins when it is present. Without a URL, the Actor builds a search from keyword and location. The default keyword keeps runs with no search input working.

Usage examples

Scrape a category URL

{
"startUrl": "https://www.businessesforsale.com/search/hotels-for-sale",
"results_wanted": 20,
"max_pages": 2
}

Search by keyword

{
"keyword": "Gas Station",
"results_wanted": 20,
"max_pages": 1
}

Search by keyword and location

{
"keyword": "Restaurant",
"location": "Florida",
"results_wanted": 50,
"max_pages": 3
}

Sample output

{
"listing_id": "3992541",
"title": "COAM Waiver! Gas Station Property In Cordele, GA",
"url": "https://us.businessesforsale.com/us/coam-waiver-gas-station-property-in-cordele-ga.aspx",
"description": "THE COAM OPPORTUNITY: Seller will obtain a COAM waiver for the property! The Buyer will NOT be locked into the existing COAM agreement!",
"location": "Cordele, Georgia, US",
"region": "Georgia",
"country": "US",
"asking_price": "$399,000",
"price": 399000,
"currency": "USD",
"revenue": "$342,000",
"sales_revenue": "$342,000",
"cash_flow": "$132,000",
"listing_type": "business",
"labels": ["Business"],
"tags": ["Real Property"],
"contact_url": "https://us.businessesforsale.com/us/coam-waiver-gas-station-property-in-cordele-ga/contact",
"image_url": "https://www.businessesforsale.com/uploadsstatic/a3992541mediumthumbnail.jpg",
"position": 1,
"source_url": "https://www.businessesforsale.com/search?formName=searchForm&newSearch=Search&keywords=Gas+Station",
"source_type": "search_page",
"scraped_at": "2026-10-22T07:12:00.289Z"
}

Reliability

  • The Actor follows the site's pagination instead of guessing page numbers.
  • Blocked, rate-limited, and server-error responses are retried with a different browser profile.
  • When direct access is blocked on Apify, the Actor can retry through Apify Proxy groups. A proxy you configure is used from the start.
  • An unsupported page-size parameter is removed before the first request.
  • If the result cards change, the Actor can use the page's embedded structured data as a fallback.
  • A search with no matches is saved as an empty run, not reported as a crash.
  • A 404 or 410 URL error is reported in the log and fails the run when no listings were collected.

Limits

  • The source returns 25 listings per page. Use max_pages and results_wanted to control run size.
  • The Actor reads public search pages only. It does not log in.
  • Some sellers hide price, revenue, or cash flow. Those cards keep text such as On request and leave the numeric field empty.
  • Listing detail pages are not opened. The dataset comes from the search cards.
  • Category URLs can change on the source. A supplied URL is used as given, except for the page-size cleanup.

Integrations

  • Google Sheets for review and sharing.
  • CSV, Excel, JSON, and XML exports from the Apify dataset.
  • Webhooks to start a workflow after a run.
  • Make, Zapier, or your own service through the Apify API.

FAQ

Can I use a search URL instead of a keyword?

Yes. Put the URL in startUrl. It takes priority over keyword and location.

Can I search without a URL?

Yes. Leave startUrl empty and provide keyword, location, or both.

Can I collect more than one page?

Yes. Raise max_pages and results_wanted. The Actor follows the site's next-page link until it reaches a limit.

Why are some financial fields missing?

Some sellers do not publish asking price, revenue, or cash flow. The Actor leaves the numeric price empty when the card says On request or Undisclosed.

Why does a large results_wanted value still stop early?

The source may have fewer matches than requested, or max_pages may be lower than the number of pages needed. Raise max_pages or use a broader search.

Can I export the dataset to CSV or Excel?

Yes. Apify datasets export to CSV, Excel, JSON, XML, and other formats.

Scraping public data can be legal, but you are responsible for following applicable laws, the site's terms, and privacy rules. Use the Actor for lawful research and compliance-friendly workflows.

This Actor collects publicly available business listing data. Users are responsible for how they use the data and for complying with applicable laws, platform terms, and data protection rules.