Businesses For Sale Scraper
Pricing
from $0.15 / 1,000 sale listings
Businesses For Sale Scraper
Collect public BusinessesForSale listings from search, category, franchise, and individual listing URLs or keyword targets. Get titles, prices, revenue, cash flow, locations, categories, images, and public contact links in structured dataset rows.
Pricing
from $0.15 / 1,000 sale listings
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
11
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
💼 Find public BusinessesForSale listings for acquisition research
For buyers, brokers, and market researchers, BusinessesForSale Scraper collects public business and franchise listings from BusinessesForSale.com. It saves structured rows with listing titles, prices, revenue, cash flow, locations, descriptions, categories, detail facts, images, and public contact URLs so you can compare acquisition targets in a dataset.
Use it with a BusinessesForSale search, category, franchise, or individual listing URL, with search keywords, or with both. You can search the global site or the United States, United Kingdom, Canada, Australia, and New Zealand sites, then review a small first run before collecting a larger market snapshot.
- Find resale opportunities with Franchise by reviewing public listings.
- Search Apps listings and compare their public price, location, and source details.
- Build a Car Wash shortlist from public business-for-sale listings.
- Review Restaurants listings with their public financial and location fields.
- Research Coffee Shop listings with titles, prices, and source links.
📦 Listing rows with price and source facts
Each saved row is one accepted BusinessesForSale business or franchise listing. The row keeps the first eligible match when the same source listing appears through more than one submitted URL or keyword, and sourceUrl shows the source target for that saved match. Fields can be null or empty when the source does not show them.
The Actor reads public data only. It does not log in, submit buyer forms, contact sellers, value businesses, enrich listings from third-party databases, or reveal private seller data. It preserves visible financial text and parses one amount and currency only when the source gives a clear amount.
▶️ Run a focused BusinessesForSale search
- Open the Input tab.
- Add one or more BusinessesForSale search, category, franchise, or listing URLs, or add search keywords.
- For keyword searches, choose the country site and any industry, location, sort, or financial filters.
- Keep
Listing limitsmall for a first run, such as25. - Run the Actor, then open the dataset or export it as JSON, CSV, Excel, XML, or HTML.
If both URL and keyword lists are empty, the Actor finishes with zero dataset rows and shows a clear warning that a public URL or keyword is needed. No saved-listing event is charged because no listing row is saved. Review the warning, add a target, and run again.
Pasted URLs keep their own BusinessesForSale country, category, location, and sort. The keyword and filter fields apply only to searches generated from keywords. Use maxResults to limit accepted listings across all targets, or leave it empty to return all available listings until the source is exhausted.
Use a saved category or search URL to monitor a market, check broker inventory, build a shortlist, compare asking prices, revenue, and cash flow, review public contact paths, track franchise resale opportunities, or feed listing rows into your own research workflow.
You can also export listing rows for use in spreadsheets, CRMs, BI tools, or internal research apps.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
startUrls | array of objects | BusinessesForSale search, category, franchise, or individual listing URLs you already have. |
startUrls[].url | string | One public BusinessesForSale URL to use as a source target. |
searchKeywords | array of strings | Business types, sectors, brands, or other words for generated searches. |
maxResults | integer | Optional limit for saved listings across all URLs and keyword searches. Leave it empty to return all available listings until the source is exhausted. |
includeListingDetails | boolean | Open each listing page to add fuller public details and media when available. Turn it off to use source list-page data only. |
country | string | BusinessesForSale country site for generated keyword searches: global, us, uk, ca, au, or nz. |
industry | string | Optional BusinessesForSale category slug, such as restaurants or coffee-shops, for generated searches. |
locationText | string | Optional city, region, state, or country words for generated searches. |
sortOrder | string | Order for generated searches: newest, featured, price, revenue, or cash flow in either direction. |
minPrice | integer | Lowest visible asking price for generated searches. |
maxPrice | integer | Highest visible asking price for generated searches. |
minRevenue | integer | Lowest visible revenue for generated searches. |
maxRevenue | integer | Highest visible revenue for generated searches. |
minCashFlow | integer | Lowest visible cash flow for generated searches. |
maxCashFlow | integer | Highest visible cash flow for generated searches. |
onlyDisclosedPrice | boolean | Keep only generated-search listings that show an asking price. |
onlyDisclosedRevenue | boolean | Keep only generated-search listings that show revenue. |
onlyDisclosedCashFlow | boolean | Keep only generated-search listings that show cash flow. |
Successful default input
This example is copied from the public default input for a successful Hosted QA run. The prefilled URL and keyword can be used together.
{"startUrls": [{"url": "https://www.businessesforsale.com/search/coffee-shops-for-sale"}],"searchKeywords": ["coffee shop"],"country": "global","industry": "","locationText": "","sortOrder": "newest","maxResults": 25,"includeListingDetails": true}
🧾 Output
Output shape: one listing row
| Field | Type | What it does |
|---|---|---|
listingId | string or null | Public listing identifier when the source provides one. |
url | string | Canonical public URL for the listing. |
sourceUrl | string | Search, category, franchise, or listing URL that caused this row to be saved. |
resultPosition | integer or null | Listing position in its source results when available. |
title | string | Name shown for the business or franchise listing. |
listingLabels | array of strings | Labels shown on the source listing, such as New or Franchise. |
listingLabels[] | string | One label shown on the source listing. |
listingClass | string or null | Source classification, such as business or franchise, when available. |
location | object | Source location object. |
location.display | string or null | Full location text shown by the source. |
location.country | string or null | Country shown by the source. |
location.region | string or null | Region, state, or province shown by the source. |
location.city | string or null | City shown by the source. |
description | string or null | Best public description or summary from the source. |
financials | object | Source financial values with original text and any clear parsed amount and currency. |
financials.askingPrice | object | Asking price object. |
financials.askingPrice.text | string or null | Original asking price wording from the source. |
financials.askingPrice.amount | number or null | One parsed asking price amount when the source gives a clear amount. |
financials.askingPrice.currency | string or null | Currency for the parsed asking price amount. |
financials.revenue | object | Revenue object. |
financials.revenue.text | string or null | Original revenue wording from the source. |
financials.revenue.amount | number or null | One parsed revenue amount when the source gives a clear amount. |
financials.revenue.currency | string or null | Currency for the parsed revenue amount. |
financials.cashFlow | object | Cash-flow object. |
financials.cashFlow.text | string or null | Original cash-flow wording from the source. |
financials.cashFlow.amount | number or null | One parsed cash-flow amount when the source gives a clear amount. |
financials.cashFlow.currency | string or null | Currency for the parsed cash-flow amount. |
financials.ebitda | object | EBITDA object. |
financials.ebitda.text | string or null | Original EBITDA wording from the source. |
financials.ebitda.amount | number or null | One parsed EBITDA amount when the source gives a clear amount. |
financials.ebitda.currency | string or null | Currency for the parsed EBITDA amount. |
business | object | Source categories and tags. |
business.categories | array of objects | Categories linked to the listing by the source. |
business.categories[] | object | One category linked to the listing by the source. |
business.categories[].name | string | Category name shown by the source. |
business.categories[].url | string | Public URL for the category. |
business.tags | array of strings | Tags shown by the source for the listing. |
business.tags[] | string | One tag shown by the source for the listing. |
details | object | Public facts about premises, lease, operations, support, and growth. |
details.realEstate | string or null | Real-estate or ownership term shown by the source. |
details.leaseTerms | string or null | Lease terms shown by the source. |
details.premises | string or null | Premises facts shown by the source. |
details.employees | string or null | Employee count or wording shown by the source. |
details.yearsEstablished | string or null | Years established shown by the source. |
details.tradingHours | string or null | Trading hours shown by the source. |
details.supportTraining | string or null | Support or training terms shown by the source. |
details.reasonForSelling | string or null | Reason for selling shown by the source. |
details.expansionPotential | string or null | Expansion details shown by the source. |
media | object | Direct public image URLs from the source. |
media.imageUrls | array of strings | Direct public image URLs for the listing. |
media.imageUrls[] | string | One direct public image URL for the listing. |
contact | object | Public seller or broker contact details shown by the source. |
contact.url | string or null | Public contact URL for the seller or broker. |
contact.sellerName | string or null | Seller or broker name shown by the source. |
Example listing row
This genuine row is from a successful current-beta run with listing details enabled. It shows public financial, category, media, detail, and contact fields when the source provides them.
{"listingId": "3994790","url": "https://uk.businessesforsale.com/uk/established-london-bakery-brand-with-strong-online-sales.aspx","sourceUrl": "https://uk.businessesforsale.com/uk/established-london-bakery-brand-with-strong-online-sales.aspx","resultPosition": 1,"title": "Established London Bakery Brand With Strong Online Sales For Sale","listingLabels": ["Advertisement"],"listingClass": "business","location": {"display": "Battersea, London, UK","country": "UK","region": "London","city": "Battersea"},"description": "An established London bakery, café and online cake business with a distinctive brand, loyal customer base and strong digital presence. The business…","financials": {"askingPrice": {"text": "£1,000,000 Furniture / Fixtures and Inventory / Stock included","amount": 1000000,"currency": "GBP"},"revenue": {"text": "£500K - £1M","amount": null,"currency": "GBP"},"cashFlow": {"text": "Not applicable","amount": null,"currency": null},"ebitda": {"text": null,"amount": null,"currency": null}},"business": {"categories": [{"name": "Worldwide","url": "https://www.businessesforsale.com/search/businesses-for-sale"},{"name": "Buy a Business","url": "https://uk.businessesforsale.com/uk/search/businesses-for-sale"},{"name": "Buy a Franchise Resale","url": "https://uk.businessesforsale.com/uk/search/franchise-resales-for-sale"},{"name": "Bakers and Confectioners in London","url": "https://uk.businessesforsale.com/uk/search/bakers-and-confectioners-for-sale-in-london"},{"name": "Bakers and Confectioners","url": "https://uk.businessesforsale.com/uk/search/bakers-and-confectioners-for-sale"},{"name": "Coffee Shops","url": "https://uk.businessesforsale.com/uk/search/coffee-shops-for-sale"},{"name": "E-Commerce Businesses","url": "https://uk.businessesforsale.com/uk/search/e-commerce-businesses-for-sale"},{"name": "Coffee Shops in London","url": "https://uk.businessesforsale.com/uk/search/coffee-shops-for-sale-in-london"},{"name": "E-Commerce Businesses in London","url": "https://uk.businessesforsale.com/uk/search/e-commerce-businesses-for-sale-in-london"},{"name": "Businesses in London","url": "https://uk.businessesforsale.com/uk/search/businesses-for-sale-in-london"}],"tags": []},"media": {"imageUrls": ["https://uk.businessesforsale.com/uploads/0caedbae-c5e2-4e0e-8758-b4b500aa5f7c.jpg?PeeY4sBM3vzWgA35vwjC/A==","https://uk.businessesforsale.com/uploads/eb994104-f851-4327-a542-b4b500a99f19.jpg?mkUnkIKwSH3RagK0nLE2dQ==","https://uk.businessesforsale.com/uploads/9a477251-3357-424f-8625-b4b500a9b069.jpg?wT/22hTEFTiHujkBAMZNzA=="]},"details": {"realEstate": null,"leaseTerms": "6 years with 3 years break clause. Fixed Annual rent increase of 3%.","premises": "Arch 64 is a large, modern premises combining: Customer-facing café and seating areas Cake production and decorating facilities Commercial kitchen space Storage and refrigeration Dedicated areas for cake decorating classes, afternoon teas and private events Leisure facilities including pool tables and a dartboard Collection and dispatch facilities for online orders The premises underwent significant investment prior to opening, including building works, kitchen and production equipment, refrigeration, furniture, customer areas and general fit-out. One of the key advantages of the site is that it was designed to support substantially more production than the business currently requires. The existing infrastructure provides capacity for future growth without the need for a major relocation or significant additional capital expenditure. The production operation is visible from the customer areas, which also supports the brand's positioning as a specialist bakery and creates a distinctive customer experience.","employees": "18","yearsEstablished": "2019","tradingHours": "Monday to Sunday 0730-1700","supportTraining": "Transition period, training or support is available subject to negotiations.","reasonForSelling": "My wife has been offered a once in a lifetime career opportunity in Abu Dhabi, and after many years of building our life in London, I feel that it is now my turn to support her and take this next step together. As a result, we have made the decision to relocate to Abu Dhabi. This is the principal reason I am considering the sale of Jack & Beyond. The decision is therefore driven by personal circumstances and relocation rather than by the performance or future potential of the business. Having spent years building Jack & Beyond, I would like to find the right purchaser who can take the business into its next stage of growth and realise the considerable potential that has already been created.","expansionPotential": "There is significant potential to expand Jack & Beyond using the infrastructure, brand and established online customer base already in place. The principal opportunity is to increase utilisation of the Arch 64 production facility. The site was designed with substantial spare capacity and provides the platform to scale the business to approximately 10 times its current revenue, subject to further investment in equipment, staffing and sales growth. This gives a purchaser the opportunity to grow the business substantially without the need for another major production facility in the near term. Potential growth opportunities include: Increasing online cake sales across London Further developing same day and next day cake delivery Expanding corporate gifting and corporate cake accounts Growing weddings, large celebrations and bespoke cake orders Expanding cake decorating classes and other experiences Increasing private hire and events at Arch 64 Developing afternoon tea and experiences Expanding UK wide delivery of suitable products Increasing partnerships with hotels, offices, event venues and hospitality businesses Further investment in SEO, Google Ads, social media and influencer marketing Increasing wholesale and B2B supply Introducing additional seasonal and limited edition products Potentially expanding the brand into additional London locations once the existing production capacity is more fully utilised The current production facility has been designed with growth in mind. With relatively modest additional investment in equipment, production capacity could be increased considerably, meaning that future revenue growth should not require a proportionate increase in fixed premises costs. This provides a purchaser with the opportunity to acquire not only an established trading business, but also a platform capable of supporting substantially greater turnover."},"contact": {"url": "https://uk.businessesforsale.com/uk/established-london-bakery-brand-with-strong-online-sales/contact","sellerName": null}}
💳 Pricing
This Actor uses pay-per-event pricing. You are charged for each business or franchise listing saved to the dataset. Duplicate listings, skipped inputs, empty searches, and detail-page misses do not create saved-listing charges.
Apify platform usage costs are separate. Keep your first run small if you want to inspect the output shape before collecting a larger market snapshot.
Limits and caveats
BusinessesForSale pages vary by country, category, broker, and listing type. Some listings show full financials and operations details, while others only show a short card. The Actor keeps visible source text and leaves unavailable values as null or empty arrays.
Ranges such as $100K - $250K are preserved as text. The numeric amount is only filled when the source shows one clear amount.
🔌 Integrations
Open the finished dataset in Apify and export it as JSON, CSV, Excel, XML, or HTML. You can also call the Actor through the Apify API, schedule repeat runs in Apify, or connect Apify webhooks.
❓ FAQ
What happens if I run with no URL or keyword?
The Actor finishes with zero dataset rows and shows a warning that you need a public URL or keyword. No saved-listing event is charged because no listing row is saved. Add a target and run again when you are ready.
Do pasted URLs use the keyword filters?
No. Keyword, industry, location, sort, and financial fields apply only to searches generated from keywords. Pasted URLs keep their own country, category, location, and sort.
How are duplicate listings handled?
The Actor saves the first eligible occurrence of a source listing and ignores later matches from other submitted URLs or keywords. The saved row keeps the source URL for that first match.
Should I fetch listing details?
Leave includeListingDetails off when source list-page data is enough. Turn it on when you want fuller public details and media from listing pages when available.
Why are some financial values empty?
Sellers disclose different information. The Actor keeps visible ranges and text, and it leaves unavailable values as null or empty arrays instead of guessing.
Can I contact sellers with this Actor?
No. It saves a public contact URL or seller name when the source shows one, but it does not submit forms, message sellers, or reveal private contact details.
Can I schedule repeat market checks?
Yes. You can schedule the Actor in Apify, call it through the Apify API, or export finished datasets after a run.
📝 Changelog
1.0: Expanded listing data and search options
- Added structured business and franchise listing details, direct listing targets, and optional detail enrichment.
- Added flexible keyword filters and clear guidance for empty runs.
v0.0
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Business Address Scraper - Add a listing's public website and extract physical address rows with source evidence.
- Website Emails Scraper - Find public contact email rows on a listing website for follow-up research.
- LinkedIn Company Scraper - Enrich a target company with public industry, size, location, and profile facts.
- BizQuest Business-for-Sale Scraper - Search another business-for-sale marketplace for comparable public listings.
- BizBen Businesses for Sale Scraper - Collect California acquisition listings with prices, locations, and business facts.
Made with ❤️ by Maxime Dupré