# Schools Lead Generator (`parse-point/schools-lead-generator`) Actor

🎓 Schools Lead Generator collects school and academy leads from Google Maps—phone, website, address, coordinates & reviews. 📧 Site enrichment adds emails and social links. 📚 For edtech sales & school supplier prospecting.

- **URL**: https://apify.com/parse-point/schools-lead-generator.md
- **Developed by:** [Parse Point](https://apify.com/parse-point) (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 $1.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

### Schools Lead Generator 📚

**Schools Lead Generator** helps you replace time-consuming manual research with a faster way to build education lead generation lists from public web data. It’s designed for marketers, data analysts, and researchers who need school marketing leads, student enrollment leads, and school admissions leads without spending hours searching one result at a time. The outcome: cleaner prospect lists and more time for outreach.

### What is Schools Lead Generator? 🔍

**Schools Lead Generator** is an Apify actor that collects public business contact details for schools and similar education organizations. It returns structured records with names, websites, phone numbers, addresses, location data, ratings, review counts, and extracted contact signals from publicly available sources. Whether you’re working on school prospecting, admissions marketing, or K-12 lead generation, this Schools Lead Generator gives you a practical way to build an education lead generator workflow and support lead generation for schools at scale.

### What Does Schools Lead Generator Do? ⚙️

Schools Lead Generator takes your search term and location, finds matching public listings, then enriches them with contact information and saves the results to your Apify dataset. It’s built for school enrollment marketing and school recruitment leads, while keeping the output organized for reporting or outreach.

- 🔍 **Searches** for schools and other education-related businesses using your chosen search term and locations
- 📧 **Extracts** publicly available emails, phone numbers, and social media profiles from business websites
- 🌍 **Filters** results by the locations you provide, helping you focus on the right market
- 📊 **Structures** output as clean JSON records for easy analysis and lead handoff
- 💾 **Saves** results to the dataset as they’re processed, so you can review progress during the run

### What Would Results from Schools Lead Generator Look Like? 👀

Here’s a realistic example of the kind of structured education sales leads you can export from the dataset:

```json
{
  "name": "Bright Futures Academy",
  "website": "https://www.brightfuturesacademy.edu",
  "phone": "+1 (212) 555-0184",
  "full_address": "245 W 51st St New York NY 10019 US",
  "city": "New York",
  "state": "NY",
  "zip": "10019",
  "country_code": "US",
  "scraped_emails": [
    "admissions@brightfuturesacademy.edu"
  ],
  "scraped_phones": [
    "+1 (212) 555-0184"
  ],
  "scraped_social_media": [
    "https://www.instagram.com/brightfuturesacademy"
  ],
  "emails_found": 1,
  "pages_scraped": 4,
  "avg_rating": 4.6,
  "total_reviews": 38,
  "lat": "40.7638",
  "long": "-73.9855",
  "place_id": "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
  "scrape_status": "success"
}
```

Export the dataset as JSON or CSV from the Apify console.

### Capabilities of Schools Lead Generator 🛠️

| Capability | What It Means for You |
|---|---|
| ✅ **Location-Based Collection** | Focus on schools in specific cities, regions, or countries for sharper school inquiry generation |
| ✅ **Public Contact Extraction** | Collect emails, phone numbers, websites, and social media links from publicly available sources |
| ✅ **Structured Dataset Output** | Get consistent records that are easy to sort, filter, and import into spreadsheets or CRMs |
| ✅ **Result Limits** | Control the run size with `maxBusinesses` so you can match budget and campaign goals |
| ✅ **Per-Location or Global Collection** | Choose whether the limit applies per location or across all locations combined |
| ✅ **Proxy Configuration Support** | Add built-in proxy support for more reliable scraping at scale |
| ✅ **Immediate Saving** | Results are pushed to the dataset during the run, reducing the risk of data loss |
| ✅ **Business Quality Signals** | Review ratings and review counts to help prioritize stronger prospects |
| ✅ **High-Relevance Use Cases** | Useful for private school leads, school admissions leads, and broader education lead generation workflows |

### Launch Your First Schools Lead Generator Task 🚀

#### Required Input Fields

```json
{
  "googleMapsSearchTerm": "Schools",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `googleMapsSearchTerm` | String | Yes | `Schools` | The search term used to find the type of school or education business you want to collect. |
| `googleMapsLocation` | Array | Yes | `["New York"]` | The target location or list of locations where the actor should look for results. |
| `maxBusinesses` | Integer | No | `5` | The maximum number of businesses with emails to collect before stopping. |
| `scrapeMaxBusinessesPerLocation` | Boolean | No | `false` | If enabled, the actor collects up to the maximum for each location separately. If disabled, all locations share one total limit. |
| `proxyConfiguration` | Object | No | `{"proxy support": true}` | Proxy settings for the run. Recommended for larger or repeated scraping jobs. |

#### Required Output Fields

| Field | Type | Description |
|---|---|---|
| `name` | String | Business name of the school or education organization. |
| `website` | URL | The business website, when available. |
| `phone` | String | Main phone number listed for the business. |
| `full_address` | String | Full address assembled from the listing details. |
| `city` | String | City associated with the business location. |
| `state` | String | State or region associated with the business location. |
| `zip` | String | Postal code for the business location. |
| `country_code` | String | Country code for the business location. |
| `scraped_emails` | List | Email addresses found from publicly available sources. |
| `scraped_phones` | List | Additional phone numbers discovered during scraping. |
| `scraped_social_media` | List | Social media links discovered during scraping. |
| `emails_found` | Integer | Number of email addresses found for the business. |
| `pages_scraped` | Integer | Number of pages processed for the business website. |
| `avg_rating` | Number | Average review rating for the listing. |
| `total_reviews` | Integer | Total number of reviews. |
| `lat` | String | Latitude value for the business location. |
| `long` | String | Longitude value for the business location. |
| `place_id` | String | Unique place identifier for the listing. |
| `scrape_status` | String | Status of the scrape for that record, such as success or no\_website. |

**Step-by-step launch guide:**

1. **Open** the actor in Apify and go to the Input tab.
2. **Enter** your school search term and one or more target locations.
3. **Set** the result limit and decide whether it should apply per location.
4. **Configure** proxy settings if you’re running school prospecting at scale.
5. **Start** the actor and monitor the run in real time.
6. **Export** the dataset in JSON or CSV once the run is complete.

### Solving Real Problems with Schools Lead Generator 💼

- 🎯 **School Prospecting** — Build targeted lists for outreach to schools, academies, and education organizations
- 📣 **Admissions Marketing** — Create school admissions leads for campaigns focused on enrollment and inquiry generation
- 🤝 **Recruitment Outreach** — Find contact details useful for student recruitment marketing and partnership conversations
- 🔬 **Market Research** — Analyze school marketing leads by location, rating, and review volume
- ⚙️ **Lead Operations** — Feed clean education sales leads into spreadsheets, CRMs, or internal reporting workflows

### What Sets Schools Lead Generator Apart? 🏆

- 💡 **Focused for Education Use Cases** — Built for education lead generation, school enrollment marketing, and other school-focused prospecting needs
- 📊 **Useful Business Signals** — Includes ratings, review counts, and contact details to help you prioritize better leads
- 🛡️ **Proxy-Ready** — Supports proxy configuration for more reliable large-scale runs
- 💬 **Support When You Need It** — Contact <hello.parsepoint@gmail.com> for help, feedback, or feature requests

### Search Limits and Capacity 📈

`maxBusinesses` can be set from 1 to 1000, and the actor stops when that target is reached. If `scrapeMaxBusinessesPerLocation` is enabled, the limit applies to each location separately; if not, all locations share one combined total. Output volume depends on how many public school listings have websites and discoverable contact details. Proxy configuration is available for larger jobs.

### Is It Legal to Scrape Schools? ⚖️

This actor collects only publicly available data and does not require logins or access to private information. Users are responsible for following applicable laws and platform policies, including privacy, anti-spam, and data-handling requirements. Use the data responsibly for legitimate education lead generation, school recruitment leads, and research purposes. For data-removal or compliance inquiries, contact <hello.parsepoint@gmail.com>.

### Ending Note ✉️

Stop spending hours on manual school prospecting. **Schools Lead Generator** helps you build cleaner school inquiry generation lists faster, with structured output you can actually use for outreach and analysis. Run it on Apify and turn public school data into actionable leads.

### FAQ — Schools Lead Generator ❓

#### How does Schools Lead Generator work?

It takes a search term and one or more locations, then collects public business listings that match your criteria. The actor saves structured records in your Apify dataset so you can review and export the results easily.

#### What kinds of organizations can I target?

You can target schools and other education-related businesses that match your search term. This makes it useful for private school leads, K-12 lead generation, and broader education sales leads.

#### What data do I get in the output?

You get business name, website, phone, address fields, city, state, zip, country code, scraped emails, scraped phones, scraped social media, email count, pages scraped, rating, reviews, coordinates, place ID, and scrape status.

#### Can I use this for student recruitment marketing?

Yes. Many users apply Schools Lead Generator to student recruitment marketing, admissions marketing, and school enrollment marketing because it returns structured public contact data.

#### Does it support large runs?

Yes. You can increase `maxBusinesses` up to 1000, and proxy configuration is available for more reliable collection when running larger jobs.

#### What if a school does not have a website?

If a business has no website, the record is still handled with the available listing data and the `scrape_status` will be set to `no_website`.

#### How can I get help or request changes?

If you need support, have feedback, or want to discuss improvements, contact <hello.parsepoint@gmail.com>.

### 🆘 Support & Feedback

Have a question or found an issue with Schools Lead Generator?

- 🐞 **Bug Reports:** Send details and examples to <hello.parsepoint@gmail.com>
- ✨ **Custom Solutions & Feature Requests:** Reach out to <hello.parsepoint@gmail.com>
- 📧 **Email:** <hello.parsepoint@gmail.com>

# Actor input Schema

## `googleMapsSearchTerm` (type: `string`):

Enter the business type or niche for email scraper (e.g., 'coffee shops', 'dentists').

## `googleMapsLocation` (type: `array`):

Target geographic location for the email scraper (e.g., 'Miami, Florida').

## `maxBusinesses` (type: `integer`):

Target number of businesses to find (1-1000). The scraper will stop when this target is reached.

## `scrapeMaxBusinessesPerLocation` (type: `boolean`):

If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.

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

Proxy settings for scraping. Recommended for large-scale scraping.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Schools",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "googleMapsSearchTerm": "Schools",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parse-point/schools-lead-generator").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 = {
    "googleMapsSearchTerm": "Schools",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parse-point/schools-lead-generator").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 '{
  "googleMapsSearchTerm": "Schools",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parse-point/schools-lead-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parse-point/schools-lead-generator"
        }
    }
}

```

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/ANsxXtcrj5bS9LH6D/builds/IFaLezJcAQnFwNMZ4/openapi.json
