PCAOB Audit Firm Inspections & Enforcement Actions Scraper avatar

PCAOB Audit Firm Inspections & Enforcement Actions Scraper

Pricing

from $12.48 / 1,000 results

Go to Apify Store
PCAOB Audit Firm Inspections & Enforcement Actions Scraper

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

PCAOB Audit Firm Inspections & Enforcement Actions Scraper

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

Apify Coverage Output Billing

Table of contents

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

FieldTypeRequiredDefaultDescription
searchTypeenumnoinspectionsinspections returns firm inspection reports; enforcement returns disciplinary orders.
firmNamestringno(empty)Keyword filter on the audit firm or respondent name, for example KPMG, BDO.
yearsinteger[]no(all)Filter by year. Inspection year for inspections; order year for enforcement.
jurisdictionsstring[]no(all)Filter by the firm's country exactly as PCAOB records it, for example United States, China, India.
globalNetworksstring[]no(all)Inspections only. Filter to member firms of a global network, exactly as named by PCAOB.
inspectionTypesstring[]no(all)Inspections only. Keep only firms on this cadence: Annually Inspected or Triennially Inspected.
sanctionTypesstring[]no(all)Enforcement only. Keep only orders of these types: Settled Disciplinary Order, Adjudicated Disciplinary Order, Termination of Bars.
minDeficiencyRateintegerno(none)Inspections only. Keep only reports whose Part I.A deficiency rate is at least this percent.
includeDetailsbooleannofalseAdd-on. For every record, fetch the source PDF and extract the order summary, penalty, bar/suspension language, and full report text.
maxRecordsintegerno10Maximum records to return.
proxyConfigurationobjectno(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.

FieldTypeDescription
recordTypestringinspection or enforcement.
firmNamestringAudit firm or respondent name.
firmIdstringPCAOB firm identifier.
jurisdictionstringFirm's country as recorded by PCAOB.
isInternationalbooleanWhether the firm is non-US, when PCAOB flags it.
inspectionYearintegerInspection year (inspections).
reportDatestringInspection report date (inspections), YYYY-MM-DD.
globalNetworkstringGlobal network the firm belongs to (inspections).
inspectionTypestringInspection cadence (Annually Inspected / Triennially Inspected), when present.
partIADeficiencyRateintegerPart I.A deficiency rate as a percent (inspections).
totalAuditsReviewedintegerNumber of audits reviewed in the inspection.
partIADeficiencyCountintegerCount of audits with Part I.A deficiencies.
reportTitlestringInspection report title/code.
orderDatestringEnforcement order date (YYYY-MM-DD).
sanctionTypestringType of disciplinary order (enforcement).
releaseNostringPCAOB release number.
orderTitlestringEnforcement order title/code.
documentUrlstringDirect URL to the source PDF (report or order).
publicationDatestringDate PCAOB published the record (YYYY-MM-DD).
detailFetchedbooleanWhether the PDF was fetched and parsed for this record.
orderSummarystringParsed summary of the order (with includeDetails).
penaltyUsdnumberCivil money penalty in USD (with includeDetails).
hasBarOrSuspensionbooleanWhether a bar or suspension was imposed (with includeDetails).
sanctionsstring[]List of sanctions imposed (with includeDetails).
reportTextstringFull extracted PDF text (with includeDetails).
pdfPageCountintegerNumber of pages in the source PDF (with includeDetails).
sourceUrlstringPCAOB listing page the record came from.
sourcestringSource label, PCAOB (pcaobus.org).
observedAtstringISO 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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 result event. See the pricing tab for the current per-result price.
  • PDF detail billed separately. With includeDetails on, fetching and parsing a source PDF bills the details event, 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 maxTotalChargeUsd on 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.

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.