Agent Skills

finding-law-firms-via-google-search

Finds law firms and legal practices via Google Search using apidojo's Google Search Scraper on Apify. Triggers when the user asks to: find law firms for sales outreach, discover legal practices in a specific city, build a list of attorneys or law offices via Google, find personal injury or corporate law firms for vendor prospecting, search for law firms by specialty and location, identify solo practitioners or large law offices, or compile a law firm contact list from Google results. Returns fir

Install

npx skills add https://github.com/apidojo-io/apidojo-skills --skill finding-law-firms-via-google-search
SKILL.md

Finding Law Firms 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": ["personal injury law firm Dallas"], "countryCode": "US", "maxPagesPerQuery": 3}'

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

# Save as JSON
node scripts/run_actor.js --actor "apidojo~google-search-scraper" --input '{"searchTerms": ["personal injury law firm Dallas"], "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": ["personal injury law firm Dallas"], "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_legal_signals (contains: law firm, attorneys, legal, lawyers, counsel, practice, LLP, PC) → weight 0.50
  • valid_domain (not directory sites: avvo.com, findlaw.com, lawyers.com) → weight 0.30
  • position_score → 1 - (position / total), weight 0.20
score = 0.50 * int(legal_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

  • Legal directories: Avvo, FindLaw, Martindale are directories — not law firms. Filter by domain.
  • No contact data: SERP returns URL and snippet — no phone/email. Use as starting list.
  • Practice area filter: Add specialty: "immigration law firm", "family law attorney Dallas".
  • Large vs boutique: Big firms may be harder to reach. Filter by snippet to identify size.
  • Duplicate firms: Same firm may appear across multiple search terms — deduplicate by domain.

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers