# US Credit Union Financial Records — NCUA (`nexgensignal/us-credit-union-financial-records`) Actor

Keyless, pay-per-record NCUA 5300 Call Report data. One row per credit union per quarter — charter, name, state, cycle date, total assets, shares/deposits, loans, members. Institutional tables only; public domain; no person data.

- **URL**: https://apify.com/nexgensignal/us-credit-union-financial-records.md
- **Developed by:** [NexGen Signal](https://apify.com/nexgensignal) (community)
- **Categories:** Business, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $33.50 / 1,000 call report records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## US Credit Union Financial Records — NCUA Call Report

**Keyless. Pay per record. Every federally-insured US credit union's quarterly financials, institution by institution.**

This actor turns the **US National Credit Union Administration (NCUA)** 5300 Call Report bulk data into clean, per-institution-quarter records — the official quarterly financial filing of every federally-insured credit union. Each run reads the NCUA's keyless quarterly bulk ZIP and delivers one row per credit union: its charter number and name, location and charter details, and its headline financial totals — total assets, shares and deposits, loans and leases, and membership. Institution-quarter grain, structured for engineering use, in the public domain, with a **hard person-gate: only institutional tables are used, and the ATTENTION\_OF contact field and any officer/person field are never emitted.**

### What this is, in one paragraph

Every federally-insured credit union files a quarterly 5300 Call Report, and the NCUA publishes the data as a quarterly bulk download. This actor reads the current quarter's bulk file, joins the institution master (identity, location, charter) with the financial-statement totals, and flattens each credit union into a single analysis-ready record: the charter number, name, type, charter state, city/state/ZIP, year opened, peer group, minority-depository flag, insured date, and the RSSD id — plus the headline financials for the cycle: total assets, total shares and deposits, total loans and leases, total shares, and the number of members. Values are exactly as filed for the reported cycle date. You are billed only for records actually delivered.

### Who buys this and for what job

- **Financial-analytics, fintech, and risk teams** tracking credit-union assets, deposits, loans, and membership by institution and quarter.
- **Vendor, partnership, and market-sizing teams** segmenting the credit-union market by state, size, and peer group.
- **Researchers and journalists** studying credit-union financial trends over time.
- **Data engineers** who want the NCUA call-report financials as clean institution-quarter rows without unzipping and joining the bulk files by hand.

### Public-domain data — free commercial reuse

One licence rider travels on every record. NCUA 5300 Call Report data is a work of the US federal government — no copyright, **public domain** under 17 U.S.C. §105 — free to reuse, including commercially, with attribution to the NCUA. One honest caveat rides too: these are filed financial positions for the reported cycle, not an audit or a supervisory rating.

### Freshness — current-quarter door, re-proven each run

This actor reads the **current quarterly bulk ZIP** and records the cycle date found inside the file in its receipt, so freshness is verifiable on every run. The record grain is institution-quarter, keyed on the charter number and the cycle date, so a credit union's multi-quarter history assembles cleanly as newer quarters publish.

### Institution grain — no person data

The unit of every record is a credit union in a given quarter — an institution, never a person. This actor uses **only the institutional tables** (the institution master and the financial-statement totals). The institution master carries an **ATTENTION\_OF** contact-person field; this actor **never reads or emits it**, and no officer, contact, or person field appears in output. City, state, and ZIP are the institution's own location (org-level), not a person. A person-key guard runs on every record as a backstop, and the acceptance suite feeds a record whose ATTENTION\_OF and street fields are populated and asserts neither can ever appear in output.

### Pricing

| Event | Free plan | Bronze | Silver | Gold / Platinum / Diamond |
|-------|-----------|--------|--------|---------------------------|
| `call_report_record` | $0.05 | $0.045 | $0.04 | $0.0335 |

Delivered before charged. Blocked runs and empty results cost nothing.

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `state` | string | — | Optional 2-letter US state code (e.g. CA, TX) to filter credit unions. |
| `nameContains` | string | — | Optional. Keep only credit unions whose name contains this text. |
| `maxRecords` | integer | 500 | Ceiling on records delivered and billed. |

### Output

One JSON object per credit union per quarter. Real example (values as filed):

```json
{
  "record_id": "1:3/31/2026",
  "cu_number": "1",
  "cu_name": "MORRIS SHEPPARD TEXARKANA",
  "cycle_date": "3/31/2026",
  "cu_type": "1",
  "charter_state": "TX",
  "city": "TEXARKANA",
  "state": "TX",
  "zip_code": "75501",
  "year_opened": "1934",
  "peer_group": "3",
  "total_assets": 13376472,
  "total_shares_and_deposits": 11875857,
  "total_loans_and_leases": 9132562,
  "number_of_members": 5201,
  "source": "US NCUA 5300 Call Report",
  "licence": "US National Credit Union Administration (NCUA) ... public domain (17 U.S.C. §105) ...",
  "disclaimer": "Institution-quarter financial records ... institutional tables only ... ATTENTION_OF ... never emitted ...",
  "observed_at": "2026-08-22T00:00:00Z"
}
```

An unbilled `RUN_RECEIPT` records the robots check, the resolved file, the **cycle date found in the file** (freshness), the filters, credit unions matched and delivered, and whether charged equals delivered.

### Field reference

Each record is one credit union for one quarter. Identity: `record_id` (charter number + cycle date), `cu_number`, `cu_name`, `rssd`, and `cycle_date`. Charter and location: `cu_type`, `charter_state`, `city`, `state`, `zip_code`, `year_opened`, `peer_group`, `is_mdi`, and `insured_date`. Headline financials (correctly labelled from the NCUA account dictionary): `total_assets`, `total_shares_and_deposits`, `total_loans_and_leases`, `total_shares`, and `number_of_members`. Provenance: `source`, `source_url`, `licence`, `attribution`, `disclaimer`, and `observed_at`.

### How a run works

A run first re-reads the source host's robots posture from your runtime — the NCUA host — and stops at the door if a Disallow ever covers the bulk path. It resolves the most recent quarterly call-report ZIP, downloads it once, reads the institution master and the financial-statement totals, joins them on the charter number, and flattens each credit union to one record — reading only institutional fields, dropping the ATTENTION\_OF contact field entirely, and labelling each financial figure from the NCUA account dictionary so nothing is mislabelled — delivered **before** it is charged, so a blocked or empty run costs you nothing. The receipt records the cycle date found in the file so you can confirm freshness, and the actor stops at your `maxRecords` ceiling.

### Coverage and scope

The call report covers all **4,300+ federally-insured credit unions** for the current quarter. Because each record carries the `state`, `peer_group`, and the financial totals, segmenting by state or size and comparing across quarters is straightforward. Pull one state, or the whole file to seed an institution-finance table, then take fresh quarterly pulls as they publish.

### Cost guidance

One `call_report_record` per delivered credit union: cost = credit unions delivered × your plan's per-record price. Scope with `state` or `nameContains` to keep runs bounded. The whole file is ~4,300 institutions; 1,000 institutions is **$50** (Free) / **$33.50** (Gold).

### Honest limitations

- **As filed, not audited.** Figures are as reported for the cycle; this actor reformats and labels, it does not audit or rate.
- **Institutional tables only.** The ATTENTION\_OF contact field and any officer/person field are never emitted.
- **Headline financials.** This actor carries the key balance-sheet and membership totals; the full 5300 has hundreds of accounts available in the source if you need more.
- **No person data** of any kind.

### Differentiation

This is a **net-new** category for the NexGenData fleet — no existing fleet actor covers NCUA credit-union financials. It is distinct from any SEC, bank, or company-financials cell (those cover public companies or banks, not federally-insured credit unions). Its specific job is the **NCUA 5300 Call Report institution-quarter financials** — assets, deposits, loans, and membership per credit union per quarter, institutional data only.

### The NexGen Signal family

Part of the NexGen Signal family of pay-per-record data products:

- [US Committee Finance Records — FEC Summaries](https://apify.com/nexgensignal/us-committee-finance-records)
- [US Hospital Ownership Records — CMS Owner Edges](https://apify.com/nexgensignal/us-hospital-ownership-records)
- [Treasury Fiscal Records — Rates & Debt](https://apify.com/nexgensignal/treasury-fiscal-records)
- [Organization Sanctions & LEI Risk](https://apify.com/nexgensignal/organization-sanctions-lei-risk)
- [Mine Operator & Safety Records — US MSHA](https://apify.com/nexgensignal/mine-operator-safety-records)

*Source: US National Credit Union Administration (NCUA) 5300 Call Report bulk data (ncua.gov). A work of the US federal government, no copyright, public domain (17 U.S.C. §105); free to reuse, including commercially, with attribution to the NCUA. Institution-quarter grain, institutional tables only; the ATTENTION\_OF contact field and any officer/person field are never emitted. Filed financial positions as reported, not an audit or a supervisory rating.*

# Actor input Schema

## `state` (type: `string`):

Optional 2-letter US state code (e.g. CA, TX) to filter credit unions.

## `nameContains` (type: `string`):

Optional. Keep only credit unions whose name contains this text.

## `maxRecords` (type: `integer`):

Maximum records delivered and billed.

## Actor input object example

```json
{
  "maxRecords": 500
}
```

# Actor output Schema

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

Delivered records.

# 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 = {
    "maxRecords": 500
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgensignal/us-credit-union-financial-records").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 = { "maxRecords": 500 }

# Run the Actor and wait for it to finish
run = client.actor("nexgensignal/us-credit-union-financial-records").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "maxRecords": 500
}' |
apify call nexgensignal/us-credit-union-financial-records --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,nexgensignal/us-credit-union-financial-records"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7hHe9FxJmVDPhYAf8/builds/0HDMFWnVeulds56Bt/openapi.json
