finding-law-firms-via-google-search

>

Installs26deduplicated source total
8-week historyLatest recorded total per week
GitHub stars1source repository
UpdatedOct 05, 2026normalized snapshot

SKILL.md

Finding Law Firms Via Google Search


Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]Google search URLs
searchTermsarrayOptional[]Keywords to search on Google
countryCodestringOptionalUSCountry for Google search (e.g. US, GB, TR)
languageCodestringOptional—Language for results (e.g. en)
maxItemsnumberOptionalUnlimitedMaximum results to return across all queries
maxPagesPerQueryintegerOptional1Maximum result pages per query
mobileResultsbooleanOptionalfalseFetch mobile SERP layout
customMapFunctionstringOptional—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

ScoreTierLabel
≥ 0.70APRIME_PROSPECT
0.40–0.69BWARM_LEAD
< 0.40CLOW_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.