# Bizquest Business Search Scraper (`alexist/bizquest-business-search-scraper`) Actor

Scrape comprehensive business opportunity listings from BizQuest.com with 50+ data fields per listing. Collect headers, pricing, cash flow metrics, broker details, and auction info — perfect for investors, brokers, and M\&A researchers analyzing franchise and business sale markets.

- **URL**: https://apify.com/alexist/bizquest-business-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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 Business Search Scraper: Extract Franchise & Business Listings

***

### What Is BizQuest.com?

BizQuest.com is a premier marketplace for buying and selling franchise opportunities, businesses, and commercial properties. It aggregates thousands of active listings from brokers, franchisors, and private sellers worldwide. Each listing contains rich business metrics, financial data, and broker contact information — valuable for investment analysis, market research, and portfolio management. Manually extracting this data is impractical; the **BizQuest Business Search Scraper** automates large-scale collection of structured business opportunity records.

***

### Overview

The **BizQuest Business Search Scraper** extracts detailed business listings from BizQuest search result pages, capturing over 50 fields of financial, operational, and contact data per record. It is ideal for:

- **Investors** evaluating franchise and business acquisition opportunities
- **M\&A researchers** benchmarking valuation and market trends
- **Brokers** monitoring competitor listings and pricing strategies
- **Market analysts** studying franchise growth and franchise density by region
- **Data aggregators** building business opportunity databases

Key strengths include high-capacity bulk collection (up to 200 items per URL), fault-tolerant operation with `ignore_url_failures`, and detailed financial metrics (cash flow, EBITDA, lease rates) that support investment decision-making.

***

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.bizquest.com/businesses-for-sale/page-3/?q=bHQ9MzAsNDAsODA%3D"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
```

| Field | Description |
|---|---|
| `urls` | Array of BizQuest search result page URLs. Typically includes query parameters for filters (category, price range, region). |
| `max_items_per_url` | Maximum listings extracted per URL (1–200). Default is 200 for bulk collection. |
| `ignore_url_failures` | If `true`, the scraper continues if individual URLs fail; if `false`, the run stops on first failure. |

> **Tip:** BizQuest uses encoded query parameters (`?q=...`) for search filters. Copy the full URL from your browser to preserve filters like industry category, price range, and region.

***

### Output Format

**Sample output**

```json
{
  "header": "An E-Commerce Manufacturing Business",
  "location": "Sylvania Township, OH",
  "location_crumbs": [
    {
      "title": "Find other Sylvania Township, OH Businesses for Sale",
      "title_short": "Sylvania Township",
      "link": "/businesses-for-sale-in-ohio-oh/",
      "link_count": 0
    },
    {
      "title": "Find other Ohio Businesses for Sale",
      "title_short": "OH",
      "link": "/businesses-for-sale-in-ohio-oh/",
      "link_count": 0
    }
  ],
  "price": 1500000,
  "description": "An E-Commerce Great Opportunity",
  "type": 5,
  "img": [
    "https://images.bizquest.com/shared/listings/defaultphotos/diamond/onlineweb.jpg"
  ],
  "logo_img": null,
  "list_number": 2530982,
  "specific_id": 2530982,
  "url_stub": "https://www.bizquest.com/business-for-sale/an-e-commerce-manufacturing-business/BW2530982/",
  "cash_flow": -1,
  "unit_revenue": null,
  "listing_type_id": 40,
  "ebitda": null,
  "financing_type_id": 1,
  "lease_rate_duration": 40,
  "lease_rate_per_square_foot": 1600,
  "search_offset": 0,
  "ad_level_id": 5,
  "site_specific_id": 2530982,
  "is_diamond_reinforcement": null,
  "broker_company": null,
  "broker_introduction": null,
  "broker_contact_photo": null,
  "broker_contact_full_name": null,
  "is_inline_ad": null,
  "listing_price_reduced": false,
  "contact_info": {
    "contact_info_person_id": 86871,
    "contact_full_name": "John Naayers",
    "contact_phone_number": {
      "telephone": "(419) 720-5095",
      "phone_country_code": null,
      "tpn_phone": "5678061060",
      "tpn_phone_ext": ""
    },
    "contact_photo": "https://images.bizquest.com/shared/brokerdirectory/images/14075/lg_prs_4T0A81181.jpg",
    "broker_company": "Business Network Of Ohio LLC",
    "broker_profile_url": "/business-broker/business-network-of-ohio-llc/john-naayers/BW14075/"
  },
  "detail_requests": {
    "request_contact_available_funds": false,
    "request_contact_zip": false,
    "request_contact_time_frame": false
  },
  "diamond_meta_data": {
    "bbs_list_number": 2530982,
    "headline": "An E-Commerce Manufacturing Business",
    "asking_price": 1500000,
    "ad_level": 5,
    "bbs_primary_biz_type_id": 52,
    "checkbox_ad_tagline": null,
    "bq_primary_biz_type_id": 250,
    "bq_list_number": null,
    "bq_primary_biz_type_name": "Internet Related",
    "bbs_primary_biz_type_name": null,
    "location": "Sylvania Township, OH",
    "location_st": "Ohio",
    "region_id": 49
  },
  "region": "OH",
  "hot_property": false,
  "recently_updated": false,
  "recently_added": true,
  "is_inline_broker": null,
  "broker_company_photo": null,
  "broker_certifications": null,
  "real_estate_included_in_asking_price": false,
  "initial_fee": null,
  "initial_capital": null,
  "external_url": null,
  "auction_start_date": null,
  "auction_end_date": null,
  "auction_date_display": null,
  "auction_placard_highlights": null,
  "account": 14075,
  "active_listings_count": 0,
  "sba_eligible_listings_count": 0,
  "sold_listings_count": 0,
  "is_fd_resale": 0,
  "user_type_id": 40,
  "related_search_url_stub": null,
  "expiration_type_id": 0,
  "advertiser_id": null,
  "placement_type_id": null,
  "sponsor_level_id": null,
  "category_details": null,
  "bbs_lender_status_type_id": 20,
  "current_lender_type_id": 30,
  "from_url": "https://www.bizquest.com/businesses-for-sale/?q=bHQ9MzAsNDAsODA%3D"
}
```

Each scraped business listing returns a comprehensive record with 50+ fields:

#### Basic Listing Information

| Field | Meaning |
|---|---|
| `Header` | Primary listing headline or business name |
| `Description` | Full business description and opportunity summary |
| `Type` | Listing category (e.g., franchise, business, commercial property) |
| `List Number` | Unique listing identifier assigned by BizQuest |
| `Specific ID` | Internal database ID for the listing |
| `URL Stub` | Relative URL path to the full listing detail page |
| `External URL` | Direct link to the listing on BizQuest.com |

#### Location & Geography

| Field | Meaning |
|---|---|
| `Location` | Primary city/state or region of the business |
| `Location Crumbs` | Hierarchical location breakdown (country → state → city) |
| `Region` | Geographic region classification |

#### Pricing & Financial Data

| Field | Meaning |
|---|---|
| `Price` | Asking price for the business or franchise |
| `Listing Price Reduced` | Flag indicating whether the price was recently lowered |
| `Cash Flow` | Reported annual cash flow or net income (may be estimated) |
| `EBITDA` | Earnings before interest, taxes, depreciation, and amortization |
| `Unit Revenue` | Revenue per unit (for franchise chains) or location-based average |
| `Lease Rate Per Square Foot` | Annual rent cost per square foot (for real estate-backed businesses) |
| `Lease Rate Duration` | Term of the lease (e.g., 5 years, 10 years) |
| `Initial Fee` | Franchise initial/setup fee required from buyer |
| `Initial Capital` | Estimated total capital required to start the business |
| `Real Estate Included In Asking Price` | Whether property is part of the asking price |

#### Listing Attributes & Flags

| Field | Meaning |
|---|---|
| `Listing Type ID` | Category identifier (franchise, resale, new opportunity, etc.) |
| `Ad Level ID` | Tier/prominence of the listing (standard, featured, premium, diamond) |
| `Is Diamond Reinforcement` | Whether the listing has enhanced visibility/promotion |
| `Is Inline Ad` | Whether the listing appears inline within search results |
| `Is Inline Broker` | Whether the broker info is inline vs. in a sidebar |
| `Hot Property` | Flag for trending or high-interest listings |
| `Recently Updated` | Indicates the listing was updated recently |
| `Recently Added` | Indicates the listing is newly posted |
| `Is FD Resale` | Whether it is a franchise disclosure resale listing |

#### Media & Visuals

| Field | Meaning |
|---|---|
| `Images` | Array of listing image URLs (storefront, interior, signage, etc.) |
| `Logo Image` | Company or franchise logo URL |
| `Broker Company Photo` | Photo of the broker's company (if available) |

#### Broker & Contact Information

| Field | Meaning |
|---|---|
| `Broker Company` | Name of the brokerage or listing agent company |
| `Broker Introduction` | Introduction text from the broker (mission, experience, etc.) |
| `Broker Contact Full Name` | Primary broker contact person name |
| `Broker Contact Photo` | Profile photo URL of the broker contact |
| `Broker Certifications` | Professional certifications (e.g., CFRE, IBBA) held by the broker |
| `Contact Info` | Email, phone, or contact form details for inquiries |
| `Detail Requests` | Number of inquiries or detail requests received |

#### Business Metadata

| Field | Meaning |
|---|---|
| `Category Details` | Detailed business category/industry classification |
| `Financing Type ID` | Identifier for financing options available (SBA, conventional, owner carry, etc.) |
| `SBA Eligible Listings Count` | Number of listings by this broker eligible for SBA financing |

#### Auction-Specific Fields

| Field | Meaning |
|---|---|
| `Auction Start Date` | Date the auction or time-limited offer begins |
| `Auction End Date` | Deadline for auction offers |
| `Auction Date Display` | Human-readable auction date range |
| `Auction Placard Highlights` | Key highlights displayed on auction listings |

#### Account & Broker Statistics

| Field | Meaning |
|---|---|
| `Account` | Broker account identifier |
| `Active Listings Count` | Total active listings by this broker |
| `Sold Listings Count` | Number of deals closed by this broker |
| `Advertiser ID` | Unique identifier for the listing's advertiser account |
| `User Type ID` | Type of user posting (broker, franchisor, owner, etc.) |

#### Advanced Targeting & Placement

| Field | Meaning |
|---|---|
| `Search Offset` | Internal pagination offset used in search queries |
| `Placement Type ID` | Identifier for placement strategy (e.g., search result, featured, sponsored) |
| `Sponsor Level ID` | Sponsorship tier of the listing |
| `Expiration Type ID` | How/when the listing will expire (standard expiry, auto-renew, etc.) |
| `BBS Lender Status Type ID` | Status for BizQuest Business Services lending programs |
| `Current Lender Type ID` | Active lender program associated with the listing |
| `Related Search URL Stub` | URL for related or similar business searches |

***

### How to Use

1. **Navigate BizQuest** — Visit bizquest.com and use filters (industry, price range, location) to narrow your search.
2. **Copy the search URL** — Once you have your desired search results, copy the full page URL (including query parameters).
3. **Configure input** — Paste the URL(s) into the `urls` array. Set `max_items_per_url` based on volume needed (1–200).
4. **Enable fault tolerance** — Set `ignore_url_failures: true` for robust bulk scraping.
5. **Run the scraper** — Start the actor and monitor progress in the run log.
6. **Export data** — Download results as JSON, CSV, or Excel for analysis, CRM import, or investment research.

**Best practices:**

- Use multiple search URLs with different filters to capture diverse business types and price ranges.
- Preserve encoded query parameters (`?q=...`) to maintain filter accuracy.
- Export to Excel to quickly sort by cash flow, EBITDA, or price.

***

### Use Cases & Business Value

- **Investment screening:** Filter businesses by cash flow, EBITDA, and initial capital to identify high-ROI opportunities
- **Franchise analysis:** Track franchise density, unit economics, and growth by region
- **Competitive intelligence:** Monitor broker activity and pricing trends in your industry
- **Market reports:** Build custom datasets for franchise industry research and analysis
- **Lead generation:** Aggregate business opportunity data for outreach to franchisors or business owners
- **CRM integration:** Load structured business listings into sales pipelines and investor databases

The **BizQuest Business Search Scraper** eliminates hours of manual research, delivering investment-grade business data at scale.

***

### Conclusion

The **BizQuest Business Search Scraper** empowers investors, researchers, and brokers with fast, accurate access to hundreds of business opportunity listings and financial metrics. With 50+ data fields per record and flexible filtering, it transforms raw search results into actionable investment intelligence. Start scraping today and accelerate your business acquisition or franchise research workflow.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the business list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.bizquest.com/businesses-for-sale/page-3/?q=bHQ9MzAsNDAsODA%3D"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
```

# 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 = {
    "urls": [
        "https://www.bizquest.com/businesses-for-sale/page-3/?q=bHQ9MzAsNDAsODA%3D"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 200
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/bizquest-business-search-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 = {
    "urls": ["https://www.bizquest.com/businesses-for-sale/page-3/?q=bHQ9MzAsNDAsODA%3D"],
    "ignore_url_failures": True,
    "max_items_per_url": 200,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/bizquest-business-search-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 '{
  "urls": [
    "https://www.bizquest.com/businesses-for-sale/page-3/?q=bHQ9MzAsNDAsODA%3D"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}' |
apify call alexist/bizquest-business-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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