Martindale Reviews Scraper ($3/1K) avatar

Martindale Reviews Scraper ($3/1K)

Pricing

from $2.25 / 1,000 reviews

Go to Apify Store
Martindale Reviews Scraper ($3/1K)

Martindale Reviews Scraper ($3/1K)

Scrape all reviews of any law firm on Martindale-Hubbell: rating (1-5), text, date, reviewer and reply. Export to JSON, CSV or Excel.

Pricing

from $2.25 / 1,000 reviews

Rating

0.0

(0)

Developer

Carabain Digital

Carabain Digital

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

What is Martindale Reviews Scraper?

Martindale Reviews Scraper extracts all reviews of any law firm on Martindale-Hubbell: star rating, review text, date, reviewer name and the law firm's reply. Paste a Martindale URL, click Start, and download the reviews as JSON, CSV, Excel, XML or HTML.

Martindale-Hubbell is the oldest US lawyer directory, with client reviews of law firms and attorneys, including reviews from its sister site Avvo. With this scraper you can:

  • ⭐ Scrape every review of a law firm, or only the newest ones
  • 💬 Get the review text and the law firm's reply
  • 📅 Fetch only new reviews since a given date, ideal for daily monitoring
  • 🛡️ Get past bot protection: a real browser and a US residential proxy are included in the price
  • 🔌 Connect the data to Google Sheets, Slack, Make, Zapier or your own app via the API

What data can I extract from Martindale?

⭐ Star rating (1-5)💬 Review text
👤 Reviewer name📅 Publication date
↩️ Reply🆔 Stable review ID
📝 Review title (if any)🔗 Source URL

Why scrape Martindale reviews?

  • ⚖️ Law firms: monitor client reviews for each office and attorney
  • 📈 Legal marketing agencies: report on reputation for your clients
  • 🔍 Research: compare firms by area of law or city
  • 🤖 Sentiment analysis and AI: feed real customer feedback into your own analysis or LLM pipeline.

How do I use Martindale Reviews Scraper?

  1. Create a free Apify account.
  2. Open the law firm on Martindale and copy the URL of its firm or attorney profile, for example https://www.martindale.com/organization/bailey-galyen-attorneys-at-law-1297222/arlington-texas-300013843-f/.
  3. Paste it into the Martindale law firm URL field.
  4. Optionally set Max reviews, or Only reviews after to fetch only reviews since a given date.
  5. Click Start and wait for the run to finish.
  6. Download your data from the Output tab in JSON, CSV, Excel, XML or HTML.

How much does scraping Martindale cost?

You pay per review that ends up in your dataset: $3.00 per 1,000 reviews, plus $0.05 per run ($0.025 per GB of memory; the default is 2 GB) for starting the browser and proxy. No subscription, no rental fee. The monthly credits in Apify's free plan cover a couple of thousand reviews.

💡 Tip: for monitoring, schedule a daily run with Only reviews after set to the date of your last run. You only pay for new reviews.

You can set a maximum cost per run in the run options; the scraper stops when it is reached.

⬇️ Input

The only required field is the law firm URL. See the Input tab for all options.

FieldDescription
Martindale law firm URL (url)The firm or attorney profile on Martindale
Max reviews (limit)Stop after this many reviews, newest first. Empty = all reviews
Only reviews after (cutoff_date)Skip reviews published before this date
Proxy (proxyConfiguration)US residential proxy, on by default and included in the price. Keep it on: Martindale blocks data-center IPs
{
"url": "https://www.martindale.com/organization/bailey-galyen-attorneys-at-law-1297222/arlington-texas-300013843-f/",
"limit": 100,
"cutoff_date": "2026-01-01"
}

⬆️ Output sample

Each review is one item in the dataset. View it as a table in the Output tab or download it in JSON, CSV, Excel, XML or HTML.

📘 Scraped Martindale review sample (illustrative)

{
"id": "123456789",
"author": "Jessica M.",
"rating": 5,
"title": null,
"text": "Great experience from start to finish, would recommend!",
"published_at": "2026-09-14T00:00:00+00:00",
"reply": "Thank you so much, Jessica!",
"replied_at": null,
"source_url": "https://www.martindale.com/organization/bailey-galyen-attorneys-at-law-1297222/arlington-texas-300013843-f/"
}
FieldDescription
idMartindale's review ID; stable across runs, so you can deduplicate on it
ratingStar rating (1-5), or null if the review has no score
titleReview title, or null when Martindale has none
textReview text
published_atPublication date in ISO 8601 (UTC)
replyThe law firm's public reply, or null
replied_atReply date, or null when Martindale doesn't publish it
source_urlThe Martindale URL you scraped

All our review scrapers use this same format, so you can combine datasets from different sites directly. See for example our Kiyoh Reviews Scraper.

🔌 Integrations

Connect Martindale Reviews Scraper to almost any cloud service or web app with Apify integrations: Make, Zapier, Slack, Google Sheets, Google Drive, Airbyte, GitHub and more. Or use webhooks to trigger an action when a run finishes, for example to post new reviews to Slack.

💻 Using Martindale Reviews Scraper with the Apify API

The Apify API lets you start runs, schedule them and fetch results from your own code. Use the Python or JavaScript client, or call the scraper from AI agents through the Apify MCP server. The API tab has ready-to-use code.

❓ FAQ

Can I scrape multiple law firms at once?

Run the scraper once per law firm. To monitor several, create a task per law firm and schedule them, or start runs from the API.

Do I need a Martindale account?

No. The scraper only reads publicly visible reviews.

Do I need proxies to scrape Martindale?

Yes, but you don't have to set anything up: a US residential proxy is on by default and its cost is included in the price per review. If a request still gets blocked, the scraper retries once on a fresh IP automatically.

Anything special about Martindale data?

A Martindale profile also shows client reviews from Avvo. Both are included. Martindale is protected by Cloudflare, so the scraper opens the profile once in a real browser, which takes a bit longer and needs more memory than a plain HTTP scraper.

My run failed. What now?

Check the status message of the run. "Invalid input" or "not found" means the URL doesn't point to a Martindale law firm page: open it in your browser and copy it again. "Blocked" means Martindale refused the request; run it again, and keep the proxy on.

This scraper only collects publicly visible reviews. Reviews can contain personal data, such as reviewer names, which is protected by the GDPR in the EU and by other regulations elsewhere. Only scrape and store personal data when you have a legitimate reason, and consult your lawyer if you are unsure. Read more in Apify's post on the legality of web scraping.

Your feedback

Found a bug or missing a field? Open an issue in the Issues tab and we'll look into it.

⭐ Does it work well for you? A review on the Store page helps others find this Actor and helps us keep it maintained.