Discover/FindLaw API
live

FindLaw APIlawyers.findlaw.com

Retrieve client reviews and aggregate ratings from FindLaw attorney and law firm profiles. One record per review card, with star ratings, author names, and review text.

This API takes change requests — .
Endpoint health
verified 1h ago
get_attorney_reviews
1/1 passing latest checkself-healing
Endpoints
1
Updated
2h ago

What is the FindLaw API?

The FindLaw Attorney Reviews API exposes one endpoint, get_attorney_reviews, that returns client review records from any lawyers.findlaw.com attorney or law firm profile. Each response includes up to 10 review records per page along with 9 response fields covering the aggregate rating, total review count, reviewer display names, individual star ratings, and review text. Use it to compare attorney reputations, track review trends, or build legal research tools.

This call costs3 credits / call— charged only on success
Try it
Full lawyers.findlaw.com attorney or law-firm profile URL, its /reviews URL, or a https://lawyers.findlaw.com/profile/view/<id>_1 URL.
1-based review page number (10 reviews per page). Ignored when fetch_all is true.
When true, fetch every review page from page 1 (capped at 50 pages) and return all reviews in one response.
Maximum total number of reviews to return (positive integer). Omitted means no cap. With fetch_all=true, page fetching stops once this many reviews are collected.
api.parse.bot/scraper/ff145871-e760-4fb9-bff1-1b55e0c3cc79/<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/ff145871-e760-4fb9-bff1-1b55e0c3cc79/get_attorney_reviews?url=https%3A%2F%2Flawyers.findlaw.com%2Ftexas%2Fsan-antonio%2Fmack-injury-attorneys-NTI4OTM4NV8x&fetch_all=true&max_reviews=12' \
  -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 lawyers-findlaw-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: FindLaw Attorney Reviews — fetch profile stats and iterate reviews."""
from parse_apis.lawyers_findlaw_com_api import FindLaw, AttorneyNotFound

client = FindLaw()

profile_url = "https://lawyers.findlaw.com/texas/san-antonio/mack-injury-attorneys-NTI4OTM4NV8x"

# Fetch the profile wrapper for aggregate rating and review count.
try:
    profile = client.profiles.get(url=profile_url)
except AttorneyNotFound as e:
    print("Profile not found:", e.url)
    raise SystemExit(1)

print(f"{profile.profile_name}: {profile.overall_rating} stars ({profile.reviews_count} reviews)")

# Iterate individual reviews via the paginator, capped at 5 total items.
for review in client.reviews.list(url=profile_url, limit=5):
    print(f"  [{review.rating}/5] {review.author} ({review.date_text}): {review.body[:80]}")

print("exercised: profiles.get / reviews.list")
All endpoints · 1 totalmissing one? ·

Returns the client reviews displayed on a FindLaw attorney or law-firm profile's Reviews tab, one record per review card in site order (newest first), 10 reviews per site page. Accepts the profile URL, its /reviews URL, or a /profile/view/<id> URL. One call fetches the profile page (for profile_name, overall_rating, reviews_count) plus one review page; with fetch_all=true it walks review pages from page 1 (one request per page, at most 50 pages) and stops early once max_reviews records are collected. page is ignored when fetch_all is true and page 1 is reported. has_more is true when further review pages exist or when max_reviews dropped records. A profile with no client reviews, or a page past the last page, returns an empty reviews array with count 0 and has_more false. A URL that is not a lawyers.findlaw.com profile URL, or a well-formed profile URL the site does not recognize, returns a not-found input error. date_text is the site-supplied formatted date (the browser may render the calendar day one earlier depending on the viewer's timezone). Syndicated reviews (source AV) are shown by the site as a single text block of the form 'headline: review text'; for those rows the leading headline is returned as title and the remaining text as body. title is null when the card shows no headline (all FL and MDC reviews, and AV rows without a leading 'headline:' segment). attorney_response and permalink are always null because FindLaw review cards show no public attorney reply or per-review link; verified is null unless the site marks the review verified.

Input
ParamTypeDescription
urlrequiredstringFull lawyers.findlaw.com attorney or law-firm profile URL, its /reviews URL, or a https://lawyers.findlaw.com/profile/view/<id>_1 URL.
pageinteger1-based review page number (10 reviews per page). Ignored when fetch_all is true.
fetch_allbooleanWhen true, fetch every review page from page 1 (capped at 50 pages) and return all reviews in one response.
max_reviewsintegerMaximum total number of reviews to return (positive integer). Omitted means no cap. With fetch_all=true, page fetching stops once this many reviews are collected.
Response
{
  "type": "object",
  "fields": {
    "page": "integer, the review page returned (1 when fetch_all is true)",
    "count": "integer, number of reviews in this response",
    "reviews": "array of review records: review_id (string, FindLaw's review id), rating (integer 1-5), author (display name as shown, e.g. first name plus last initial, or Anonymous), date_text (site-formatted date), date_iso (YYYY-MM-DD or null), title (string headline split from the leading 'headline:' segment of syndicated AV review text, or null when the card shows no headline), body (review text; for AV rows the text after the headline), engagement (relationship label as shown, e.g. Hired Attorney / Consulted Attorney / Hired Law Firm, optionally with reviewee name and service years), verified (true or null), attorney_response (null), permalink (null), source (review origin directory code: FL, MDC or AV)",
    "has_more": "boolean, true when further review pages exist or max_reviews dropped records",
    "max_reviews": "integer cap supplied, or null",
    "total_pages": "integer, total review pages reported by the site",
    "profile_name": "string or null, attorney or firm name shown on the reviews page",
    "pages_fetched": "integer, number of review pages requested from the site",
    "reviews_count": "integer or null, total review count shown on the profile",
    "overall_rating": "number or null, aggregate rating shown on the profile"
  },
  "sample": {
    "data": {
      "page": 1,
      "count": 6,
      "reviews": [
        {
          "body": "My case was very complex and took a lot of time to handle and close out. But, Mr. Mack and his team worked so hard to find a solution and fight back.",
          "title": null,
          "author": "Kiara R.",
          "rating": 5,
          "source": "FL",
          "date_iso": "2025-03-28",
          "verified": null,
          "date_text": "Mar. 28, 2025",
          "permalink": null,
          "review_id": "11856715",
          "engagement": "Hired Law Firm 2020-2025",
          "attorney_response": null
        }
      ],
      "has_more": false,
      "max_reviews": null,
      "total_pages": 1,
      "profile_name": "Mack Injury Attorneys",
      "pages_fetched": 1,
      "reviews_count": 6,
      "overall_rating": 4.3
    },
    "status": "success"
  }
}

About the FindLaw API

What the API Returns

The get_attorney_reviews endpoint accepts any valid lawyers.findlaw.com attorney or law firm profile URL — including /reviews variant URLs — and returns a structured list of client review records in the same order they appear on the profile (newest first). Each review record in the reviews array contains a review_id string (FindLaw's own identifier), an integer rating from 1 to 5, an author field showing the display name as it appears on the profile, and the review text content. The response also surfaces the attorney or firm name in profile_name, the aggregate overall_rating as a decimal, and reviews_count for the total number of reviews on that profile.

Pagination and Bulk Fetching

FindLaw paginates reviews at 10 per page. By default, get_attorney_reviews returns one page at a time; supply the page integer parameter to request a specific page. Set fetch_all to true to collect every page in a single call (capped at 50 pages), with the results merged into one reviews array. The max_reviews parameter caps the total records returned regardless of pagination — useful when you only need a sample. The response always includes total_pages, pages_fetched, and a has_more boolean so you can tell whether additional records exist.

Coverage and Scope

The endpoint covers attorneys and law firms listed on lawyers.findlaw.com. Any profile URL format supported by the site — including the alphanumeric slug form and /profile/view/<id> URLs — is accepted as the url input. The count field in each response reports how many reviews are included in that specific call, distinct from the reviews_count field which reflects the total shown on the profile page.

Reliability & maintenanceVerified

The FindLaw API is a managed, monitored endpoint for lawyers.findlaw.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when lawyers.findlaw.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 lawyers.findlaw.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
1h ago
Latest check
1/1 endpoint 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
  • Aggregate attorney reputation scores by comparing overall_rating and reviews_count across multiple FindLaw profiles
  • Monitor new client reviews over time by fetching page 1 and comparing review_id values against a local store
  • Build a legal directory that surfaces recent client feedback using the author, rating, and review text fields
  • Identify attorneys with the highest volume of 5-star reviews by fetching all pages with fetch_all=true and filtering on rating
  • Research sentiment trends for a practice area by collecting review text across profiles in a specific city or specialty
  • Validate attorney credibility in a due-diligence workflow by checking reviews_count and overall_rating before referrals
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does FindLaw offer an official developer API for attorney profile data?+
FindLaw does not publish a public developer API for attorney profiles or reviews. The Parse API is the structured programmatic interface available for this data.
What does the `get_attorney_reviews` endpoint return for a profile with no reviews?+
The endpoint still returns the profile metadata — profile_name, overall_rating, reviews_count, and total_pages — with an empty reviews array and count of 0. has_more will be false.
Does the API return attorney bio, practice areas, contact details, or bar admission records?+
Not currently. The API covers the Reviews tab data: client review records, aggregate rating, and review count. Profile fields such as bio text, practice areas, contact information, and bar admission history are not included. You can fork this API on Parse and revise it to add an endpoint targeting those profile sections.
Is there a limit to how many reviews can be fetched in one call?+
With fetch_all=true, the endpoint collects up to 50 pages (500 reviews). The optional max_reviews parameter lets you set a lower cap. The has_more field indicates when additional reviews exist beyond what was returned.
Can I search for attorneys by name, location, or practice area through this API?+
Not currently. The API requires a direct lawyers.findlaw.com profile URL; it does not expose a search or directory-listing endpoint. You can fork it on Parse and revise to add a search endpoint if your workflow requires discovery by name or location.
Page content last updated . Spec covers 1 endpoint from lawyers.findlaw.com.
Related APIs in Reviews RatingsSee 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.
avvo.com API
Search for attorneys by location and specialty to find detailed professional profiles, reviews, and practice areas that match your legal needs. Browse community-driven legal Q&A to get answers to common legal questions and learn from other users' experiences.
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.
ratethelandlord.org API
Search and browse landlord reviews and ratings from RateTheLandlord.org to explore tenant experiences across locations. View detailed review breakdowns for specific landlords, compare aggregate ratings, and discover tenant resource organizations by area.
lavery.ca API
Access detailed profiles of lawyers and legal professionals at Lavery, Québec's largest independent law firm, including their practice areas and bar admissions. Browse through the complete team directory with pagination to find the right legal expert for your needs.
trustpilot.com API
Access company reviews, ratings, and user profiles from Trustpilot to research businesses, compare ratings across categories, and analyze customer feedback and company responses. Find detailed company overviews and review summaries to make informed decisions about products and services.
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.