OrbTop

NFA CPO / CTA Registry - Commodity Pool Operators & Advisors

BUSINESSOTHERDEVELOPER TOOLS

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

  1. Configure scope — Pick registrationType (CPO, CTA, or both) and optionally filter by firm name.
  2. Listing crawl — Hits DataHandlerSearch.ashx (paginated) to enumerate matching firms.
  3. Per-firm enrichment — For each firm, fetches principals, current pools, and regulatory actions via DataHandler.ashx. Each enrichment is optional via input toggle.
  4. 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.