F
finding-healthcare-practices-via-google-search
About finding-healthcare-practices-via-google-search
A skill for finding healthcare practices through Google search results. It ranks and classifies results using health-related signals, domain validity, and search position; results provide URLs and snippets, not contact details.
Key features
- 01Search Google by keywords and region
- 02Set result language and page limits
- 03Rank results using health signals
- 04Classify leads into three tiers
- 05Export results as CSV or JSON
Use cases
- 01Find dental practices in a target city
- 02Create specialty-specific practice prospect lists
- 03Prioritize independent healthcare search results
MCP support
When Apify MCP is available, it can run the google-search-scraper actor through the call_actor tool.
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill finding-healthcare-practices-via-google-searchAfter installing, type/finding-healthcare-practices-via-google-searchin Claude Code to confirm it loaded.
Details
From the project READMEFinding 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)
# 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
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.50valid_domain(not .gov, .edu, .wikipedia, .yelp) → weight 0.30position_score→ 1 - (position / total), weight 0.20
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".
Comments
Markdown supported