# Chamber of Commerce Scraper CHEAP | Member Data | B2B Leads (`ahmed_jasarevic/chamber-scraper`) Actor

Extract chamber of commerce member data — business names, contacts, categories, membership tiers and events. Build B2B lead databases from chamber directories.

- **URL**: https://apify.com/ahmed\_jasarevic/chamber-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Categories:** Automation, Lead generation, Developer tools
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

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

Learn more: https://docs.apify.com/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

## Chamber of Commerce Business Directory Scraper — Member Data & Leads

Extract **chamber of commerce member data** — business names, contacts, categories, membership tiers and event data. Scrape **chamber directories** for B2B lead generation and networking research.

### Main Use Cases

- **B2B lead generation** — collect chamber member contact data
- **Networking research** — identify active businesses by category
- **Market research** — analyze business density by chamber region
- **Event intelligence** — find chamber events and sponsors
- **Partnership opportunities** — identify potential business partners
- **Competitive analysis** — map competitor chamber involvement

### Output Fields

| Field | Type | Description |
|---|---|---|
| `businessName` | string | Business name |
| `contactName` | string | Contact person |
| `title` | string | Job title |
| `address` | string | Business address |
| `city` | string | City |
| `state` | string | State |
| `phone` | string | Phone number |
| `email` | string | Email address |
| `website` | string | Website URL |
| `category` | string | Business category |
| `membershipTier` | string | Membership level |
| `chamberName` | string | Chamber name |
| `chamberUrl` | string | Chamber website |
| `latitude` | number | GPS latitude |
| `longitude` | number | GPS longitude |
| `scrapedAt` | string | Extraction timestamp |

### Input

| Field | Type | Default | Notes |
|---|---|---|---|
| `chamberUrl` | string | **required** | Chamber of commerce URL |
| `categories` | array | — | Filter by categories |
| `maxMembersPerCategory` | integer | `50` | Max members per category |
| `maxCategories` | integer | `10` | Max categories to scrape |
| `includeGeoData` | boolean | `false` | Include GPS coordinates |
| `proxyConfiguration` | object | DATACENTER | Proxy config |
| `maxRequestsPerCrawl` | integer | `100` | Max requests |

### Example Input

```json
{
  "chamberUrl": "https://www.nycci.com/member-directory",
  "maxMembersPerCategory": 100,
  "includeGeoData": true
}
```

### FAQ

#### What chambers are supported?

Any chamber of commerce with an online member directory.

#### Can I filter by category?

Yes. Use the `categories` parameter to extract specific business types.

#### Is GPS data included?

Yes, when `includeGeoData` is set to true and coordinates are available.

### For AI Agents & LLM Apps

**Purpose:** Extract chamber of commerce member data — business names, contacts, categories and membership tiers.

**Minimal working input:**

```json
{
  "chamberUrl": "https://www.nycci.com/member-directory",
  "maxMembersPerCategory": 20
}
```

**Output fields:** `businessName`, `contactName`, `title`, `address`, `city`, `state`, `phone`, `email`, `website`, `category`, `membershipTier`, `chamberName`, `latitude`, `longitude`, `scrapedAt`.

**Behaviors an agent should know:**

- `chamberUrl` is **required** — must be a member directory page.
- `categories` filters specific business types.
- `includeGeoData` adds GPS coordinates when available.

**Billing:** Free.

### Legal & Compliance Disclaimer

This actor extracts publicly available chamber of commerce member data. Users are responsible for compliance with applicable data protection laws when using this data for outreach.

### SEO Keywords

chamber of commerce scraper, chamber member data, b2b lead generation, business directory data, chamber of commerce directory, member contact data, chamber business data, networking research, local business leads, chamber member directory, business membership data, chamber event data, b2b contact data, chamber of commerce api, member listing scraper, business network data, chamber directory scraper, local business intelligence, chamber member leads, b2b data extraction

### Related Actors

Verified related actors on Apify that pair well with this one. All links point to real, publicly available actors.

- [Google Maps Places](https://apify.com/compass/crawler-google-places)
- [Google Maps Reviews Scraper](https://apify.com/compass/Google-Maps-Reviews-Scraper)
- [Yelp Reviews Scraper](https://apify.com/web_wanderer/yelp-reviews-scraper)

# Actor input Schema

## `chamberUrl` (type: `string`):

Base URL of the Chamber of Commerce directory (e.g., https://business.sfchamber.com)

## `categories` (type: `array`):

Specific category slugs to scrape. If empty, scrapes all categories found on the directory.

## `maxMembersPerCategory` (type: `integer`):

Maximum number of members to scrape per category (0 = unlimited)

## `maxCategories` (type: `integer`):

Maximum number of categories to process (0 = unlimited)

## `includeGeoData` (type: `boolean`):

Fetch latitude/longitude for each member via GetGeoInfo API

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

Proxy settings for anti-blocking

## `maxRequestsPerCrawl` (type: `integer`):

Hard limit on total requests (safety cap)

## Actor input object example

```json
{
  "chamberUrl": "https://business.sfchamber.com",
  "categories": [],
  "maxMembersPerCategory": 50,
  "maxCategories": 0,
  "includeGeoData": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "maxRequestsPerCrawl": 5000
}
```

# Actor output Schema

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

No description

# 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 = {
    "categories": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/chamber-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 = { "categories": [] }

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/chamber-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 '{
  "categories": []
}' |
apify call ahmed_jasarevic/chamber-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/chamber-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/xztYJX8MAE9Wal79a/builds/8GAvbqloxgNksZ0lD/openapi.json
