# Benchmark International Business Scraper (`parseforge/benchmark-international-scraper`) Actor

Scrape business listings from Benchmark International's marketplace. Filter by industry, location, revenue, and EBITDA. Export to CSV, JSON, Excel, or XML.

- **URL**: https://apify.com/parseforge/benchmark-international-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Automation, Lead generation, Developer tools
- **Stats:** 5 total users, 1 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $12.99 / 1,000 result items

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/actors/running/actors-in-store.md#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

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Benchmark International Business Scraper

**Scrape business listings from Benchmark International's marketplace, up to a million per run.** Each listing comes with revenue, EBITDA, industry, location, and full contact details. No login or API key. Export to CSV, JSON, Excel, or XML.

Benchmark International's marketplace lists thousands of businesses for sale, but browsing manually is slow and you cannot filter or export the data. This scraper reads the public listings directly, filtered by industry, location, revenue, EBITDA, and activity type, and returns each match in one fixed schema.

| Who uses it | What they scrape Benchmark International for |
|---|---|
| M\&A advisors | Find acquisition targets matching client criteria across industries and regions. |
| Private equity firms | Screen businesses for sale by revenue and EBITDA ranges. |
| Business brokers | Monitor new listings and track market trends in specific sectors. |
| Entrepreneurs | Search for businesses to buy in their preferred location and industry. |

### What it does

This Actor collects business listings from Benchmark International's marketplace by search filters or direct URL, and returns each one as a flat row with financials, industry, and location.

- 🔍 **Search filters:** Filter by industry, location, activity, revenue, and EBITDA ranges.
- 🔗 **Direct URL:** Paste a specific Benchmark International listing URL to scrape exactly that page.
- 💰 **Financial filters:** Set minimum and maximum revenue and EBITDA in your chosen currency.
- 📊 **Currency support:** Choose from USD, EUR, GBP, CAD, AUD, ZAR, SEK, or others.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Benchmark International data

**🔍 Find acquisition targets.**

An M\&A advisor runs the scraper with filters for manufacturing businesses in the Midwest with revenue between $5M and $20M, then exports the list to CSV for client review.

**📈 Monitor market trends.**

A private equity analyst scrapes all listings weekly by industry to track the number and pricing of businesses for sale in healthcare.

**💰 Screen by financials.**

A business broker sets minimum EBITDA of $1M and maximum revenue of $50M to find high-quality listings for their portfolio.

**🌍 Regional analysis.**

An entrepreneur scrapes all listings in California to compare available businesses by location and industry before making an offer.

### Why choose this scraper

|  | What you get |
|---|---|
| **Revenue and EBITDA** | Get exact financial figures for each business listing. |
| **Industry classification** | Each listing includes a specific industry category from over 50 options. |
| **Location data** | Know the region or country where the business operates. |
| **Activity type** | See whether the business is manufacturing, wholesale, retail, services, or distribution. |

### How it compares

No other Store actor targets Benchmark International the same way, so the honest comparison is with the alternatives teams actually weigh.

| | Benchmark International Business Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Benchmark International changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor from search filters or a direct URL, and filters run as each listing is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
  "maxItems": 10,
  "location": "United States",
  "currencyCode": "USD"
}
```

A larger pull:

```json
{
  "maxItems": 200,
  "location": "United States",
  "currencyCode": "USD"
}
```

### Pricing

Pay-per-result: **$0.01734 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $1.73 |
| 1,000 results | $17.34 |
| 10,000 results | $173.40 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Benchmark International Business Scraper](https://apify.com/parseforge/benchmark-international-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Benchmark International through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/benchmark-international-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Ensure your filters are not too narrow. Try removing revenue or EBITDA limits, or use a broader location.

**The scraper returns fewer listings than expected.**

Increase maxItems and check that your filters match available listings. Some combinations may return few results.

**Can I scrape without filters?**

Yes, leave all filter fields empty and set maxItems to your desired count to scrape all available listings.

**The direct URL does not work.**

Make sure the URL includes the c\_\_searchparams parameter. Copy it directly from the Benchmark International site.

### FAQ

| Question | Answer |
|---|---|
| Do I need an API key or login to use this scraper? | No, the scraper reads public Benchmark International listings without any authentication. |
| Can I scrape all listings at once? | Yes, set maxItems to a high number (up to 1,000,000) to collect as many as available. |
| What filters can I apply? | You can filter by industry, location, activity type, revenue range, and EBITDA range. |
| What currencies are supported for financial filters? | USD, EUR, GBP, CAD, AUD, ZAR, SEK, and more. |
| Can I use a direct URL instead of filters? | Yes, paste a Benchmark International listing URL with the c\_\_searchparams parameter to scrape that specific page. |
| What data fields are returned? | Each listing includes business name, industry, location, revenue, EBITDA, activity type, and more. |
| How do I export the data? | The scraper outputs data in JSON, CSV, Excel, or XML formats. |
| Is there a limit on how many listings I can scrape? | You can set maxItems up to 1,000,000 per run, but the actual number depends on available listings. |
| Can I scrape multiple industries at once? | Yes, you can select multiple industries in the industries filter. |
| What if I get no results? | Check that your filters are not too restrictive, or try a broader search without financial limits. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Benchmark International. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `startUrl` (type: `string`):

Direct URL to scrape (alternative to search filters). Must be copied from the site and include the c\_\_searchparams parameter.

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

How many companies to collect per run.

## `keywords` (type: `string`):

Enter keywords to search for specific business types or industries. Examples: 'construction', 'manufacturing', 'healthcare'.

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

Filter by location/region. Examples: 'California', 'Western United States', 'New York'.

## `industries` (type: `array`):

Filter by business industry. Can select multiple values.

## `activities` (type: `array`):

Filter by business activities. Can select multiple values.

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

Minimum revenue filter in USD.

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

Maximum revenue filter in USD.

## `ebitdaMin` (type: `integer`):

Minimum EBITDA filter in USD.

## `ebitdaMax` (type: `integer`):

Maximum EBITDA filter in USD.

## `currencyCode` (type: `string`):

Currency code for financial filters.

## Actor input object example

```json
{
  "maxItems": 10,
  "location": "United States",
  "currencyCode": "USD"
}
```

# Actor output Schema

## `businesses` (type: `string`):

Complete dataset with all business listings including business details, financial metrics, contact information, location data, industry classification, and deal information

## `overview` (type: `string`):

Overview view of businesses with key fields displayed in a table format

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

Financial overview view focusing on revenue, EBITDA, asking prices, assets, and liabilities

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

Contact information view with broker details, email addresses, and phone numbers

## `specifications` (type: `string`):

Business specifications view with business categories, activities, and market segments

# 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 = {
    "maxItems": 10,
    "location": "United States",
    "currencyCode": "USD"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/benchmark-international-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 = {
    "maxItems": 10,
    "location": "United States",
    "currencyCode": "USD",
}

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

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

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

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "location": "United States",
  "currencyCode": "USD"
}' |
apify call parseforge/benchmark-international-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/benchmark-international-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/UIMCVdL9UzYaZVdBB/builds/1JgKLNLwMrhPhYKhc/openapi.json
