Avvo Lawyers & Attorney Leads Scraper avatar

Avvo Lawyers & Attorney Leads Scraper

Pricing

from $17.00 / 1,000 results

Go to Apify Store
Avvo Lawyers & Attorney Leads Scraper

Avvo Lawyers & Attorney Leads Scraper

Scrape US lawyer and attorney profiles: name, practice areas, law firm, full address, phone, Avvo rating, client reviews, years licensed, bar/license status and languages. Search by practice area or name across any city. Export to JSON, CSV or Excel.

Pricing

from $17.00 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Avvo Lawyers & Attorney Leads Scraper

Avvo Lawyers & Attorney Leads Scraper

Here is one real result, with every field the actor returns:

{
"imageUrl": "https://images.avvo.com/avvo/ugc/images/head_shot/standard/lawyer_matthew_dolman_1272944_1533940754.jpg",
"name": "Matthew A. Dolman",
"firstName": "Matthew",
"lastName": "Dolman",
"profileUrl": "https://www.avvo.com/attorneys/33712-fl-matthew-dolman-1272944.html",
"jobTitle": "Attorney",
"firmName": "Matthew A. Dolman",
"primaryPractice": "Insurance",
"practiceAreas": ["Insurance", "Personal Injury", "Brain Injury", "Wrongful Death", "Slip and Fall Accident"],
"avvoRating": 10,
"avvoRatingLevel": "Superb",
"peerEndorsements": null,
"reviewsRating": 4.8,
"reviewsCount": 26,
"reviews": [],
"barAdmissions": [],
"contingencyFee": true,
"claimedProfile": null,
"yearsLicensed": 22,
"licensedSince": "2026",
"licenseState": "Washington",
"licenseStatus": "Active",
"barOrganization": "Washington State Bar Association",
"disciplined": false,
"phone": "(727) 222-6922",
"addressStreet": "1663 1st Ave S.",
"city": "Saint Petersburg",
"state": "FL",
"zip": "33712",
"country": "US",
"latitude": 27.770566,
"longitude": -82.656151,
"languages": ["Spanish"],
"priceRange": "Varies based on case specifics",
"freeConsultation": true,
"linkedin": null,
"facebook": null,
"twitter": null,
"instagram": null,
"youtube": "https://www.youtube.com/watch?v=6cUmORlDM_Y&t=5s",
"socialProfiles": [
"https://www.dolmanlaw.com/legal-services/auto-accidents-attorneys/",
"http://www.dolmanlaw.com",
"https://www.youtube.com/watch?v=6cUmORlDM_Y&t=5s"
],
"lawSchools": ["Stetson University College of Law", "Ithaca College"],
"topAward": "Rising Star - 2017",
"awardsCount": 30,
"website": "https://www.dolmanlaw.com/legal-services/auto-accidents-attorneys/",
"searchQuery": "personal injury",
"searchCity": "Miami, FL",
"source": "Avvo",
"observedAt": "2026-08-14T05:38:32.765Z",
"aiLeadScore": 90,
"aiLeadTier": "hot",
"aiLeadRationale": "Matthew A. Dolman has a strong reputation with a perfect Avvo rating and extensive experience, making him an ideal candidate for B2B outreach.",
"error": null
}

The most complete Avvo attorney scraper available. It returns every field a lawyer profile exposes, including phone, address, geocoordinates, practice areas, Avvo rating, reviews, license, awards, and social links, plus an optional AI lead score and a contact-email enrichment add-on, and gives you six filters to target exactly the attorneys you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches the Avvo attorney directory and writes one normalized record per lawyer. Each search is a practice area (personal injury, divorce) or a lawyer name; every city you list is combined with every search. With withDetails on (the default) each profile is opened to add practice areas, Avvo rating, client reviews, years licensed, license status and organization, languages, awards, geocoordinates, and social links. You can also scrape exact profile URLs directly, and filter results by minimum Avvo rating, minimum reviews, and minimum years licensed. Missing source values are returned as null.

Two optional paid add-ons enrich each record: an AI lead score (0 to 100 with a hot/warm/cold tier and a short rationale) and a contact-email finder that looks up a public business email and contact name for rows that lack one. Each add-on is billed only for the work it does.

Quickstart

Open the actor, paste this into the input, and press Run. It returns 10 personal-injury lawyers in Miami with full profile details.

{
"searchQueries": ["personal injury"],
"cities": ["Miami, FL"],
"maxLawyers": 10,
"withDetails": true
}

Add more practice areas or cities to fan out (every city is combined with every search). Leave cities empty to search nationwide, or pass exact attorneyUrls to scrape specific profiles.

Input reference

FieldTypeRequiredDefaultDescription
searchQueriesstring[]no(empty)Practice areas (personal injury, divorce, criminal defense, bankruptcy) or lawyer names. Each entry runs its own search.
citiesstring[]no(nationwide)Cities to search, for example Los Angeles, CA, Miami, FL. Empty searches nationwide. Every city is combined with every search.
withDetailsbooleannotrueOpen each profile to add practice areas, rating, reviews, license, languages, awards, and social links. Turn off for a faster, lighter run.
maxLawyersintegerno10Maximum profiles to collect across all searches (1 to 100000).
attorneyUrlsstring[]no(empty)Exact Avvo attorney profile URLs to scrape directly, bypassing search. Can be combined with or used instead of searches.
minAvvoRatingintegerno(none)Only return lawyers whose Avvo rating (1 to 10) is at least this value. Requires withDetails.
minReviewsCountintegerno(none)Only return lawyers with at least this many client reviews. Requires withDetails.
minYearsLicensedintegerno(none)Only return lawyers licensed for at least this many years. Requires withDetails.
withLeadScorebooleannofalsePaid add-on. Scores each attorney 0 to 100 as a B2B outreach lead (hot/warm/cold) with a rationale. Requires a paid Apify plan. Billed only when a score is produced.
enrichContactsbooleannofalsePaid add-on. For each result without an email, attempt to find a public business email and contact name. Billed per attempt, plus extra only when an email is found.
enrichContactsMaxintegerno50Cap how many results the contact add-on tries to enrich. Free Apify accounts are capped at 3.

Output reference

One dataset item per attorney. Types: string, integer, number, boolean, string[], or null when the source value is absent.

FieldTypeDescription
imageUrlstringHead-shot image URL.
namestringFull attorney name.
firstNamestringFirst name.
lastNamestringLast name.
profileUrlstringAvvo profile URL.
jobTitlestringJob title, for example Attorney.
firmNamestringLaw firm name.
primaryPracticestringPrimary practice area.
practiceAreasstring[]All listed practice areas.
avvoRatingintegerAvvo rating, 1 to 10.
avvoRatingLevelstringRating label, for example Superb.
peerEndorsementsintegerPeer endorsement count, or null.
reviewsRatingnumberAverage client review score.
reviewsCountintegerNumber of client reviews.
reviewsarrayClient review objects when available.
barAdmissionsarrayBar admissions when listed.
contingencyFeebooleanWhether the lawyer takes contingency-fee work.
claimedProfilebooleanWhether the profile is claimed, or null.
yearsLicensedintegerYears the attorney has been licensed.
licensedSincestringYear first licensed.
licenseStatestringState of license.
licenseStatusstringLicense status, for example Active.
barOrganizationstringBar association.
disciplinedbooleanWhether the profile shows disciplinary history.
phonestringPublic phone number.
addressStreetstringOffice street address.
citystringOffice city.
statestringOffice state code.
zipstringOffice ZIP code.
countrystringCountry code, for example US.
latitudenumberOffice latitude.
longitudenumberOffice longitude.
languagesstring[]Languages spoken.
priceRangestringFee/price description as listed.
freeConsultationbooleanWhether a free consultation is offered.
linkedinstringLinkedIn URL, or null.
facebookstringFacebook URL, or null.
twitterstringTwitter/X URL, or null.
instagramstringInstagram URL, or null.
youtubestringYouTube URL, or null.
socialProfilesstring[]All external links found on the profile.
lawSchoolsstring[]Law schools attended.
topAwardstringTop listed award.
awardsCountintegerNumber of awards listed.
websitestringFirm/personal website.
searchQuerystringThe search that produced this record.
searchCitystringThe city that produced this record.
sourcestringData source label. Always Avvo.
observedAtstringISO 8601 timestamp of collection.
aiLeadScoreinteger0 to 100 lead score. Populated only when the lead-score add-on is on, else absent.
aiLeadTierstringhot, warm, or cold lead tier from the add-on.
aiLeadRationalestringShort rationale for the lead score.
enrichedEmailstringPublic business email found by the contact add-on, or null.
enrichedContactNamestringContact person name found by the add-on, or null.
enrichedJobTitlestringContact person job title from the add-on, or null.
enrichedEmailStatusstringverified, likely, guessed, or not_found from the add-on.
enrichedSourcestringWhere the enriched email was found, or null.
enrichedConfidencenumberConfidence score for the enriched email, or null.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Contact-enrichment fields are only present when enrichContacts is on.

Example output record

Real record from a live run (input {"searchQueries":["personal injury"],"cities":["Miami, FL"],"maxLawyers":3,"withDetails":true,"withLeadScore":true}):

{
"name": "Matthew A. Dolman",
"firstName": "Matthew",
"lastName": "Dolman",
"profileUrl": "https://www.avvo.com/attorneys/33712-fl-matthew-dolman-1272944.html",
"jobTitle": "Attorney",
"firmName": "Matthew A. Dolman",
"primaryPractice": "Insurance",
"practiceAreas": ["Insurance", "Personal Injury", "Brain Injury", "Wrongful Death", "Slip and Fall Accident"],
"avvoRating": 10,
"avvoRatingLevel": "Superb",
"reviewsRating": 4.8,
"reviewsCount": 26,
"contingencyFee": true,
"yearsLicensed": 22,
"licenseState": "Washington",
"licenseStatus": "Active",
"barOrganization": "Washington State Bar Association",
"disciplined": false,
"phone": "(727) 222-6922",
"addressStreet": "1663 1st Ave S.",
"city": "Saint Petersburg",
"state": "FL",
"zip": "33712",
"country": "US",
"latitude": 27.770566,
"longitude": -82.656151,
"languages": ["Spanish"],
"freeConsultation": true,
"youtube": "https://www.youtube.com/watch?v=6cUmORlDM_Y&t=5s",
"lawSchools": ["Stetson University College of Law", "Ithaca College"],
"topAward": "Rising Star - 2017",
"awardsCount": 30,
"website": "https://www.dolmanlaw.com/legal-services/auto-accidents-attorneys/",
"searchQuery": "personal injury",
"searchCity": "Miami, FL",
"source": "Avvo",
"observedAt": "2026-08-14T05:38:32.765Z",
"aiLeadScore": 90,
"aiLeadTier": "hot",
"aiLeadRationale": "Matthew A. Dolman has a strong reputation with a perfect Avvo rating and extensive experience, making him an ideal candidate for B2B outreach.",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~avvo-lawyers-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["personal injury"],"cities":["Miami, FL"],"maxLawyers":25,"withDetails":true,"minAvvoRating":9}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~avvo-lawyers-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["divorce"],"cities":["Chicago, IL","New York, NY"],"maxLawyers":100}'

Apify CLI:

apify call scrapers_lat/avvo-lawyers-scraper \
--input '{"attorneyUrls":["https://www.avvo.com/attorneys/33712-fl-matthew-dolman-1272944.html"]}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per attorney profile returned (result event). See the pricing tab for the current per-result price.
  • Add-ons billed separately. Full profile detail (details), AI lead score (ai_lead_score), and contact enrichment (contact-search-attempt per attempt, plus contact-email-found only when an email is found) are billed only for the work they do.
  • No charge on failure. If a run errors, the actor writes a single item with an error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run, 3 contact-enrichment attempts, and cannot use the AI add-ons. Upgrade for higher maxLawyers and enrichment.

FAQ and troubleshooting

A run returned 0 records. Why? The practice area plus city matched no profiles, or your filters were too strict. Loosen minAvvoRating/minReviewsCount/minYearsLicensed, broaden the city, or check the practice-area spelling. Zero-result runs are not charged.

My rating/reviews filters returned nothing. The rating, reviews, and years filters require withDetails to be on, because those fields only come from the profile page. Turn it on and rerun.

Why is enrichedEmail (or the other enriched fields) missing? Contact enrichment is off by default. Turn on enrichContacts to add them; each attempt is billed, with an extra charge only when an email is found.

Why are the AI lead fields absent? The lead-score add-on is off by default and requires a paid Apify plan. Turn on withLeadScore on a paid plan to populate them.

Can I scrape specific attorneys directly? Yes. Pass their profile URLs in attorneyUrls to bypass the directory search.

Is this an official Avvo tool? No. This actor is independent and has no affiliation with Avvo. It reads only attorney data that is publicly available on Avvo profiles. Use it in accordance with the source terms of use.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Avvo. Accesses only publicly available attorney profile data. Use in accordance with the source terms of use.