Georgia Bar Attorneys Scraper
Pricing
from $3.20 / 1,000 attorney extracteds
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
from $3.20 / 1,000 attorney extracteds
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
19 days ago
Last modified
Categories
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 follows the official directory UI's contact-visibility rules, not merely the availability of fields in its JSON API. Credential records remain available even when contact data is hidden. Sensitive upstream-only fields and raw source objects are never exported.
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.
| Field | Type | Description |
|---|---|---|
firstName | string | Attorney first name |
middleName | string | Attorney middle name |
lastName | string | Attorney surname or name phrase |
barNumber | string | Exact 4–10 digit Georgia Bar number |
section | string | Georgia Bar section code |
lawSchool | string | Law school name or phrase |
company | string | Firm, company, court, or agency |
city | string | Public address city |
state | string | Public address state, such as GA |
zip | string | Public address ZIP code |
maxItems | integer | Maximum 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
| Field | Meaning |
|---|---|
barNumber | Georgia Bar member number |
fullName | Normalized display name |
firstName, middleName, lastName | Name components |
prefix, suffix, formerName, nickname | Additional public name data when available |
status | Public membership status from the source |
admissionDate | Georgia admission date, normalized to YYYY-MM-DD |
admissionMethod | Public admission method when present |
lawSchool | Public law-school value |
company | Firm or employer, null when hidden by the directory |
address, zip | Street address and ZIP, null when hidden by the directory |
city, state, country | Public formatted-location components; placeholder state and implicit United States country are null |
county, cellPhone | Compatibility fields, always null because the current public directory UI does not display them |
phone, fax, email | Contacts subject to the official visibility rules below |
otherStates | Other-state information when supplied |
sections | Practice-section code, name, and through date |
hasDiscipline | Boolean discipline indicator supplied by the directory |
profileUrl | Public ReliaGuide lawyer profile URL |
sourceUrl | Official Georgia Bar member-directory URL |
searchCriteria | Search object that produced the record |
scrapedAt | UTC extraction timestamp |
Contact visibility
Company, street address, ZIP, phone and fax are exported only when the source explicitly permits personal data: publish is false, status is not Deceased, and showOnlyEmail is false. Despite its name, publish: true suppresses these fields in the official UI. Missing or malformed visibility flags are treated conservatively.
Email requires visible personal data and hideEmail: false, except that the official showOnlyEmail: true setting explicitly permits email without other contacts. City, state and non-US country remain consistent with the public formatted location. Cell phone and county are not rendered in the current public UI and are always null. All existing output keys remain available; suppressed values are null, not guessed.
Output example
This synthetic abbreviated record illustrates a source-restricted credential export, not a real attorney.
{"barNumber": "123456","firstName": "Example","middleName": null,"lastName": "Attorney","fullName": "Example Attorney","status": "Active Member in Good Standing","admissionDate": "2000-01-01","admissionMethod": "EXAM","lawSchool": "Example Law School","company": null,"address": null,"zip": null,"phone": null,"fax": null,"cellPhone": null,"county": null,"email": null,"city": "Atlanta","state": "GA","sections": [{"code": "BANKR05","name": "Bankruptcy Law","throughDate": "2027-06-30"}],"hasDiscipline": false,"profileUrl": null,"sourceUrl": "https://www.gabar.org/member-directory","searchCriteria": { "barNumber": "123456" }}
How to run it
- Open the Actor in Apify Console.
- Add one or more search objects.
- Set a practical
maxItemslimit. - Click Start.
- Review the default dataset.
- Export results as JSON, CSV, Excel, XML, or another supported format.
- 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 attorneys | Charge calculation |
|---|---|
| 1 | start event + 1 attorney event |
| 25 | start event + 25 attorney events |
| 100 | start event + 100 attorney events |
| 1,000 | start 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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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.
Dependencies and data handling
This Actor does not use AI or send inputs or attorney records to an AI provider. It uses the official Georgia Bar API, Apify storage and event billing, and private GlitchTip diagnostics. There is no user-supplied paid API account, paid proxy dependency, or off-platform fee. Automation Lab owns the service costs; users pay only the documented Apify events.
Source responses are processed in memory, not saved as raw JSON. Selected public credential/contact records and search provenance are saved to the run's Apify dataset. Dataset, input and log retention follows your Apify account's storage retention settings; delete the run's datasets and key-value stores when no longer needed. The Actor does not create an additional persistent source cache or control downstream exports and backups. Our diagnostic reports are retained for 30 days; contact Support for diagnostic deletion requests.
Automation Lab is independent of, and is not affiliated with or endorsed by, the State Bar of Georgia. Source names identify the registry queried, not a partnership.
Diagnostics
Failed operations send sanitized diagnostic input, exceptions, and Actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL queries are removed. Reports are retained for 30 days. Raw directory responses and hidden contact fields are not attached to diagnostics.
Privacy and legal use
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. Contact visibility follows the official directory UI, including the email-only exception; raw API availability does not imply public visibility.
The Actor preserves nullability and does not guess missing contact data. Malformed optional practice-section entries are skipped with one bounded warning per run; invalid required API response shapes still fail clearly.
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.
Related Automation Lab Actors
- Maryland Attorney Directory Scraper for Maryland Courts attorney records.
- Texas TREC License Holder Search Scraper for Texas real-estate professional license verification.
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.