{
  "openapi": "3.0.1",
  "info": {
    "title": "FINRA BrokerCheck Scraper: Brokers and Advisers",
    "description": "Scrape FINRA BrokerCheck for brokers, investment advisers and firms by name, CRD, firm, state or city. Get employment history, branch location, exams, registered states, disciplinary disclosures with details, years in the industry and firm size. Export to CSV or Excel.",
    "version": "1.0",
    "x-build-id": "VTLtpCdn1H9PfcFkl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parselab~finra-brokercheck-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parselab-finra-brokercheck-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/parselab~finra-brokercheck-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parselab-finra-brokercheck-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/parselab~finra-brokercheck-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parselab-finra-brokercheck-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": {
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000."
          },
          "mode": {
            "title": "What to collect",
            "enum": [
              "advisors",
              "firms"
            ],
            "type": "string",
            "description": "Advisors returns one row per broker or investment adviser with employment history, exams, registrations and disciplinary disclosures. Firms returns one row per brokerage or advisory firm with size, owners, disclosures and number of representatives.",
            "default": "advisors"
          },
          "names": {
            "title": "Names",
            "type": "array",
            "description": "Names of people (for example John Smith or just Smith) in the advisors mode, or names of firms (for example Edward Jones) in the firms mode. One search is run for each name.",
            "items": {
              "type": "string"
            }
          },
          "crds": {
            "title": "CRD numbers",
            "type": "array",
            "description": "FINRA CRD numbers of people (advisors mode) or firms (firms mode), for example 6808119. Use them when you know the exact record.",
            "items": {
              "type": "string"
            }
          },
          "firmNames": {
            "title": "Firm names (advisors mode)",
            "type": "array",
            "description": "Names of firms whose representatives you want, for example Vanguard Marketing or Edward Jones. The closest firms are used. Leave the names empty to list everyone at the firm.",
            "items": {
              "type": "string"
            }
          },
          "firmCrds": {
            "title": "Firm CRD numbers (advisors mode)",
            "type": "array",
            "description": "CRD numbers of firms whose representatives you want, for example 7452.",
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "States",
            "type": "array",
            "description": "Two letter state codes. In the advisors mode it is the state of the branch where the person works. In the firms mode it is the state of the firm office.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities (advisors mode)",
            "type": "array",
            "description": "City of the branch where the person works, for example Charlotte. Use with a state for best results.",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Registration status",
            "enum": [
              "active",
              "previous",
              "barred",
              "all"
            ],
            "type": "string",
            "description": "Currently registered people, people who left the industry, people who were barred, or all of them.",
            "default": "active"
          },
          "registration": {
            "title": "Registration type",
            "enum": [
              "any",
              "broker",
              "adviser"
            ],
            "type": "string",
            "description": "Brokers, investment advisers, or both.",
            "default": "any"
          },
          "onlyWithDisclosures": {
            "title": "Only with disclosures",
            "type": "boolean",
            "description": "Keep only people or firms that have disciplinary or financial disclosures, such as customer disputes, regulatory events, terminations or liens.",
            "default": false
          },
          "disclosureTypes": {
            "title": "Disclosure types",
            "type": "array",
            "description": "Keep only people with these kinds of disclosure, for example Customer Dispute, Regulatory, Termination, Criminal, Civil Judicial or Financial. Any match keeps the person.",
            "items": {
              "type": "string"
            }
          },
          "minYearsInIndustry": {
            "title": "Minimum years in the industry",
            "minimum": 0,
            "type": "number",
            "description": "Keep only people with at least this many years since they entered the industry."
          },
          "maxYearsInIndustry": {
            "title": "Maximum years in the industry",
            "minimum": 0,
            "type": "number",
            "description": "Keep only people with at most this many years in the industry. Useful to find newer advisers."
          },
          "requiredExams": {
            "title": "Required exams",
            "type": "array",
            "description": "Keep only people who passed all of these exams, for example Series 7, Series 66 or Series 65.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Add the full record",
            "type": "boolean",
            "description": "Adds employment history, exams, registered states and disclosures (people) or owners, registrations and disclosure counts (firms). One extra request per result. Turn off for a fast list.",
            "default": true
          },
          "includeDisclosureDetails": {
            "title": "Add the text of each disclosure",
            "type": "boolean",
            "description": "Adds the date, resolution and the details of every disclosure, including comments written by the broker.",
            "default": true
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}