Fincen Msb Scraper avatar

Fincen Msb Scraper

Pricing

from $10.20 / 1,000 results

Go to Apify Store
Fincen Msb Scraper

Fincen Msb Scraper

The full FinCEN registry of registered Money Services Businesses: every US and foreign money transmitter, check casher, currency dealer and prepaid access business, with address, decoded activity types, states of operation and registration date. Filter for AML and KYB compliance, or look up by name.

Pricing

from $10.20 / 1,000 results

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Norm Data

FinCEN MSB Scraper

Get the full FinCEN registry of registered Money Services Businesses with no API key and no login. Every money transmitter, check casher, currency dealer, money order business and prepaid access business registered under the Bank Secrecy Act, in and outside the United States: about 33,000 registrants with legal and trade name, address, decoded MSB activity types, states of operation, branch count and FinCEN registration date. Built for AML and BSA compliance, MSB and money transmitter due diligence, KYB and counterparty screening, fintech and crypto onboarding, and financial crime research.

Here is one real row:

{
"legal_name": "1111 RRM LLC",
"dba_name": "TIENDA EL TIKAL",
"street_address": "6117 WILCREST DR",
"city": "HOUSTON",
"state": "TX",
"zip": "77072",
"country": "UNITED STATES",
"is_foreign": false,
"address": "6117 WILCREST DR, HOUSTON, TX, 77072",
"activity_codes": ["405", "408", "409"],
"activities": ["Seller of money orders", "Check casher", "Money transmitter"],
"activity_count": 3,
"is_money_transmitter": true,
"is_check_casher": true,
"is_money_order_business": true,
"is_currency_dealer": false,
"is_prepaid_access": false,
"states_of_activity": ["TX"],
"state_count": 1,
"operates_in_all_states": false,
"operates_foreign": false,
"branch_count": 1,
"authorized_signature_date": "2025-10-28",
"registration_date": "2025-10-28",
"days_since_registration": 318,
"fincen_msb_search_url": "https://www.fincen.gov/msb-registrant-search",
"scraped_at": "2026-09-10T20:34:58.426Z"
}

What it does

Reads the full FinCEN MSB registrant list in one pass, decodes the Form 107 activity codes into labels, and normalizes every registrant into a flat row. Two modes:

  • Search filters the registry into a list: by name, state, city, ZIP, MSB activity type, states of operation, US against foreign, branch count, or registration date.
  • Look up resolves legal names or trade names, one row per identifier. A name that does not resolve comes back as an error row.

Missing source values are returned as null, never invented.

Why this scraper

  • Decoded MSB activity types on every row. The Form 107 codes (409 money transmitter, 408 check casher, 407 and 415 currency and foreign exchange, 413 and 414 prepaid access, and the rest) turned into labels, plus one boolean per activity group so you can filter in a spreadsheet.
  • States of operation, expanded. The list of states where each MSB is registered to offer services, as an array, with flags for all states, all territories and foreign.
  • Registration recency. registration_date, days_since_registration and registeredInLastDays for a new-registrant watch list. Registrations lapse every two years, so this list is the currently-registered set.
  • The money transmitter segment. About two thirds of the registry (roughly 23,000 businesses). moneyTransmittersOnly isolates the group that matters most for fintech, crypto and payments due diligence.
  • Complete in one request. The whole registry, about 33,000 registrants, comes back in one keyless request. A full run finishes in under a minute.
  • No API key, no login, no browser. Reads only what FinCEN publishes.

How it compares

CapabilityThis actorOther MSB / registry data on Apify
Full FinCEN MSB registrant list, one row per businessyesno
Decoded MSB activity types + per-activity booleansyesno
States of MSB operation as an arrayyesno
Foreign vs US and all-states / all-territories flagsyesno
Branch countyesno
Registration-date filter and recencyyesno
Look up by legal or trade nameyesno
Declared dataset schema + free-plan previewyesrare

Use cases

  • AML and BSA compliance. Confirm a customer or counterparty is a registered MSB, read its activity types and states of operation, and keep the registration date on file for your program.
  • MSB and money transmitter due diligence. Screen a payments, remittance or crypto counterparty before onboarding.
  • KYB and vendor screening. Attach FinCEN MSB registration status to entity records in your KYB pipeline.
  • New-registrant monitoring. Pull every MSB registered in the last N days for a market-entry or risk watch list.
  • Market and competitive research. Count money transmitters or currency dealers by state, or find multi-branch operators.
  • Financial crime research. Build a working set of MSBs by activity and geography.

Quickstart

Search: money transmitters in Florida registered in the last 90 days.

{
"mode": "search",
"state": ["FL"],
"activity": ["money_transmitter"],
"registeredInLastDays": 90,
"maxItems": 100
}

Currency dealers and foreign exchange businesses in New York:

{ "mode": "search", "state": ["NY"], "activity": ["currency_dealer", "foreign_exchange"], "maxItems": 500 }

Foreign-based money transmitters:

{ "mode": "search", "foreignOnly": true, "activity": ["money_transmitter"], "maxItems": 1000 }

Look up a batch:

{ "mode": "lookup", "identifiers": ["WESTERN UNION", "MONEYGRAM", "PAYPAL"] }

Input reference

FieldApplies toDescription
maxItemsallCeiling on rows written.
modeallsearch or lookup.
namesearchLegal or trade name contains this text.
statesearchTwo-letter state code(s) of the business address.
citysearchCity contains this text.
zipsearchZIP code starts with this.
activitysearchOne or more grouped activity types (money_transmitter, check_casher, currency_dealer, money_orders, travelers_checks, prepaid_access, foreign_exchange, us_postal, other).
moneyTransmittersOnlysearchShortcut for activity money_transmitter.
activityCodesearchAdvanced: exact Form 107 codes (409, 408, 415, ...).
operatesInStatesearchKeep MSBs registered to operate in this state (or all states).
foreignOnly / usOnlysearchLocation filter.
foreignCountrysearchForeign location contains this text.
minBranches / maxBranchessearchBranch-count range.
registeredAfter / registeredBeforesearchRegistration-date window (ISO).
registeredInLastDayssearchRegistered within this many days.
identifierslookupLegal names or trade names.

Output reference (selected)

FieldDescription
legal_name / dba_nameLegal name and registered trade name.
street_address / city / state / zip / foreign_location / country / addressLocation.
is_foreignMSB located outside the United States.
activity_codes / activities / activity_countForm 107 codes and their decoded labels.
is_money_transmitter / is_check_casher / is_currency_dealer / is_foreign_exchange_dealer / is_money_order_business / is_travelers_check_business / is_prepaid_access / is_us_postalOne boolean per activity group.
states_of_activity / state_countStates where the MSB is registered to operate.
operates_in_all_states / operates_in_all_territories / operates_in_all_states_and_territories / operates_foreignCoverage flags.
branch_countNumber of branches on the registration.
authorized_signature_date / registration_date / days_since_registrationRegistration timing.
query / errorSet on an unresolved look-up row.
fincen_msb_search_urlThe FinCEN MSB Registrant Search page.
scraped_atISO 8601 collection timestamp.

Run via API and CLI

curl -X POST "https://api.apify.com/v2/acts/USERNAME~fincen-msb-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"mode":"lookup","identifiers":["WESTERN UNION"]}'
$apify call USERNAME/fincen-msb-scraper --input '{"mode":"search","moneyTransmittersOnly":true,"state":["CA"],"maxItems":1000}'

Fetch results

curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"

Billing and limits

  • Pay per result. Billed per registrant row written.
  • No charge on failure. A run that produces zero rows fails with a message and is not billed.
  • An unresolved look-up name still writes one error: "not found" row and is billed as a base row.
  • Free Apify plans run the built-in 10-row sample only.
  • The whole registry comes back in a single keyless request, so a full run of every registrant finishes in under a minute. There is no pagination.

FAQ and troubleshooting

Do I need an API key? No. The FinCEN MSB Registrant Search is public, with no key and no login.

Why did my run return zero rows? No registrant matched the filters. Loosen them or widen the date and branch ranges. A zero-row run fails and is not billed.

Why is a business I know missing? MSB registrations must be renewed every two years. This list is the currently-registered set, so a business whose registration lapsed will not appear until it re-registers.

Why is registeredBefore returning nothing for old dates? For the same reason. Registration (received) dates on the list are all within roughly the last two years.

What do the activity codes mean? They are FinCEN Form 107 codes. The Actor decodes them into the activities labels and the is_* booleans, so you rarely need the raw codes.

Is registration an endorsement? No. FinCEN states that registration is not an approval or endorsement, and warns that fraudsters misuse it. This Actor reports registration facts only.

How current is the data? FinCEN refreshes the list on its own schedule. It is not real time.

Is this an official FinCEN tool? No. Independent, not affiliated with FinCEN or the U.S. Department of the Treasury. It reads only data FinCEN publishes.

Local development

bun install
bun test # offline: parsing, normalisation, input logic
bun run src/main.ts # reads storage/key_value_stores/default/INPUT.json
bun scripts/verify-live.mjs # hits msb.fincen.gov directly, checks every mode