AICPA CPA Directory Scraper
parseforge/aicpa-cpa-directory-scraper
Lead generationAutomation
Scrapes CPA profiles from the AICPA member directory by name, city, or state. Returns each profile as a flat row with firm name, address, phone, credentials, and practice areas.
- Total users
- 14
- Monthly active
- 3
- Total runs
- 115
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview
AICPA CPA Directory Scraper
Scrape CPA profiles from the AICPA member directory by name, city, or state, up to a million per run. Every record includes firm name, address, phone, credentials, and practice areas. No login or API key. Export to CSV, JSON, Excel, or XML.
The AICPA directory lists thousands of verified CPAs, but there is no bulk export and manual lookups do not scale. This actor reads the public directory search results directly, filtered by CPA name, firm, city, or state, and returns each match in one fixed schema. Build lead lists, verify credentials, or map CPA coverage across any US region.
| Who uses it | What they scrape AICPA CPA Directory for |
|---|---|
| Accounting recruiters | Build a list of CPAs in a target city with specific practice-area experience. |
| Financial services marketers | Generate a lead sheet of local CPA firms for partnership outreach. |
| Compliance teams | Verify that a CPA's listed credentials and license state match your records. |
| Business brokers | Find CPAs who specialize in business valuation or M&A advisory in a region. |
What it does
This Actor collects CPA profiles from the AICPA member directory by name, city, or state, and returns each one as a flat row.
- π Name or firm search: filter by CPA name, firm name, or a keyword.
- π Location filters: narrow results to a specific city or two-letter US state code.
- π Structured output: each row delivers firm name, full address, phone, credentials, and practice areas.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with AICPA CPA Directory data
π Build a local CPA lead list.
A recruiter runs the actor with city=Denver and state=CO, exports the CSV, and filters by practice area to call CPAs who match an open tax-manager role.
πΊοΈ Map CPA coverage by state.
A financial services firm scrapes all CPAs in NY, CA, and TX, then plots firm density on a map to decide where to open a new office.
β Verify CPA credentials at scale.
A compliance team uploads a list of names, runs the actor with each name and state, and compares the returned credentials against their internal vendor records.
π€ Find niche practice-area partners.
A business broker searches for CPAs with 'business valuation' in their profile across Florida, then reaches out to the resulting list for referral partnerships.
Why choose this scraper
| What you get | |
|---|---|
| No API registration | Reads the public directory, no OAuth or app setup. |
| Flexible targeting | Combine name, city, and state to zero in on exactly the CPAs you need. |
| Fixed schema | Every profile lands in the same columns, ready for your CRM or spreadsheet. |
How it compares
No other Store actor targets AICPA CPA Directory the same way, so the honest comparison is with the alternatives teams actually weigh.
| AICPA CPA Directory Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When AICPA CPA Directory changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor from a CPA name, firm keyword, city, or state, alone or together, and filters run as each profile is read so only matches reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{
"maxItems": 10
}
A larger pull:
{
"maxItems": 200
}
Pricing
Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the AICPA CPA Directory Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to AICPA CPA Directory through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/aicpa-cpa-directory-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your city and state combination is valid and that the state is a two-letter code. Try broadening the search by removing the city or using only a partial name in the query field.
The actor stops after 10 items even though I set a higher maxItems.
Free Apify accounts are limited to 10 items as a preview. Upgrade to a paid plan to scrape up to your full maxItems limit.
Some CPA profiles are missing phone numbers or practice areas.
The actor returns only the data that is publicly listed on each CPA's directory profile. If a CPA did not provide a phone number or practice area, those fields will be empty.
The run times out before reaching my maxItems.
Try reducing maxItems or narrowing your search with a more specific city or query. Very broad searches can take longer to complete.
I get an error about an invalid state code.
Use only standard two-letter US state abbreviations like NY, CA, or TX. Full state names or lowercase codes may cause the directory search to fail.
FAQ
| Question | Answer |
|---|---|
| Do I need an AICPA login or API key? | No. The actor reads the public-facing AICPA directory search, so no account, API key, or OAuth setup is required. |
| What information does each CPA record include? | Each row returns the CPA's name, firm name, full address, phone number, credentials, and listed practice areas. The exact fields are shown in the sample output on the actor's page. |
| Can I search by CPA name and location at the same time? | Yes. You can fill in the query field with a name or firm keyword and also set a city or state to narrow the results to a specific area. |
| How many CPAs can I scrape in one run? | Free users are limited to 10 items as a preview. Paid Apify users can set maxItems up to 1,000,000 per run. |
| What export formats are supported? | You can export your dataset to CSV, JSON, Excel, or XML directly from the Apify run console. |
| Does the actor handle pagination automatically? | Yes. It follows the directory's search result pages until it reaches your maxItems limit or there are no more matching profiles. |
| Can I scrape CPAs by practice area, like tax or audit? | The AICPA directory does not expose practice area as a standalone filter, but you can enter a practice-area keyword in the query field and the actor will return profiles that mention it. |
| Is the phone number included for every CPA? | The actor returns whatever phone number is publicly listed on the CPA's directory profile. Some profiles may not include a phone number. |
| Can I run this on a schedule to catch new listings? | Yes. You can set up an Apify schedule to run the actor daily or weekly and receive only new or updated profiles. |
| What is the difference between the city and state fields? | The state field expects a two-letter US state code like NY or CA and filters broadly. The city field accepts a city name and narrows results further within that state. |
Related actors
Browse the full ParseForge collection for more scrapers.
π Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
β οΈ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by American Institute of CPAs. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| query | string | Optional CPA name, firm, or keyword. | not set |
| city | string | City to filter CPAs. | not set |
| state | string | Two-letter US state code (e.g. NY). | not set |
| maxItems | integer | Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 | 10 |
Pricing
from $7.50 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.0075 to $0.0085 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~aicpa-cpa-directory-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
