FinCEN MSB Registrant Search avatar

FinCEN MSB Registrant Search

Pricing

from $4.65 / 1,000 item processeds

Go to Apify Store
FinCEN MSB Registrant Search

FinCEN MSB Registrant Search

Search FinCEN MSB registrations by legal or DBA name and business address geography. Export addresses, activity codes, operating states, branches and form dates for recurring counterparty checks. Registration is not licensing or endorsement.

Pricing

from $4.65 / 1,000 item processeds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Categories

Share

Refresh FinCEN MSB registrations for recurring counterparty checks. Search the official public export by legal name, DBA name, city, address state, or ZIP, then export structured business records to your compliance dashboard or spreadsheet.

FinCEN registration is not a license, endorsement, verification of legitimacy, or recommendation. Listing absence is not proof of wrongdoing. Use independent due diligence before any financial decision.

What does this Actor do?

Each run downloads the official FinCEN MSB Registrant Search export, applies your filters locally, and saves matching rows in the default Apify dataset. The source is updated weekly, not in real time. The Actor does not register businesses or access the BSA E-Filing system.

Who is it for?

  • Compliance analysts refreshing business counterparty records.
  • Fintech operations teams maintaining company reference data.
  • Researchers comparing declared money-services activities across business locations.

Why use it?

Get typed arrays for activity codes and operating states, normalized form dates, preserved leading-zero ZIP codes, and a retrieval timestamp without manually cleaning the Excel-labelled export. All source columns are retained; there are no invented lead scores or licensing judgments.

Getting started

  1. Enter a legal-name substring, such as coinbase.
  2. Optionally narrow by business address state, city, ZIP, or DBA.
  3. Set a global result limit.
  4. Run and inspect the dataset and coverage summary.
  5. Export JSON, CSV, or Excel using Apify dataset export.
{"legalName":"coinbase","maxItems":10}

Input parameters

FieldMeaning
legalNameCase-insensitive substring of legal name
dbaNameCase-insensitive substring of DBA name
cityCase-insensitive substring of business address city
stateExact US state/territory postal code of business address
zipExact five-digit ZIP or ZIP+4, as a string
maxItemsGlobal maximum matching distinct rows; default 100, range 1–30000

All filters are combined using AND. Text filters are trimmed, then matched literally as substrings without word boundaries or spelling correction. State is trimmed and uppercased. Blank strings disable their filter. A missing DBA cannot match a nonempty DBA filter.

State filters the address, not the declared operating footprint. NY will not include a California-address business merely because it operates in New York. ZIP equality does not treat a five-digit ZIP as a ZIP+4 prefix. Unknown parameters, invalid states, malformed ZIPs, and noninteger/out-of-range limits fail validation.

With no filters, the Actor returns the first matching source rows up to the limit. Zero/unlimited is unsupported. The complete export is downloaded even for a one-record request. Exact duplicate source rows are removed before the global limit; source order is retained. No explicit-URL input or pagination mode is offered.

Extracted data

FieldDescription
legalName, dbaNameRegistrant-supplied legal and trading names
streetAddress, city, state, zipBusiness address, not branch addresses
activityCodesForm 107 activity codes as an array
operatingStatesDeclared operating state/territory codes
geographicFlagRaw source flag A/B/C/D; no inferred footprint
foreignLocationSource foreign-location label
branchCountDeclared number of branches
signedDate, receivedDateForm signature and receipt dates, YYYY-MM-DD
sourceUrlOfficial homepage, not a record-specific URL
sourceUpdatedDateHomepage's displayed weekly update date
scrapedAtUTC retrieval timestamp

Blank DBA, address state, foreign location, and geographic flag become null. Other source strings retain their values. Activities and operating states are arrays. For example, code 409 denotes money transmitter, 408 check casher, and 415 dealer in foreign exchange. These are declarations, not independently verified capabilities.

Output example

This is an observed business record from the official export.

{
"legalName": "Coinbase FC Fund LLC",
"dbaName": null,
"streetAddress": "1 Bluxome Street, Suite 405",
"city": "San Francisco",
"state": "CA",
"zip": "94107",
"activityCodes": ["409", "415"],
"operatingStates": ["AZ", "CA", "CT", "NY"],
"geographicFlag": null,
"foreignLocation": null,
"branchCount": 0,
"signedDate": "2026-09-13",
"receivedDate": "2026-09-13",
"sourceUrl": "https://msb.fincen.gov/",
"sourceUpdatedDate": "2026-10-05",
"scrapedAt": "2026-10-10T06:10:02.223Z"
}

SUMMARY in the run key-value store records the source update date, export row count, saved count, and limit. A successful zero-match run is allowed; an unexpectedly empty or malformed source export fails instead of claiming an empty search result.

How much does it cost to search FinCEN MSB registrations?

Pay-per-event pricing charges a one-time start fee and one item event per saved registrant row. Rejected and duplicate rows have no item charge. No separate charges apply to addresses, branches, activities, or dates.

The start fee is $0.005 per run. Per saved row: FREE $0.0089056, BRONZE $0.007744, SILVER $0.0060403, and GOLD/PLATINUM/DIAMOND $0.0046464. Spend tiers follow qualifying aggregate monthly Store spend, not a private per-Actor volume discount. Check the pricing panel for your account.

At BRONZE, estimates are $0.08244 for 10 saved rows, $0.7794 for 100, and $7.749 for 1,000. A zero-match valid search pays the start fee only. Account spending limits can stop output early. The run coverage report includes the actual saved count and a budget-exhaustion flag.

Source coverage and limitations

The official search describes current public registrations. Previously registered businesses that do not renew are not included according to FinCEN. The Actor does not retrieve historical filings, archived registrations, acknowledgement letters, BSA IDs, beneficial owners, phone numbers, email addresses, branch locations, sanctions screening, or licenses.

FinCEN warns its downloadable spreadsheet is not a substitute for the webpage. Export row counts can differ from the homepage's displayed business count; one row must not be assumed to equal a unique licensed business. Multiple distinct source rows for an entity are preserved, not merged into fabricated registration history. For important decisions, confirm information on the official website. Some current registrations are excluded by FinCEN and registrant-supplied information can be incomplete or incorrect.

Reliability and troubleshooting

The Actor uses direct HTTP, without a paid proxy or browser fallback. Transient network failures, HTTP 408/429 and selected 5xx responses get at most two retries per request. A changed export header, malformed row, inaccessible source, or missing freshness date fails the run with an error.

If no rows match, shorten the name substring or search by state instead. Abbreviations, spelling variations, and missing source data can affect results. If a source-format error occurs, do not treat the run as a clean compliance result; retry later or contact support with the run ID.

Integrations

Export the default dataset to Google Sheets, a warehouse, or your existing counterparty onboarding workflow. Schedule separate runs weekly and compare them downstream using names and addresses. The Actor does not maintain cross-run history, calculate changes, send alerts, or automate approval decisions. Keep full exports outside language-model context.

API usage

Use your Apify token in an authorization header; never share it in datasets.

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~fincen-msb-registrant-search/runs' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"state":"NY","city":"New York","maxItems":100}'

The response contains a run ID, not results. Follow that run until successful, then read its defaultDatasetId.

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/fincen-msb-registrant-search')
.call({ legalName: 'coinbase', maxItems: 10 });
const { items } = await client.dataset(run.defaultDatasetId).listItems({ limit: 10 });
console.log(items);
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/fincen-msb-registrant-search').call(
run_input={'legalName': 'coinbase', 'maxItems': 10})
print(client.dataset(run['defaultDatasetId']).list_items(limit=10).items)

MCP usage

For Claude Desktop, Cursor, and VS Code, use the JSON configuration below in your client's MCP settings. Example prompts: “Find Coinbase legal names” or “Return NY-address registrants, at most 100 rows.”

Select the stable Actor-specific tool subset:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/fincen-msb-registrant-search"
{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=automation-lab/fincen-msb-registrant-search"}}}

Discover actual names and schemas using scoped tools/list. Actor selection also includes run/storage utility tools; discovery is not permission to run or abort. Example authorized request: “Search Coinbase legal names, return at most 10 rows, and explain that registration is not endorsement.”

Start once and retain the run/storage IDs. If nonterminal, check that same run with 2/4/8-second backoff capped at 10 seconds and a 120-second total deadline; report pending at the deadline. A transport timeout is not a reason to restart. After success, read pages of 20 untransformed source rows with explicit offsets and fields, at most 100 rows and 64 KiB of serialized UTF-8 data admitted to model context, whichever comes first. Enforce byte limits host-side, disclose omissions and continuation offsets, and keep full exports downstream. If the client cannot intercept oversized responses, do not claim a hard byte guarantee. This consumer budget does not change collection limits. No numeric token-saving claim is made.

Legality, responsible use and privacy

Use this public company registry for lawful business due diligence, not harassment or speculative judgments about individuals. Registration information is supplied by registrants and is not verified or licensed by FinCEN. This Actor is not affiliated with FinCEN and provides no legal advice.

No AI is used in the runtime or generated records. Input, datasets and logs remain in the user's Apify run storage under account retention settings; delete run storage in Apify when no longer needed. There is no cross-run cache or fixed global dataset. For help, open an Actor issue with your run ID.

Failed operations send sanitized diagnostic input, exceptions and Actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL queries are removed; reports are retained for 30 days.

FAQ

Can I retrieve previous filings? No. Only the current official export is processed, without historical reconstruction.

Does state mean operating state? No. It filters business address state. Operating states are output only.

Why is the export count different from the website count? The source may have multiple distinct rows and its export is not guaranteed to match the webpage count. Do not interpret either as licensing verification.

Does a listed company have FinCEN approval? No. FinCEN expressly warns against that claim.

Can I automate recurring checks? Schedule runs and compare datasets in your own workflow. There is no built-in change detector or notification service.

This is a standalone FinCEN business-registration dataset. SEC investment-adviser and NFA registrant corpora concern different entities and cannot substitute for MSB coverage. Combine only separately identified records with independent matching and official verification.