# BusinessesForSale Scraper - Acquisition Listings (`benthepythondev/businessesforsale-scraper`) Actor

Scrape BusinessesForSale.com listings: business title, asking price, revenue, cash flow, location, description, image and listing URL from public search pages.

- **URL**: https://apify.com/benthepythondev/businessesforsale-scraper.md
- **Developed by:** [ben](https://apify.com/benthepythondev) (community)
- **Categories:** Business, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## BusinessesForSale Scraper - Business Listings & Prices

Scrape public **BusinessesForSale.com** search results into clean acquisition and lead-generation data. Paste any filtered search URL and get structured records with the business title, asking price, revenue, cash flow, location, short description, image and listing URL.

### What does this actor do?

BusinessesForSale.com is a major marketplace for buying and selling small businesses, franchises, ecommerce brands, local services, restaurants, websites and regional companies. This actor turns its public search result pages into a dataset you can use for acquisition sourcing, broker research, private-equity prospecting, market mapping, alerts or spreadsheet analysis.

The actor is built for reliability: it reads the server-rendered search cards directly over HTTP. It does not need a browser, account, cookies, proxy or API key for the default searches, which keeps runs fast and cost-efficient.

### Input

You can use the default global search or paste one or more filtered BusinessesForSale.com URLs. For example, filter on the website by country, industry, asking price, franchise type or keyword, then paste the resulting URL into `searchUrls`.

Use `maxResults` to cap the number of records per URL. Small defaults are intentional so scheduled tests stay fast and predictable.

#### Good search URL examples

Paste URLs for broad or narrow searches: all businesses for sale, ecommerce businesses, restaurants in a specific country, franchises, businesses under a chosen asking price, service companies in one region, or category pages for online businesses and local services. The actor keeps the original `search_url` on every row, so one run can combine several searches while still keeping the output easy to segment.

### Output fields

Each dataset item can include:

- `title` - business listing title
- `url` - direct listing page URL
- `location` - city, region or country text shown in the card
- `asking_price` - asking price as displayed
- `revenue` - revenue or turnover as displayed
- `cash_flow` - cash flow or net profit as displayed
- `description` - short listing summary
- `image` - listing thumbnail when present
- `search_url` - the search URL that produced the result

### Example use cases

Use this actor to build a pipeline of acquisition targets, track newly listed businesses, compare asking prices by niche, monitor franchise categories, enrich broker outreach lists, or export marketplace data into a CRM.

Investors can use it to watch niches such as ecommerce, SaaS, manufacturing, restaurants or service companies. Brokers can use it to benchmark comparable listings. Analysts can use it to create country or industry-level snapshots without manual copy-paste.

#### Acquisition sourcing

Use filtered searches as a daily or weekly acquisition feed. For example, monitor ecommerce listings under a target price, service businesses in a region, or companies with disclosed cash flow. Export the dataset to a spreadsheet and score each opportunity by asking price, revenue, cash flow and geography.

#### Broker and seller lead generation

The listing URL gives your team a direct path back to the marketplace page. You can combine this actor with a contact-enrichment actor or manual review workflow to build a broker outreach queue, track listing freshness and avoid reviewing the same opportunity twice.

#### Market research

Because the output includes public asking price, revenue and cash-flow text when available, it is useful for high-level benchmarking. You can compare asking prices by category, spot popular niches, monitor new listings in a country or build a lightweight dashboard of acquisition-market supply.

### Notes and limits

This actor scrapes public search pages. It returns the data visible in listing cards and does not log in or access private seller information. For deeper diligence, follow the returned listing URL on BusinessesForSale.com.

Search result pages usually return 25 listings at a time. To collect across many niches, paste multiple filtered URLs instead of running a single broad query. This keeps runs stable and makes the output easier to segment.

The financial fields are returned exactly as displayed on the marketplace. Some listings disclose a precise price, revenue or cash flow. Others show ranges or omit one of the figures. The actor does not infer missing values because preserving the source wording is safer for deal review.

The default run is intentionally small. For production monitoring, create saved tasks with the exact URLs you care about and run them on a schedule. That gives you repeatable snapshots and keeps Apify usage predictable.

### Pricing

The actor uses pay-per-result pricing. You are charged for each business listing pushed to the dataset, plus a tiny actor-start event. Empty or failed runs do not create result charges.

### FAQ

#### Does this actor require a BusinessesForSale account?

No. It reads public search-result pages and does not use a login, session cookie or private API.

#### Can I scrape filtered searches?

Yes. Apply filters on BusinessesForSale.com, copy the resulting URL and paste it into `searchUrls`.

#### Does it scrape seller contact details?

It returns the public listing URL and card data. Contact workflows depend on the marketplace page and may require manual action or a separate enrichment step.

#### Can I run it every day?

Yes. The actor is designed for scheduled monitoring. Keep `maxResults` reasonable and use focused URLs for the best results.

#### Why are some price fields missing?

Some marketplace listings do not disclose every financial metric. The actor returns `null` for missing card fields instead of guessing.

### You might also like

- Website Contact Extractor - find emails and phone numbers from company websites
- Google Maps Business Scraper - collect local business leads
- Email Finder Verifier - enrich business contacts
- Craigslist Real Estate Scraper - scrape classified real-estate listings

### Keywords

BusinessesForSale scraper, business for sale scraper, acquisition leads, business listings API, business broker leads, franchise listings scraper, ecommerce business for sale, SaaS acquisition data, private equity lead generation, SMB acquisition search.

# Actor input Schema

## `searchUrls` (type: `array`):

BusinessesForSale.com search result URLs to scrape. Paste filtered searches by country, industry, price range or keyword.
## `maxResults` (type: `integer`):

Maximum listings to return per search URL.

## Actor input object example

```json
{
  "searchUrls": [
    "https://www.businessesforsale.com/search/businesses-for-sale"
  ],
  "maxResults": 10
}
````

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchUrls": [
        "https://www.businessesforsale.com/search/businesses-for-sale"
    ],
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("benthepythondev/businessesforsale-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchUrls": ["https://www.businessesforsale.com/search/businesses-for-sale"],
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("benthepythondev/businessesforsale-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchUrls": [
    "https://www.businessesforsale.com/search/businesses-for-sale"
  ],
  "maxResults": 10
}' |
apify call benthepythondev/businessesforsale-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=benthepythondev/businessesforsale-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "BusinessesForSale Scraper - Acquisition Listings",
        "description": "Scrape BusinessesForSale.com listings: business title, asking price, revenue, cash flow, location, description, image and listing URL from public search pages.",
        "version": "1.0",
        "x-build-id": "wMfbtcdufrLbSpb8P"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/benthepythondev~businessesforsale-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-benthepythondev-businessesforsale-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/benthepythondev~businessesforsale-scraper/runs": {
            "post": {
                "operationId": "runs-sync-benthepythondev-businessesforsale-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/benthepythondev~businessesforsale-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-benthepythondev-businessesforsale-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "BusinessesForSale.com search result URLs to scrape. Paste filtered searches by country, industry, price range or keyword.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum listings to return per search URL.",
                        "default": 25
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
