Discover/Avvo API
live

Avvo 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.

Endpoint health
verified 6d ago
search_attorneys
get_attorney_profile
get_attorney_reviews
list_practice_areas
search_legal_qa
5/5 passing latest checkself-healing
Endpoints
5
Updated
21d ago

What is the Avvo 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.

Try it
City name (e.g. 'los angeles'). Requires state to also be provided.
Page number for pagination.
Sort field.
US state abbreviation in lowercase (e.g. 'ca', 'tx').
Practice area slug (e.g. 'criminal defense', 'family', 'bankruptcy'). Omitting returns all lawyers.
api.parse.bot/scraper/227f40e8-e5b3-40b0-bf98-7a6467afac31/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/227f40e8-e5b3-40b0-bf98-7a6467afac31/search_attorneys?city=los+angeles&page=1&sort=relevance&state=ca&practice_area=criminal+defense' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace avvo-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Avvo Legal Directory — search attorneys, view profiles and reviews."""
from parse_apis.avvo_legal_directory_api import Avvo, AttorneyNotFound

client = Avvo()

# Search for criminal defense attorneys in California
for attorney in client.attorneysummaries.search(practice_area="criminal defense", state="ca", limit=3):
    print(attorney.name, attorney.avvo_rating, attorney.phone)

# Drill into the first result's full profile
summary = client.attorneysummaries.search(practice_area="family", state="tx", limit=1).first()
if summary:
    profile = summary.details()
    print(profile.name, profile.avvo_rating, profile.about[:80] if profile.about else "")
    print("Education:", profile.education)
    print("Practice areas:", profile.practice_areas)

    # Walk the attorney's client reviews via sub-resource
    for review in profile.reviews.list(limit=3):
        print(review.rating, review.header_info, review.text[:60] if review.text else "")

# Handle not-found errors when drilling into a summary
try:
    result = client.attorneysummaries.search(practice_area="bankruptcy", state="ny", limit=1).first()
    if result:
        detail = result.details()
        print(detail.name, detail.review_count)
except AttorneyNotFound as exc:
    print(f"Attorney not found: {exc.url}")

# Browse practice area categories
for group in client.practiceareagroups.list(limit=5):
    print(group.letter, [a.name for a in group.areas[:3]])

# Search legal Q&A
for question in client.legalquestions.search(query="divorce custody", limit=3):
    print(question.title, question.url)

print("exercised: attorneysummaries.search / details / reviews.list / practiceareagroups.list / legalquestions.search")
All endpoints · 5 totalmissing one? ·

Search for attorneys by practice area and location. Returns a paginated list of matching attorneys with their Avvo rating, review count, and contact information. Pagination via page number; 20 results per page. When no filters are provided, returns all lawyers.

Input
ParamTypeDescription
citystringCity name (e.g. 'los angeles'). Requires state to also be provided.
pageintegerPage number for pagination.
sortstringSort field.
statestringUS state abbreviation in lowercase (e.g. 'ca', 'tx').
practice_areastringPractice area slug (e.g. 'criminal defense', 'family', 'bankruptcy'). Omitting returns all lawyers.
Response
{
  "type": "object",
  "fields": {
    "page": "integer, current page number",
    "count": "integer, number of attorneys returned on this page",
    "attorneys": "array of attorney summary 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/92660-ca-john-christl-4732017.html",
          "name": "John Doe",
          "phone": "+1 (555) 012-3456",
          "awards": "Certified Specialist - Criminal Law",
          "address": "123 Main St, Springfield, IL 62704",
          "job_title": "Attorney",
          "avvo_rating": "Rating:9.7",
          "review_count": "29 reviews"
        }
      ]
    },
    "status": "success"
  }
}

About the Avvo API

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.

Reliability & maintenanceVerified

The Avvo API is a managed, monitored endpoint for avvo.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when avvo.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official avvo.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • 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_reviews to 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_areas to keep slugs in sync.
  • Surface relevant legal Q&A content on a legal advice platform using search_legal_qa keyed to user-entered topics.
  • Monitor attorney profile completeness — checking for null about, missing image_url, or zero reviews — for attorney marketing tools.
  • Cross-reference attorney award and education data from profile responses to support credential-verification workflows.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Avvo have an official developer API?+
Avvo does not currently offer a public developer API. There is no official documented REST or GraphQL interface available for external developers to query attorney data programmatically.
What does `search_attorneys` return, and how specific can location filtering get?+
Each result in the 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?+
The 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?+
No. 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?+
The 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.
Page content last updated . Spec covers 5 endpoints from avvo.com.
Related APIs in B2b DirectorySee all →
lawyers.com API
Search and discover lawyers and law firms with detailed profiles, client reviews, and practice area information. Find legal articles and featured firms by specialty to help you locate the right legal representation for your needs.
martindale.com API
Search for attorneys and law firms on Martindale-Hubbell by location, practice area, and ratings, then access detailed profiles including contact information, reviews, and verified credentials. Build comprehensive attorney databases or connect with qualified legal professionals using real-time directory data.
justia.com API
Access Justia's legal database: search the lawyer directory by practice area and location, retrieve attorney profiles, browse state statutes and case law, explore legal guides, and look up law schools — all in one API.
azbar.org API
Search for Arizona lawyers by name, location, specialty, or company to find the right legal professional for your needs. View detailed lawyer profiles including their specializations, licensed jurisdictions, law school, admission history, and any disciplinary records.
ailalawyer.com API
Search and find immigration lawyers on AilaLawyer.com by location, language, and specialty, then view detailed profiles including their credentials and practice information. Easily browse through filtered results and discover the right legal expert for your immigration needs.
zocdoc.com API
Search for doctors and medical practices on Zocdoc by specialty and location. Retrieve provider profiles, accepted insurance, office locations, patient reviews, and appointment availability.
angieslist.com API
Search for home service professionals on Angi and access their detailed profiles including reviews, contact information, and photos to find the right contractor for your project. Quickly compare multiple service providers by viewing their ratings, customer feedback, and verified business details all in one place.
lybrate.com API
Search for doctors across Indian cities and specialties, view detailed profiles with patient reviews and services, and discover clinic information and health content all in one place. Find the right healthcare provider by browsing ratings, qualifications, and medical expertise tailored to your needs.