OrbTop

NFA CPO / CTA Registry - Commodity Pool Operators & Advisors

BUSINESSOTHERDEVELOPER TOOLS

NFA CPO/CTA Registry Scraper — Pool Operators and Trading Advisors

Crawl the NFA BASIC registry for every NFA-registered Commodity Pool Operator (CPO) and Commodity Trading Advisor (CTA). Returns firm identity, principal lists (officers and 10%+ owners), per-pool detail (pool ID, name, exemption type, status), and regulatory action history. No API key required — NFA BASIC is a public government registry.

Also pairs well with an NFA BASIC broker crawler for a complete compliance data stack covering FCMs, IBs, CPOs, and CTAs from the same source.

What does the NFA CPO/CTA Registry Scraper do?

The scraper hits NFA BASIC's public JSON-RPC endpoints (DataHandlerSearch.ashx for listing, DataHandler.ashx for per-firm enrichment). It enumerates matching firms alphabetically — or filters by name — then optionally fetches principal lists, pool detail, and regulatory actions for each firm. Each enrichment type is a separate toggle so you can run lean during universe enumeration and enrich only flagged firms in a second pass.

What data does it extract?

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 (e.g. NEW YORK, NY)
registration_type string CPO, CTA, or both comma-separated
registration_status string NFA membership status (e.g. NFA Member Approved)
registration_date string Earliest active registration date (MM/DD/YYYY)
principals array Principals as NAME|TITLE|10pct_owner strings
pool_count number Number of active pools registered under this firm
pools array Per-pool detail as POOL_ID|NAME|EXEMPTION_TYPE|STATUS strings
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

NFA exemption type codes in the pools array:

Code Description
4.7 Exemption for pools offered only to qualified eligible persons
4.13(a)(1) Small pool exemption (< $400k / < 15 participants)
4.13(a)(3) De minimis trading exemption
4.5 Certain investment company exclusion

These exemption codes are the primary compliance filter buyers use to assess which pools are open to retail investors versus QEPs.

How to use it

All CPOs and CTAs with full enrichment:

{
  "registrationType": "both",
  "includePools": true,
  "includePrincipals": true,
  "includeRegulatoryActions": true,
  "maxItems": 0
}

CPO-only, lightweight (no enrichment):

{
  "registrationType": "CPO",
  "includePools": false,
  "includePrincipals": false,
  "includeRegulatoryActions": false,
  "maxItems": 1000
}

Prospect list — growing fund managers registered in the last 2 years: Set registrationType: CPO, run the full enumeration, then filter downstream to pool_count > 5 and registration_date within the last 2 years. These are growing fund managers actively adding pools — high-priority prospects for fund administrators and fintech vendors.

Field Type Default Description
registrationType string both both, CPO, or CTA
firmName string Name search filter (leave empty for all)
includePools boolean true Fetch per-firm pool list (one extra API call per firm)
includePrincipals boolean true Fetch principal list (one extra API call per firm)
includeRegulatoryActions boolean true Fetch regulatory action history (one extra API call per firm)
maxItems integer 10 Maximum firms to return

Use cases

  • Compliance teams at clearing firms and FCMs — Screen counterparty CPOs and CTAs against the authoritative NFA register before onboarding. The registration_status and has_regulatory_actions fields are the first-pass flags.
  • Fund administrators and prime brokers — Verify principal lists and pool counts before quoting administration or financing terms.
  • Allocators and fund-of-fund managers — Track new pool registrations and regulatory actions across the manager universe without manual NFA BASIC searches.
  • Sales teams at fintech and SaaS vendors — Filter to firms with pool_count > 5 registered in the last 2 years for a prospect list of growing fund managers likely to need compliance, reporting, or admin tooling.
  • Financial researchers — Map the structure of the US commodity-pool industry by registration category, exemption type, and geographic distribution.

FAQ

Is this data public? Yes. NFA BASIC is the public regulatory database for NFA-registered firms. No authentication is required.

How do I get pool-level rows rather than firm-level rows? The actor returns one record per firm with a pools array. To get one row per pool, post-process the pools field by splitting the pipe-delimited strings and exploding the array. The pool_count field tells you how many rows to expect.

Can I skip the enrichment calls to run faster? Yes. Set includePools, includePrincipals, and includeRegulatoryActions to false to skip those API calls. This reduces run time significantly for large universe pulls.

What formats can I export to? Apify supports JSON, CSV, and Excel export from the dataset view.