# Toastmasters Club Finder Scraper (`parseforge/toastmasters-club-finder-scraper`) Actor

Find Toastmasters International clubs by postal code, country, or language. Each club returns the name, district, city, country, meeting day and time, venue, contact, and language. Great for local club research, membership outreach, or mapping public speaking groups worldwide.

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

## Pricing

from $7.69 / 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.
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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🎤 Toastmasters Club Finder Scraper

> 🚀 **Export Toastmasters clubs records in seconds. Pull the full directory directly into your spreadsheet, CRM, or warehouse.**

> 🕒 **Last updated:** 2026-06-05 · **📊 12 fields** per record · Public directory coverage · Structured rows ready for analysis

The Toastmasters Club Finder Scraper turns the public [Toastmasters clubs](https://www.toastmasters.org/find-a-club) directory into a clean, structured dataset. It calls the public listing endpoint, parses the response, and flattens each record into one tidy row.

Coverage spans the full public listing surfaced by the source, normalized into 12 stable fields per record so the data drops straight into pandas, BigQuery, Airtable, or any BI tool.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| 📊 Analysts | Build a snapshot of the Toastmasters clubs ecosystem |
| 🏢 Sales teams | Enrich CRM records with verified contact attributes |
| 🧑‍🔬 Researchers | Run quantitative studies across the full directory |
| 🤖 ML engineers | Build training datasets from a clean public source |
| 📰 Journalists | Verify facts and surface trends |
| 👩‍💻 Developers | Mirror the directory into a database without writing client code |

### 📋 What the Toastmasters Club Finder Scraper does

- Calls the public Toastmasters clubs listing endpoint.
- Applies any filters you pass (`postalCode`, `country`, `language`, etc.).
- Flattens each record into one row with stable field names.
- Surfaces upstream errors and rate-limit notes as a clean `error` record instead of crashing.
- Exports as a structured dataset that downloads in every Apify-supported format.

> 💡 **Why it matters:** the source surfaces Toastmasters clubs records as paginated HTML and ad-hoc XHR responses. This actor normalizes everything into stable rows so the data drops straight into your stack.

### 🎬 Full Demo

_🚧 Coming soon._

### ⚙️ Input

<table>
<tr><th>Field</th><th>Type</th><th>Required</th><th>Description</th></tr>
<tr><td><code>maxItems</code></td><td>integer</td><td>No</td><td>Free users: 10. Paid users: up to 1,000,000. Prefill: 10.</td></tr>
<tr><td><code>postalCode</code></td><td>string</td><td>No</td><td>Postal or ZIP code to search near.</td></tr>
<tr><td><code>country</code></td><td>string</td><td>No</td><td>Country filter.</td></tr>
<tr><td><code>language</code></td><td>string</td><td>No</td><td>Meeting language.</td></tr>
</table>

**Example 1, default run.**
```json
{
  "maxItems": 10
}
````

**Example 2, filtered run.**

```json
{
  "postalCode": "",
  "country": "",
  "language": "",
  "maxItems": 25
}
```

> ⚠️ **Good to Know:** the actor scrapes only publicly available records. Some directory endpoints return data only when a query or filter is supplied. If your run returns zero records, try setting a filter such as `postalCode`.

### 📊 Output

Each record is a flat object. `url` is first, `error` is always last.

| Field | Type | Description |
|---|---|---|
| `url` | string | The url value. |
| `clubName` | string | The clubName value. |
| `district` | string | The district value. |
| `city` | string | The city value. |
| `country` | string | The country value. |
| `meetingDay` | string | The meetingDay value. |
| `time` | string | The time value. |
| `venue` | string | The venue value. |
| `contact` | string | The contact value. |
| `language` | string | The language value. |
| `scrapedAt` | string | When this row was fetched. |
| `error` | string | Set if the upstream response was an error. |

**Sample record.**

```json
{
  "url": "https://www.toastmasters.org/find-a-club",
  "clubName": null,
  "district": null,
  "city": null,
  "country": null,
  "meetingDay": null,
  "time": null,
  "venue": null,
  "contact": null,
  "language": null,
  "scrapedAt": "2026-06-05T12:00:00.000Z",
  "error": null
}
```

### ✨ Why choose this Actor

| 🧹 | Clean snake\_case field names ready for BI. |
| 🛟 | Surfaces upstream rate-limit and error notes as a clean `error` record. |
| 🔌 | Public directory exposed as a structured dataset. |
| 💾 | Push to dataset and download in every Apify format. |
| 🔁 | Schedule daily, weekly, or hourly via Apify scheduler. |
| 🆓 | Free tier preview of 10 records, paid plans up to 1,000,000. |

### 📈 How it compares to alternatives

| Approach | Setup time | Clean keys? | Pagination? | Rate-limit handling? |
|---|---|---|---|---|
| Roll your own fetch | 30 min + | ❌ | manual | ❌ |
| Headless browser | 1 hr + | partial | manual | partial |
| **This Actor** | 5 sec, no install | ✅ | ✅ | ✅ |

### 🚀 How to use

1. Click **Try for free**.
2. (Optional) Set any of the filter fields to narrow your run.
3. Set `maxItems` to the number of records you want.
4. Click **Start**. Within seconds, your dataset is ready and downloadable.

### 💼 Business use cases

**📊 Market mapping.** Pull the complete directory into a spreadsheet to study geographic and category distribution of Toastmasters clubs.

**💼 Sales prospecting.** Enrich CRM records with verified attributes pulled straight from the canonical public directory.

**📰 Editorial research.** Reporters can fact-check counts, surface trends, and identify story leads in seconds.

**🤖 ML feature engineering.** Build a clean training set of Toastmasters clubs attributes for downstream models.

### 🔌 Automating Toastmasters Club Finder Scraper

- **Make and Zapier.** Trigger this actor on a schedule, push results to Airtable, Google Sheets, or Slack.
- **Cron schedule.** Native Apify scheduler runs the actor at any cadence.
- **Webhooks.** Get a POST to your endpoint the moment a run finishes.
- **Pipe to BigQuery, Snowflake, Postgres.** Native Apify integrations move datasets straight into your warehouse.

### 🌟 Beyond business use cases

**🎓 Education.** Teach a research methods class with a real, current dataset students can pull themselves.

**🧪 Personal research.** Track changes in the Toastmasters clubs ecosystem over time by scheduling weekly snapshots.

**🤝 Non-profit and open data.** Build public dashboards without writing client code.

**🧰 Tinkering and prototyping.** Spin up a clean dataset in seconds to test a new visualization or app idea.

### 🤖 Ask an AI assistant about this scraper

Pop this README into ChatGPT, Claude, or any AI assistant and ask it to map your specific workflow to the actor's inputs. The schema, examples, and field list above contain everything an LLM needs to design a working pipeline.

### ❓ Frequently Asked Questions

**❓ Do I need an API key?** No. The actor talks to the public directory directly.

**❓ Is there a rate limit?** The source may throttle aggressive bursts. The actor surfaces any throttle notes as a clean `error` record.

**❓ Which filters are supported?** Every filter the source exposes is on the input schema. Combine them freely.

**❓ Are values cleaned?** Yes. Field names are snake\_case and numeric fields are cast where possible.

**❓ How are errors handled?** Upstream errors are pushed as a single record with the `error` field populated, rather than crashing the run.

**❓ Can I schedule runs?** Yes, via Apify's native scheduler or Make and Zapier.

**❓ Is this scraping or an API?** Public, structured access to a public directory.

**❓ Will the schema change?** Stable fields are guaranteed. Source-specific fields are passed through as available.

**❓ What format can I download?** Every format Apify supports, straight from the dataset UI.

**❓ Is my run private?** Yes. Apify runs are isolated to your account.

### 🔌 Integrate with any app

Apify ships native integrations with Make, Zapier, Slack, Discord, Google Drive, Google Sheets, Gmail, Airbyte, Keboola, Telegram, GitHub, and any REST or webhook endpoint. Trigger runs from a calendar event, a form submission, a cron job, or pipe results straight into BigQuery, Snowflake, or a Postgres warehouse.

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [ParseForge OurAirports Scraper](https://apify.com/parseforge/ourairports-scraper) | Global airport database. |
| [ParseForge Alpha Vantage Scraper](https://apify.com/parseforge) | Public market data including stocks, FX, crypto, indicators. |
| [ParseForge NBA Stats Scraper](https://apify.com/parseforge/nba-stats-scraper) | Player and team stats. |
| [ParseForge CurseForge Mods Scraper](https://apify.com/parseforge/curseforge-mods-scraper) | Public mod metadata. |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for 900+ production-grade scrapers across business intelligence, real estate, e-commerce, sports, finance, and public records.

***

**Disclaimer.** This actor scrapes only publicly available data. ParseForge is not affiliated with, endorsed by, or sponsored by any of the third-party services referenced. Users are responsible for complying with the target site's terms of service and applicable law. [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp).

# Actor input Schema

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `latitude` (type: `string`):

Latitude of the location to search around (e.g. 40.7128 for New York City). Toastmasters clubs are returned by distance from this point.

## `longitude` (type: `string`):

Longitude of the location to search around (e.g. -74.0060 for New York City). Toastmasters clubs are returned by distance from this point.

## `radius` (type: `integer`):

Search radius in miles around the given coordinates. Defaults to 25 miles.

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

Optional country name filter (e.g. United States, France, United Kingdom) to restrict results to clubs in that country.

## Actor input object example

```json
{
  "maxItems": 10,
  "latitude": "40.7128",
  "longitude": "-74.0060",
  "radius": 25
}
```

# Actor output Schema

## `results` (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 = {
    "maxItems": 10,
    "latitude": "40.7128",
    "longitude": "-74.0060",
    "radius": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/toastmasters-club-finder-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,
    "latitude": "40.7128",
    "longitude": "-74.0060",
    "radius": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/toastmasters-club-finder-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 '{
  "maxItems": 10,
  "latitude": "40.7128",
  "longitude": "-74.0060",
  "radius": 25
}' |
apify call parseforge/toastmasters-club-finder-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Toastmasters Club Finder Scraper",
        "description": "Find Toastmasters International clubs by postal code, country, or language. Each club returns the name, district, city, country, meeting day and time, venue, contact, and language. Great for local club research, membership outreach, or mapping public speaking groups worldwide.",
        "version": "0.1",
        "x-build-id": "I4cARD0lNRvPS5Ag8"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~toastmasters-club-finder-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-toastmasters-club-finder-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~toastmasters-club-finder-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-toastmasters-club-finder-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~toastmasters-club-finder-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-toastmasters-club-finder-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "latitude": {
                        "title": "Latitude",
                        "type": "string",
                        "description": "Latitude of the location to search around (e.g. 40.7128 for New York City). Toastmasters clubs are returned by distance from this point."
                    },
                    "longitude": {
                        "title": "Longitude",
                        "type": "string",
                        "description": "Longitude of the location to search around (e.g. -74.0060 for New York City). Toastmasters clubs are returned by distance from this point."
                    },
                    "radius": {
                        "title": "Radius (miles)",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Search radius in miles around the given coordinates. Defaults to 25 miles."
                    },
                    "country": {
                        "title": "Country",
                        "type": "string",
                        "description": "Optional country name filter (e.g. United States, France, United Kingdom) to restrict results to clubs in that country."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
