PCAOB Audit Firm Inspections & Enforcement Actions Scraper
Pricing
from $12.48 / 1,000 results
PCAOB Audit Firm Inspections & Enforcement Actions Scraper
Scrape PCAOB audit-firm inspection reports (firm ID, inspection year, jurisdiction, network, Part I.A deficiency rate, audits reviewed) and enforcement orders (respondent, order date, sanction type, release number, PDF). Optional PDF detail extraction. JSON, CSV or Excel.
Pricing
from $12.48 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
PCAOB Audit Firm Inspections & Enforcement Actions Scraper
Here is one real result, with every field the actor returns:
{"recordType": "inspection","firmName": "Ernst & Young LLP","firmId": "42","jurisdiction": "United States","isInternational": null,"inspectionYear": 2025,"reportDate": "2026-07-22","globalNetwork": "Ernst & Young Global Limited","inspectionType": null,"partIADeficiencyRate": 5,"totalAuditsReviewed": 64,"partIADeficiencyCount": 3,"reportTitle": "104-2026-089-E&Y","orderDate": null,"sanctionType": null,"releaseNo": "104-2026-089","orderTitle": null,"documentUrl": "https://assets.pcaobus.org/pcaob-dev/docs/default-source/inspections/reports/documents/104-2026-089-e-y.pdf","publicationDate": "2026-08-13","detailFetched": false,"orderSummary": null,"penaltyUsd": null,"hasBarOrSuspension": null,"sanctions": null,"reportText": null,"pdfPageCount": null,"sourceUrl": "https://pcaobus.org/oversight/inspections/firm-inspection-reports","source": "PCAOB (pcaobus.org)","observedAt": "2026-08-15T02:33:13.152Z"}
The most complete PCAOB scraper available. It returns every field the PCAOB inspection and enforcement listings expose, from the audit firm, jurisdiction, and global network to Part I.A deficiency rates and audits reviewed, plus an optional PDF add-on that parses the order summary, civil penalty, bar/suspension language, and full report text, and gives you eight filters to target exactly the firms and actions you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor reads the Public Company Accounting Oversight Board (PCAOB) public listings, applies the filters you pass, and writes one normalized record per result to the run's dataset. In inspections mode it returns firm inspection reports with the Part I.A deficiency rate, audits reviewed, deficiency count, inspection year, global network, and the report PDF link. In enforcement mode it returns disciplinary orders with the respondent firm, sanction type, release number, and order PDF link.
With the detail add-on enabled, the actor fetches each source PDF and extracts the order summary, the civil money penalty amount, whether a bar or suspension was imposed, the list of sanctions, the full report text, and the PDF page count. Coverage is global: PCAOB inspects and sanctions registered audit firms in the United States and many other jurisdictions.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the 10 most recent firm inspection reports.
{"searchType": "inspections","maxRecords": 10,"includeDetails": false}
Every input is optional. Switch searchType to enforcement for disciplinary orders. Add firmName, years, or jurisdictions to narrow the results, and turn on includeDetails to parse the PDFs.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchType | enum | no | inspections | inspections returns firm inspection reports; enforcement returns disciplinary orders. |
firmName | string | no | (empty) | Keyword filter on the audit firm or respondent name, for example KPMG, BDO. |
years | integer[] | no | (all) | Filter by year. Inspection year for inspections; order year for enforcement. |
jurisdictions | string[] | no | (all) | Filter by the firm's country exactly as PCAOB records it, for example United States, China, India. |
globalNetworks | string[] | no | (all) | Inspections only. Filter to member firms of a global network, exactly as named by PCAOB. |
inspectionTypes | string[] | no | (all) | Inspections only. Keep only firms on this cadence: Annually Inspected or Triennially Inspected. |
sanctionTypes | string[] | no | (all) | Enforcement only. Keep only orders of these types: Settled Disciplinary Order, Adjudicated Disciplinary Order, Termination of Bars. |
minDeficiencyRate | integer | no | (none) | Inspections only. Keep only reports whose Part I.A deficiency rate is at least this percent. |
includeDetails | boolean | no | false | Add-on. For every record, fetch the source PDF and extract the order summary, penalty, bar/suspension language, and full report text. |
maxRecords | integer | no | 10 | Maximum records to return. |
proxyConfiguration | object | no | (none) | Optional Apify proxy configuration. PCAOB is reachable without a proxy. |
Filters combine with logical AND.
Output reference
One dataset item per inspection report or enforcement order. Types: string, integer, number, boolean, string[], or null when the field does not apply to the record type or the value is absent.
| Field | Type | Description |
|---|---|---|
recordType | string | inspection or enforcement. |
firmName | string | Audit firm or respondent name. |
firmId | string | PCAOB firm identifier. |
jurisdiction | string | Firm's country as recorded by PCAOB. |
isInternational | boolean | Whether the firm is non-US, when PCAOB flags it. |
inspectionYear | integer | Inspection year (inspections). |
reportDate | string | Inspection report date (inspections), YYYY-MM-DD. |
globalNetwork | string | Global network the firm belongs to (inspections). |
inspectionType | string | Inspection cadence (Annually Inspected / Triennially Inspected), when present. |
partIADeficiencyRate | integer | Part I.A deficiency rate as a percent (inspections). |
totalAuditsReviewed | integer | Number of audits reviewed in the inspection. |
partIADeficiencyCount | integer | Count of audits with Part I.A deficiencies. |
reportTitle | string | Inspection report title/code. |
orderDate | string | Enforcement order date (YYYY-MM-DD). |
sanctionType | string | Type of disciplinary order (enforcement). |
releaseNo | string | PCAOB release number. |
orderTitle | string | Enforcement order title/code. |
documentUrl | string | Direct URL to the source PDF (report or order). |
publicationDate | string | Date PCAOB published the record (YYYY-MM-DD). |
detailFetched | boolean | Whether the PDF was fetched and parsed for this record. |
orderSummary | string | Parsed summary of the order (with includeDetails). |
penaltyUsd | number | Civil money penalty in USD (with includeDetails). |
hasBarOrSuspension | boolean | Whether a bar or suspension was imposed (with includeDetails). |
sanctions | string[] | List of sanctions imposed (with includeDetails). |
reportText | string | Full extracted PDF text (with includeDetails). |
pdfPageCount | integer | Number of pages in the source PDF (with includeDetails). |
sourceUrl | string | PCAOB listing page the record came from. |
source | string | Source label, PCAOB (pcaobus.org). |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
Detail fields (orderSummary, penaltyUsd, hasBarOrSuspension, sanctions, reportText, pdfPageCount) are populated only when includeDetails is on. Inspection-only and enforcement-only fields are null on the other record type.
Example output record
Real enforcement record from a live run (input {"searchType":"enforcement","includeDetails":true}), showing the parsed penalty and sanctions:
{"recordType": "enforcement","firmName": "BDO RCS Auditores Independentes Sociedade Simples Ltda.","firmId": "5485","jurisdiction": "Brazil","orderDate": "2026-07-23","sanctionType": "Settled Disciplinary Order","releaseNo": "105-2026-009","orderTitle": "105-2026-009-BDO-Brazil","documentUrl": "https://assets.pcaobus.org/pcaob-dev/docs/default-source/enforcement/decisions/documents/105-2026-009-bdo-brazil.pdf","publicationDate": "2026-07-23","detailFetched": true,"orderSummary": "By this Order Instituting Disciplinary Proceedings, Making Findings, and Imposing Sanctions, the PCAOB is: (1) censuring BDO RCS Auditores Independentes Sociedade Simples Ltda.; (2) imposing a civil money penalty of $300,000; and (3) requiring the Firm to review and certify its quality control policies concerning audit documentation and journal entry testing.","penaltyUsd": 300000,"hasBarOrSuspension": true,"sanctions": ["civil money penalty", "suspension", "censure"],"source": "PCAOB (pcaobus.org)","observedAt": "2026-08-15T02:33:13.152Z"}
Run via API and CLI
Start a run and read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~pcaob-inspections-enforcement-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchType":"inspections","firmName":"KPMG","minDeficiencyRate":20,"maxRecords":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~pcaob-inspections-enforcement-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchType":"enforcement","jurisdictions":["China"],"includeDetails":true,"maxRecords":50}'
Apify CLI:
apify call scrapers_lat/pcaob-inspections-enforcement-scraper \--input '{"searchType":"inspections","years":[2025]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. Each inspection report or enforcement order bills on the
resultevent. See the pricing tab for the current per-result price. - PDF detail billed separately. With
includeDetailson, fetching and parsing a source PDF bills thedetailsevent, charged per record only when a PDF is actually fetched. - No charge on failure. If a run errors before producing records, nothing is charged. Empty runs cost nothing.
- Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxRecords.
FAQ and troubleshooting
What is the difference between inspections and enforcement?
Inspections are PCAOB's periodic reviews of registered audit firms and report deficiency findings. Enforcement records are disciplinary orders (settlements or adjudicated actions) with sanctions. Choose with searchType.
How do I get the penalty amount and sanctions?
Turn on includeDetails. The actor fetches the order PDF and parses penaltyUsd, hasBarOrSuspension, sanctions, orderSummary, and the full reportText.
Can I focus on the worst inspection results?
Yes. Set minDeficiencyRate (for example 20) in inspections mode to keep only firms above that Part I.A deficiency rate.
Why are enforcement fields null on an inspection record (and vice versa)?
Each record type carries only its own fields. Fields that do not apply to the record type are returned as null, never invented.
A run returned 0 records. Why? The filter combination matched nothing, for example a firm name or jurisdiction with no records in the selected year. Loosen the filters. Zero-result runs are not charged.
Is this an official PCAOB tool? No. This actor is independent and is not affiliated with the PCAOB. It reads only data published on pcaobus.org. Use it in accordance with the PCAOB terms of use and applicable law.
Related scrapers
- SEC EDGAR Company Filings Scraper: SEC filings by ticker or CIK.
- OFAC Sanctions List Scraper: US Treasury OFAC SDN and Consolidated lists.
- FINRA BrokerCheck Scraper: FINRA broker and firm records with disclosures.
- ASC Appraisers Scraper: US appraiser credential records.
- ACCA Accountants Scraper: ACCA member and firm records.
- Federal Register Document Scraper: US Federal Register documents.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with the PCAOB. Accesses only data publicly available on pcaobus.org. Use in accordance with the PCAOB terms of use.
