# US Single Audit Leads Scraper (Federal Audit Clearinghouse) (`scrapesage/single-audit-leads-scraper`) Actor

Scrape the Federal Audit Clearinghouse (SF-SAC): every US org filing a Single Audit — nonprofits, governments, universities, tribes — plus their auditor CPA firms. Name, EIN, email, phone, federal $ spent, programs, findings & lead score. Grant-recipient + CPA-firm B2B leads with monitoring.

- **URL**: https://apify.com/scrapesage/single-audit-leads-scraper.md
- **Developed by:** [Scrape Sage](https://apify.com/scrapesage) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$7.00 / 1,000 single audit lead records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## US Single Audit Leads Scraper — Federal Audit Clearinghouse (Recipients, CPA Firms, Federal $)

Extract **every US organization that files a Single Audit** — the federal report that any entity spending **$750,000+ in federal awards** must submit each year — straight from the official **[Federal Audit Clearinghouse (FAC)](https://www.fac.gov/)**. Each run returns ready-to-use **B2B leads**: the **recipient organization** (name, EIN, UEI, **e-mail**, **phone**, named contact + title, full address, entity type) **and** its **auditor CPA firm** (firm name, EIN, **e-mail**, phone, contact), plus **total federal dollars expended**, the **federal programs** funded (CFDA number, agency, amount, major / loan / pass-through), the **audit opinion and findings** (going concern, material weakness), key dates, and a derived **lead score**.

These are the federally-funded **nonprofits, local & state governments, universities, hospitals and tribes** — and the **CPA firms** that audit them. Both sides come with real contact data, pulled from the federal record (never guessed).

No login, no browser. Just a free **[api.data.gov](https://api.data.gov/signup/)** key for the official FAC API (a built-in DEMO key works for trial runs).

### Why this Single Audit / Federal Audit Clearinghouse scraper?

Generic "find a nonprofit" or Google-Maps scrapers grab a name and a guessed e-mail. This actor reads the official SF-SAC dissemination data directly and ships the **richest dataset in the category** — firmographics, **two-sided contacts** (recipient **and** auditor), **federal funding detail**, and the **compliance signals** (audit findings) that tell you who actually needs your product.

| Data | Maps / generic scrapers | This actor |
|---|---|---|
| Organization name, address, entity type | partial | ✅ |
| **Recipient e-mail + phone + named contact** | guessed | ✅ from the federal record |
| **Auditor CPA firm + e-mail + phone + contact** | ❌ | ✅ |
| EIN + UEI | ❌ | ✅ |
| **Total federal $ expended** | ❌ | ✅ |
| **Federal programs** (CFDA, agency, amount, major/loan/pass-through) | ❌ | ✅ |
| **Audit opinion + findings** (going concern, material weakness) | ❌ | ✅ |
| Cognizant / oversight federal agency | ❌ | ✅ |
| Aggregated **auditor (CPA firm) mode** with client book | ❌ | ✅ |
| Derived **lead score + lead signals** | ❌ | ✅ |
| Only-new / changed **monitoring mode** | ❌ | ✅ |

### Who buys Single Audit data?

- **CPA & audit firms** — the single best prospecting list in public accounting. In **auditor mode** see every firm's **Single Audit client book** (client count, total federal $ audited, states & entity types served) for competitive intel and M\&A; in **audit mode** find recipients to win as audit, tax or advisory clients, and target organizations with **material weakness findings** that need remediation help.
- **Grant-management, compliance & fund-accounting software** — sell to organizations that actively manage federal awards (the ones with the most programs and the biggest exposure), segmented by funding agency and dollar size.
- **Nonprofit / government / higher-ed tech (ERP, payroll, HR, fundraising)** — a clean, well-funded TAM with verified contacts and budget signals.
- **Banks, insurers & financial services** — federally-funded entities are stable, audited accounts; **going-concern** and **material-weakness** flags are risk and opportunity signals.
- **Consultants & professional services** — Uniform Guidance / single-audit prep, indirect-cost-rate, internal-control and federal-compliance specialists reaching recipients by program and finding.
- **Market & competitive intelligence** — track the full universe of federal-award recipients and the audit firms serving them, year over year.

### How to use

1. [Sign up for Apify](https://console.apify.com/sign-up) — the free plan is enough to try this actor.
2. *(Recommended)* grab a free **[api.data.gov key](https://api.data.gov/signup/)** (≈30 seconds) and paste it into **apiKey** — the built-in DEMO key works but is heavily rate-limited.
3. Open the **US Single Audit Leads Scraper**, pick a **mode** (audits or auditors), set **audit years**, **states**, **entity types** and any filters, then choose your limit.
4. Click **Start** and watch records stream into the dataset table.
5. **Export** as JSON, CSV, Excel, XML, or RSS — or pull results via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "mode": "audits",
    "auditYears": ["2024", "2023"],
    "states": ["CA", "NY", "TX"],
    "entityTypes": ["non-profit"],
    "withFindingsOnly": false,
    "minFederalExpended": 1000000,
    "sortBy": "leadScore",
    "maxResults": 1000,
    "apiKey": "DEMO_KEY"
}
```

- **mode** — `audits` (one record per Single Audit = recipient org + its auditor + programs) or `auditors` (one record per CPA firm, aggregated across all matching audits).
- **auditYears** — report years (e.g. `["2024","2023"]`). The FAC holds audits from 2016 on. Empty = the two most recent years.
- **states** — 2-letter recipient state codes (pushed down to the source for fast, precise queries). Empty = all.
- **entityTypes** — `non-profit`, `local`, `state`, `higher-ed`, `tribal`, `for-profit`, `unknown`. Empty = all.
- **auditType** — `single-audit`, `program-specific`, or any.
- **minFederalExpended / maxFederalExpended** — filter by total federal dollars expended (all recipients are above the $750K threshold).
- **withFindingsOnly / materialWeaknessOnly / lowRiskOnly** — compliance-signal filters.
- **federalAgencyPrefixes** — funding-agency filter by 2-digit CFDA prefix (`93`=HHS, `84`=Education, `14`=HUD, `10`=USDA, `20`=Transportation, `97`=Homeland Security…).
- **programNameContains** — keep recipients with a program whose name contains your text (e.g. `Head Start`, `Medicaid`, `Title I`).
- **nameQuery / auditorFirmContains / cities** — recipient-name, CPA-firm-name and city filters.
- **withEmailOnly / withAuditorEmailOnly** — contact filters.
- **includeFederalPrograms** *(default true)* — attach the federal program detail and a top-programs summary.
- **minLeadScore / maxResults / sortBy / deduplicateResults / includeRawFields** — output controls. Sort by `leadScore` (default), `federalExpendedHigh`, `recency`, or `name`.
- **monitorMode / monitorKey** — only return audits that are new or changed since the last run with the same key.
- **apiKey** — your free api.data.gov key (DEMO\_KEY by default).
- **proxyConfiguration** — optional; the source is a public API and needs no proxy.

### Output

By default you get **one clean, dense table** of Single Audits. An **audit** record (recipient + auditor + programs):

```json
{
    "recordType": "audit",
    "source": "Federal Audit Clearinghouse (SF-SAC Single Audit)",
    "reportId": "2023-03-GSAFAC-0000000879",
    "auditYear": "2023",
    "auditeeName": "Housing Authority of the City of Cheyenne",
    "entityType": "local",
    "entityTypeLabel": "Local Government",
    "auditeeEIN": "830206502",
    "auditeeUEI": "MCD5SMMWNBE5",
    "auditeeContactName": "Greg Hancock",
    "auditeeContactTitle": "Executive Director",
    "auditeeEmail": "ghancock@cheyennehousing.org",
    "auditeePhone": "(307) 633-8317",
    "auditeeCity": "Cheyenne",
    "auditeeState": "WY",
    "auditeeFullAddress": "PO Box 20046, Cheyenne, WY, 82003",
    "auditorFirmName": "Niewedde & Wiens, CPA's",
    "auditorEIN": "470812943",
    "auditorContactName": "Jeff Wiens",
    "auditorEmail": "jeff@nwcpas.net",
    "auditorPhone": "(402) 362-4410",
    "auditorCity": "York",
    "auditorState": "NE",
    "totalFederalExpended": 14857507,
    "expenditureTier": "$10M-$50M",
    "isLowRiskAuditee": true,
    "auditType": "single-audit",
    "auditTypeLabel": "Single Audit",
    "gaapResults": "unmodified_opinion",
    "opinionLabel": "Unmodified Opinion",
    "hasMaterialWeakness": false,
    "hasAuditFindings": false,
    "oversightAgency": "14",
    "oversightAgencyName": "U.S. Dept. of Housing & Urban Development",
    "facAcceptedDate": "2023-10-04",
    "isRecentAudit": false,
    "totalProgramsCount": 3,
    "majorProgramCount": 1,
    "federalAgencyNames": ["U.S. Dept. of Housing & Urban Development"],
    "topProgramName": "HOUSING VOUCHER CLUSTER",
    "topPrograms": [{ "cfda": "14.871", "agencyName": "U.S. Dept. of Housing & Urban Development", "programName": "HOUSING VOUCHER CLUSTER", "amountExpended": 9800000, "isMajor": true }],
    "leadScore": 84,
    "leadSignals": ["Recipient e-mail on file", "Named contact (Executive Director)", "Federal $14,857,507 expended", "HOUSING VOUCHER CLUSTER"],
    "scrapedAt": "2026-06-21T15:00:00.000Z"
}
```

In **auditor mode** (`recordType: "auditor"`) each row is a CPA / audit firm with `clientCount`, `totalClientFederalExpended`, `statesServed`, `entityTypesServed`, `topClients[]` and a lead score. Every audit record also carries the raw source row under `sourceFields` unless you turn off **includeRawFields**. Switch the dataset view to **Recipients**, **Auditor CPA firms**, or **Programs & findings** for a focused table.

#### What to expect (field coverage)

The SF-SAC is an official federal filing, so the core lead fields are remarkably complete.

| Field group | Coverage |
|---|---|
| Recipient name, EIN, UEI, entity type, state | ✅ ~100% |
| **Recipient e-mail + phone + named contact** | ✅ very high |
| **Auditor firm + e-mail + phone + contact** | ✅ very high |
| Total federal $ expended, audit opinion, findings flags | ✅ ~100% |
| Federal programs (CFDA / agency / amount) | ✅ when **includeFederalPrograms** is on |
| Full street address | ✅ recipient & auditor |

A blank field means the source doesn't publish that signal for that record — not that scraping failed. Nothing useful is dropped, so you always get the richest record available.

### Automate & schedule

Run this actor on autopilot and pull results into your own stack:

- **[Apify API](https://docs.apify.com/api/v2)** — start runs, fetch datasets, and manage schedules over REST.
- **[apify-client for JavaScript](https://docs.apify.com/api/client/js/)** and **[apify-client for Python](https://docs.apify.com/api/client/python/)** — official SDKs.
- **[Schedules](https://docs.apify.com/platform/schedules)** — run it weekly/monthly with **monitoring mode** to capture newly-accepted Single Audits as fresh leads (the FAC accepts new audits daily; most land 6–9 months after each fiscal year-end).
- **[Webhooks](https://docs.apify.com/platform/integrations/webhooks)** — trigger downstream actions (CRM import, Slack alert, e-mail sequence) the moment a run finishes.

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });

const run = await client.actor('scrapesage/single-audit-leads-scraper').call({
    mode: 'audits',
    states: ['CA', 'NY'],
    entityTypes: ['non-profit'],
    withFindingsOnly: true,
    sortBy: 'leadScore',
    apiKey: 'YOUR_API_DATA_GOV_KEY',
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} Single Audit leads`);
```

### Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

- **[Make](https://docs.apify.com/platform/integrations/make)** — multi-step automation scenarios.
- **[Zapier](https://docs.apify.com/platform/integrations/zapier)** — push new recipient & CPA-firm leads straight into your CRM.
- **[Slack](https://docs.apify.com/platform/integrations/slack)** — get notified when a monitored state or agency gets a new or changed audit.
- **[Google Drive / Sheets](https://docs.apify.com/platform/integrations/drive)** — auto-export every run to a spreadsheet.
- **[Airbyte](https://docs.apify.com/platform/integrations/airbyte)** — pipe results into your data warehouse.
- **[GitHub](https://docs.apify.com/platform/integrations/github)** — trigger runs from commits or releases.

### Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the **[Apify MCP server](https://docs.apify.com/platform/integrations/mcp)** — ask your assistant to "find every California nonprofit with a 2024 Single Audit, HHS funding, a material-weakness finding and a recipient e-mail, sorted by lead score" and let it run the scraper for you.

### Agent-ready: autonomous payments (x402 & Skyfire)

This actor is **agent-ready** — AI agents can discover it, run it, and **pay for it autonomously**, with no Apify account and no human in the loop. It uses [pay-per-event](https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event) pricing and [limited permissions](https://docs.apify.com/platform/actors/development/permissions), so it qualifies for Apify's agentic-payment standards:

- **[x402](https://docs.apify.com/platform/integrations/x402)** — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) — no account, no API key.
- **[Skyfire](https://docs.apify.com/platform/integrations/skyfire)** — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

### More scrapers from scrapesage

Build a complete **federal-funding, nonprofit & B2B lead-gen stack**:

- **[Nonprofit 990 Scraper](https://apify.com/scrapesage/nonprofit-990-scraper)** — IRS Form 990 nonprofits with financials, officers & contacts.
- **[US Federal Grants Scraper](https://apify.com/scrapesage/us-federal-grants-scraper)** — federal grant opportunities and the agencies behind them.
- **[USASpending Scraper](https://apify.com/scrapesage/usaspending-scraper)** — federal awards and the organizations that win them.
- **[SBA Loan Leads Scraper](https://apify.com/scrapesage/sba-loan-leads-scraper)** — small businesses financed under SBA 7(a) & 504.
- **[PPP Loan Data Scraper](https://apify.com/scrapesage/ppp-loan-data-scraper)** — PPP borrowers, lenders, amounts & jobs.
- **[SBIR & STTR Award Leads Scraper](https://apify.com/scrapesage/sbir-sttr-award-leads-scraper)** — federal R\&D award winners with PI contacts.
- **[Form 5500 ERISA Scraper](https://apify.com/scrapesage/form-5500-erisa-scraper)** — employee-benefit & retirement plans with sponsors & service providers.
- **[GSA eLibrary Scraper](https://apify.com/scrapesage/gsa-elibrary-scraper)** — federal-schedule contractors and their contacts.
- **[US Business Formation Scraper](https://apify.com/scrapesage/us-business-formation-scraper)** — newly-registered companies as fresh leads.

### Tips

- **CPA firm prospecting**: set `mode: "auditors"` and sort by `leadScore` to rank audit firms by their Single Audit client book — perfect for competitive intel, recruiting and M\&A.
- **Remediation buyers**: set `withFindingsOnly: true` (or `materialWeaknessOnly: true`) to reach recipients with an active compliance need.
- **By funding source**: set `federalAgencyPrefixes: ["93"]` (HHS) or `programNameContains: "Head Start"` to target a specific program ecosystem.
- **Win an audit firm's clients**: set `auditorFirmContains` to a competitor's name to pull their entire Single Audit client book.
- **Recurring monitoring**: combine [Schedules](https://docs.apify.com/platform/schedules) with `monitorMode` to capture only audits added or changed since the last run.
- **Faster runs**: turn off `includeFederalPrograms` when you only need recipient/auditor firmographics and contacts.

### FAQ

**Where does the data come from?** From the official **Federal Audit Clearinghouse (FAC)** SF-SAC dissemination API at [fac.gov](https://www.fac.gov/) (run by the U.S. General Services Administration), fronted by [api.data.gov](https://api.data.gov/).

**Do I need an API key?** A free **api.data.gov** key is recommended (get one in ~30 seconds at [api.data.gov/signup](https://api.data.gov/signup/)). A built-in DEMO key works for small trial runs but is heavily rate-limited — add your own free key for full-size runs.

**What is a Single Audit?** Under the federal Uniform Guidance (2 CFR 200), any non-federal entity that expends **$750,000 or more in federal awards** in a year must have a Single Audit (or program-specific audit) and file it with the FAC. So the FAC is effectively a registry of every meaningfully federally-funded nonprofit, government and institution in the US.

**How fresh is it?** The FAC accepts new audits every business day; most are filed 6–9 months after the auditee's fiscal year-end. Run on a [Schedule](https://docs.apify.com/platform/schedules) with monitoring mode to capture new filings as they post.

**Does it include e-mails?** Yes — the SF-SAC carries both the recipient (auditee) e-mail and the auditor CPA-firm e-mail for the vast majority of records. We never fabricate contact data; everything in the record is straight from the federal filing.

**What's the difference between audit mode and auditor mode?** Audit mode returns one row per Single Audit (the recipient organization, enriched with its auditor and federal programs). Auditor mode aggregates those audits by CPA firm, returning one row per firm with its client book and totals.

**Can I export to Google Sheets, CSV, or Excel?** Yes — one click in the dataset view, or automatically on every run via the [Google Drive integration](https://docs.apify.com/platform/integrations/drive).

**Is scraping this data legal?** This actor collects publicly available U.S. government data published by the Federal Audit Clearinghouse. You're responsible for using it in compliance with applicable laws and the source's terms.

### Need help?

Open an issue on the actor's **Issues** tab, or visit the [Apify help center](https://help.apify.com/). Feature requests are welcome — this actor is actively maintained.

# Actor input Schema

## `mode` (type: `string`):

audits = one record per Single Audit (the recipient organization, enriched with its auditor CPA firm and federal programs). auditors = one record per auditor CPA / audit firm, aggregated across all matching audits (client count, total client federal $, states & entity types served).

## `auditYears` (type: `array`):

Single Audit report years to include (e.g. \["2024","2023"]). The Clearinghouse holds audits from 2016 onward. Leave empty to use the two most recent years.

## `states` (type: `array`):

Keep only recipients in these US states (2-letter codes, e.g. \["CA","NY","TX"]). Leave empty for all states & territories. This filter is pushed down to the source for fast, precise queries.

## `entityTypes` (type: `array`):

Keep only these recipient types. Allowed values: non-profit, local (local government), state (state government), higher-ed (college/university), tribal, for-profit, unknown. Leave empty for all.

## `auditType` (type: `string`):

Limit to a single audit type, or any.

## `minFederalExpended` (type: `integer`):

Keep only recipients whose total federal awards expended is at least this value (USD). The Single Audit threshold is $750,000+, so all recipients are above it.

## `maxFederalExpended` (type: `integer`):

Keep only recipients whose total federal awards expended is at most this value (USD). Optional.

## `withFindingsOnly` (type: `boolean`):

Keep only audits with a material weakness, significant deficiency, material noncompliance or going-concern finding — recipients with a clear compliance / remediation need.

## `materialWeaknessOnly` (type: `boolean`):

Keep only audits that disclosed an internal-control material weakness.

## `lowRiskOnly` (type: `boolean`):

Keep only recipients designated as a low-risk auditee.

## `federalAgencyPrefixes` (type: `array`):

Keep only recipients with at least one federal program from these agencies, by 2-digit CFDA/Assistance-Listing prefix (e.g. \["93"]=HHS, \["84"]=Education, \["14"]=HUD, \["10"]=USDA, \["20"]=Transportation, \["97"]=Homeland Security). Requires program enrichment (on by default).

## `programNameContains` (type: `string`):

Keep only recipients with a federal program whose name contains this text (case-insensitive, e.g. "Head Start", "Medicaid", "Highway", "Title I"). Requires program enrichment.

## `nameQuery` (type: `string`):

Keep only recipients whose organization name contains this text (case-insensitive). Optional.

## `auditorFirmContains` (type: `string`):

Keep only audits whose auditor CPA firm name contains this text — competitive intelligence: pull a CPA firm's entire Single Audit client book (e.g. "CliftonLarsonAllen", "BKD", "Eide Bailly"). Optional.

## `cities` (type: `array`):

Keep only recipients in these cities (case-insensitive exact match). Optional.

## `withEmailOnly` (type: `boolean`):

Keep only audits that carry a recipient (auditee) e-mail address.

## `withAuditorEmailOnly` (type: `boolean`):

Keep only audits that carry an auditor CPA-firm e-mail address.

## `includeFederalPrograms` (type: `boolean`):

Enrich each audit with its federal programs (CFDA number, funding agency, program name, amount expended, major / loan / pass-through flags, findings count) and a top-programs summary. Turn off for faster, lighter runs.

## `isPublicOnly` (type: `boolean`):

Keep only audits flagged public by the Clearinghouse (recommended). A small share of audits are restricted (e.g. Indian Tribes) and excluded by default.

## `minLeadScore` (type: `integer`):

Keep only records with a lead score at or above this value (0-100).

## `sortBy` (type: `string`):

Order of the output.

## `maxResults` (type: `integer`):

Maximum number of records to return (and charge for).

## `maxRecordsScanned` (type: `integer`):

Upper bound on how many source audits to read before filtering, to cap run time and API usage. Use state / year filters to keep result sets precise rather than raising this.

## `deduplicateResults` (type: `boolean`):

Drop duplicate audits that share the same report id.

## `includeRawFields` (type: `boolean`):

Attach the raw source row (all original SF-SAC general columns) under sourceFields on each audit record.

## `monitorMode` (type: `boolean`):

Only return audits that are new or whose federal expenditures, findings or contacts changed since the last run with the same monitor key. Ideal on a Schedule to catch newly-filed Single Audits as fresh leads. Works independently of Apify Schedules.

## `monitorKey` (type: `string`):

Namespace for monitoring mode so independent monitors don't collide. Use a distinct key per saved configuration.

## `apiKey` (type: `string`):

Free api.data.gov key for the Federal Audit Clearinghouse API. The built-in DEMO\_KEY works for small trial runs but is heavily rate-limited — grab your own free key in ~30 seconds at https://api.data.gov/signup/ for full-size runs. The key is only used to call the official FAC API.

## `proxyConfiguration` (type: `object`):

Optional. The Federal Audit Clearinghouse API is public and usually needs no proxy, so leave this off for the fastest queries.

## Actor input object example

```json
{
  "mode": "audits",
  "auditYears": [],
  "entityTypes": [],
  "auditType": "any",
  "withFindingsOnly": false,
  "materialWeaknessOnly": false,
  "lowRiskOnly": false,
  "withEmailOnly": false,
  "withAuditorEmailOnly": false,
  "includeFederalPrograms": true,
  "isPublicOnly": true,
  "sortBy": "leadScore",
  "maxResults": 1000,
  "maxRecordsScanned": 60000,
  "deduplicateResults": true,
  "includeRawFields": true,
  "monitorMode": false,
  "monitorKey": "default",
  "apiKey": "DEMO_KEY",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped Single Audit recipient and / or auditor CPA-firm records in the default dataset, each with firmographics, contacts, federal expenditures, programs, findings and a lead score.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "auditYears": [],
    "entityTypes": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/single-audit-leads-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "auditYears": [],
    "entityTypes": [],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapesage/single-audit-leads-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "auditYears": [],
  "entityTypes": []
}' |
apify call scrapesage/single-audit-leads-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapesage/single-audit-leads-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/PtI0aBl0mHZk8kffV/builds/tqK7le8NegbqGocLu/openapi.json
