{
  "openapi": "3.0.1",
  "info": {
    "title": "FinCEN MSB Scraper - Money Services Business Leads",
    "description": "Scrape the official FinCEN MSB Registrant Search: every US Money Services Business — money transmitters, check cashers, FX dealers, prepaid-access & money-order firms — with address, MSB activities, multi-state footprint, branches, registration history, lead score & monitoring.",
    "version": "0.1",
    "x-build-id": "RxIhip0iBvChxmJlE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~fincen-msb-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-fincen-msb-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapesage~fincen-msb-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-fincen-msb-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapesage~fincen-msb-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-fincen-msb-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "locationStates": {
            "title": "Location states",
            "type": "array",
            "description": "Filter by the registrant's physical (home) state — two-letter USPS codes, e.g. <code>CA</code>, <code>TX</code>, <code>NY</code>, <code>FL</code>, <code>WY</code>. US territories (<code>PR</code>, <code>GU</code>, <code>VI</code>…) and foreign codes (Mexican states, Canadian provinces, <code>XX</code>) are also accepted. <b>Leave empty to scan every US state + DC</b> (and territories, unless turned off below).",
            "items": {
              "type": "string"
            }
          },
          "includeTerritories": {
            "title": "Include US territories (when no states set)",
            "type": "boolean",
            "description": "When <b>Location states</b> is empty, also scan US territories — Puerto Rico, Guam, US Virgin Islands, American Samoa, N. Mariana Islands, and the Freely Associated States. Turn off for the 50 states + DC only.",
            "default": true
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Keep only registrants whose city matches (case-insensitive, exact city name), e.g. <code>Sheridan</code>, <code>Miami</code>, <code>Cheyenne</code>.",
            "items": {
              "type": "string"
            }
          },
          "zipCodes": {
            "title": "ZIP codes (prefix)",
            "type": "array",
            "description": "Keep only registrants whose ZIP matches — full ZIP (<code>82801</code>) or a prefix (<code>828</code> matches all 828xx).",
            "items": {
              "type": "string"
            }
          },
          "businessNameQuery": {
            "title": "Business name contains",
            "type": "string",
            "description": "Only return registrants whose legal name or DBA contains this text (case-insensitive), e.g. <code>exchange</code>, <code>capital</code>, <code>remit</code>, or a specific company name."
          },
          "activities": {
            "title": "MSB activities (services offered)",
            "type": "array",
            "description": "Keep only registrants offering <b>any</b> of the selected MSB activities. Leave empty for all activity types.",
            "items": {
              "type": "string",
              "enum": [
                "409",
                "415",
                "414",
                "413",
                "408",
                "404",
                "405",
                "401",
                "402",
                "499"
              ],
              "enumTitles": [
                "Money transmitter (409)",
                "Dealer in foreign exchange (415)",
                "Provider of prepaid access (414)",
                "Seller of prepaid access (413)",
                "Check casher (408)",
                "Issuer of money orders (404)",
                "Seller of money orders (405)",
                "Issuer of traveler's checks (401)",
                "Seller of traveler's checks (402)",
                "Other (499)"
              ]
            }
          },
          "moneyTransmittersOnly": {
            "title": "Money transmitters only",
            "type": "boolean",
            "description": "Shortcut for the highest-value, most-regulated segment — only registrants offering <b>Money transmitter</b> (activity 409). These businesses need money-transmitter licensing, sponsor banking, KYC/AML and compliance services.",
            "default": false
          },
          "servicesInStates": {
            "title": "Operates in states",
            "type": "array",
            "description": "Keep only registrants that offer MSB services in <b>any</b> of these states (two-letter codes) — based on the registrant's declared states of operation, regardless of where it is headquartered. e.g. <code>CA</code> finds every MSB licensed to operate in California.",
            "items": {
              "type": "string"
            }
          },
          "nationwideOnly": {
            "title": "Nationwide operators only",
            "type": "boolean",
            "description": "Only registrants that operate in all 50 states — the largest, multi-state-licensed money-services businesses.",
            "default": false
          },
          "minActivities": {
            "title": "Min # of MSB activities",
            "type": "integer",
            "description": "Only registrants offering at least this many distinct MSB activities (1–10). Higher = more full-service."
          },
          "minBranches": {
            "title": "Min # of branches",
            "type": "integer",
            "description": "Only registrants reporting at least this many branch locations."
          },
          "registeredAfter": {
            "title": "Registered/renewed after",
            "type": "string",
            "description": "Only registrants whose most recent registration was received on or after this date (<code>YYYY-MM-DD</code>). Surfaces newer entrants."
          },
          "registeredBefore": {
            "title": "Registered/renewed before",
            "type": "string",
            "description": "Only registrants whose most recent registration was received on or before this date (<code>YYYY-MM-DD</code>)."
          },
          "newRegistrationsWithinMonths": {
            "title": "Registered in the last N months",
            "type": "integer",
            "description": "Shortcut to keep only registrants whose most recent registration was received within this many months — high-intent new / renewing money-services businesses."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of registrant records to return in this run (after dedupe, filtering and sorting).",
            "default": 1000
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "leadScore",
              "recentRegistration",
              "mostActivities",
              "mostBranches",
              "mostStates"
            ],
            "type": "string",
            "description": "<b>Lead score</b> = highest-value / highest-intent first (recommended). Or rank by most recent registration, most activities, most branches, or widest operating footprint.",
            "default": "leadScore"
          },
          "monitorMode": {
            "title": "Monitoring mode — only new / renewed registrants",
            "type": "boolean",
            "description": "Remember which registrants were already returned (in a named key-value store) and emit ONLY businesses that are <b>new</b> or have a <b>newer registration</b> (renewal) since the last run — each tagged with a <code>monitorEvent</code> (<code>new</code> or <code>re_registered</code>). FinCEN updates the registrant list continuously; run on a Schedule to capture fresh money-services businesses as leads. Works alongside Apify Schedules (the schedule starts the run; monitoring decides what's new).",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Names the memory used by monitoring mode. Use a distinct key per saved watch (e.g. per state or activity type) so different monitors don't share state.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional proxy. The FinCEN MSB Registrant Search is queried directly and needs no proxy — leave this off for the fastest queries. Enable Apify Proxy only if your network requires it.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}