CPAdirectory.com Leads Scraper avatar

CPAdirectory.com Leads Scraper

Pricing

Pay per event

Go to Apify Store
CPAdirectory.com Leads Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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?

FieldDescription
profileTypecpa or accounting_firm
nameCPA name or firm name
firmNameFirm name for firm records
profileUrlCPAdirectory profile URL
listingUrlDirectory page where the record was discovered
websitePublic website URL when shown
phonePublic phone number when shown
addressPublic mailing/street address
cityParsed city
stateParsed state abbreviation
postalCodeParsed ZIP/postal code
licensedInLicense/location label visible on CPAdirectory
licenseNumberLicense number when exposed in page metadata
ratingPublic rating value
reviewCountPublic review count
isPremiumWhether CPAdirectory marks the listing as premium
servicesPublic service list
industrySpecialtiesPublic industry-specialty list
languagesPublic language list
professionalMembershipsPublic membership text
educationPublic education text
imageUrlProfile image URL
sourceQueryMode, state, city, and URL used
scrapedAtISO 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 tierPrice 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

  1. Open the actor on Apify.
  2. Choose Individual CPAs, Accounting firms, or Both.
  3. Enter one or more states, such as Texas or CA.
  4. Optionally enter cities, such as Houston or Los Angeles.
  5. Keep Visit profile pages enabled for phone, website, address, and service details.
  6. Set Maximum leads to a safe first-run value.
  7. Run the actor.
  8. Download the dataset or consume it through the Apify API.

Input options

Directory mode

Choose one of:

  • cpas for individual CPA profiles
  • firms for accounting-firm profiles
  • both for both source types

States

Enter state names, abbreviations, or CPAdirectory state slugs.

Examples:

  • Texas
  • TX
  • California
  • new-york

Cities

Enter optional city names. The actor combines each city with each state and formats CPAdirectory city URLs automatically.

Examples:

  • Houston
  • Dallas
  • Los Angeles
  • New York

Direct CPAdirectory URLs

Use startUrls when you already have exact CPAdirectory pages.

Supported examples:

  • https://cpadirectory.com/certified-public-accountants/texas/houston-tx
  • https://cpadirectory.com/accounting-firms/texas/houston-tx
  • https://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:

  • maxItems to cap saved leads
  • maxPagesPerQuery to 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 maxItems low for your first run.
  • Enable profile visits when you need phone and address fields.
  • Use direct URLs for exact CPAdirectory pages.
  • Increase maxPagesPerQuery gradually for larger exports.
  • Export to CSV for CRM upload workflows.
  • Keep sourceQuery and profileUrl for 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 ApifyClient
import os
client = 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().items
print(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.

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.