Pricing
Pay per event
NASBA CPA License Verifier
Verify public NASBA CPAverify license rows by CPA name, license number, status, and jurisdiction. Export structured compliance-ready data.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Search public CPA license rows from NASBA CPAverify and export structured license-verification data from Apify.
What does NASBA CPA License Verifier do?
NASBA CPA License Verifier turns CPAverify search results into clean dataset rows.
It searches the public NASBA CPAverify license database by CPA name, license number, and jurisdiction filters.
The actor saves license rows with names, license numbers, statuses, jurisdictions, license types, and disciplinary flags when CPAverify exposes them.
Who is it for?
Compliance teams use it to check CPA license status before onboarding or renewal.
Accounting firms use it to audit lists of professionals and confirm public status details.
Recruiters use it to verify candidate license information during screening.
Data teams use it to enrich internal records with public CPAverify status fields.
Market researchers use it to collect structured public license search rows for analysis.
Why use this actor?
โ It is HTTP-first and lightweight.
โ It outputs structured rows instead of copied web pages.
โ It includes traceability fields such as search URL, input values, result page, and scrape timestamp.
โ It supports polite pagination controls and small default limits.
โ It avoids PDF/download flows in v1 to keep runs reliable and affordable.
What data can you extract?
| Field | Description |
|---|---|
name | CPAverify licensee name |
licenseNumber | Public license number |
licenseStatus | Status label such as ACTIVE, EXPIRED, or DECEASED |
active | Boolean active indicator when present |
jurisdictionAbbreviation | Board/state abbreviation |
jurisdictionName | Full board name |
licenseTypeDescription | License type text |
disciplinaryAction | Public disciplinary action flag |
licenseeId | CPAverify row identifier |
searchUrl | Result page URL fetched |
scrapedAt | Timestamp when the row was saved |
How much does it cost to verify NASBA CPA licenses?
This actor uses pay-per-event pricing.
There is a small start event for each run.
There is a per-license-row event for each saved CPAverify result row.
Use maxItems to control run size and cost.
Start with the prefilled example input before scaling to larger searches.
How to run it
-
Open the actor on Apify.
-
Enter a CPA last name or license number.
-
Optionally add first name, jurisdiction ID, or jurisdiction abbreviation.
-
Set
maxItemsto the maximum rows you want. -
Run the actor.
-
Download results as JSON, CSV, Excel, XML, or HTML from the Apify dataset.
Input options
Search terms
lastName searches CPAverify by last name.
firstName narrows the result set.
middleName narrows the result set when known.
maiden searches the CPAverify maiden-name field.
licenseNum searches by public license number.
Jurisdiction filters
jurisdictionId is the numeric CPAverify jurisdiction identifier.
jurisdictionAbbreviation filters saved rows after extraction, for example NC, VA, IN, or CA.
Limits and pagination
maxItems controls the number of saved rows.
pageSize controls requested rows per CPAverify page.
startPage starts from a zero-based page index.
maxPages caps pagination.
requestDelaySecs adds a polite delay between page requests.
Example input
{"lastName":"Smith","firstName":"John","maxItems":25,"pageSize":25,"maxPages":2,"requestDelaySecs":1}
Example output
{"source":"NASBA CPAverify","name":"ANDREW JOHN SMITH","licenseNumber":"38252","licenseStatus":"DECEASED","active":false,"jurisdictionAbbreviation":"NC","jurisdictionName":"NORTH CAROLINA STATE BOARD OF CPA EXAMINERS","disciplinaryAction":"N","resultPage":0,"resultIndex":1}
Tips for accurate searches
Use both last name and first name when possible.
Use a license number when you need a very narrow search.
Use jurisdiction filters to reduce noisy common-name searches.
Keep maxItems low for initial checks.
Increase maxPages only when CPAverify reports more pages.
Pagination behavior
CPAverify results are paginated.
The actor starts at startPage and continues until it reaches maxItems, maxPages, or the source reports no next page.
resultPage is zero-based to match the source pagination parameter.
resultIndex is one-based within the actor run.
Data quality notes
CPAverify rows may contain inactive, expired, deceased, or non-renewable statuses.
The actor does not reinterpret status text.
It preserves CPAverify public fields as structured output.
Some fields are optional because not every jurisdiction sends the same metadata.
Integrations
Use this actor in an Apify task to schedule recurring license checks.
Connect the dataset to Google Sheets for compliance review queues.
Send run results to Make or Zapier via Apify webhooks.
Export JSON from the Apify API into an internal onboarding workflow.
Combine with your CRM to flag records that need manual license review.
API usage with Node.js
import{ ApifyClient }from'apify-client';const client =newApifyClient({token: process.env.APIFY_TOKEN});const run =await client.actor('automation-lab/nasba-cpa-license-verifier').call({lastName:'Smith',firstName:'John',maxItems:25});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/nasba-cpa-license-verifier').call(run_input={'lastName':'Smith','firstName':'John','maxItems':25,})print(run['defaultDatasetId'])
API usage with cURL
curl-X POST "https://api.apify.com/v2/acts/automation-lab~nasba-cpa-license-verifier/runs?token=$APIFY_TOKEN"\-H'Content-Type: application/json'\-d'{"lastName":"Smith","firstName":"John","maxItems":25}'
MCP usage
Use the Apify MCP server with tools enabled for this actor:
https://mcp.apify.com/?tools=automation-lab/nasba-cpa-license-verifier
Add it from Claude Code with:
$claude mcp add apify-nasba-cpa-license-verifier https://mcp.apify.com/?tools=automation-lab/nasba-cpa-license-verifier
Claude Desktop JSON configuration example:
{"mcpServers":{"apify-nasba-cpa-license-verifier":{"url":"https://mcp.apify.com/?tools=automation-lab/nasba-cpa-license-verifier"}}}
MCP example prompts
Example prompts showing MCP usage:
-
"Use the Apify MCP tool
automation-lab/nasba-cpa-license-verifierto run NASBA CPA License Verifier for last name Smith and first name John, then summarize active licenses by jurisdiction." -
"Use MCP to verify CPAverify rows for license number 38252 with last name Smith and return the license statuses."
-
"Use the NASBA CPA License Verifier MCP tool to search CPAverify for last name Johnson in NC and create a table with license number, status, board, and disciplinary flag."
Example Claude Desktop workflow:
-
Add the Apify MCP server.
-
Enable
automation-lab/nasba-cpa-license-verifier. -
Ask Claude to run a small search.
-
Ask Claude to inspect the dataset and produce a review table.
Legality and ethical use
This actor extracts public CPAverify search-result data.
Use it responsibly and respect CPAverify terms and applicable laws.
Do not use the actor for harassment, spam, or automated decisions without appropriate human review.
Throttle searches and avoid unnecessary repeated queries.
Limitations
v1 extracts search-result rows only.
It does not download PDFs.
It does not click through private or account-only flows.
It does not guarantee that every board sends complete data to CPAverify.
Hawaii and New Mexico may not be represented in CPAverify results according to the site messaging.
FAQ
Is NASBA CPAverify public data?
CPAverify exposes public search-result rows without an account, but you should still use the data responsibly and follow applicable terms and laws.
Does this actor download PDFs?
No. v1 extracts search-result rows only and intentionally avoids PDF/download flows.
Troubleshooting
Why did I get no results?
Check the spelling of the last name, first name, and license number.
Try removing optional filters such as jurisdiction abbreviation.
Try increasing maxPages if the result appears on a later page.
Why are some fields null?
CPAverify does not expose every field for every row.
The actor keeps optional fields as null rather than inventing values.
Why did I get fewer rows than maxItems?
The source may have fewer matching rows, or your jurisdiction abbreviation filter may exclude rows after extraction.
Related scrapers
Browse more Automation Lab actors at https://apify.com/automation-lab/.
Useful related workflows include lead enrichment, public registry checks, and compliance monitoring actors.
Changelog
Initial version: public CPAverify result extraction with name, license number, jurisdiction, status, pagination, and per-license-row charging.
Support
If you need a new field from CPAverify search rows, open an issue on the actor page with a sample input and expected output.
If a run fails, include the run URL and input so Support can reproduce it.
