BusinessesForSale Scraper
Pricing
$0.75 / 1,000 scraped listings
BusinessesForSale Scraper
Scrape BusinessesForSale listings from search, category, listing URL, or keyword targets. Export prices, revenue, cash flow, locations, tags, images, seller links, and scrape metadata.
Pricing
$0.75 / 1,000 scraped listings
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
💼 Find BusinessesForSale listings without manual copy-paste
BusinessesForSale Scraper collects public business opportunity listings from BusinessesForSale.com and saves them as structured rows you can export, filter, schedule, or send through the Apify API. Use it to turn search pages, category pages, listing URLs, or keyword searches into a clean dataset with titles, listing links, locations, asking prices, revenue, cash flow, tags, images, seller contact links, and scrape metadata.
This actor is useful when you are researching acquisition targets, monitoring business-for-sale markets, building lead lists, checking broker inventory, or comparing opportunities across countries and categories. Start with one search URL or a short keyword such as coffee shop or apps, set a small listing limit, and review the dataset before scaling up.
🔎 What this BusinessesForSale scraper does
- Scrapes BusinessesForSale search, category, and listing URLs.
- Builds BusinessesForSale keyword searches for global, US, UK, Canada, Australia, and New Zealand source sites.
- Saves one dataset row per accepted business listing.
- Extracts source identifiers, title, listing URL, result position, listing status, location, country, description text, financial fields, tags, media URLs, seller contact URL, and scrape time.
- Deduplicates listings inside each run by listing ID or URL.
- Can try to enrich rows from individual listing pages when available.
- Works with Apify exports, schedules, webhooks, integrations, and API clients.
The actor focuses on public listing data visible on BusinessesForSale. It does not log in, submit buyer forms, message sellers, value businesses, or enrich listings from third-party databases.
📦 What data you get
Each row is one BusinessesForSale listing. Some fields can be empty when the source page does not show that value.
listingId: source listing identifier when availabletitle: listing titleurl: BusinessesForSale listing URLsourceUrl: search, category, or listing URL that produced the rowresultPosition: position on the source results pagelistingStatus: visible listing labels such as new or businesslocationTextandcountry: source location text and inferred countrydescriptionText: short listing description when shownfinancials: asking price, revenue, cash flow, and EBITDA text with parsed amount and currency when possiblebusiness: categories and tags shown on the listing cardmedia: image URLs and image countbroker: seller contact URL when shownrowStatus,missingFields,detailPageFetched, anddetailUnavailableReason: scrape completeness metadatascrapedAt: ISO timestamp for the row
🚀 How to run
- Open the Input tab.
- Add one BusinessesForSale search, category, or listing URL, or enter one or more search keywords.
- For keyword searches, choose the country site and optional industry or location text.
- Set
Listing limitto a small number such as25for your first run. - Run the actor, then open the dataset or export it as JSON, CSV, Excel, XML, or HTML.
For the easiest first run, keep the prefilled coffee shop search and a modest limit. Pasted URLs keep their own source domain, while keyword searches use the country and filter fields you choose.
⚙️ Input options
Search or listing URLs: BusinessesForSale search, category, or listing URLs you already have.Search keywords: business opportunity keywords such ascoffee shop,apps,restaurants, orcar wash.Country for keyword searches: source country site used when the actor builds a keyword search URL.Industry slug: optional BusinessesForSale slug such asrestaurantsorcoffee-shops.Location text: optional text to include in generated search URLs when the source supports it.Sort listings by: sort order for generated keyword searches.Listing limit: maximum number of listings to save across all inputs.Fetch detail pages when available: tries to enrich rows from listing pages; search-card rows are still saved when detail pages are unavailable.
🧾 Example output
{"listingId": "3954882","title": "Food Tracking Application","url": "https://uk.businessesforsale.com/uk/food-tracking-application.aspx","sourceUrl": "https://www.businessesforsale.com/search/apps-for-sale","resultPosition": 1,"listingStatus": "New Business","locationText": "Truro, Cornwall, UK","country": "UK","descriptionText": "Food Tracking App summary","financials": {"askingPrice": { "text": "On request", "amount": null, "currency": null },"revenue": { "text": "£1,520,000", "amount": 1520000, "currency": "GBP" },"cashFlow": { "text": "£15,652,000", "amount": 15652000, "currency": "GBP" },"ebitda": { "text": null, "amount": null, "currency": null }},"business": { "categories": [], "tags": ["Real Property", "Relocatable"] },"media": { "imageUrls": ["https://www.businessesforsale.com/uploadsstatic/example.jpg"], "imageCount": 1 },"broker": { "contactUrl": "https://uk.businessesforsale.com/uk/food-tracking-application/contact" },"rowStatus": "partial","missingFields": [],"detailPageFetched": false,"detailUnavailableReason": "Listing detail page was unavailable, so this row uses search-card data","scrapedAt": "2026-05-25T00:00:00.000Z"}
💳 Pricing
This actor uses pay-per-event pricing. You are charged for each saved BusinessesForSale listing, so duplicate or skipped listings are not billed as successful listing events.
Platform usage costs are separate Apify platform costs. Keep your first run small if you want to inspect the output shape before collecting a larger market snapshot.
⚠️ Limits and caveats
BusinessesForSale pages can show different fields depending on country, category, broker, and listing type. The actor keeps the row useful when some fields are missing and marks completeness with rowStatus, missingFields, and detail-page metadata.
Detail pages may be unavailable through the current source access path. When that happens, the actor still saves the search-card data and explains the detail-page gap in detailUnavailableReason.
❓ FAQ
🔎 Can I scrape by keyword instead of URL?
Yes. Add terms such as coffee shop, apps, or restaurants to Search keywords. The actor builds BusinessesForSale search URLs from those terms and the selected country site.
✉️ Does this actor contact sellers?
No. It only saves public listing data and the visible seller contact URL when the listing card shows one.
📅 Can I schedule repeat market checks?
Yes. Because the actor runs on Apify, you can schedule it, call it from the API, connect webhooks, or export finished datasets to your workflow.
📝 Changelog
- 0.0: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Other actors
- Business Address Scraper ↗ - Find physical business addresses from company websites.
- Website Emails Scraper ↗ - Extract public contact emails from websites for lead research.
- LinkedIn Company Scraper ↗ - Export public LinkedIn company profile facts for target accounts.
- Product Hunt Scraper ↗ - Collect startup launch data for prospecting and market research.
- Google Shopping Ads Scraper ↗ - Track sponsored product ads, prices, and merchants from Google Search.
Made with ❤️ by Maxime Dupré