# NCUA Credit Union Directory Scraper (`compute-edge/ncua-credit-union-directory-scraper`) Actor

Extract the full NCUA roster of federally-insured credit unions nationwide. Filter by state, name, and year opened. Includes charter number, address, region, district, and insured date — ideal for fintech and compliance vendors.

- **URL**: https://apify.com/compute-edge/ncua-credit-union-directory-scraper.md
- **Developed by:** [Compute Edge](https://apify.com/compute-edge) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## NCUA Credit Union Directory Scraper

Extract the full roster of **federally-insured credit unions** published by the National Credit Union Administration (NCUA). This actor downloads the official NCUA call-report data file and outputs structured records for every credit union in the United States — complete with charter number, legal name, address, NCUA region, district, year chartered, and federal insurance date.

### Features

- **Complete national coverage** — ~4,800+ federally insured credit unions nationwide
- **Auto-discovers the latest data** — no hardcoded dates; the actor fetches the current quarter's data automatically
- **Filter by state** — extract only credit unions chartered in a specific state (e.g., `CA`, `TX`, `NY`)
- **Filter by name** — case-insensitive substring match (e.g., `teachers`, `community`, `federal`)
- **Filter by year chartered** — range filter on `YEAR_OPENED`
- **Official regulatory source** — data comes directly from NCUA's quarterly call report, updated every quarter
- **Structured JSON output** — all fields mapped to clean, consistently named output properties

#### Output Fields

| Field | Description |
|-------|-------------|
| `cuName` | Full legal name of the credit union |
| `city` | City of the main office |
| `state` | 2-letter state code (e.g., `CA`) |
| `cuNumber` | NCUA charter number (unique identifier) |
| `region` | NCUA supervisory region |
| `district` | NCUA supervisory district |
| `yearOpened` | Year the credit union was chartered |
| `insuredDate` | Date federal share insurance was granted |
| `street` | Street address of main office |
| `zipCode` | ZIP code |
| `charterState` | State where charter was issued |
| `cuType` | Credit union type code |
| `peerGroup` | NCUA peer group classification |
| `isMDI` | Minority Depository Institution flag |
| `limitedInc` | Low-income designation flag |
| `congressionalDistrict` | Congressional district |
| `countyCode` | County FIPS code |

---

### How to Scrape NCUA Credit Union Data

Follow these steps to extract the credit union directory:

1. **Open the Actor** in Apify Console and click **Try for free** or **Start**.
2. **Set your filters** (all optional):
   - **State** — enter a 2-letter code (e.g., `TX`) to limit to one state
   - **Name Filter** — enter a keyword like `teachers` to match credit unions by name
   - **Min / Max Year Opened** — narrow to credit unions chartered in a date range
   - **Max Results** — cap output size (default 500; set to 0 for all records)
3. **Click Run**. The actor downloads the latest NCUA quarterly data file (~1–5 MB), extracts the credit union roster, applies your filters, and writes records to the dataset.
4. **Export** results as JSON, CSV, or Excel from the Dataset tab.

**Typical runtime:** 30–90 seconds for a full national extract.

---

### Pricing

- **Cost**: $0.003 per result (standard per-row pricing)
- **Compute**: Apify charges compute separately (~$0.01–0.05 per run at default 512 MB memory)
- **Full national extract** (~4,800 results): approximately $0.015 in actor pricing + minimal compute
- **State-filtered extract** (e.g., California ~500 results): under $0.002 in actor pricing

---

### Input / Output Examples

#### Input

```json
{
  "state": "CA",
  "nameFilter": "",
  "minYearOpened": 0,
  "maxYearOpened": 9999,
  "maxResults": 500
}
````

#### Output (sample record)

```json
{
  "cuNumber": 566,
  "cycleDate": "3/31/2026 0:00:00",
  "cuName": "NUVISION",
  "city": "HUNTINGTON BEAC",
  "state": "CA",
  "charterState": "CA",
  "zipCode": "92647",
  "street": "7812 EDINGER AVE",
  "attentionOf": "",
  "region": "3",
  "district": "10",
  "yearOpened": 1935,
  "cuType": "1",
  "peerGroup": "6",
  "isMDI": "False",
  "limitedInc": "0",
  "insuredDate": "1/4/1971 0:00:00",
  "congressionalDistrict": "47",
  "countyCode": "59"
}
```

***

### Use Cases

- **Fintech & Core Banking Vendors** — identify every potential credit union client in a target state with charter type and size tier (peer group)
- **Compliance Software Sales** — target credit unions by charter year, region, or minority depository status
- **B2B Sales Teams** — build qualified prospect lists for any financial-services product sold into credit unions
- **Market Research** — map the credit union landscape by state, region, or year chartered
- **Data Enrichment** — match against your CRM using the official NCUA charter number as a stable identifier

***

### FAQ

**Q: How current is the data?**
A: The actor fetches the most recent NCUA quarterly call report file available. NCUA publishes updates quarterly (March, June, September, December data). The actor auto-discovers the latest available file.

**Q: How many credit unions are in the dataset?**
A: Approximately 4,700–5,000 federally-insured credit unions nationwide, depending on the quarter.

**Q: Can I get branch-level data?**
A: This actor covers the main FOICU.txt file (credit union headquarters/charter records). The NCUA ZIP also includes a branch information file, which is not included in this actor's scope.

**Q: What is the cuType field?**
A: This is a numeric code from NCUA's raw data file. Common values: `1` = Federal Credit Union (FCU), `2` = State-Chartered Credit Union (SCC). Federal credit unions are regulated directly by NCUA; state-chartered credit unions are regulated by state authorities but federally insured through NCUA.

**Q: What does isMDI mean?**
A: Minority Depository Institution — a designation for credit unions primarily serving minority communities. A value of `1` means the credit union holds MDI status.

**Q: Is this data legal to scrape?**
A: Yes. This data is published by a US federal regulatory agency (NCUA) and is in the public domain. It is not personal consumer data — it is institutional/business data about chartered financial institutions.

***

### Legal Disclaimer

This actor accesses data published by the National Credit Union Administration (NCUA), a US federal agency. The data is publicly available at [ncua.gov](https://ncua.gov) and constitutes official regulatory records, not personal consumer data. Use of this data is subject to applicable laws and NCUA's terms of use. This actor is not affiliated with or endorsed by the NCUA.

For questions or support, contact [Apify support](https://apify.com/contact).

# Actor input Schema

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

Filter by 2-letter US state code (case-insensitive). Examples: 'CA', 'TX', 'NY'. Leave empty to get all states.

## `minYearOpened` (type: `integer`):

Only include credit unions opened in or after this year. Example: 2000. Leave at 0 for no lower limit.

## `maxYearOpened` (type: `integer`):

Only include credit unions opened in or before this year. Example: 2010. Leave at 9999 for no upper limit.

## `nameFilter` (type: `string`):

Case-insensitive substring match on credit union name. Example: 'teachers', 'federal', 'community'.

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

Maximum number of credit union records to return. Set to 0 for unlimited.

## Actor input object example

```json
{
  "state": "",
  "minYearOpened": 0,
  "maxYearOpened": 9999,
  "nameFilter": "",
  "maxResults": 500
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("compute-edge/ncua-credit-union-directory-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("compute-edge/ncua-credit-union-directory-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 '{}' |
apify call compute-edge/ncua-credit-union-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=compute-edge/ncua-credit-union-directory-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NCUA Credit Union Directory Scraper",
        "description": "Extract the full NCUA roster of federally-insured credit unions nationwide. Filter by state, name, and year opened. Includes charter number, address, region, district, and insured date — ideal for fintech and compliance vendors.",
        "version": "0.1",
        "x-build-id": "9D053TmGk2qp0MzFs"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/compute-edge~ncua-credit-union-directory-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-compute-edge-ncua-credit-union-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/compute-edge~ncua-credit-union-directory-scraper/runs": {
            "post": {
                "operationId": "runs-sync-compute-edge-ncua-credit-union-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/compute-edge~ncua-credit-union-directory-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-compute-edge-ncua-credit-union-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "state": {
                        "title": "State Filter",
                        "type": "string",
                        "description": "Filter by 2-letter US state code (case-insensitive). Examples: 'CA', 'TX', 'NY'. Leave empty to get all states.",
                        "default": ""
                    },
                    "minYearOpened": {
                        "title": "Min Year Opened",
                        "minimum": 0,
                        "maximum": 9999,
                        "type": "integer",
                        "description": "Only include credit unions opened in or after this year. Example: 2000. Leave at 0 for no lower limit.",
                        "default": 0
                    },
                    "maxYearOpened": {
                        "title": "Max Year Opened",
                        "minimum": 0,
                        "maximum": 9999,
                        "type": "integer",
                        "description": "Only include credit unions opened in or before this year. Example: 2010. Leave at 9999 for no upper limit.",
                        "default": 9999
                    },
                    "nameFilter": {
                        "title": "Name Filter",
                        "type": "string",
                        "description": "Case-insensitive substring match on credit union name. Example: 'teachers', 'federal', 'community'.",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum number of credit union records to return. Set to 0 for unlimited.",
                        "default": 500
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
