CPAdirectory.com Leads Scraper
Pricing
Pay per event
CPAdirectory.com Leads Scraper
Extract public CPA and accounting-firm leads from CPAdirectory.com by state, city, or direct profile URL for CRM enrichment, sales, recruiting, and partner research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract public CPA and accounting-firm leads from CPAdirectory.com by state, city, or direct directory URL. The actor returns structured contact, location, profile, service, license, and source-query fields for outreach and enrichment workflows.
What does CPAdirectory.com Leads Scraper do?
CPAdirectory.com Leads Scraper turns public CPAdirectory listing and profile pages into clean dataset rows.
It can scrape:
- ๐ค Individual CPA directory listings
- ๐ข Accounting firm directory listings
- ๐ State-level pages
- ๐๏ธ City-level pages
- ๐ Direct CPAdirectory listing or profile URLs
- โ๏ธ Public phone numbers shown on profile pages
- ๐ Public website links with tracking parameters removed
- ๐งพ License and credential hints visible in profile metadata
- ๐งฐ Services, specialties, languages, memberships, and education when available
Who is it for?
Sales, recruiting, and compliance teams use this actor when they need structured CPA and accounting-firm lead data instead of manually browsing CPAdirectory pages.
Common personas:
- ๐ผ Accounting software sales teams building territory lists
- ๐งพ Payroll and bookkeeping vendors sourcing CPA partners
- ๐ค Partner managers finding firms by location
- ๐งโ๐ผ Recruiters mapping local CPA talent pools
- ๐ KYB and vendor-enrichment teams collecting public profile evidence
- ๐ Data teams enriching CRM records with public directory URLs
Why use this actor?
Manual directory collection is slow and inconsistent. This actor automates the repetitive parts while preserving source URLs and timestamps so each record remains traceable.
Benefits:
- Structured JSON, CSV, Excel, XML, or API output
- CPA and accounting-firm modes in one tool
- Direct URL support for exact workflows
- City/state generation for repeatable prospecting
- Profile-page enrichment when you need richer details
- HTTP-first implementation without expensive browser overhead
What data can you extract?
| Field | Description |
|---|---|
profileType | cpa or accounting_firm |
name | CPA name or firm name |
firmName | Firm name for firm records |
profileUrl | CPAdirectory profile URL |
listingUrl | Directory page where the record was discovered |
website | Public website URL when shown |
phone | Public phone number when shown |
address | Public mailing/street address |
city | Parsed city |
state | Parsed state abbreviation |
postalCode | Parsed ZIP/postal code |
licensedIn | License/location label visible on CPAdirectory |
licenseNumber | License number when exposed in page metadata |
rating | Public rating value |
reviewCount | Public review count |
isPremium | Whether CPAdirectory marks the listing as premium |
services | Public service list |
industrySpecialties | Public industry-specialty list |
languages | Public language list |
professionalMemberships | Public membership text |
education | Public education text |
imageUrl | Profile image URL |
sourceQuery | Mode, state, city, and URL used |
scrapedAt | ISO timestamp for the scrape |
How much does it cost to scrape CPAdirectory.com CPA leads?
This actor uses pay-per-event pricing. You pay a small $0.005 run start event plus a per-lead event for saved dataset records.
| Apify plan tier | Price per lead |
|---|---|
| Free | $0.000035624 |
| Bronze | $0.000030977 |
| Silver | $0.000024162 |
| Gold | $0.000018586 |
| Platinum | $0.000012391 |
| Diamond | $0.000010000 |
Typical costs depend on whether profile pages are visited, how many locations and pages are requested, how many records are saved, and your Apify plan tier. Use a small maxItems value for a first test, then scale once the output matches your workflow.
Quick start
- Open the actor on Apify.
- Choose
Individual CPAs,Accounting firms, orBoth. - Enter one or more states, such as
TexasorCA. - Optionally enter cities, such as
HoustonorLos Angeles. - Keep
Visit profile pagesenabled for phone, website, address, and service details. - Set
Maximum leadsto a safe first-run value. - Run the actor.
- Download the dataset or consume it through the Apify API.
Input options
Directory mode
Choose one of:
cpasfor individual CPA profilesfirmsfor accounting-firm profilesbothfor both source types
States
Enter state names, abbreviations, or CPAdirectory state slugs.
Examples:
TexasTXCalifornianew-york
Cities
Enter optional city names. The actor combines each city with each state and formats CPAdirectory city URLs automatically.
Examples:
HoustonDallasLos AngelesNew York
Direct CPAdirectory URLs
Use startUrls when you already have exact CPAdirectory pages.
Supported examples:
https://cpadirectory.com/certified-public-accountants/texas/houston-txhttps://cpadirectory.com/accounting-firms/texas/houston-txhttps://cpadirectory.com/certified-public-accountants/texas/houston-tx/robert-belt/1037498
Visit profile pages
Set includeProfiles to true for richer lead fields. Listing pages usually include names, profile URLs, ratings, and sometimes websites. Profile pages may add phone, address, services, license metadata, education, languages, and memberships.
Limits
Use:
maxItemsto cap saved leadsmaxPagesPerQueryto cap pagination per listing URL
Example input
{"mode": "cpas","states": ["Texas"],"cities": ["Houston"],"includeProfiles": true,"maxItems": 25,"maxPagesPerQuery": 2}
Example output
{"profileType": "cpa","name": "Robert Belt","profileUrl": "https://cpadirectory.com/certified-public-accountants/texas/houston-tx/robert-belt/1037498","website": "http://www.texasauditors.com/","phone": "713-263-1123","address": "3210 Bingle Rd Ste 300, Houston, TX 77055","city": "Houston","state": "TX","postalCode": "77055","licensedIn": "Texas","licenseNumber": "58056","services": ["Basic Accounting Services"],"sourceQuery": {"mode": "cpas","state": "texas","city": "houston-tx","url": "https://cpadirectory.com/certified-public-accountants/texas/houston-tx"},"scrapedAt": "2026-07-01T00:00:00.000Z"}
Tips for best results
- Start with one state and one city.
- Keep
maxItemslow for your first run. - Enable profile visits when you need phone and address fields.
- Use direct URLs for exact CPAdirectory pages.
- Increase
maxPagesPerQuerygradually for larger exports. - Export to CSV for CRM upload workflows.
- Keep
sourceQueryandprofileUrlfor traceability.
Integrations
You can connect the dataset to:
- HubSpot lead import workflows
- Salesforce enrichment pipelines
- Airtable partner-research bases
- Google Sheets prospect lists
- Clay or Make enrichment scenarios
- Internal compliance review dashboards
- Recruiting sourcing pipelines
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/cpadirectory-com-leads-scraper').call({mode: 'cpas',states: ['Texas'],cities: ['Houston'],includeProfiles: true,maxItems: 25,maxPagesPerQuery: 2});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/cpadirectory-com-leads-scraper').call(run_input={'mode': 'firms','states': ['Texas'],'cities': ['Houston'],'includeProfiles': True,'maxItems': 25,'maxPagesPerQuery': 2,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~cpadirectory-com-leads-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"cpas","states":["Texas"],"cities":["Houston"],"includeProfiles":true,"maxItems":25,"maxPagesPerQuery":2}'
MCP integration
Use Apify MCP to run this scraper from Claude Desktop, Claude Code, or other MCP clients.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/cpadirectory-com-leads-scraper
Claude Code setup:
$claude mcp add apify-cpadirectory "https://mcp.apify.com/?tools=automation-lab/cpadirectory-com-leads-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-cpadirectory": {"url": "https://mcp.apify.com/?tools=automation-lab/cpadirectory-com-leads-scraper"}}}
Example prompts:
- "Run the CPAdirectory.com leads scraper for CPA profiles in Houston, Texas and return the first 25 leads."
- "Scrape accounting firms in Dallas from CPAdirectory and give me a CSV-ready table."
- "Use the CPAdirectory scraper to collect CPA profile URLs, phone numbers, and websites for Austin."
Data quality notes
CPAdirectory profiles vary. Some profiles include phone, website, license number, services, education, and memberships. Other profiles may only include basic listing data.
The actor keeps optional fields empty when CPAdirectory does not publish them.
Pagination behavior
The actor follows Next links on listing pages until it reaches maxPagesPerQuery or maxItems.
For large cities, raise both limits carefully.
Profile enrichment behavior
When includeProfiles is enabled, each discovered profile page is opened. This improves field completeness but requires more HTTP requests.
Disable profile visits if you only need names and profile URLs quickly.
Legality
This actor extracts publicly available information from CPAdirectory.com pages. You are responsible for using the data lawfully and respecting applicable privacy, outreach, anti-spam, and data-protection rules.
Do not use scraped contact information for unlawful spam, harassment, or deceptive outreach.
Troubleshooting
Why are some phone or website fields empty?
CPAdirectory does not publish the same fields for every profile. Enable includeProfiles and verify that the public profile page contains the data.
Why did a city return unexpected nearby results?
Use the direct CPAdirectory city URL in startUrls for exact control. CPAdirectory may redirect or broaden some location paths.
Why did I get fewer leads than expected?
Increase maxItems and maxPagesPerQuery, or add more cities/states.
FAQ
Can it scrape both CPAs and accounting firms?
Yes. Set mode to both.
Can I use a direct profile URL?
Yes. Add the profile URL to startUrls.
Does it require a CPAdirectory login?
No. The actor is designed for public directory and profile pages.
Does it use a browser?
No. It uses HTTP and Cheerio because the target pages are server-rendered.
Can it export to Excel?
Yes. Apify datasets can be downloaded as Excel, CSV, JSON, XML, RSS, or HTML.
Related scrapers
Explore related Automation Lab actors:
Changelog
- Initial version: CPA and accounting-firm lead scraping from CPAdirectory public pages.
Support
If a CPAdirectory layout changes or you need additional fields, open an Apify issue with an example input and expected output.