avvo.com APIavvo.com ↗
Search Avvo attorneys by location and practice area, retrieve full profiles, client reviews, practice areas, and legal Q&A via a structured REST API.
curl -X GET 'https://api.parse.bot/scraper/227f40e8-e5b3-40b0-bf98-7a6467afac31/search_attorneys?city=los+angeles&state=ca&practice_area=criminal+defense' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for attorneys by practice area and location (city, state). Returns a paginated list of matching attorneys with their Avvo rating, review count, and contact information.
| Param | Type | Description |
|---|---|---|
| city | string | City name (e.g. 'los angeles'). Requires state to also be provided. |
| page | integer | Page number for pagination. |
| sort | string | Sort field. Default is 'relevance'. |
| state | string | State abbreviation or name in lowercase (e.g. 'ca', 'texas'). Used to filter by location. |
| practice_area | string | Practice area slug used in URL path (e.g. 'criminal defense', 'family', 'bankruptcy'). Omitting returns all lawyers. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"count": "integer, number of attorneys returned on this page",
"attorneys": "array of attorney objects with name, url, avvo_rating, review_count, phone, address, job_title, awards"
},
"sample": {
"data": {
"page": 1,
"count": 20,
"attorneys": [
{
"url": "https://www.avvo.com/attorneys/90036-ca-negin-yamini-3975505.html",
"name": "John Doe",
"phone": "+1 (555) 012-3456",
"awards": "Client Champion Award",
"address": "123 Main St, Springfield, IL 62704",
"job_title": "Attorney",
"avvo_rating": "Rating:10",
"review_count": "256 reviews"
}
]
},
"status": "success"
}
}About the avvo.com API
The Avvo API covers 5 endpoints for querying attorney listings, detailed profiles, client reviews, practice area directories, and legal Q&A. The search_attorneys endpoint accepts city, state, and practice area filters and returns Avvo ratings, review counts, phone numbers, and addresses. get_attorney_profile goes deeper, exposing bio text, education history, awards, and a profile photo URL for any attorney identified by their Avvo profile URL.
Attorney Search and Profiles
The search_attorneys endpoint accepts city, state, practice_area, sort, and page parameters. Results include each attorney's name, Avvo rating, review count, phone, address, job title, awards, and profile URL. Practice area values follow Avvo's URL slug format — for example 'criminal defense', 'family', or 'bankruptcy'. Omitting practice_area returns results across all categories. Pagination is handled via the page parameter; each response includes the current page number and a count of attorneys returned.
Deep Profile and Reviews
get_attorney_profile takes a full Avvo profile URL and returns structured fields: name, about (bio text, may be null), phone, address (broken into streetAddress, addressLocality, addressRegion, postalCode), education, awards, image_url, avvo_rating, and review_count. For client feedback, get_attorney_reviews takes the same URL format and returns an array of review objects, each with an integer rating (1–5), header_info, optional title, and full text.
Practice Areas and Legal Q&A
list_practice_areas requires no inputs and returns every Avvo practice area organized by uppercase letter grouping, with each area's name and url. This is useful for discovering valid slugs to feed into search_attorneys. The search_legal_qa endpoint accepts a keyword query — such as 'speeding ticket' or 'divorce custody' — and returns matching Q&A entries with their titles and full Avvo URLs, giving access to community legal questions without browsing the site.
- Build an attorney finder that filters by practice area and city, displaying Avvo ratings and contact info from
search_attorneys. - Aggregate client reviews across multiple attorneys using
get_attorney_reviewsto compare rating distributions for a given practice area. - Populate a legal directory with structured attorney bios, education, and award data pulled from
get_attorney_profile. - Generate a sitemap or index of all Avvo practice area categories using
list_practice_areasto keep slugs in sync. - Surface relevant legal Q&A content on a legal advice platform using
search_legal_qakeyed to user-entered topics. - Monitor attorney profile completeness — checking for null
about, missingimage_url, or zero reviews — for attorney marketing tools. - Cross-reference attorney award and education data from profile responses to support credential-verification workflows.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Avvo have an official developer API?+
What does `search_attorneys` return, and how specific can location filtering get?+
attorneys array includes the attorney's name, profile URL, Avvo rating, review count, phone, address, job title, and awards. Location filtering works at the city and state level — both city and state can be provided together, or state alone. Sub-city filtering (neighborhood, zip code) is not currently supported by the endpoint parameters.Does the API return the full text of legal answers in Q&A results, or just question titles?+
search_legal_qa endpoint returns question titles and full URLs to each Q&A page, but does not return the answer text inline. Individual answer content is not currently exposed. You can fork the API on Parse and revise it to add an endpoint that fetches answer text from a given Q&A URL.Are attorney disciplinary records or bar admission status included in the profile data?+
get_attorney_profile returns bio, education, awards, contact details, Avvo rating, and review count. Disciplinary records, bar admission status, and license verification data are not currently included in any endpoint response. You can fork the API on Parse and revise it to add an endpoint targeting those profile sections.How does pagination work for attorney search results?+
search_attorneys endpoint accepts an integer page parameter. Each response includes page (current page number) and count (attorneys returned on that page). There is no total_results or total_pages field exposed, so you would need to iterate pages until a response returns fewer results than a full page to detect the end of results.