> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FinCEN MSB Registrations

> Every money services business registered with FinCEN: money transmitters, check cashers, currency exchangers and prepaid access providers, in the US and abroad. Search by name or DBA, service, state, where it operates, country and filing date, and follow one business's filings.

Under the Bank Secrecy Act, a money services business must register with the
Financial Crimes Enforcement Network, the US Treasury's financial intelligence
unit, and renew every two years. Banks check the list before serving one.
FinCEN publishes every registration it holds, including those of businesses
located abroad that serve US customers.

About 33,000 filings from some 32,000 businesses, received since January 2024:
who they are, where they are, the services they registered for, the states
where they operate, whether they operate abroad, their branches and when the
registration was signed and received, and the MSB registration number and
registration letter of each filing. Brought up to date as FinCEN updates the
list, weekly.

| `activity`                             | FinCEN code | Service                                   |
| -------------------------------------- | ----------- | ----------------------------------------- |
| `money_transmitter`                    | 409         | Money transmitter                         |
| `check_casher`                         | 408         | Check casher                              |
| `currency_dealer_or_exchanger`         | 407         | Currency dealer or exchanger              |
| `dealer_in_foreign_exchange`           | 415         | Dealer in foreign exchange                |
| `issuer_of_money_orders`               | 404         | Issuer of money orders                    |
| `seller_of_money_orders`               | 405         | Seller of money orders                    |
| `redeemer_of_money_orders`             | 406         | Redeemer of money orders                  |
| `issuer_of_travelers_checks`           | 401         | Issuer of traveler's checks               |
| `seller_of_travelers_checks`           | 402         | Seller of traveler's checks               |
| `redeemer_of_travelers_checks`         | 403         | Redeemer of traveler's checks             |
| `seller_of_prepaid_access`             | 413         | Seller of prepaid access                  |
| `provider_of_prepaid_access`           | 414         | Provider of prepaid access                |
| `travelers_checks_sales_or_redemption` | 410         | Traveler's checks sales and/or redemption |
| `money_orders_sales_or_redemption`     | 411         | Money orders sales and/or redemption      |
| `us_postal_service`                    | 412         | U.S. Postal Service                       |
| `other`                                | 499         | Other                                     |

<Note>
  The whole source, organized and ready to query: every endpoint on this page answers in milliseconds. Every response carries `as_of`: how current the data is. [How datasets work](/datasets).
</Note>

## Search registrations

`POST /us/fincen/msb-registrations-search/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

Searches every registration by any combination of name, service, place and
filing date.

| Field                 | Type    | Notes                                                                                                                     |
| --------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- |
| `query`               | string  | Optional. Words in the legal name or the DBA. Every word must match; no stemming.                                         |
| `activity`            | enum    | Optional. A registered service, by the code in the table above, e.g. `money_transmitter`.                                 |
| `state`               | string  | Optional. The two-letter state of the business's address, e.g. `TX`.                                                      |
| `operates_in`         | string  | Optional. A two-letter US state or territory where the business said it operates, e.g. `FL`.                              |
| `country`             | string  | Optional. For a business located outside the US, its country as FinCEN writes it, e.g. `COLOMBIA`, `MEXICO`, `HONG KONG`. |
| `operates_abroad`     | boolean | Optional. `true` for only the registrations that declare activity outside the US. Default `false`.                        |
| `registrant_key`      | string  | Optional. A registration's `registrant_key`, to list every filing of that business.                                       |
| `registration_number` | string  | Optional. FinCEN's 14-digit MSB registration number, as printed on the registration letter.                               |
| `from_date`           | string  | Optional. The earliest date FinCEN received the filing, yyyy-mm-dd.                                                       |
| `to_date`             | string  | Optional. The latest date FinCEN received the filing, yyyy-mm-dd.                                                         |
| `page`                | integer | Optional. 1-based page. Default `1`.                                                                                      |
| `per_page`            | integer | Optional. Results per page, 1-50. Default `20`.                                                                           |

```bash theme={"dark"}
curl https://api.croma.run/us/fincen/msb-registrations-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "remesas", "activity": "money_transmitter" }'
```

Returns `as_of` (how current the data is), the applied filters, `total` (matches across every page), `page`, `per_page`, `total_pages`, `count` and `registrations[]`, by legal name.

Every registration carries `id` (the key), `registrant_key` (the same on every filing of one business), `legal_name`, `dba_name`, `street_address`, `city`, `state`, `zip_code`, `country` (for a business located abroad), `activities[]` (the table above), `activity_codes[]` (FinCEN's codes), `states_of_activity[]` (two-letter codes), `activity_scope` (FinCEN's flag: `A` all states and territories, `B` all states, `C` all territories, `D` foreign, or a combination), `operates_abroad`, `branches`, `auth_sign_date`, `received_date`, `registration_number` (FinCEN's 14-digit MSB registration number), `registration_type` (e.g. `Initial Registration`, `Renewal`), `document_url` (our copy of the filing's registration letter, a PDF) and `source_document_url` (FinCEN's link to it when it was read).

Empty fields are `null`. A row is one filing: a business that renewed its registration appears once per filing, and `registrant_key` lists them together. FinCEN cuts legal names at 50 characters. The registration number and type come from the filing's registration letter, which is read once after the filing first appears, so a filing received in the last few days may not have them yet. FinCEN's own link to a letter changes over time; `document_url` does not.

<Warning>
  In FinCEN's words: "The inclusion of a business in the MSB Registrant Search
  is not a recommendation, certification of legitimacy, or endorsement of the
  business by any government agency." The list reflects only what each
  registrant told FinCEN, not every registered business is on it, and
  registration is not a license: money services businesses are licensed by the
  states.
</Warning>

## One registration

`POST /us/fincen/msb-registration/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

Resolves one registration by its id and returns the full record.

| Field | Type   | Notes                                                          |
| ----- | ------ | -------------------------------------------------------------- |
| `id`  | string | **Required.** The registration's id as returned by the search. |

```bash theme={"dark"}
curl https://api.croma.run/us/fincen/msb-registration/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "id": "550f01d4ab63c95f" }'
```

Returns `found`, `id`, `as_of` and `registration` (null when not found).

Every registration carries `id` (the key), `registrant_key` (the same on every filing of one business), `legal_name`, `dba_name`, `street_address`, `city`, `state`, `zip_code`, `country` (for a business located abroad), `activities[]` (the table above), `activity_codes[]` (FinCEN's codes), `states_of_activity[]` (two-letter codes), `activity_scope` (FinCEN's flag: `A` all states and territories, `B` all states, `C` all territories, `D` foreign, or a combination), `operates_abroad`, `branches`, `auth_sign_date`, `received_date`, `registration_number` (FinCEN's 14-digit MSB registration number), `registration_type` (e.g. `Initial Registration`, `Renewal`), `document_url` (our copy of the filing's registration letter, a PDF) and `source_document_url` (FinCEN's link to it when it was read).

Empty fields are `null`. A row is one filing: a business that renewed its registration appears once per filing, and `registrant_key` lists them together. FinCEN cuts legal names at 50 characters. The registration number and type come from the filing's registration letter, which is read once after the filing first appears, so a filing received in the last few days may not have them yet. FinCEN's own link to a letter changes over time; `document_url` does not.

<Note>
  An id the list does not carry returns `found: false` with HTTP 200, not an
  error. That is also the answer for a filing that has left the list.
</Note>

<Card title="Full reference" icon="code" href="/api-reference/overview">
  Schemas, all response fields, and an interactive playground.
</Card>
