NFA CPO / CTA Registry - Commodity Pool Operators & Advisors
Pricing
Pay per event
NFA CPO / CTA Registry - Commodity Pool Operators & Advisors
NFA-registered Commodity Pool Operators (CPOs) and Commodity Trading Advisors (CTAs) with principal lists, pool detail (pool name, ID, exemption type), and regulatory actions. For compliance screening, fund administration, and CRM prospecting.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
NFA CPO and CTA Pool Operator Crawler
Crawl the NFA BASIC registry for Commodity Pool Operators (CPOs) and Commodity Trading Advisors (CTAs). Returns firm identity, principals (officers and 10%+ owners), per-pool detail (pool ID, name, exemption type, status), and regulatory action history.
NFA CPO/CTA Crawler Features
- Pulls every NFA-registered CPO and CTA firm in one run — or filter to a single category
- Returns principals list (officers, 10%+ owners) with title and ownership flag
- Per-pool detail: pool ID, pool name, exemption type, current status
- Regulatory action history flagged with both a boolean and a count, plus full JSON when enabled
- Toggle pool / principals / regulatory data on or off to control per-firm API calls
- No proxy required — NFA BASIC is a public government registry
Who Uses NFA CPO/CTA Data?
- Compliance teams at clearing firms and FCMs — Screen counterparty CPOs and CTAs against the authoritative NFA register before onboarding
- Fund administrators and prime brokers — Verify principal lists and pool counts before quoting administration or financing
- Allocators and fund-of-fund managers — Track new pool registrations and regulatory actions across the manager universe
- Sales teams at fintech and SaaS vendors — Build outreach lists of CPOs/CTAs filtered by pool count or registration date
- Financial researchers and journalists — Map the structure of the US commodity-pool industry by registration category
How the NFA CPO/CTA Crawler Works
- Configure scope — Pick
registrationType(CPO, CTA, or both) and optionally filter by firm name. - Listing crawl — Hits
DataHandlerSearch.ashx(paginated) to enumerate matching firms. - Per-firm enrichment — For each firm, fetches principals, current pools, and regulatory actions via
DataHandler.ashx. Each enrichment is optional via input toggle. - Export — One record per firm in your Apify dataset with principals and pools serialized as pipe-delimited strings.
Input
All CPOs and CTAs with full detail
{"registrationType": "both","includePools": true,"includePrincipals": true,"includeRegulatoryActions": true,"maxItems": 0}
CPO-only, lightweight
{"registrationType": "CPO","includePools": true,"includePrincipals": false,"includeRegulatoryActions": false,"maxItems": 500}
Single-firm lookup by name
{"firmName": "Bridgewater","maxItems": 10}
| Field | Type | Default | Description |
|---|---|---|---|
| registrationType | string | both | both, CPO, or CTA. |
| firmName | string | — | Optional name-search filter. Empty = enumerate all firms alphabetically. |
| includePools | boolean | true | Fetch per-firm pool list. Adds one API call per firm. |
| includePrincipals | boolean | true | Fetch principals (officers, 10%+ owners). Adds one API call per firm. |
| includeRegulatoryActions | boolean | true | Fetch regulatory action history. Adds one API call per firm. |
| maxItems | integer | 10 | Cap on firms returned. |
| proxyConfiguration | object | none | Proxy settings. Off by default. |
NFA CPO/CTA Crawler Output Fields
{"nfa_id": "0388922","firm_name": "Bridgewater Associates, LP","location": "WESTPORT, CT","registration_type": "CPO, CTA","registration_status": "NFA Member Approved","registration_date": "08/14/1990","principals": ["DALIO, RAYMOND|FOUNDER & CO-CIO|true","PRINCE, ROBERT|CO-CIO|false"],"pool_count": 12,"pools": ["P122441|Pure Alpha Major Markets, Ltd|4.7|Active","P122442|All Weather Portfolio, LP|4.7|Active"],"has_regulatory_actions": false,"regulatory_actions_count": 0,"regulatory_actions": "[]","profile_url": "https://www.nfa.futures.org/BasicNet/basic-profile.aspx?nfaid=0388922","scraped_at": "2026-05-11T04:20:09.221Z"}
| Field | Type | Description |
|---|---|---|
| nfa_id | string | NFA registration ID (7-digit zero-padded) |
| firm_name | string | Firm name as listed in NFA BASIC |
| location | string | City and state from the NFA listing (e.g. NEW YORK, NY) |
| registration_type | string | Registration categories: CPO, CTA, or both comma-separated |
| registration_status | string | NFA membership status (NFA Member Approved, Not an NFA Member, etc.) |
| registration_date | string | Earliest active registration date (MM/DD/YYYY) |
| principals | array | Principals as pipe-delimited strings: `NAME |
| pool_count | number | Active pools registered under this firm |
| pools | array | Per-pool detail as pipe-delimited strings: `POOL_ID |
| has_regulatory_actions | boolean | Firm has any regulatory actions on record |
| regulatory_actions_count | number | Count of regulatory actions on record |
| regulatory_actions | string | Full action history serialized as JSON |
| profile_url | string | URL to the NFA BASIC firm profile |
| scraped_at | string | ISO timestamp when the record was scraped |
FAQ
How do I get NFA CPO and CTA registration data?
NFA CPO/CTA Crawler hits the public NFA BASIC JSON-RPC endpoints — no API key, no scraping ToS gray area. Pick registrationType, set the enrichment toggles, and run.
How much does this actor cost to run?
NFA CPO/CTA Crawler uses pay-per-event pricing on the default_2603_basic profile at a 1.0x coefficient. No proxy fees. Pulling all NFA-registered CPOs and CTAs with full enrichment costs a few dollars in platform fees.
Can I skip the per-firm enrichment calls?
NFA CPO/CTA Crawler exposes three toggles: includePools, includePrincipals, includeRegulatoryActions. Turn the ones you don't need off and the crawler skips those API calls per firm. Useful when you're enumerating the universe quickly and enriching only flagged firms in a second pass.
Does this include pool-level detail?
NFA CPO/CTA Crawler returns pool detail as a pipe-delimited array per firm: POOL_ID|NAME|EXEMPTION_TYPE|STATUS. The pool_count field gives you the count without parsing. If you need pool-level rows rather than firm-level rows, post-process the pools array.
Does this actor need proxies?
NFA CPO/CTA Crawler runs proxy-free. NFA BASIC is a public regulatory site that accepts datacenter traffic at the volumes this actor produces.
Need More Features?
Need AUM extraction from Form PR / Form CPO-PQR, scheduled re-runs for new registrations, or Section 4.7 / 4.13 exemption filtering? Open an issue or get in touch.
Why Use NFA CPO/CTA Crawler?
- Principals are a separate field — Most NFA scrapers stop at firm name and ID. This one returns the principal list with title and 10%+ ownership flag — the data you actually need for KYC.
- Pool detail per firm — Pool ID, name, exemption type, and status come back per firm so you can roll up exposure or filter by exemption (4.7, 4.13, etc.).
- Toggle the expensive bits — Pools, principals, and regulatory actions are independent toggles. Run lean during enumeration, run full during enrichment.