Broker-dealers
FOCUS Reports - Form X-17A-5
https://api.sec-api.io/form-x-17a-5Search Form X-17A-5 FOCUS reports, the financial and operational reports broker-dealers and security-based swap dealers file under Rule 17a-5. The dataset holds more than 16,500 filings from January 2016 to present, and new filings are searchable 300 milliseconds after EDGAR publishes them.
Authentication
Send the API key either as a header or as a query parameter. The header is preferred; the query parameter exists for cases where a header cannot be set, such as opening a URL directly in a browser.
Authorization: required header
The API key on its own. Do not prefix it with Bearer or any other word.
Example Authorization: YOUR_API_KEY
token: optional query parameter
The API key, appended to the URL. Use this only when a header is not possible.
A JSON object. Content-Type must be application/json.
query: required string
The search expression in Lucene syntax, written as field:value. Every field listed under Searchable fields can be used, combined with AND, OR, NOT, ranges and wildcards.
Example entities.cik:68136
from: string, Maximum 10000
Index of the first result to return, used for pagination. Increment by the value of size to page through results.
Default "0"
size: string, Maximum 50
Number of Form X-17A-5 filings to return in one response.
Default "50"
sort: array of object
Sort order. Each item maps one field to an order object, for example [{ "filedAt": { "order": "desc" } }]. Sorting is supported on filedAt and periodOfReport.
Default [{ "filedAt": { "order": "desc" } }]
order: string
Either asc or desc.
Searchable fields
Every field below can be used inside query. 47 fields are searchable, and they match the structure of the objects returned in the response.
| Field | Description |
|---|---|
accessionNo | Filing accession number |
formType | Form type — "X-17A-5" or "X-17A-5/A" |
filedAt | Filing acceptance timestamp (ISO 8601) |
periodOfReport | Fiscal year end covered by the FOCUS report (YYYY-MM-DD) |
entities.cik | CIK of the registrant (broker-dealer / SBSD) |
entities.fileNo | SEC file number (e.g. "008-15869") |
entities.irsNo | IRS Employer Identification Number (EIN) |
entities.companyName | Registrant company name (with "(Filer)" suffix as filed) |
A JSON object. Nested attributes are collapsed; expand one to see its fields.
total: object
How many Form X-17A-5 filings matched the query.
value: integer
Number of matching filings.
relation: string
Either eq, meaning value is exact, or gte, meaning value is a floor.
data: array of object
The matching Form X-17A-5 filings, at most size per response. Every field of a filing object is itself searchable.
id: string
System-internal unique identifier of the filing record.
formType: string
Form type of the submission, either X-17A-5 for an original filing or X-17A-5/A for an amendment.
accessionNo: string
Accession number of the FOCUS report submission on EDGAR, for example 0001193125-26-072285.
filedAt: string
Timestamp EDGAR accepted the FOCUS report, ISO 8601 in Eastern Time, for example 2026-02-25T17:49:07-05:00.
effectivenessDate: optional string
Date the filing became effective on EDGAR, YYYY-MM-DD. Not reported on older filings.
periodOfReport: string
Reporting period covered by the filing, YYYY-MM-DD, for example 2025-12-31.
entities: array of object
Entities associated with the filing, normally the single broker-dealer or security-based swap dealer registrant. A registrant holding both a broker-dealer and a swap dealer file number reports one item per file number.
submissionInformation: object
Submission-level metadata covering the reporting period, the registrant classification, the material weakness flag and any amendment description.
registrantIdentification: object
Identification of the broker-dealer or security-based swap dealer filing the FOCUS report.
accountantIdentification: object
Identification of the independent public accountant whose report accompanies the filing.
oathSignature: optional object
The oath or affirmation an officer of the registrant executes under Rule 17a-5. Absent on some filings, mainly those of security-based swap dealers.
Status codes
200 | Success. The response holds total and data. |
400 | The request body could not be parsed, the Lucene expression in query is malformed, or size is above 50. |
403 | The API key is missing, or it is not valid. |
429 | Too many requests. Slow the request rate and retry. |
500 | Server error. Retry, and report it if it persists. |