ParseForge Scrapers

ADA Find a Dentist Directory Scraper

parseforge/ada-find-a-dentist-scraper

Lead generationAutomation

Scrapes dentist listings from the American Dental Association's Find-a-Dentist directory by location, specialty, and radius. Returns practice name, address, phone, website, and new-patient status as a flat row.

Run this scraper See the API call
Total users
5
Monthly active
1
Total runs
103
Bookmarked
0
Rating
Not rated yet
Last modified
8 days ago

Overview

ParseForge

ADA Find a Dentist Directory Scraper

Scrape dentist profiles from the ADA Find-a-Dentist directory by location, specialty, and radius. Each result includes the practice name, address, phone, website, and acceptance status. Export to CSV, JSON, Excel, or XML.

The American Dental Association's Find-a-Dentist directory is the authoritative source for verified dental professionals in the U.S., but manually searching and copying data is slow. This actor automates the search, reading public profiles for any city, ZIP code, or state, and filtering by specialty, radius, and new-patient status. It returns a clean, structured dataset ready for analysis or outreach.

Who uses it What they scrape ADA Find a Dentist for
Dental suppliers and service providers Build a targeted list of dental practices in a specific region for sales outreach.
Market researchers Analyze the density and distribution of dental specialties across different cities.
Recruiters and dental service organizations (DSOs) Identify independent practices or specialists for potential acquisition or partnership.
Patients and consumer platforms Aggregate verified dentist contact details and new-patient availability for a comparison tool.

What it does

This actor collects dentist listings from the ADA Find-a-Dentist directory based on a location and optional filters, and returns each practice as a flat row.

  • πŸ“ Location-based search: Enter a city, ZIP code, or state to find dentists in that area.
  • 🦷 Specialty filter: Narrow results to a specific field like Orthodontics, Endodontics, or Oral Surgery.
  • πŸ“ Radius control: Set a search radius from 1 to 100 miles around your target location.
  • πŸ†• New-patient filter: Collect only practices that are currently accepting new patients.

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

What you can do with ADA Find a Dentist data

πŸ“‹ Build a regional sales list.

A dental equipment supplier scrapes all general dentists within 50 miles of Chicago to create a cold outreach list.

πŸ—ΊοΈ Map specialist availability.

A market analyst scrapes pediatric dentists across rural Texas ZIP codes to identify underserved areas for a new clinic.

πŸ“ž Find practices for acquisition.

A DSO recruiter scrapes oral surgeons in Florida who are accepting new patients to find potential partnership targets.

🌐 Power a patient-facing directory.

A developer scrapes orthodontists in New York City weekly to keep a consumer website's provider list current with official ADA data.

Why choose this scraper

What you get
Verified ADA member data Access information directly from the official American Dental Association directory.
Precise local targeting Combine a location with a radius and specialty to build hyper-local lists.
Clean, flat output Every practice is returned as a single row with a consistent schema for easy import.
No manual copying Automate what would be hours of manual search and data entry from the ADA website.

How it compares

No other Store actor targets ADA Find a Dentist the same way, so the honest comparison is with the alternatives teams actually weigh.

ADA Find a Dentist Directory Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When ADA Find a Dentist 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 with a city or ZIP code, then narrow results by specialty, search radius, and new-patient acceptance status so only matching practices reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "location": "10001",
  "maxItems": 10
}

A larger pull:

{
  "location": "10001",
  "maxItems": 200
}

Pricing

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

Results collected Approximate cost
100 results $0.85
1,000 results $8.50
10,000 results $85.00

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 to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the ADA Find a Dentist Directory Scraper.
  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 (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to ADA Find a Dentist through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/ada-find-a-dentist-scraper"

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

Troubleshooting

Why am I getting no results?

Your search criteria may be too narrow. Try removing the specialty filter, increasing the search radius, or using a larger city or state name instead of a small ZIP code.

The actor is returning fewer results than my maxItems setting.

This means the ADA directory has fewer matching dentists in that area than the number you requested. The actor collected everything available for your filters.

Why is the website field empty for some dentists?

Not all practices list a website on their ADA profile. An empty field means the dentist did not provide one to the ADA directory.

I entered a valid city but the actor failed.

Double-check the spelling of the city and state. If the location is very small, try using the ZIP code or a nearby larger city name instead.

The phone numbers are in different formats.

The actor returns the phone number exactly as it appears on the ADA profile. You can use a simple formula in Excel or a short script to standardize the formatting after export.

FAQ

Question Answer
What data does this actor return for each dentist? It returns the practice name, full street address, phone number, website URL, specialty, and whether the practice is accepting new patients, all as provided by the ADA directory.
Can I search by dentist name instead of location? No, this actor is built to search by geographic location. The ADA directory's primary search function is location-based, so you must provide a city, ZIP code, or state.
How many results can I get in one run? You can set the maximum number of dentists to collect, up to 1,000,000 per run. The actor will stop once it reaches your limit or exhausts the results for your search.
What is the difference between leaving the specialty filter on 'Any' and choosing a specific one? Leaving it on 'Any' returns dentists of all specialties. Selecting one, like 'Orthodontics', will only return practices that match that specific field.
Does this actor scrape patient reviews or ratings? No, the ADA Find-a-Dentist directory does not include patient reviews or star ratings. This actor only collects the factual practice information listed on the official profile.
Is the data from this actor considered official and verified? The data comes directly from the American Dental Association's public directory, which lists ADA member dentists. It reflects the information the ADA publishes for each practice.
Can I filter by multiple specialties at once? No, the input allows you to select one specialty per run. To collect multiple specialties in the same area, run the actor once for each specialty.
What happens if my location search returns no results? The run will complete successfully but with an empty dataset. Try broadening your search by increasing the radius or removing the specialty filter.
Can I export the scraped data to Google Sheets? You can export the results to CSV, JSON, Excel, or XML from the Apify dataset tab. You can then import the CSV or Excel file directly into Google Sheets.
Does this actor require an API key or login for the ADA website? No, it scrapes the public-facing ADA Find-a-Dentist directory and does not require any login, API key, or ADA membership.

Related actors

Browse the full ParseForge collection 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 American Dental Association. 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.

Input

FieldTypeWhat it doesDefault
location string ZIP code, city, or state to search. 10001
maxItems integer Maximum number of dentists to collect per run. 10
specialty string (11 options) Dental specialty filter. not set
radiusMiles integer Search radius in miles around the location. 25
acceptingNewPatients boolean Filter to dentists currently accepting new patients. false

Pricing

from $7.50 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.0075 to $0.0085

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~ada-find-a-dentist-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run ADA Find a Dentist Directory Scraper on Apify All scrapers