CPA Firm Directory Scraper [$4💰] | Firm Emails & Phones avatar

CPA Firm Directory Scraper [$4💰] | Firm Emails & Phones

Pricing

from $3.70 / 1,000 results

Go to Apify Store
CPA Firm Directory Scraper [$4💰] | Firm Emails & Phones

CPA Firm Directory Scraper [$4💰] | Firm Emails & Phones

Find and export CPA & accounting firm leads from CPAdirectory.com and the Oregon CPA Society (OSCPA). Get firm names, emails, phones, addresses, websites, staff size, services and practice areas to build B2B prospect lists and run CPA market research.

Pricing

from $3.70 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Categories

Share

US CPA Firms Directory Scraper — Accounting & Tax Firm Leads

Extract CPA firm contact data from CPAdirectory.com and the Oregon CPA Society (OSCPA) Find-a-CPA™ directory to build fresh accounting firm prospect lists, CPA email lists, and B2B lead databases — firm names, emails, phones, addresses, websites, staff size, services, and practice areas.

Main Use Cases

  • Accounting firm prospecting & B2B lead generation — build targeted prospect lists of US CPA and accounting firms
  • CPA firm email & phone lists — collect business contact data directly from public firm listings
  • CPA market research & competitive analysis — analyze firm size, services, and practice areas by market
  • Structured CPA firm database creation — export every listing to a clean dataset (JSON, CSV, Excel)
  • Local (Oregon) CPA directory monitoring — track the OSCPA Find-a-CPA directory over time
  • Tax preparation firm outreach — identify tax, audit, bookkeeping, and advisory firms for vendor marketing

How It Works

The actor runs a Crawlee Cheerio crawler that starts from directory listing pages, extracts every firm profile link on the page, follows pagination automatically, and then visits each firm profile to pull structured data from JSON-LD markup and page HTML. The source directory is detected automatically from the URL — no configuration needed to switch between CPAdirectory.com and the Oregon CPA Society directory.

Build a US CPA Firm Prospect List Without Buying Mailing Lists

Paid "CPA email list" vendors resell static records that decay within weeks. This actor scrapes live, public directory listings on demand, so every prospect list you build is current at the moment of extraction:

  • Fresh data — firm listings are pulled from live directory pages, not a stale database
  • No per-record mailing-list fees — you pay only for the actual scrape ($0.004 per firm profile)
  • Firmographic context — staff size, services, and industries on OSCPA listings help you segment before outreach
  • CRM-ready output — the dataset exports to JSON, CSV, or Excel for direct import into HubSpot, Salesforce, or your outreach tool

Extract CPA Firm Contact Data From CPAdirectory.com and the Oregon CPA Society

Two public CPA directories are supported out of the box:

Data availableCPAdirectory.comOregon CPA Society (OSCPA)
Firm name, address, city, state, ZIP✅✅
Phone✅✅
Website✅✅
Email—✅
Staff size—✅
Services offered—✅
Industries served—✅
Firm description✅✅

CPAdirectory.com covers accounting firms nationally. The OSCPA Find-a-CPA™ directory covers CPA firms enrolled as OSCPA firm members in Oregon.

Scrape Accounting Firm Leads for B2B Email & Phone Outreach

Accounting firms are a high-intent B2B audience for accounting software, practice management tools, payroll, CPE, insurance, and professional services vendors. Each scraped firm record contains the fields needed to qualify and contact a prospect — including business email addresses on Oregon CPA Society listings. See the Legal & Compliance Disclaimer before running outreach with this data.

Understand Your CPA Market: Staff Size, Services & Practice Areas

OSCPA firm profiles publish staff size, services, and industries, which make it possible to benchmark a local market: how many firms serve the nonprofit or construction vertical, what share offer bookkeeping or audit & assurance, and how firm size clusters by city. This turns a simple directory scrape into competitive intelligence for growing CPA firms and the vendors that sell to them.

Input Parameters for Your CPA Directory Scrape

FieldTypeRequiredDefaultNotes
startUrlsarray of { url }✅https://cpadirectory.com/accounting-firmsListing URLs only, from either supported directory (e.g. https://www.orcpa.org/find-a-cpa). Firm profile URLs are discovered and queued automatically.
maxFirmsinteger❌50Maximum number of firm profiles to scrape. 0 = unlimited. Capped at 10 for free (non-paying) Apify accounts.
proxyConfigurationobject❌{ "useApifyProxy": false }Apify proxy config. Leave disabled for maximum speed; enable if the target directory blocks direct requests.

Output Fields: What This CPA Firm Scraper Returns

Each dataset item is one CPA firm profile:

FieldDescriptionCPAdirectory.comOSCPA
firmNameFirm name✅✅
descriptionFirm description/meta description✅✅
addressFull address (streetAddress, city, state, postalCode)✅✅
streetAddressStreet address✅✅
cityCity✅✅
stateState✅✅
postalCodeZIP/postal code✅✅
phonePhone number✅✅
emailBusiness email—✅
websiteFirm website URL✅✅
staffSizeStaff size (range)—✅
servicesList of services offered—✅
industriesList of client industries served—✅
sourceSource directory (cpadirectory.com or orcpa.org)✅✅
sourceUrlURL of the scraped profile page✅✅
scrapedAtISO timestamp of the scrape✅✅

Note: the crawler's output interface also declares fax and partners fields, but the current build does not populate them — treat them as unset.

Example Input

{
"startUrls": [
{ "url": "https://cpadirectory.com/accounting-firms" },
{ "url": "https://www.orcpa.org/find-a-cpa" }
],
"maxFirms": 100
}

Example Output

[
{
"firmName": "Aldrich CPAs + Advisors LLP",
"description": "Full-service public accounting firm serving businesses and individuals.",
"address": "519 SW Third Ave, Suite 600, Portland, OR, 97204",
"streetAddress": "519 SW Third Ave, Suite 600",
"city": "Portland",
"state": "OR",
"postalCode": "97204",
"phone": "(503) 555-0147",
"email": "info@example-aldrich.com",
"website": "https://www.example-aldrich.com",
"staffSize": "51-100",
"services": ["Accounting", "Audit & Assurance", "Tax Planning & Preparation", "Bookkeeping"],
"industries": ["Construction", "Manufacturing", "Nonprofit"],
"source": "orcpa.org",
"sourceUrl": "https://www.orcpa.org/find-a-cpa/aldrich-cpas-advisors",
"scrapedAt": "2026-09-19T12:00:00.000Z"
},
{
"firmName": "Smith & Johnson CPA",
"description": "CPA firm in Austin, TX offering tax preparation and small business accounting.",
"address": "901 Congress Ave, Austin, TX, 78701",
"streetAddress": "901 Congress Ave",
"city": "Austin",
"state": "TX",
"postalCode": "78701",
"phone": "(512) 555-0148",
"website": "https://www.smith-johnson-cpa.example",
"source": "cpadirectory.com",
"sourceUrl": "https://cpadirectory.com/accounting-firms/smith-johnson-cpa/4821",
"scrapedAt": "2026-09-19T12:00:00.000Z"
}
]

Illustrative examples — field names are the real schema fields; the sample values are placeholders.

Integrations & Automation: Keep Your Accounting Firm Leads Fresh

  • Apify API — run the actor and download datasets programmatically (GET /v2/datasets/{datasetId}/items)
  • Webhooks — trigger a downstream workflow (CRM import, email tool, Slack) every time a run finishes
  • Schedules — repeat runs automatically from the Apify Console
  • Apify integrations — push results to Google Sheets, Zapier, Make, or other tools via the integrations catalog

Directories change over time. We recommend scheduling this actor weekly for lead monitoring or monthly for market research, so your CPA firm database stays current.

FAQ

Why use this actor instead of the official directory API?

CPAdirectory.com and the OSCPA Find-a-CPA™ directory are public directory websites and do not document a public data API for bulk firm extraction. This actor reads the same publicly visible pages a browser sees and converts them into structured data — no API key, no per-listing licensing, no login.

What are alternatives to this actor / to CPAdirectory.com?

  • AICPA member directory — via the AICPA CPA Directory Scraper
  • NASBA CPAverify — license and disciplinary records, via any NASBA directory Scraper
  • State CPA societies — many states run directories like the OSCPA Find-a-CPA; this actor supports OSCPA (Oregon) directly and generic directories via Apify Web Scraper
  • Paid CPA email-list vendors — faster to buy, but static and far more expensive per record

How can I build a CPA firm email list?

Emails are extracted directly from Oregon CPA Society (OSCPA) firm profiles. Run the actor with https://www.orcpa.org/find-a-cpa as the startUrl, export the dataset, and filter to records where email is populated. Many national CPAdirectory.com listings link to the firm's website, which you can crawl separately to find published business contacts.

Public business directory data is generally low-risk to collect in the US (public pages, no login), but you remain responsible for each directory's Terms of Service and for how you use personal contact data. The OSCPA Find-a-CPA™ directory states that its information is "provided for private individual use only" and that commercial or research use without prior express permission from the Oregon Society of CPAs is strictly prohibited. See the Legal & Compliance Disclaimer.

Which CPA directories besides CPAdirectory.com cover US firms?

AICPA member directory, state CPA society directories such as the Oregon Society of CPAs (OSCPA), NASBA CPAverify, and consumer directories such as CPA Locator, ListMyCPA, and AccountingNearYou.

How do I scrape the Oregon Society of CPAs directory?

Set startUrls to https://www.orcpa.org/find-a-cpa. The actor detects the ORCPA source automatically, follows the paginated listing, and extracts email, staff size, services, and industries from each firm profile.

How are results priced?

Pay-per-event: a small actor-start event charge ($0.00005 per event, one event per GB of memory) plus $0.004 per firm record saved to the dataset. There are no add-on fees for email or website enrichment.

What is the best way to use this data for accounting firm outreach?

Segment by firm size, services, and industry (available on OSCPA records), verify emails before sending, target business mailboxes, identify yourself honestly, and always include an easy opt-out. Time campaigns around the tax calendar — responding to a relevant problem outside tax season outperforms a generic blast during it.

SEO Keywords

cpa firm directory, cpa firm email list, accounting firm leads, cpa firm database, cpa firm contact list, accounting firm prospect list, cpa directory scraping, cpadirectory.com alternative, cpadirectory.com data, oregon cpa firm directory, oregon cpa leads, find-a-cpa oregon, accountant lead generation, cpa firm size data, cpa firm practice areas, cpa firm staff size, accounting firm websites list, tax firm prospecting list, business directory scraping, cpa mailing list, accountant email list, cpa lead scraping

For AI Agents & LLM Apps

This actor is callable via the Apify API and the Apify MCP server. It returns one dataset item per CPA firm profile scraped from CPAdirectory.com and/or the Oregon CPA Society (OSCPA) directory.

Minimal working input:

{
"startUrls": [{ "url": "https://cpadirectory.com/accounting-firms" }],
"maxFirms": 10
}

Variant inputs:

{
"startUrls": [{ "url": "https://www.orcpa.org/find-a-cpa" }],
"maxFirms": 50
}

(This input enables OSCPA-only scraping, which is the only supported source that populates email, staffSize, services, and industries.)

Output field list: firmName, description, address, streetAddress, city, state, postalCode, phone, email (OSCPA only), website, staffSize (OSCPA only), services (OSCPA only), industries (OSCPA only), source, sourceUrl, scrapedAt.

Behaviors an agent should know:

  • startUrls must contain listing URLs (…/accounting-firms or …/find-a-cpa) — firm detail pages are discovered automatically; passing a detail URL as a start URL yields no results.
  • maxFirms defaults to 50 but is capped at 10 for free Apify accounts; 0 means unlimited for paying accounts.
  • Pagination of listing pages is followed automatically via the directory's next-page link; there is no pagination field to configure.
  • The crawler budgets maxRequestsPerCrawl = maxFirms + 50, so very large maxFirms values require the startUrls listing pages to contain enough firm links.
  • proxyConfiguration defaults to disabled (no proxy) — enable Apify proxy if the directory starts blocking.
  • Billing is pay-per-event: ~$0.00005 per actor-start event (one event per GB of memory) + $0.004 per result item in the default dataset.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by CPAdirectory.com or the Oregon Society of CPAs (OSCPA). "CPAdirectory.com" and "Find-a-CPA™" are trademarks or service names of their respective owners.

The actor accesses only publicly available pages — it does not log in, bypass paywalls, solve CAPTCHAs, or circumvent any technical access control. It extracts the same firm information that is visible to any visitor of the public directory pages.

The OSCPA Find-a-CPA™ directory states in its terms that its information is "provided for private individual use only and commercial use, research use, or other solicitation without the prior express permission of the Oregon Society of CPAs is strictly prohibited." You are responsible for obtaining any permission the source directories require and for complying with their Terms of Service, robots.txt signals, and rate limits.

Where the dataset contains personal contact data (names, business emails, phone numbers), your collection and use may be regulated by laws such as the CCPA/CPRA (California), GDPR (EU/EEA data subjects), and CAN-SPAM (commercial email in the US). Do not use scraped contact data for unsolicited commercial outreach that violates applicable law, and honor opt-out and deletion requests. This section is factual disclosure, not legal advice — consult a qualified attorney for your specific use case.