finding-healthcare-practices-via-google-search
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 me…
API Dojo
@apidojo-io
Install
$ openclaw skills install @apidojo-io/finding-healthcare-practices-via-google-searchFinding 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".
Top skills in this category
Playwright (Automation + MCP + Scraper)
@ivangdavilaAutomates, tests, and debugs browsers with Playwright: locators, auto-waiting, traces, CI runs, and MCP browser control. Use when a test is flaky, times out, or fails only in CI or headless; when a locator matches multiple elements or the wrong one (strict mode violation); when clicks need force, waits become sleeps, or networkidle never settles; for storageState and login setup, request mocking and HAR replay, uploads and downloads, iframes and shadow DOM, popups and dialogs, screenshot diffs that change per machine, trace and report artifacts, sharding a slow suite, device and permission emulation, accessibility checks, driving a real browser through Playwright MCP, extracting data from JS-rendered pages, or porting a Cypress, Puppeteer, or Selenium suite to Playwright. Not for maintaining an existing Cypress or Puppeteer suite (cypress, puppeteer) or for work a plain HTTP request answers (http).
Scrapling Official Skill
@d4vinciScrape web pages using Scrapling with anti-bot bypass (like Cloudflare Turnstile), stealth headless browsing, spiders framework, adaptive scraping, and JavaScript rendering. Use when asked to scrape, crawl, or extract data from websites; web_fetch fails; the site has anti-bot protections; write Pyth
Agent Browser Core
@codedao12OpenClaw skill for the agent-browser CLI (Rust-based with Node.js fallback) enabling AI-friendly web automation with snapshots, refs, and structured commands.
Polymarket
@mvanhornQuery and trade on Polymarket prediction markets — check odds, trending markets, search events, view order books, place trades, and manage positions. Now ava...
Last30days Skill
@mvanhornResearch what people actually say about any topic in the last 30 days. Pulls posts and engagement from Reddit, X, YouTube, TikTok, Hacker News, Polymarket, G...