finding-healthcare-practices-via-google-search

Finds doctors, clinics, and dental offices in your area to build a list for outreach or sales.

Installation
Run `npx skills add "https://github.com/apidojo-io/apidojo-skills" --skill "finding-healthcare-practices-via-google-search"` to install this skill, then follow its SKILL.md instructions for my next request.

Paste this into Claude Code, Cursor, or any agent that can run commands.

SKILL.mdShow the author's original SKILL.md
---
name: finding-healthcare-practices-via-google-search
description: >
  Finds medical practices, clinics, dental offices, and healthcare providers via Google Search
  using apidojo's Google Search Scraper on Apify. Triggers when the user asks to: find medical
  practices for outreach, discover dental offices or clinics via Google, build a list of healthcare
  providers in a specific city, find doctors or medical groups for vendor sales, prospect healthcare
  practices for software or supply sales, identify hospitals or urgent care centers by location,
  or compile a healthcare provider list from Google results. Returns practice name, website URL,
  and Google snippet per result. Ideal for HealthTech SaaS vendors, medical suppliers, and B2B
  service companies targeting healthcare practices.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actor: apidojo/google-search-scraper
---

# Finding Healthcare Practices Via Google Search

---

## Inputs

| Parameter | Type | Required | Default | Notes |
|-----------|------|----------|---------|-------|
| `startUrls` | array | Optional | `[]` | Google search URLs |
| `searchTerms` | array | Optional | `[]` | Keywords to search on Google |
| `countryCode` | string | Optional | `US` | Country for Google search (e.g. `US`, `GB`, `TR`) |
| `languageCode` | string | Optional | — | Language for results (e.g. `en`) |
| `maxItems` | number | Optional | Unlimited | Maximum results to return across all queries |
| `maxPagesPerQuery` | integer | Optional | `1` | Maximum result pages per query |
| `mobileResults` | boolean | Optional | `false` | Fetch mobile SERP layout |
| `customMapFunction` | string | Optional | — | JavaScript function to transform each output object |

## How to Run

### Using run_actor.js (recommended)

```bash
# Quick answer (table)
node scripts/run_actor.js --actor "apidojo~google-search-scraper" --input '{"searchTerms": ["dental practice Chicago"], "countryCode": "US", "maxPagesPerQuery": 3}'

# Save as CSV
node scripts/run_actor.js --actor "apidojo~google-search-scraper" --input '{"searchTerms": ["dental practice Chicago"], "countryCode": "US", "maxPagesPerQuery": 3}' --output results.csv --format csv

# Save as JSON
node scripts/run_actor.js --actor "apidojo~google-search-scraper" --input '{"searchTerms": ["dental practice Chicago"], "countryCode": "US", "maxPagesPerQuery": 3}' --output results.json --format json
```

### REST API fallback

```bash
curl -X POST "https://api.apify.com/v2/acts/apidojo~google-search-scraper/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["dental practice Chicago"], "countryCode": "US", "maxPagesPerQuery": 3}'
```

If Apify MCP is available:
Use the Apify MCP `call_actor` tool with actor `apidojo~google-search-scraper` and the input above.

---

## Scoring & Ranking

Score each result by:
- `snippet_has_health_signals` (contains: clinic, practice, dental, medical, healthcare, patients, MD, DDS) → weight 0.50
- `valid_domain` (not .gov, .edu, .wikipedia, .yelp) → weight 0.30
- `position_score` → 1 - (position / total), weight 0.20

```python
score = 0.50 * int(health_signals) + 0.30 * int(valid_domain) + 0.20 * position_score
```

---

## Classification

| Score | Tier | Label |
|-------|------|-------|
| ≥ 0.70 | A | PRIME_PROSPECT |
| 0.40–0.69 | B | WARM_LEAD |
| < 0.40 | C | LOW_PRIORITY |

---

## Edge Cases

- **Directory sites**: Healthgrades, Zocdoc, WebMD listings — not practices. Filter by checking domain.
- **Hospital systems**: Large hospital networks are hard to reach. Focus on independent practices.
- **No contact data**: SERP returns URL and snippet only — no phone/email. Use as a starting list.
- **Duplicate practices**: Same clinic may appear for multiple search terms — deduplicate by domain.
- **Specialty filter**: Add specialty to search term: "orthopedic clinic Denver", "dermatology practice Miami".

Mirrored from the author's public source. Install counts from the open skills registry.

The systems behind these skills get built for partners every week.

Partner with us