Review FINRA API documentation at https://developer.finra.org/docs/api-explorer/query_api-registration-continuing_education for the CE dataset schema
Authenticate using OAuth 2.0 client credentials flow at https://ews.finra.org/auth/oauth/v2/token with client_id and client_secret obtained from FINRA API Portal
Call the FINRA Query API with a POST to https://api.finra.org/data/group/registration/name/continuingEducation with a JSON query body specifying filters such as crdNumber and reportPeriod
The response returns fields including crdNumber, firmCrdNumber, ceStatus (e.g., 'Compliant', 'Not Compliant'), lastCompliance8210Date, and regulatoryElementStatus
Use the regulatoryElementStatus field to determine if the representative has completed the Regulatory Element (required every 3 years after first anniversary); firmElement tracking is the firm's responsibility separately
Handle pagination: the API supports limit and offset query parameters; default page size is 20 records
Known gotchas
FINRA API access requires firm-level approval and is not available to individuals; unapproved organizations receive 403 Forbidden on all CE endpoints
CRD numbers used in the CE API are the representative's individual CRD—not the firm CRD; confusing the two returns empty result sets without an error
FINRA CE status reflects the FINRA WebCRD system state, which may lag real-time completions by up to 24 hours after a representative completes a session
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp