Georgia Bar Attorneys Scraper avatar

Georgia Bar Attorneys Scraper

Pricing

Pay per event

Go to Apify Store
Georgia Bar Attorneys Scraper

Georgia Bar Attorneys Scraper

Search Georgia State Bar public member records and export attorney identity, bar status, admission, firm, contact, section, discipline indicator, and profile data.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Search the official Georgia State Bar public member directory and export structured attorney credential records.

Georgia Bar Attorneys Scraper helps legal operations, compliance, research, and directory teams verify attorney credentials and refresh legal directories without manually copying profiles.

It accepts attorney names, exact bar numbers, firms, law schools, practice sections, and public address locations.

What this Georgia Bar attorneys scraper does

The Actor queries the public directory data service used by gabar.org.

It exports normalized records containing:

  • attorney name and Georgia Bar number;
  • public membership status;
  • admission date and admission method;
  • law school and public firm or employer;
  • public business address and contact fields;
  • Georgia Bar practice sections;
  • the source discipline indicator;
  • public ReliaGuide profile linkage;
  • search and extraction provenance.

Results are deduplicated by bar number across all searches in one run.

The Actor intentionally excludes sensitive upstream-only fields that are not part of the buyer job.

Who is it for

Legal operations teams can verify membership status before onboarding outside counsel.

Compliance and credentialing teams can refresh attorney status and admission data on a schedule.

Legal directories and CRM operators can enrich existing profiles with public firm, location, and contact fields.

Researchers and developers can collect repeatable, typed Georgia attorney records through the Apify API.

Why use this Actor

  • Uses the Georgia State Bar's own public member-directory data surface.
  • Supports exact bar-number lookup as well as broader directory searches.
  • Paginates through source results while respecting a user-set maximum.
  • Deduplicates records from overlapping searches.
  • Emits typed JSON, CSV, Excel, XML, and RSS-compatible dataset exports.
  • Uses lightweight direct HTTP requests instead of a browser or paid proxy fallback.
  • Fails clearly when input is invalid or the upstream response changes.

Input options

Provide one or more objects in searches.

Each object must contain at least one supported field.

Fields in the same object are combined to narrow the directory search.

Separate objects are executed as separate lookups.

FieldTypeDescription
firstNamestringAttorney first name
middleNamestringAttorney middle name
lastNamestringAttorney surname or name phrase
barNumberstringExact 4–10 digit Georgia Bar number
sectionstringGeorgia Bar section code
lawSchoolstringLaw school name or phrase
companystringFirm, company, court, or agency
citystringPublic address city
statestringPublic address state, such as GA
zipstringPublic address ZIP code
maxItemsintegerMaximum unique records across the run, from 1 to 10,000

Example inputs

Search by surname:

{
"searches": [{ "lastName": "Smith" }],
"maxItems": 25
}

Verify one exact bar number:

{
"searches": [{ "barNumber": "558756" }],
"maxItems": 1
}

Build a public firm roster:

{
"searches": [{ "company": "Troutman Pepper Locke LLP" }],
"maxItems": 50
}

Output fields

FieldMeaning
barNumberGeorgia Bar member number
fullNameNormalized display name
firstName, middleName, lastNameName components
prefix, suffix, formerName, nicknameAdditional public name data when available
statusPublic membership status from the source
admissionDateGeorgia admission date, normalized to YYYY-MM-DD
admissionMethodPublic admission method when present
lawSchoolPublic law-school value
companyPublic firm or employer
address, city, state, zip, country, countyPublic address fields
phone, cellPhone, fax, emailPublic contact fields when displayed and not hidden by the source
otherStatesOther-state information when supplied
sectionsPractice-section code, name, and through date
hasDisciplineBoolean discipline indicator supplied by the directory
profileUrlPublic ReliaGuide lawyer profile URL
sourceUrlOfficial Georgia Bar member-directory URL
searchCriteriaSearch object that produced the record
scrapedAtUTC extraction timestamp

Real output example

This abbreviated record comes from the current public source behavior; public contact values are omitted from the documentation example.

{
"barNumber": "558756",
"firstName": "Vania",
"middleName": "Smith",
"lastName": "Allen",
"fullName": "Mrs. Vania Smith Allen",
"status": "Active Member in Good Standing",
"admissionDate": "2007-12-14",
"admissionMethod": "EXAM",
"lawSchool": "Catholic University-Washington",
"company": "US Bankruptcy Court Northern District of Georgia",
"city": "Atlanta",
"state": "GA",
"sections": [{
"code": "BANKR05",
"name": "Bankruptcy Law",
"throughDate": "2027-06-30"
}],
"hasDiscipline": false,
"profileUrl": "https://gabar.reliaguide.com/lawyer/GA22451",
"sourceUrl": "https://www.gabar.org/member-directory",
"searchCriteria": { "barNumber": "558756" }
}

How to run it

  1. Open the Actor in Apify Console.
  2. Add one or more search objects.
  3. Set a practical maxItems limit.
  4. Click Start.
  5. Review the default dataset.
  6. Export results as JSON, CSV, Excel, XML, or another supported format.
  7. Save the input as a Task if you need scheduled refreshes.

Search and pagination behavior

The source returns up to 25 members per page.

The Actor follows pages sequentially until it reaches maxItems or the source reports no more results.

A broad name or company phrase can match many records according to the official directory's own search semantics.

Use multiple fields in one search object when you need narrower results.

Overlapping searches do not create duplicate dataset rows for the same bar number.

A valid no-match search succeeds with an empty dataset.

How much does it cost to verify Georgia Bar attorneys?

The Actor uses pay per event:

  • a $0.025 one-time start event per run;
  • a tiered per-attorney event, $0.00534 per saved record at BRONZE.

At the BRONZE rate, estimate a run as the $0.025 start event plus the number of saved attorneys multiplied by the $0.00534 attorney event.

Saved attorneysCharge calculation
1start event + 1 attorney event
25start event + 25 attorney events
100start event + 100 attorney events
1,000start event + 1,000 attorney events

Only normalized, unique records accepted for the dataset trigger the attorney event.

Failed requests, duplicate records, and rejected source rows do not trigger per-attorney events.

Check the live pricing panel before running because your Apify tier determines the active per-record price.

Scheduling credential refreshes

Save a tested input as an Apify Task.

Use a schedule to rerun it weekly, monthly, or at another interval appropriate for your compliance process.

Connect the resulting dataset to your data warehouse or automation platform.

Compare records by stable barNumber rather than display name.

The Actor reports current source data; change detection and alerts should be implemented in your downstream workflow.

cURL API example

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~georgia-bar-attorney-directory-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searches":[{"barNumber":"558756"}],"maxItems":1}'

For production secrets, prefer an authorization header rather than placing tokens in logs or committed files.

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/georgia-bar-attorney-directory-scraper').call({
searches: [{ company: 'Troutman Pepper Locke LLP' }],
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python API example

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/georgia-bar-attorney-directory-scraper').call(
run_input={
'searches': [{'lastName': 'Smith'}],
'maxItems': 25,
}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

MCP setup

Add the Apify MCP server to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/georgia-bar-attorney-directory-scraper"

Claude Desktop, Cursor, and VS Code setup

Desktop and editor clients can use this MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/georgia-bar-attorney-directory-scraper"
}
}
}

Example prompts:

  • “Verify Georgia Bar number 558756 and summarize its public membership status.”
  • “Export up to 50 public Georgia Bar records associated with Troutman Pepper Locke LLP.”
  • “Search Georgia Bar attorneys matching the surname Smith and return bar number, status, and admission date.”

Integrations

Send results to Google Sheets through Make or Zapier.

Load JSON or CSV exports into a legal CRM.

Use a webhook to trigger a credential-review workflow when a scheduled Task completes.

Join records with an internal roster using barNumber as the stable key.

Archive dated dataset exports when auditability is required.

Limits and responsible operation

The Actor accesses public directory data without a login.

It does not bypass access controls or retrieve member-only records.

Source availability, fields, search semantics, and freshness are controlled by the Georgia State Bar.

The discipline field is an indicator, not a complete disciplinary history.

Verify consequential legal or employment decisions against the current official profile and applicable primary records.

The Actor does not provide legal advice.

Use public attorney data for lawful purposes with an appropriate basis.

Follow applicable privacy, anti-spam, professional-responsibility, and data-retention rules.

Do not use output for harassment, discrimination, deceptive outreach, or unsupported legal conclusions.

Respect the source website's terms and avoid unnecessarily broad collection.

Remove stale downstream copies when your use no longer requires them.

Troubleshooting

The run returns no records

Confirm that the spelling, bar number, firm, or location exists in the public directory.

Try one criterion first, then add fields to narrow it.

An exact no-match search correctly produces an empty dataset.

The run fails with an upstream error

The Actor retries transient network, rate-limit, and server failures up to three times.

If all attempts fail, check the run log and retry later rather than treating an empty result as proof that no attorney exists.

A name search returns unexpected people

The official directory may match the phrase against former or middle names as well as current surnames.

Use an exact bar number for credential verification, or add other fields to narrow the source search.

A contact field is null

The public source may omit or hide that field.

The Actor preserves nullability and does not guess missing contact data.

FAQ

Does it search by exact Georgia Bar number?

Yes. Supply barNumber as a 4–10 digit string in a search object.

Does it download disciplinary documents?

No. It exports the public source's discipline indicator and profile linkage, not case documents or a complete disciplinary history.

Does it need a proxy or browser?

No. The current official public JSON route works through direct HTTP. The Actor has no automatic residential-proxy or browser fallback.

Can I search several attorneys in one run?

Yes. Add multiple objects to searches. Results are deduplicated by bar number.

Can I export to Excel?

Yes. Open the default dataset and choose Excel, CSV, JSON, XML, or another supported export format.

Is every source record guaranteed to have contact details?

No. Public contact availability varies by member and source privacy settings.

Use the Actor matching the official registry and professional population you need.

Support

When reporting a problem, include the run URL, sanitized input, expected behavior, and a short output sample.

Do not post API tokens or private downstream data in support messages.