PCAOB Form AP Auditor Engagement Scraper
Pricing
from $0.80 / 1,000 record scrapeds
PCAOB Form AP Auditor Engagement Scraper
Every Form AP filing PCAOB has published since 2017: which audit firm and named engagement partner signed each U.S. issuer's audit report, participating firms and their share, fiscal period and report dates, plus computed partner-tenure and auditor-change signals per issuer.
Pricing
from $0.80 / 1,000 record scrapeds
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Extracts the complete PCAOB AuditorSearch / Form AP engagement register: for every issuer audit report filed since 2017, which registered audit firm signed it, which individual engagement partner signed it (by name and PCAOB Partner ID), which other accounting firms participated and at what percentage, and the audit and fiscal-period dates. This is the authoritative issuer-to -auditor-to-partner mapping for every US-listed issuer.
What data does this actor extract?
Each record is one Form AP filing — one issuer audit report. Beyond the raw filing fields, the actor computes two signals that require the full register in memory at once and are not present in the raw PCAOB data:
partner_tenure_years— consecutive fiscal years the same engagement partner has signed for the same issuer, the clock SOX caps at five years before a mandatory partner rotationauditor_change_flag— the issuer's audit firm differs from its prior fiscal period's filing, an auditor-change eventother_participating_firms— other accounting firms disclosed as auditing more than 5% of the issuer, exploded into a clean array of{ firm_name, country, percentage_or_range }instead of the raw nested JSON PCAOB publishes
Both derived clocks are computed from is_latest_form_ap_filing rows — the PCAOB-resolved
current state of each engagement — so a superseded or amended-away filing never manufactures a
phantom partner-year or firm switch. A superseded row is then backfilled with its canonical
twin's clock when the two describe the same issuer, fiscal period, firm and partner; otherwise
those three fields are null.
Sample output record:
{"form_filing_id": "5","is_latest_form_ap_filing": true,"firm_id": "248","firm_name": "Grant Thornton LLP","firm_other_name": null,"firm_country": "United States","firm_issuing_country": "United States","firm_issuing_city": "Chicago","firm_issuing_state": "Illinois","audit_report_type": "Investment Company","issuer_id": "581613","issuer_name": "Advisors Disciplined Trust 1243","issuer_cik": "0001600931","audit_fund_series": null,"audit_report_date": "2017-01-31","fiscal_period_end_date": "2016-09-30","engagement_partner_last_name": "Mleko","engagement_partner_first_name": "Frank","engagement_partner_middle_name": "Michael","engagement_partner_suffix": null,"engagement_partner_id": "0024800138","engagement_partner_other_ids": null,"secondary_engagement_partner_last_name": null,"secondary_engagement_partner_first_name": null,"secondary_engagement_partner_id": null,"is_multiple_audit_period": false,"audit_period_information": null,"dual_dated": false,"audit_dual_date": null,"is_audit_divided": false,"is_audit_not_divided": false,"audit_not_divided_percent_information": null,"number_of_participants": null,"participant_percentage": null,"participant_range": null,"other_participating_firms": [],"is_amendment": false,"amendment_scope": [],"partner_tenure_years": 1,"auditor_change_flag": false,"partner_rotation_due": false}
Use cases
- Audit firm business development — identify issuers whose engagement partner is approaching the five-year SOX rotation ceiling, before a competitor's audit team does
- Short sellers and forensic-accounting research — screen the
auditor_change_flagevent feed for issuers that recently switched audit firms - Academic accounting research — Form AP is a standard dataset in the audit-quality
literature, and
partner_tenure_yearsis the field most of that literature computes by hand - Issuer-side audit committees — benchmark their own engagement partner's tenure and participating-firm disclosures against the full market
How it works
The actor downloads PCAOB's own daily-refreshed bulk export directly — no browser automation, no per-issuer lookups. PCAOB republishes the entire Form AP register as a single ZIP archive every day; the actor extracts, parses and joins it in one pass, then computes the two derived clocks described above across the full corpus before saving records.
Data source: https://assets.pcaobus.org/firm-filings/FirmFilings.zip
Input
| Field | Type | Description | Default |
|---|---|---|---|
maxItems | Integer | Maximum number of records to return | 10 |
Output
One record per Form AP filing. The current register holds roughly 156,000 filings covering every issuer audit report filed since the 2017 requirement took effect, growing by about 20,000 filings a year.
| Field | Type | Description |
|---|---|---|
form_filing_id | String | PCAOB's unique identifier for this Form AP filing |
is_latest_form_ap_filing | Boolean | True if this is the current, non-superseded version of the filing (false on an original filing that was later amended) |
firm_id | String | PCAOB-registered identifier of the audit firm that signed the report |
firm_name | String | Audit firm name |
firm_other_name | String | Alternate/trade name for the firm, when disclosed |
firm_country | String | Audit firm's country of registration |
firm_issuing_country | String | Country of the office that issued the report |
firm_issuing_city | String | City of the office that issued the report |
firm_issuing_state | String | US state of the office that issued the report, when applicable |
audit_report_type | String | Filing category (e.g. "Investment Company", "Issuer, other than Employee Benefit Plan or Investment Company") |
issuer_id | String | PCAOB identifier for the issuer whose audit report this is |
issuer_name | String | Issuer name |
issuer_cik | String | SEC Central Index Key (CIK) for the issuer |
audit_fund_series | String | Fund series name, for investment-company filings that cover one |
audit_report_date | String | Date the audit report was issued (YYYY-MM-DD) |
fiscal_period_end_date | String | End date of the fiscal period covered by the audit report (YYYY-MM-DD) |
engagement_partner_last_name | String | Engagement partner's last name |
engagement_partner_first_name | String | Engagement partner's first name |
engagement_partner_middle_name | String | Engagement partner's middle name |
engagement_partner_suffix | String | Engagement partner's name suffix (Jr., III, etc.) |
engagement_partner_id | String | PCAOB Partner ID of the signing engagement partner — the join key for partner-tenure analysis |
engagement_partner_other_ids | String | Other PCAOB IDs disclosed for the same partner, when present |
secondary_engagement_partner_last_name | String | Second signing partner's last name, for dual-signed reports |
secondary_engagement_partner_first_name | String | Second signing partner's first name |
secondary_engagement_partner_id | String | Second signing partner's PCAOB Partner ID |
is_multiple_audit_period | Boolean | True when the report covers more than one fiscal period |
audit_period_information | String | Free-text description of the covered period(s), when disclosed |
dual_dated | Boolean | True when the report carries two report dates |
audit_dual_date | String | The second report date, when dual-dated (YYYY-MM-DD) |
is_audit_divided | Boolean | True when audit responsibility was divided among firms by a criterion (assets, revenue, etc.) |
is_audit_not_divided | Boolean | True when other firms participated without a formal division of responsibility |
audit_not_divided_percent_information | String | Raw PCAOB participant-disclosure JSON backing other_participating_firms for a not-divided filing |
number_of_participants | Number | Count of other firms that participated in the audit |
participant_percentage | Number | Disclosed participation percentage, when PCAOB reports an exact figure |
participant_range | String | Disclosed participation percentage range, when PCAOB reports a band instead of an exact figure |
other_participating_firms | Array | Other firms disclosed as auditing >5% of the issuer, exploded from the raw participant JSON: firm name, country, and disclosed percentage or range |
is_amendment | Boolean | True when this filing amends an earlier one |
amendment_scope | Array | Which Form AP sections this filing amended (previous filing, firm identification, audit report, other firms, divided responsibility, participants >5%, participants <5%, audit divided). Empty on an original filing |
partner_tenure_years | Number | Consecutive fiscal years (ending at this filing's year) the same partner has signed for this issuer, computed from current filings only. Null on a superseded filing with no matching current filing |
auditor_change_flag | Boolean | True when this issuer's audit firm differs from its prior fiscal period's current filing. False on the issuer's earliest observed filing. Null on a superseded filing with no matching current filing |
partner_rotation_due | Boolean | True when partner_tenure_years >= 5, the SOX engagement-partner rotation ceiling |
Notes
- PCAOB republishes the full register daily — each run picks up that day's file, so a filing amended this morning is reflected the same day
partner_tenure_years,auditor_change_flagandpartner_rotation_dueare computed fromis_latest_form_ap_filingfilings; a superseded/amended-away filing inherits its canonical replacement's values when one matches on issuer, fiscal period, firm and partner, and is otherwisenullrather than a guessother_participating_firmsis populated only for filings that disclosed participating firms — most filings involve a single audit firm and this array is empty