NASBA CPA Directory Scraper
Pricing
from $5.00 / 1,000 cpa record returneds
NASBA CPA Directory Scraper
Search the official NASBA CPAverify public directory by last name, first name, license number, and jurisdiction. Returns CPA license numbers, statuses, dates, board data, addresses, and disciplinary information. No login required. Charged $0.005 per returned record plus a $0.00005 run-start event.
Pricing
from $5.00 / 1,000 cpa record returneds
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Search the official NASBA CPAverify public directory and return normalized CPA license records. Use it for license verification workflows, accounting-firm research, compliance review, and agent pipelines that need a CPA’s public board status, license number, dates, and source URL.
The actor searches public data supplied by U.S. state Boards of Accountancy to NASBA’s Accountancy Licensee Database. It does not require a login and does not invent missing values.
What it extracts
Each dataset item represents one CPA directory result and, when enabled, its public detail page.
| Field | Description |
|---|---|
licenseeName | CPA name shown in the directory |
jurisdiction | Board jurisdiction code, such as NY or TX |
licenseNumber | License, permit, or certification number |
licenseStatus | Status shown in the search table |
licenseType | Detail-page license type, usually CPA |
issueDate, expirationDate | Public license dates when displayed |
disciplinaryAction | Board-reported enforcement or disciplinary text |
cpeId, registrationNumber, basisForLicense | Additional public license metadata |
homeAddress, businessAddress, mailingAddress | Public address summaries, when shown |
recordLastUpdated | Update date displayed by NASBA |
detailUrl | Direct NASBA page for verification |
detailFetched, detailError | Enrichment diagnostics |
Missing values are returned as null. The source directory may not participate for every U.S. jurisdiction, and the page itself notes that firm data is unavailable for some jurisdictions. This actor searches CPA license records, not firm records.
When to use it
Use this actor when you have a last name and need official public CPA license records. Narrow broad surnames with firstName, jurisdiction, licenseNumber, or middleName. Set includeDetails to false when you only need the fast search-table fields.
Do not use it for:
- CPA firm discovery or firm contact enrichment; NASBA has a separate Firm search surface.
- Private contact data, email addresses, phone numbers, or a determination that a license is legally valid beyond the board’s displayed status.
- A replacement for direct verification with the relevant State Board of Accountancy.
Input example
{"lastName": "Smith","firstName": "Aaron","jurisdiction": "NY","maxResults": 10,"maxPages": 1,"includeDetails": true}
lastName defaults to Smith so the Apify health check has a working example. For production runs, supply a narrower name or license number. The source displays up to 25 rows per page and no more than 250 results for one search; maxPages controls how many of those pages the actor reads.
Output example
{"licenseeName": "AARON JAMES SMITH","maidenName": null,"jurisdiction": "NY","licenseNumber": "122833","licenseStatus": "Registered","disciplinaryAction": "None reported to this site by the board.","cpeId": "CPE-C7589","licenseType": "CPA","basisForLicense": null,"issueDate": "2016-11-14","expirationDate": "2028-07-31","yearsLicensed": 9,"recordLastUpdated": "2026-08-02","mailingAddress": "BENTONVILLE, AR","detailFetched": true,"detailError": null,"detailUrl": "https://ald.nasba.org/search/cpa/513608543?jurisdictionId=20","sourceUrl": "https://ald.nasba.org/search/cpa/513608543?jurisdictionId=20","scrapedAt": "2026-08-02T00:00:00.000Z"}
The default key-value store also receives an OUTPUT object with status, records, searchUrl, includeDetails, maxResults, completion time, and warnings. A valid search with no matches is a successful warning outcome. If NASBA does not serve the search page after retries, the actor reports a failed run instead of silently returning an empty dataset.
Pricing
| Event | Price |
|---|---|
| Actor start | $0.00005 |
| CPA record returned | $0.005 |
The record event is charged only after the dataset item is saved. A run capped at 10 records costs at most $0.05005 in declared PPE charges, before any applicable platform usage charges. The actor never intentionally emits more than maxResults items.
API and MCP usage
JavaScript API example:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('YOUR_USERNAME/nasba-cpa-directory-scraper').call({lastName: 'Smith',jurisdiction: 'NY',maxResults: 10});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
The stable title, input descriptions, and dataset schema are designed for Apify’s hosted MCP integration. Agents should use this actor for CPA license-directory lookups, not firm discovery or contact enrichment. The tool’s result preview is the dataset; paginate with the dataset ID when a run returns more records than the preview.
Reliability and legal notes
The actor uses a browser because NASBA’s current public search is a rendered web application. It keeps a single browser session per run, retries temporary page failures, deduplicates by jurisdiction/license/detail URL, and preserves search-table data if an individual detail page fails. It does not bypass CAPTCHA, authentication, paywalls, or access restrictions.
NASBA states that CPAverify is populated from official, publicly available state regulatory data. The data can be incomplete, delayed, or unavailable for non-participating jurisdictions. Always confirm important licensing decisions with the relevant state board. You are responsible for complying with NASBA terms of use, applicable privacy law, and restrictions on storing or redistributing public license information. This independent actor is not affiliated with or endorsed by NASBA or any state Board of Accountancy.
Troubleshooting
If a broad surname returns the source’s 250-result ceiling, add a jurisdiction or first name. If a record has detailFetched: false, the search result itself was preserved and detailError explains the failed detail request. If a run fails before returning records, retry later and include the run ID when reporting a possible NASBA layout or access-control change.