# Canada Dentist and Clinic Directory Scraper (`happitap/canada-dentist-directory-scraper`) Actor

Extract verified dental clinics, orthodontists, and dental professionals across Canada. High-quality B2B healthcare leads

- **URL**: https://apify.com/happitap/canada-dentist-directory-scraper.md
- **Developed by:** [HappiTap](https://apify.com/happitap) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 1 total users, 0 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/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

## Canada Dentist Directory Scraper

**Extract verified dental clinics, orthodontists, and dental professionals across Canada.**

The Canada Dentist Directory Scraper extracts high-quality healthcare B2B leads from top Canadian directories like YellowPages.ca, providing you with clinic names, phone numbers, and ratings.

### What can Canada Dentist Directory Scraper do?

- ✅ **Extract Premium Leads** - Get clinic names, physical addresses, and direct phone numbers.
- ✅ **Assess Quality** - Scrape star ratings and review counts to target the best clinics.
- ✅ **Extract Specialties** - Identify specific services offered (e.g., Orthodontist, Periodontist, General Dentistry).
- ✅ **Export formats** - Download data in JSON, CSV, Excel, or HTML formats.
- ✅ **Integrations** - Connect seamlessly with API, webhooks, Make, or Zapier.
- ✅ **No coding required** - Use our simple interface to start scraping immediately.

### Why scrape Canada Dentist Clinics?

Canadian healthcare directories contain incredibly valuable data for:

- 🎯 **B2B Medical Suppliers** - Target clinics that need dental equipment, chairs, and consumables.
- 📊 **Marketing Agencies** - Connect with dentists to sell digital marketing and SEO services.
- 📍 **Software Providers** - Pitch practice management and booking software to dental clinics.

### What data can you extract?

| Data Field | Description | Example |
|------------|-------------|---------|
| **clinicName** | The name of the clinic | "Toronto Smiles Dental" |
| **specialty** | Types of services offered | "Dentist, Orthodontist" |
| **address** | The full address | "123 King St W, Toronto, ON M5V 1J5" |
| **phone** | Direct contact number | "(416) 123-4567" |
| **rating** | User rating and review count | "5.0 (25 Reviews)" |
| **website** | Company website | "https://www.example.ca" |
| **listingUrl** | Link to the directory listing | "https://www.yellowpages.ca/..." |

### How to scrape Canada Dentist data

1. **Click "Try for free"** to start using the actor.
2. **Enter your input** - Provide a keyword (e.g., "dentist") and location (e.g., "Toronto, ON").
3. **Configure options** - Set the maximum number of leads you want to extract.
4. **Start the scraper** - Click Start and let the actor do the work.
5. **Download results** - Export your leads as JSON, CSV, or Excel.

### Input

Configure the scraper with these key settings:

- **Keyword** - The specific niche (e.g., 'dentist', 'orthodontist').
- **Location** - The Canadian City, Province (e.g., 'Toronto, ON', 'Vancouver, BC').
- **Maximum Leads** - The total number of records to extract.
- **Proxy Configuration** - Apify Residential Proxy (Canada targeted) is highly recommended.

### Output

You can download data in multiple formats:

- **JSON** - For developers and programmatic access
- **CSV** - For easy import into Excel or CRM systems
- **Excel** - Ready-to-use spreadsheet

#### Output example

```json
{
    "clinicName": "Toronto Smiles Dental",
    "specialty": "Dentist",
    "address": "123 King St W, Toronto, ON M5V 1J5",
    "phone": "416-123-4567",
    "website": "https://www.example.ca",
    "rating": "5.0 25 Reviews",
    "listingUrl": "https://www.yellowpages.ca/...",
    "scrapedAt": "2026-07-02T15:00:00Z"
}
```

### How much does it cost?

This actor uses a Pay-Per-Event (PPE) pricing model:

- **Base Fee**: $0.25 per start
- **Lead Fee**: $4.00 per 1,000 dental clinic leads extracted ($0.004 per lead)

**Free tier**: Apify provides $5 in free monthly credits, allowing you to extract over 1,000 premium leads for free!

### Is it legal to scrape?

Yes, scraping publicly available data is generally legal. This Actor only extracts public information.

**Best practices**:

- Use the data ethically for B2B outreach.
- Respect the target site's Terms of Service.
- Ensure compliance with CASL (Canada's Anti-Spam Legislation) when handling contact information.

### Integrations

Connect with 1000+ apps:

- **Google Sheets** - Auto-update spreadsheets with new leads.
- **Slack** - Get notifications when scraping finishes.
- **Webhooks** - Send data directly to your CRM.
- **API** - Programmatic access for developers.

***

**License**: Apache-2.0 | **Version**: 1.0.0

# Actor input Schema

## `startUrls` (type: `array`):

List of search URLs to scrape.

## `maxLeads` (type: `integer`):

Maximum number of Canadian dental leads to extract.

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

Proxy settings. Apify Residential Proxy (Canada targeted) is required.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.yellowpages.ca/search/si/1/dentist/Toronto+ON"
    }
  ],
  "maxLeads": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://www.yellowpages.ca/search/si/1/dentist/Toronto+ON"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("happitap/canada-dentist-directory-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 = {
    "startUrls": [{ "url": "https://www.yellowpages.ca/search/si/1/dentist/Toronto+ON" }],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("happitap/canada-dentist-directory-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 '{
  "startUrls": [
    {
      "url": "https://www.yellowpages.ca/search/si/1/dentist/Toronto+ON"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call happitap/canada-dentist-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=happitap/canada-dentist-directory-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/bOGgqnFkGJbuXQbuN/builds/h69RocxUhzuRB53Xk/openapi.json
