# Businesses For Sale Scraper — Price, Revenue & Broker Leads (`haketa/businessesforsale-scraper`) Actor

Extract business-for-sale listings from BusinessesForSale.com across the US, UK, Australia and worldwide. Get asking price, revenue, cash flow, sector, location and broker details as clean, sortable data. Filter by price, turnover or profit and export to Excel, CSV, JSON or API.

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

## Pricing

from $1.50 / 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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

<h1 align="center">Businesses For Sale Scraper</h1>

<p align="center"><b>Export live business-for-sale listings from BusinessesForSale.com — asking price, revenue, cash flow, sector, location & broker details — as clean, sortable data. No code required.</b></p>

<p align="center">
  <img src="https://img.shields.io/badge/Platform-Apify-1a1a1a?style=for-the-badge" alt="Apify">
  <img src="https://img.shields.io/badge/Market-Business%20%26%20M%26A-0aa06e?style=for-the-badge" alt="Business & M&A">
  <img src="https://img.shields.io/badge/No--code-friendly-2f6fed?style=for-the-badge" alt="No-code">
  <img src="https://img.shields.io/badge/Editions-US%20%C2%B7%20UK%20%C2%B7%20AU%20%C2%B7%20World-f59e0b?style=for-the-badge" alt="Editions">
  <img src="https://img.shields.io/badge/Export-JSON%20%C2%B7%20CSV%20%C2%B7%20Excel%20%C2%B7%20API-8b5cf6?style=for-the-badge" alt="Export">
</p>

***

### ⚡ At a glance

| | |
|---|---|
| 🌍 **Coverage** | 50,000+ businesses across 130+ countries — US, UK, Australia & the worldwide edition |
| 💷 **Financials** | Asking price, revenue/turnover and cash flow as **real numbers you can sort and filter** |
| 🏢 **Depth** | Sector, location, description, year established, staff, real-estate terms, financing, broker |
| 🔎 **Targeting** | By keyword, category, region, price range, revenue range or profit range |
| 🧾 **Output** | Flat, spreadsheet-ready rows — JSON, CSV, Excel, HTML table or API |
| 🚫 **No-code** | Pick an edition, add keywords, hit start — no URLs, IDs or scripts needed |
| ⚙️ **Optional detail mode** | One click adds the full description, exact financials, broker & operational facts |

***

### What is the Businesses For Sale Scraper?

**Businesses For Sale Scraper** turns the listings on **BusinessesForSale.com** — one of the largest global marketplaces for buying and selling businesses, franchises and business assets — into a structured dataset you can actually work with.

Instead of clicking through thousands of listings, copy-pasting asking prices and losing track of which deals you've seen, you run this Actor and get a **clean table of every business for sale** that matches your criteria: the name, the asking price, the revenue, the cash flow, where it is, what sector it's in, when it was established, and everything the seller discloses — ready to sort in Excel, drop into your CRM, or feed to your own model.

Whether you're a **business broker** building a lead list, a **searcher or search fund** sourcing acquisition targets, a **private-equity or M\&A analyst** mapping the lower-middle market, a **franchise buyer** comparing opportunities, or an **investor** screening deals by multiple, this scraper gives you the raw material in seconds.

> 💡 **Why it stands out:** every money field comes back as a **sortable number** (not just "$250,000" text), and the optional detail mode pulls **operational facts most tools ignore** — year established, staffing, management type, real-estate terms, financing, reason for selling and expansion potential.

***

### ✨ Key features

- 🗺️ **Every edition** — search the **US, UK, Australian** or **worldwide/international** edition. Currency and country are detected automatically.
- 🔤 **Keyword search** — find businesses by what they *are*: `coffee shop`, `car wash`, `dental practice`, `HVAC`, `Amazon FBA`, `SaaS`, `laundromat`… add as many keywords as you like.
- 🗂️ **Category browsing** — target a whole sector or special list with a category slug (e.g. `restaurants-for-sale`, `hotels-for-sale`, `price-reduced-businesses-for-sale`).
- 💰 **Financial filters** — narrow by **asking price**, **revenue/turnover** and **cash flow/net profit** ranges, or keep only listings with **disclosed figures**.
- 🔢 **Numbers, not strings** — `askingPrice`, `revenue` and `cashFlow` are parsed to clean integers plus a currency code, so you can sort, filter and calculate multiples instantly.
- 📍 **Structured location** — city, region/state and country split into separate columns.
- 🧩 **Optional detail enrichment** — flip one switch to add the full listing description, exact revenue & cash flow, broker name, what's included in the price, real-estate terms, staffing, financing and more.
- 🔗 **Direct URL mode** — paste any BusinessesForSale.com search URL (region pages, sub-categories, complex filters) and the Actor scrapes it, pagination and all.
- 📤 **Export anywhere** — download as JSON, CSV, Excel or HTML, or pull straight from the Apify API into Google Sheets, Airtable, a webhook or your data warehouse.

***

### 🎯 Use cases

<details open>
<summary><b>Business brokers & M&A advisors</b></summary>

- Build a **lead list of businesses for sale** in your territory and sector overnight.
- Track **new listings** and **price reductions** to know when to reach out.
- Benchmark **asking prices, revenue multiples and cash-flow multiples** across a category.

</details>

<details>
<summary><b>Searchers, search funds & acquisition entrepreneurs</b></summary>

- Screen the entire market by **price, revenue and profit** in one pass.
- Filter to **owner-financed**, **relocatable** or **home-based** businesses that fit your model.
- Export a shortlist with **reason for selling** and **year established** for first-pass diligence.

</details>

<details>
<summary><b>Private equity & investment analysts</b></summary>

- Map the **lower-middle-market** deal flow across countries and sectors.
- Compute **EV/revenue** and **EV/EBITDA-style** multiples from clean numeric fields.
- Monitor a niche over time to spot **valuation trends** and supply.

</details>

<details>
<summary><b>Franchise buyers & franchisors</b></summary>

- Compare **franchise resale opportunities** and independent alternatives side by side.
- Include or exclude **franchise opportunities** with a single toggle.

</details>

<details>
<summary><b>Market research & lead generation</b></summary>

- Size a market: how many **restaurants / gyms / auto shops** are for sale, and at what prices?
- Enrich a **CRM** with structured business-for-sale records.
- Feed listings into a **valuation model, newsletter or dashboard**.

</details>

***

### 🚀 How it works

1. **Choose an edition** — US, UK, Australia or International.
2. **Say what you want** — add search keywords, a category slug, or paste search URLs. Leave everything blank to browse all businesses.
3. *(Optional)* **Add filters** — price, revenue or profit ranges; disclosed-figures-only; include franchises; fetch full details.
4. **Run it** — the Actor pages through the results, de-duplicates them and returns a clean dataset.
5. **Export** — JSON, CSV, Excel or API.

No accounts, cookies or scripts to manage — just fill in the form and press **Start**.

***

### 📥 Input

| Field | Type | Description |
|---|---|---|
| `country` | select | Edition to search: `us`, `uk`, `australia` or `international` (worldwide). |
| `searchTerms` | list | Keywords to search, e.g. `["coffee shop", "car wash"]`. Each is searched separately. |
| `category` | text | Optional category slug, e.g. `restaurants-for-sale`, `hotels-for-sale`, `price-reduced-businesses-for-sale`. |
| `searchUrls` | list | Optional — paste full BusinessesForSale.com search URLs to scrape directly. |
| `sort` | select | Order results: newest, price ↑/↓, revenue ↓ or profit ↓. |
| `minAskingPrice` / `maxAskingPrice` | number | Asking-price range (in the edition's currency). |
| `minRevenue` / `maxRevenue` | number | Revenue / turnover range. |
| `minCashFlow` / `maxCashFlow` | number | Cash-flow / net-profit range. |
| `disclosedFinancialsOnly` | boolean | Keep only listings that disclose their price & turnover. |
| `includeDetails` | boolean | Open each listing for the full description, exact financials, broker & operational facts. |
| `includeFranchises` | boolean | Also include franchise / business-opportunity results. |
| `maxItems` | number | Stop after this many results (0 = no limit). |
| `proxyConfiguration` | proxy | Residential proxies are strongly recommended; the Actor geo-matches them to the edition. |

#### Example inputs

**1. Coffee shops for sale in the US (quick lead list)**

```json
{
  "country": "us",
  "searchTerms": ["coffee shop"],
  "maxItems": 100
}
```

**2. Profitable UK businesses between £100k and £500k, richest data**

```json
{
  "country": "uk",
  "minAskingPrice": 100000,
  "maxAskingPrice": 500000,
  "sort": "ProfitDesc",
  "disclosedFinancialsOnly": true,
  "includeDetails": true,
  "maxItems": 200
}
```

**3. A whole category, worldwide**

```json
{
  "country": "international",
  "category": "restaurants-for-sale",
  "maxItems": 300
}
```

**4. A specific search URL (region + filters you built on the site)**

```json
{
  "country": "us",
  "searchUrls": ["https://us.businessesforsale.com/us/search/auto-repair-businesses-for-sale"],
  "maxItems": 150
}
```

***

### 📤 Output

Each business is one row. Example (list mode):

```json
{
  "listingId": "3984401",
  "title": "A Modern Fitness Lifestyle And Coffee Brand",
  "url": "https://us.businessesforsale.com/us/a-modern-fitness-lifestyle-and-coffee-brand.aspx",
  "image": "https://us.businessesforsale.com/uploadsstatic/a3984401mediumthumbnail.jpg",
  "description": "This is a well-established lifestyle brand known for blending fitness and specialty coffee...",
  "askingPrice": 295000,
  "askingPriceText": "$295,000",
  "priceCurrency": "USD",
  "revenue": 477000,
  "revenueText": "$477,000",
  "cashFlow": 100000,
  "cashFlowText": "$100K - $250K",
  "city": "Salt Lake City",
  "region": "Utah",
  "locationCountry": "United States",
  "locationDisplay": "Salt Lake City, Utah, US",
  "isNew": true,
  "country": "us",
  "searchTerm": "coffee shop"
}
```

With **`includeDetails: true`**, each row also gains the full description and operational facts:

```json
{
  "yearsEstablished": "3",
  "employees": "4",
  "managementType": "This business is owner operated.",
  "realEstate": "Real Property Included",
  "relocatable": "This business can be relocated",
  "homeBased": "No",
  "financing": "Owner financing is available.",
  "reasonForSelling": "Owner retiring after 20 years.",
  "supportAndTraining": "6-week hands-on training and introduction period.",
  "priceIncludes": "Furniture / Fixtures included",
  "expansionPotential": "Add new services, hire staff, expand to nearby areas.",
  "competition": "Steady demand with limited direct overlap in the area.",
  "broker": "Empire Business Management",
  "brokerReference": "71138",
  "images": ["https://us.businessesforsale.com/uploads/6b7e0c45.jpg"]
}
```

#### Output fields

**Coverage key:** 🟢 almost every record · 🟡 present when the seller discloses it · ⚪ occasional / detail-mode only

##### 🏷️ Identity

| Field | Coverage | Description |
|---|---|---|
| `listingId` | 🟢 | Stable numeric ID of the listing |
| `title` | 🟢 | Business headline |
| `url` | 🟢 | Direct link to the listing |
| `image` | 🟢 | Main photo or category image |
| `description` | 🟢 | Summary (full text in detail mode) |
| `isNew` | 🟡 | Flagged as a newly added listing |
| `isFranchise` | ⚪ | Franchise / opportunity (only when included) |

##### 💰 Financials

| Field | Coverage | Description |
|---|---|---|
| `askingPrice` | 🟢 | Asking price as a **number** (null when "on request") |
| `askingPriceText` | 🟡 | Asking price as displayed |
| `priceCurrency` | 🟢 | ISO currency code (USD, GBP, EUR, AUD…) |
| `revenue` | 🟡 | Revenue / turnover as a **number** |
| `revenueText` | 🟡 | Revenue as displayed (may be a band, e.g. `$250K - $500K`) |
| `cashFlow` | 🟡 | Cash flow / net profit as a **number** |
| `cashFlowText` | 🟡 | Cash flow as displayed |
| `priceIncludes` | ⚪ | What the price includes (fixtures, property…) — detail mode |

##### 📍 Location

| Field | Coverage | Description |
|---|---|---|
| `city` | 🟡 | City / town |
| `region` | 🟢 | State / region |
| `locationCountry` | 🟢 | Country |
| `locationDisplay` | 🟢 | Full location as shown on the site |

##### 🏢 Business facts *(detail mode)*

| Field | Coverage | Description |
|---|---|---|
| `yearsEstablished` | 🟢 | Years in business / year established |
| `employees` | 🟡 | Number of staff |
| `managementType` | 🟡 | Owner-operated, managed, absentee… |
| `realEstate` | 🟡 | Leasehold, freehold or property included |
| `relocatable` | 🟡 | Whether the business can be relocated |
| `homeBased` | ⚪ | Whether it's home-based |
| `financing` | 🟡 | Owner / seller financing availability |
| `reasonForSelling` | 🟡 | Seller's stated reason |
| `supportAndTraining` | 🟡 | Handover / training offered |
| `tradingHours` | ⚪ | Opening / trading hours |
| `premisesDetails` | ⚪ | Premises information |
| `expansionPotential` | 🟡 | Growth opportunities |
| `competition` | 🟡 | Market / competition notes |

##### 🧑‍💼 Seller

| Field | Coverage | Description |
|---|---|---|
| `broker` | ⚪ | Listing broker / agency (when broker-listed) |
| `brokerReference` | 🟡 | Seller's own reference number |
| `images` | ⚪ | Photo gallery URLs — detail mode |

***

### 🔎 Sample searches

| Goal | How |
|---|---|
| 🍽️ Restaurants for sale in the US | `country: us`, `category: restaurants-for-sale` |
| ☕ Coffee businesses anywhere | `country: international`, `searchTerms: ["coffee"]` |
| 🏨 Hotels between $1M–$5M | `category: hotels-for-sale`, `minAskingPrice: 1000000`, `maxAskingPrice: 5000000` |
| 🧼 Owner-financed service businesses | `searchTerms: ["cleaning","laundromat"]`, `includeDetails: true` |
| 📉 Recently price-reduced deals | `category: price-reduced-businesses-for-sale`, `sort: ModifiedDesc` |
| 🏡 Relocatable / home-based businesses | `category: relocatable-businesses-for-sale`, `includeDetails: true` |

***

### 🔌 Integrations & automation

Send your results wherever you work — no glue code needed:

- **Google Sheets / Excel** — one-click export or scheduled sync.
- **Airtable, Notion, HubSpot, Pipedrive** — via Apify integrations or webhooks.
- **Zapier / Make** — trigger flows when new listings appear.
- **Slack / email** — get notified on each run.
- **API & webhooks** — pull the dataset straight into your app, warehouse or model.
- **Schedules** — run daily or weekly to track new listings and price changes automatically.

***

### ▶️ Step-by-step

1. Click **Try for free / Start**.
2. Pick your **edition** (e.g. United States).
3. Add **keywords** (e.g. `coffee shop`) or a **category**, or leave blank for everything.
4. *(Optional)* Set **price / revenue / profit** filters and toggle **Fetch full details**.
5. Set **Max results** (start with 100).
6. Press **Start** and watch the live log.
7. Open the **Storage → Dataset** tab and **Export** to JSON, CSV or Excel.

***

### ❓ FAQ

**Which editions can I scrape?**
The United States (`us`), United Kingdom (`uk`), Australia (`australia`) and the worldwide **International** edition, which spans 130+ countries and multiple currencies.

**Can I search by industry or sector?**
Yes — either use **keywords** (e.g. `dental practice`, `car wash`) or a **category slug** taken from the site's URL (e.g. `restaurants-for-sale`). You can also paste a full search URL.

**Are the prices real numbers I can sort?**
Yes. `askingPrice`, `revenue` and `cashFlow` are parsed to integers, with a separate `priceCurrency` and the original display text preserved. Ranges like `$250K - $500K` are captured as text, with the numeric field set to the lower bound.

**Why are some financial fields empty?**
Many sellers list "on request" or hide their figures. Those fields are left empty rather than guessed. Turn on **Fetch full details** to recover exact numbers that some listings only show on the individual page, and use **disclosed-figures-only** to skip hidden ones entirely.

**What does "Fetch full details" add?**
The full description plus operational facts — year established, staff, management type, real-estate terms, financing, reason for selling, expansion potential and the broker name. It opens each listing, so it's a little slower and costs a bit more.

**Do I get contact details / emails?**
The Actor returns the listing broker/agency name and reference when shown. Direct seller emails and phone numbers are gated behind the site's own contact form and are not scraped.

**How many results can I get?**
As many as the search returns — set `maxItems` to `0` for no limit. Large sectors have tens of thousands of listings.

**How do I get exactly the listings I see on the website?**
Build the search on BusinessesForSale.com, copy the URL from your browser, and paste it into **Search URLs**. The Actor scrapes that exact result set, including all pages.

**Do I need proxies?**
Residential proxies are strongly recommended for reliable results, and the Actor matches them to the edition automatically. You can supply your own proxy configuration if you prefer.

**Is franchise data included?**
Franchise opportunities are excluded by default so your list stays focused on individual businesses for sale. Toggle **Include franchises** to add them (flagged with `isFranchise`).

**In what formats can I export?**
JSON, CSV, Excel, HTML table, plus the Apify API and integrations.

***

### 💡 Tips

- Start with `maxItems: 100` and no details to preview the data, then scale up.
- Combine a **category** with **price/revenue filters** for a tight, high-signal list.
- Use **`sort: ModifiedDesc`** on a schedule to capture **new listings** as they appear.
- Turn on **Fetch full details** only for your final shortlist to keep runs fast and cheap.
- For niche regions or filters that aren't in the form, build the search on the site and paste the **URL**.

***

### ⚠️ Limitations & responsible use

- Some sellers withhold financials ("on request"); those fields are intentionally left empty.
- Direct seller contact details are behind the site's contact form and are **not** collected.
- Revenue and cash flow are sometimes published as **bands** — the numeric field uses the lower bound and the text field keeps the original range.
- Availability and fields depend on what each seller chooses to publish.
- Use the data responsibly and in line with applicable laws, the target website's terms and any privacy regulations that apply to you. This tool is intended for market research, lead generation and analysis of publicly listed businesses.

***

<p align="center"><b>Turn 50,000+ businesses for sale into a spreadsheet in minutes. Pick an edition, press Start. 🚀</b></p>

# Actor input Schema

## `country` (type: `string`):

Which regional edition of BusinessesForSale.com to search. Each edition covers a different market and currency.

## `searchTerms` (type: `array`):

Find businesses by keyword, for example "coffee shop", "car wash" or "dental practice". Add as many as you like — each keyword is searched separately. Leave empty to browse all businesses (or a category below).

## `category` (type: `string`):

Browse a specific category instead of everything. Use a slug exactly as it appears in the site URL, e.g. `restaurants-for-sale`, `bars-for-sale`, `hotels-for-sale`, `farms-for-sale`, `price-reduced-businesses-for-sale` or `relocatable-businesses-for-sale`. Leave empty for all businesses.

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

Paste one or more full BusinessesForSale.com search-result URLs to scrape them directly. Great for regions, sub-categories or filter combinations that aren't covered by the fields above. Pagination is handled automatically.

## `sort` (type: `string`):

How to order the results before collecting them.

## `minAskingPrice` (type: `integer`):

Only businesses with an asking price at or above this amount (in the edition's currency).

## `maxAskingPrice` (type: `integer`):

Only businesses with an asking price at or below this amount.

## `minRevenue` (type: `integer`):

Only businesses with annual revenue (turnover) at or above this amount.

## `maxRevenue` (type: `integer`):

Only businesses with annual revenue at or below this amount.

## `minCashFlow` (type: `integer`):

Only businesses with cash flow (net profit) at or above this amount.

## `maxCashFlow` (type: `integer`):

Only businesses with cash flow at or below this amount.

## `disclosedFinancialsOnly` (type: `boolean`):

Skip listings that hide their asking price and turnover ("On request"). Useful when you only want deals with real numbers.

## `includeDetails` (type: `boolean`):

Open every listing page to add the full description, exact revenue & cash flow, broker name, what's included in the price, real-estate terms, reason for selling and photo gallery. Richer data, but slower and a bit more expensive.

## `includeFranchises` (type: `boolean`):

Also include franchise / business-opportunity results that appear alongside the businesses for sale.

## `maxItems` (type: `integer`):

Stop after collecting this many businesses in total. Set 0 for no limit.

## `proxyConfiguration` (type: `object`):

Residential proxies are strongly recommended for reliable results. The Actor automatically matches the proxy country to the edition you choose.

## Actor input object example

```json
{
  "country": "us",
  "searchTerms": [
    "coffee shop",
    "car wash",
    "gym"
  ],
  "category": "restaurants-for-sale",
  "searchUrls": [
    "https://us.businessesforsale.com/us/search/restaurants-for-sale/california"
  ],
  "sort": "",
  "disclosedFinancialsOnly": false,
  "includeDetails": false,
  "includeFranchises": false,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Open to view, filter and export every collected business — asking price, revenue, cash flow, location, sector and broker details (JSON, CSV, Excel).

# 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 = {
    "country": "us",
    "searchTerms": [
        "coffee shop"
    ],
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("haketa/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 = {
    "country": "us",
    "searchTerms": ["coffee shop"],
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("haketa/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 '{
  "country": "us",
  "searchTerms": [
    "coffee shop"
  ],
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call haketa/businessesforsale-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/nVhydl49m7jwoU0Uv/builds/LFh6rTCoWSpYe8lNR/openapi.json
