# BizQuest Scraper — Businesses for Sale Listings (`solidcode/bizquest-com-scraper`) Actor

\[💰 $0.95 / 1K] Extract business-for-sale listings from BizQuest across all 50 states and DC — asking price, gross revenue, year established, employee counts, broker contact, photos and the full seller write-up. Filter by state, category, price, cash flow, revenue or recency, or paste a search URL.

- **URL**: https://apify.com/solidcode/bizquest-com-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.95 / 1,000 listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## BizQuest Scraper — Businesses for Sale Listings

Pull business-for-sale listings from BizQuest at scale — asking price, revenue, the full seller
write-up, broker contact and location, one flat row per listing. Built for business brokers, search
funds and acquisition entrepreneurs, and M\&A analysts who need a current, filterable deal pipeline
instead of twenty saved searches and a copy-paste habit.

### Why This Scraper?

- **22 search filters, every one measured against live results** — from a California base of 5,901 listings, a keyword narrows it to 1,534, a $200,000 asking-price ceiling to 2,205, and a 7-day recency window to 188. Nothing on the Input tab is decorative.
- **All 50 states plus Washington DC, each one checked to return listings** — California 5,965 at the top, North Dakota 36 at the bottom, and no dead entries in the list.
- **26 business categories, taken from BizQuest's own top-level list** — Food & Beverage, Retail Stores, Health & Medical, Auto & Automotive, Wholesale & Distribution and 21 more. Two further categories exist on the site but return nothing, so they were left out rather than shipped as controls that quietly find zero results.
- **5 listing types in plain English** — Start-Up Business, Asset Sale, Established Business, Commercial Real Estate for Sale and Commercial Real Estate for Lease, mapped from the site's numeric codes and agreeing on 900 sampled rows.
- **53 fields per listing** — 18 on every search row, plus 35 more with `enrichDetails`: the full seller write-up, growth opportunities, reason for selling, competition, facilities, year established, employee counts, building square footage, inventory and FF\&E values, county, ZIP and coordinates.
- **Screen on seller's discretionary earnings, which BizQuest never publishes** — a $200,000 cash-flow floor cuts a 5,901-listing California search to 1,207 server-side. The filter is real, the figure is withheld, and this actor says so instead of handing you an empty column and calling it data.
- **Withheld values arrive empty, never wrong** — BizQuest writes `-1` for an undisclosed EBITDA and `0, 0` for an unset map pin. Across 90 detail records, 26 of 71 EBITDA figures and 17 of 39 coordinate pairs would otherwise have shipped as -$1 and a point off the coast of West Africa. Both come back as null.
- **700 of the 750 business listings in a 5-state, 3-category sample carry an asking price, and all 750 carry at least one photo URL** — prices start at $7,500, and not one row carried a zero or a negative.
- **Broker contact that lands in your CRM ready to call** — contact name, phone, brokerage and the broker's BizQuest profile URL on premium listings, beside the listing's own city, county and ZIP.

### Use Cases

#### Business Brokerage & M\&A

- Watch every new listing in your territory with `listedWithinDays: 7` and hear about a competitor's mandate the week it goes live.
- Build comparable-transaction sets by category and state — asking price, gross revenue, year established and employee count all sit on one row.
- Track asking-price cuts across your patch with `priceReduced` and time an approach.
- See which brokerages are winning listings in a market by grouping rows on `brokerCompany`.

#### Search Funds & Acquisition Entrepreneurs

- Screen a whole state against your thesis in one run — revenue floor, asking-price band, founding year and category compose into a single search.
- Shortlist absentee-owner and home-based businesses that fit a part-time or remote operating model.
- Narrow to listings where the seller will finance part of the sale when your capital stack needs it.
- Read the seller's own write-up, reason for selling and growth notes before you spend a call on it.

#### Franchise & Multi-Unit Development

- Pull start-up and franchise-resale listings by category to size an existing franchisee base.
- Track asset sales and established businesses in a target metro for conversion candidates.
- Follow Commercial Real Estate for Sale and for Lease beside the operating businesses in the same run.

#### Market Research & Valuation

- Benchmark asking price against gross revenue by category and state across thousands of listings.
- Measure how long inventory sits by re-running a search on a schedule and diffing listing IDs.
- Quantify how many listings include real estate in the asking price, and at what value, with `realEstateIncluded` and `realEstateValueMin`.

#### Lead Generation & Data Enrichment

- Feed broker names, phone numbers and brokerages into your CRM attached to the listing they belong to.
- Join listings to your own territory map with city, county, ZIP and coordinates.
- Schedule a daily run and push only the new listing IDs into Slack or a Google Sheet.

### Getting Started

#### Simplest run

```json
{
  "maxItems": 100
}
```

#### Paste a filtered search URL from the site

Set your filters on the site, then copy the address bar URL — every filter in it is
carried through.

```json
{
  "searchUrls": [
    "https://www.bizquest.com/businesses-for-sale/"
  ],
  "maxItems": 10000
}
```

#### Everything, with full details

```json
{
  "searchUrls": [
    "https://www.bizquest.com/businesses-for-sale/"
  ],
  "maxItems": 10000,
  "enrichDetails": true
}
```

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchUrls` | array | — | BizQuest search result URLs. Set your filters on bizquest.com, then paste the address from your browser -- a plain search (…/businesses-for-sale/?q=…), a state page (…/businesses-for-sale-in-california-ca/) and a category page (…/food-and-beverage-businesses-for-sale/) all work. A URL pasted here brings its own filters, so the filter fields below are ignored for it. Paste a single listing's page here and it will be skipped -- this box takes searches, not listings. |
| `maxItems` | integer | `100` | Maximum listings per search URL (0 = collect everything each search returns). BizQuest pages through at most 10,000 listings per search, so use several narrower searches to collect more. |

#### Options

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `state` | string | — | Collect listings in one US state only. Leave empty to search the whole country. To cover several states, add one search per state -- or paste each state's own BizQuest address into Search URLs. |
| `category` | string | — | Collect one BizQuest category only. Leave empty for every category. The 26 categories below are the site's own top-level list, each one measured to return listings on 2026-07-30. |
| `listingType` | string | `30,40,80` | Which kind of listing to collect. The default is BizQuest's own "businesses for sale" umbrella (asset sales, established businesses and commercial real estate). |
| `keyword` | string | — | Words that must appear in the listing, for example "restaurant", "laundromat" or "car wash". Leave empty to skip keyword matching. |
| `priceMin` | integer | — | Only listings asking at least this much. |
| `priceMax` | integer | — | Only listings asking at most this much. |
| `cashFlowMin` | integer | — | Only listings whose seller's discretionary earnings are at least this much. BizQuest applies the filter, but withholds the cash-flow FIGURE from public listing pages, so the cashFlow column comes back empty even when this filter is set. |
| `cashFlowMax` | integer | — | Only listings whose seller's discretionary earnings are at most this much. Same caveat as the minimum: BizQuest filters on the figure but does not publish it. |
| `revenueMin` | integer | — | Only listings with gross revenue of at least this much. |
| `revenueMax` | integer | — | Only listings with gross revenue of at most this much. |
| `realEstateValueMin` | integer | — | Only listings whose asking price includes real estate worth at least this much. |
| `realEstateValueMax` | integer | — | Only listings whose asking price includes real estate worth at most this much. |
| `listedWithinDays` | integer | — | Only listings first published in the last N days. 7 and 30 are the useful settings for a daily or a monthly refresh. |
| `establishedAfterYear` | integer | — | Only businesses founded in or after the given year. |
| `realEstateIncluded` | boolean | `false` | Only listings where the asking price includes the property. |
| `sellerFinancing` | boolean | `false` | Only listings where the seller will finance part of the sale. |
| `homeBased` | boolean | `false` | Only businesses that can be run from home. |
| `absenteeOwner` | boolean | `false` | Only businesses the current owner does not run day to day. |
| `priceReduced` | boolean | `false` | Only listings whose asking price has come down. |
| `recentlyUpdated` | boolean | `false` | Only listings the seller or broker has edited recently. |
| `requireAskingPrice` | boolean | `false` | Drop listings advertised without a price. |
| `includeRelocatable` | boolean | `false` | Also bring in businesses listed elsewhere whose seller says they can move to your area. This widens the search rather than narrowing it, and only does anything when a state is set. |
| `enrichDetails` | boolean | `false` | Add 35 extra fields per listing. Adds one request per listing and is billed at the higher rate. |
| `concurrency` | integer | `8` | How many requests to run in parallel. Lower this if you see failures. |
| `proxyConfiguration` | object | Apify Proxy | Proxy settings for the run. |

### Output

Every listing is one dataset row. Enabling `enrichDetails` adds 35 further fields to the same row — there is no second record type to join.

Broker name, phone number and profile URL are replaced with placeholders below, and the
`description` text is shortened for readability — live runs return the real values in full.

```json
{
  "id": 2503333,
  "url": "https://www.bizquest.com/business-for-sale/distribution-company-with-warehouse-operations/BW2503333/",
  "name": "Distribution Company with Warehouse Operations",
  "tagline": "Reliable Vendor Network",
  "listingType": "Established Business",
  "category": "Wholesale & Distribution",
  "askingPrice": 18500000,
  "realEstateIncluded": false,
  "location": "Keller, TX",
  "state": "TX",
  "contactName": "<broker name>",
  "contactPhone": "<broker phone>",
  "photos": [
    "https://images.bizquest.com/shared/listings/250/2503333/c71c0676-3a2d-4c69-a6ef-722f896363da-W336.webp",
    "https://images.bizquest.com/shared/listings/250/2503333/204c186c-5754-43f5-b9a1-43de0470ed10-W336.webp"
  ],
  "featured": true,
  "priceReduced": false,
  "newListing": false,
  "recentlyUpdated": false,
  "description": "This is an established wholesale distribution business located in Keller, Texas, serving a mix of commercial and retail customers across the Dallas-Fort Worth area. Operations are run from a leased warehouse facility with space for inventory storage, staging, and order fulfillment...",
  "growthOpportunities": "Opportunities include expanding product offerings, increasing delivery routes, and improving operational efficiency.",
  "supportAndTraining": "Owner will provide a transition period to introduce key vendor and customer relationships and assist with operational handoff.",
  "reasonForSelling": "Owner is planning to transition to other business interests",
  "competition": "The business operates in a stable segment with consistent demand for distributed goods.",
  "facilities": "Warehouse includes pallet racking, forklifts, loading access, delivery vehicles, and basic inventory systems.",
  "employeeNotes": "Owner-operated with management team in place",
  "yearEstablished": 2013,
  "employeesFullTime": 15,
  "employeesPartTime": 5,
  "buildingSquareFeet": 23500,
  "grossRevenue": 18200000,
  "ffeValue": 875000,
  "inventoryValue": 2100000,
  "inventoryIncludedInPrice": true,
  "financing": "Seller financing available",
  "financingNotes": "may consider partial financing for a qualified buyer",
  "city": "Keller",
  "county": "Tarrant County",
  "zipCode": "76248",
  "country": "US",
  "latitude": 32.925923,
  "longitude": -97.253068,
  "brokerCompany": "Sell your Legacy",
  "brokerProfileUrl": "<broker profile url>",
  "lastUpdated": "2026-07-07T10:26:36+00:00",
  "profileViews": 3917,
  "isFranchise": false,
  "absenteeOwner": false,
  "homeBased": false,
  "relocatable": false
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `id` | number | Listing ID |
| `url` | string | Listing URL |
| `name` | string | Business name |
| `tagline` | string | Headline |
| `listingType` | string | Listing type |
| `category` | string | Business category |

#### Price & Value & Location & Contacts & Media

| Field | Type | Description |
|-------|------|-------------|
| `askingPrice` | number | Asking price (USD) |
| `ebitda` | number | EBITDA (USD) |
| `realEstateIncluded` | boolean | Real estate included in price |
| `location` | string | Location (as shown) |
| `state` | string | State |
| `contactName` | string | Contact name |
| `contactPhone` | string | Contact phone |
| `photos` | array | Photo URLs |

#### Details & Timestamps

| Field | Type | Description |
|-------|------|-------------|
| `featured` | boolean | Featured listing |
| `priceReduced` | boolean | Price reduced |
| `newListing` | boolean | Recently added |
| `recentlyUpdated` | boolean | Recently updated |

#### With `enrichDetails` enabled (1 of 2)

| Field | Type | Description |
|-------|------|-------------|
| `description` | string | Full description |
| `growthOpportunities` | string | Growth opportunities |
| `supportAndTraining` | string | Support & training |
| `reasonForSelling` | string | Reason for selling |
| `competition` | string | Competition |
| `facilities` | string | Facilities |
| `employeeNotes` | string | Employee notes |
| `yearEstablished` | number | Year established |
| `employeesFullTime` | number | Full-time employees |
| `employeesPartTime` | number | Part-time employees |
| `buildingSquareFeet` | number | Building sq ft |
| `grossRevenue` | number | Gross revenue (USD) |
| `ffeValue` | number | Furniture, fixtures & equipment (USD) |
| `inventoryValue` | number | Inventory value (USD) |
| `realEstateValue` | number | Real estate value (USD) |
| `preTaxNetIncome` | number | Pre-tax net income (USD) |
| `ownersCompensation` | number | Owner's compensation (USD) |
| `inventoryIncludedInPrice` | boolean | Inventory included in price |
| `financing` | string | Seller financing |
| `financingNotes` | string | Financing notes |
| `city` | string | City |
| `county` | string | County |
| `zipCode` | string | ZIP code |
| `streetAddress` | string | Street address |
| `country` | string | Country |

#### With `enrichDetails` enabled (2 of 2)

| Field | Type | Description |
|-------|------|-------------|
| `latitude` | number | Latitude |
| `longitude` | number | Longitude |
| `brokerCompany` | string | Brokerage |
| `brokerProfileUrl` | string | Broker profile URL |
| `lastUpdated` | string | Last updated |
| `profileViews` | number | Listing views |
| `isFranchise` | boolean | Franchise resale |
| `absenteeOwner` | boolean | Absentee owner |
| `homeBased` | boolean | Home based |
| `relocatable` | boolean | Relocatable |

### Tips for Best Results

- **Each search tops out at 10,000 listings.** BizQuest stops paging there, so one national run cannot reach the whole catalogue. Split the job — one search per state, or one per category — and 51 state searches will collect far more than a single unfiltered one.
- **Leave `enrichDetails` off for a first pass.** Search rows already carry name, asking price, location, photos and listing type. Turn detail on once you have narrowed to the listings worth reading — it adds one request per listing and is billed at the higher rate.
- **About one row in ten is a franchise advert, not a listing.** BizQuest injects them into search results; they carry no `listingType` and have no detail page, so detail data reaches roughly 90 of every 100 rows by design. Drop rows where `listingType` is null if you only want real businesses.
- **Use `listedWithinDays: 7` for a daily refresh — not page 1.** BizQuest's default sort is not by date, so new listings are scattered through the results; the recency window is the only reliable way to catch them.
- **`cashFlowMin` and `cashFlowMax` work, but the figure stays private.** BizQuest narrows on seller's discretionary earnings server-side and does not publish the number on public listing pages, so `cashFlow` comes back empty even on a filtered run. Treat it as a screen, not as a column.
- **`category` matches a listing's primary *or* secondary category.** A row filtered to Food & Beverage may display a different primary category label — that is a correct match, not a miss.
- **A pasted search URL brings its own filters.** Put a URL in `searchUrls` and the filter fields are ignored for that search, so set your filters in one place or the other, not both.
- **Street address, ZIP and coordinates depend on the seller.** Many owners list a business confidentially and BizQuest suppresses the exact location, so those fields are populated only where the seller allowed it — `location` and `state` are the ones present on effectively every row.

### Pricing

**From $0.95 per 1,000 results** (search only) or **from $2.45 per 1,000 results** (with full details).

| Results | Search Only | With Full Details |
|---------|-------------|-------------------|
| 100 | $0.095 | $0.245 |
| 1,000 | $0.95 | $2.45 |
| 10,000 | $9.50 | $24.50 |
| 100,000 | $95.00 | $245.00 |

Those are the rates on Gold and above. Higher-volume plans pay less per result:

| Your Apify plan | Search Only | With Full Details |
|-----------------|-------------|-------------------|
| No discount | $1.14 | $2.94 |
| Bronze | $1.07 | $2.77 |
| Silver | $1.01 | $2.61 |
| **Gold and above** | **$0.95** | **$2.45** |

Per 1,000 results.

A "result" is any listing row in the output dataset. When you run several searches at once, a listing matching more than one of them is de-duplicated before it reaches the dataset, so you are never charged twice for the same listing. The full-details rate applies only to rows that actually came back enriched — if a listing has no detail page, the row is still delivered and charged at the search-only rate. The lowest spending cap you can set on a single run is $0.50. Platform fees (compute, storage) are additional and depend on your Apify plan.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

**This is an unofficial scraper. It is not affiliated with, endorsed by, or connected to BizQuest or its operators in any way.** All trademarks belong to their respective owners.

This actor is intended for legitimate market research and analytics. You are responsible for complying with applicable laws and with BizQuest's Terms of Service.

Results may include personal data such as contact details. Treat them accordingly: do
not use them for spam, harassment, or any unlawful purpose, and follow applicable
privacy rules when storing or processing them.

# Actor input Schema

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

BizQuest search result URLs. Set your filters on bizquest.com, then paste the address from your browser -- a plain search (…/businesses-for-sale/?q=…), a state page (…/businesses-for-sale-in-california-ca/) and a category page (…/food-and-beverage-businesses-for-sale/) all work. A URL pasted here brings its own filters, so the filter fields below are ignored for it. Paste a single listing's page here and it will be skipped -- this box takes searches, not listings.

## `state` (type: `string`):

Collect listings in one US state only. Leave empty to search the whole country. To cover several states, add one search per state -- or paste each state's own BizQuest address into Search URLs.

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

Collect one BizQuest category only. Leave empty for every category. The 26 categories below are the site's own top-level list, each one measured to return listings on 2026-07-30.

## `listingType` (type: `string`):

Which kind of listing to collect. The default is BizQuest's own "businesses for sale" umbrella (asset sales, established businesses and commercial real estate).

## `keyword` (type: `string`):

Words that must appear in the listing, for example "restaurant", "laundromat" or "car wash". Leave empty to skip keyword matching.

## `priceMin` (type: `integer`):

Only listings asking at least this much.

## `priceMax` (type: `integer`):

Only listings asking at most this much.

## `cashFlowMin` (type: `integer`):

Only listings whose seller's discretionary earnings are at least this much. BizQuest applies the filter, but withholds the cash-flow FIGURE from public listing pages, so the cashFlow column comes back empty even when this filter is set.

## `cashFlowMax` (type: `integer`):

Only listings whose seller's discretionary earnings are at most this much. Same caveat as the minimum: BizQuest filters on the figure but does not publish it.

## `revenueMin` (type: `integer`):

Only listings with gross revenue of at least this much.

## `revenueMax` (type: `integer`):

Only listings with gross revenue of at most this much.

## `realEstateValueMin` (type: `integer`):

Only listings whose asking price includes real estate worth at least this much.

## `realEstateValueMax` (type: `integer`):

Only listings whose asking price includes real estate worth at most this much.

## `listedWithinDays` (type: `integer`):

Only listings first published in the last N days. 7 and 30 are the useful settings for a daily or a monthly refresh.

## `establishedAfterYear` (type: `integer`):

Only businesses founded in or after the given year.

## `realEstateIncluded` (type: `boolean`):

Only listings where the asking price includes the property.

## `sellerFinancing` (type: `boolean`):

Only listings where the seller will finance part of the sale.

## `homeBased` (type: `boolean`):

Only businesses that can be run from home.

## `absenteeOwner` (type: `boolean`):

Only businesses the current owner does not run day to day.

## `priceReduced` (type: `boolean`):

Only listings whose asking price has come down.

## `recentlyUpdated` (type: `boolean`):

Only listings the seller or broker has edited recently.

## `requireAskingPrice` (type: `boolean`):

Drop listings advertised without a price.

## `includeRelocatable` (type: `boolean`):

Also bring in businesses listed elsewhere whose seller says they can move to your area. This widens the search rather than narrowing it, and only does anything when a state is set.

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

Maximum listings per search URL (0 = collect everything each search returns). Bizquest.com pages through at most 10,000 listings per search, so use several narrower searches to collect more.

## `enrichDetails` (type: `boolean`):

Add 35 extra fields per listing. Adds one request per listing and is billed at the higher rate.

## `concurrency` (type: `integer`):

How many requests to run in parallel. Lower this if you see failures.

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

Proxy settings for the run.

## Actor input object example

```json
{
  "searchUrls": [
    "https://www.bizquest.com/businesses-for-sale/"
  ],
  "listingType": "30,40,80",
  "realEstateIncluded": false,
  "sellerFinancing": false,
  "homeBased": false,
  "absenteeOwner": false,
  "priceReduced": false,
  "recentlyUpdated": false,
  "requireAskingPrice": false,
  "includeRelocatable": false,
  "maxItems": 100,
  "enrichDetails": false,
  "concurrency": 8,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `core` (type: `string`):

Core Fields for each listing.

## `financial` (type: `string`):

Price & Value for each listing.

## `location` (type: `string`):

Location for each listing.

## `contact` (type: `string`):

Contacts for each listing.

## `media` (type: `string`):

Media for each listing.

## `meta` (type: `string`):

Details & Timestamps for each listing.

# 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.bizquest.com/businesses-for-sale/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/bizquest-com-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.bizquest.com/businesses-for-sale/"] }

# Run the Actor and wait for it to finish
run = client.actor("solidcode/bizquest-com-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.bizquest.com/businesses-for-sale/"
  ]
}' |
apify call solidcode/bizquest-com-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/zabh8NtuOtqOR5hfB/builds/FzoOMNNj2p6QMgcWV/openapi.json
