Filing Query API
searchable with the Query API
The Query API allows searching and filtering all 18+ million filings and exhibits published on the SEC EDGAR database since 1993 to present, with new filings being added in 300 milliseconds after their publication on EDGAR. The API accepts simple and complex search expressions and returns the metadata of matching EDGAR filings in JSON format including form type, accession numbers, filing date and times, filer information such as CIK, ticker and entity name, exhibits and attachments, URLs to the original SEC sources, and many more.
EDGAR filings are searchable by numerous parameters, such as: CIK (Central Index Key), ticker symbol or name of the filer, form type, filing date, accession number, item IDs in case of Form 8-K or Form 1-U filings, exhibit types, series and class contract IDs, and more. Refer to the list of searchable parameters to see all available search options.
The filing search capabilities of the Query API can be tested free of charge in our sandbox available here. The sanbdox showcases a variety of filing search examples and allows testing the API with own queries in a simple no-code environment.
1
{
2
// Microsoft's 10-Q filing for Q1 2024
3
accessionNo: "0000950170-24-048288",
4
formType: "10-Q",
5
periodOfReport: "2024-03-31",
6
filedAt: "2024-04-25T16:06:24-04:00",
7
ticker: "MSFT",
8
cik: "789019",
9
companyName: "MICROSOFT CORP (Filer)",
10
linkToFilingDetails: "sec.gov/Archive ... 4048288/msft-20240331.htm",
11
entities: [ ... ], // entities associated with filing: CIK, EIN, state of incorp., fiscal year, and more
12
documentFormatFiles: [ ... ], // files and exhibits attached to filing: URL, type, size
13
dataFiles: [ ... ], // XBRL data files
14
// ... more fields
15
}
The filings database inlcudes all EDGAR form types without exception, from annual and quarterly reports (Form 10-K, 10-Q, 20-F, 40-F), event-driven filings such as Form 8-K and 6-K, insider trading activities (Form 3, 4, 5), over registration statements (Form S-1, S-3, S-8) and prospectuses (Form 424B2, 424B3, 424B4), to institutional investment manager and company filings (Form 13F, N-PORT) and more than 150 other types ever published. The database includes all filings ever published by any of the 800,000 EDGAR filer entities. A full list of all EDGAR form types is available on the form types page.
Common Use Cases
The EDGAR filing search capability of the Query API is often used as a first step in a multi-process filing ingestion pipeline. For example, the Query API is often used to find the most recently disclosed filings of a specific form type, such as 10-Qs or 8-Ks, to obtain the URLs of those filings, and then download the full text of the filings using the Filing Download API or to convert the filings to PDFs using the PDF Generator API.
Common use cases for the Query API include:
- Submitting recently filed filing exhibits to regulatory authorities
- Monitoring filer compliance with exchange rules
- Powering internal insight analytics platforms
- Backtesting quantitative investment strategies
- Showing EDGAR filings on investor relationships websites
API Endpoint
In order to search and retrieve metadata of EDGAR filings, HTTP POST requests with the search expression as payload are sent to the following API endpoint:
Supported HTTP methods: POST
Request and response content type: JSON
Authentication
To authenticate your API requests, use the API key shown in your user profile. You can utilize your API key in one of two ways. Choose the method that best fits your implementation:
- Authorization Header: Include your API key as an
Authorizationheader in your POST requests. For instance, before sending a POST request to https://api.sec-api.io, ensure the header is set as follows:Authorization: YOUR_API_KEY - Query Parameter: Alternatively, append your API key directly to the URL as a query parameter. For example, when making POST requests, use the URL
https://api.sec-api.io?token=YOUR_API_KEYinstead of the base API endpoint.
Request Parameters
To search, filter and retrieve metadata of EDGAR filings, send a HTTP POST request with a JSON-formatted payload to the API endpoint https://api.sec-api.io. The payload includes the search criteria, pagination and optional response sorting parameters, for example:
The API request payload includes the following fields, with the query field being required and the others optional:
query(string): Specifies the search criteria written in the Lucene syntax following thefield:valueformat to search filings that includevaluein the specifiedfield. For example,formType:"10-K"to find Form 10-K filings orticker:AAPLto locate filings published by Apple. Thequerystring allows searching the filings database by any available field in the response object as described in the Response Format section below. For example, filing lookups can be performed by the filer's CIK, series, class or contract IDs, date ranges across filing publication times and periods of reports, event item codes in Form 8-Ks or 1-Us, exhibit types, and more. Multiple search criteria can be combined using logical operators (AND,OR,NOT). For example,formType:"10-K" AND ticker:AAPLto find Form 10-K filings published by Apple. The maximum length of thequerystring cannot exceed 3500 characters. Examples of various filing search expressions are available in the Query String Examples section below and in the sandbox. A complete guide on how to use the Lucene syntax is available here.from(string, optional) - Use thefromproperty to specify the starting position of your search results, facilitating pagination. For instance, setfromto 50 to skip the first 50 filings. The default is 0, and the maximum allowed value is 10,000, which is also the cap for the maximum number of filings returned perquerystring. To retrieve all filings in your search universe, incrementfromby the value of thesizeparameter (e.g., 50) until no more filings are returned or the 10,000 filing limit is reached. For example, use0,50,100, and so on. If yourquerylocates more than 10,000 filings, consider narrowing your search by refining your filter criteria, for example, using a date range filter to iterate over months or years. One such approach would be to search for filings with afiledAtdate range filter, e.g.filedAt:[2021-01-01 TO 2021-01-31](all filings from January 2021), then paginate through the results by incrementingfrom, and once completed, repeat the process for the next month, and so on.size(string, optional) - Determines the number of filings returned per request. For instance, setsizeto 10 to retrieve 10 filings per request. The default value is 50, and the maximum allowed value is 50, which is the cap for the maximum number of filings returned per request.sort(array, optional) - An array of objects that specify how the returned filings are sorted. The default sorting order is descending byfiledAtdatetime field, most recent filing first. The sorting order can be changed to ascending by settingordertoasc. The default sorting order can be overridden by specifying a different sorting field. For example, to sort filings byperiodOfReportin ascending order, setsortto[{ "periodOfReport": { "order": "asc" } }].
Default:[{ "filedAt": { "order": "desc" } }]
Query String Examples
The following list demonstrates different query examples that can be used to search EDGAR filings by various criteria.
cik:12345cik:(123, 456, 789)ticker:AAPLticker:(AAPL, MSFT, NVDA, TSLA)companyName:"Nissan Auto Receivables" AND companyName:Trustentities.sic:3714entities.stateOfIncorporation:DEentities.irsNo:710388071entities.fileNo:"001-36743"formType:"10-K"formType:"10-K" OR formType:"10-Q"formType:"10-K" AND NOT formType:"10-K/A"accessionNo:"0001193125-23-265616"filedAt:[2022-01-01 TO 2022-12-31]filedAt:[2021-09-15T14:00:00 TO 2021-09-15T19:00:00]items:"2.02" AND formType:"8-K"items:("2.02", "5.02") AND formType:"8-K"seriesAndClassesContractsInformation.series:S000011051seriesAndClassesContractsInformation. classesContracts.classContract:C000120702seriesAndClassesContractsInformation.classesContracts.ticker:ABRZXformType:"NPORT-P" AND seriesAndClassesContractsInformation. classesContracts.classContract:C000120702documentFormatFiles.type:*21* AND formType:"10-K"formType:EFFECT AND registrationForm:"S-3"id:*formType:"10-K" AND ticker:(AAPL, MSFT, NVDA, TSLA)formType:"10-K" AND documentFormatFiles.type:GRAPHICGood to Know
- Search by CIK:
cik:CIK_OF_INTERESTorcik:(CIK_1, CIK_2, ...)to find filings disclosed by a specific filer using its CIK, or filings from by multiple filers using their respective CIKs. When searching filings by the CIK of the filer, remove leading zeros from the CIK. For example, transform0000320193to320193. An example CIK search can be performed in the sandbox here. - Search by ticker:
ticker:TICKER_OF_INTERESTorticker:(TICKER_A, TICKER_B, ...)to retrieve filings by one or more ticker symbols of the filing companies. Ticker symbols in the filing search are case-insensitive, meaning thatticker:AAPLandticker:aaplwill return the same results. When performing historical filing searches going back far in time, it is recommended to use a filer's CIK instead of the ticker symbol. This approach accounts for entities that underwent ticker changes or entities that have multiple security classes listed on exchanges trading under different tickers, such as Alphabet's Class A (ticker: GOOGL) and Class C (ticker: GOOG) shares. The Mapping API can be used to resolve and map ticker symbols to CIKs, and vice versa. An example ticker search can be performed in the sandbox here. - Search by company name:
companyName:"NAME OF COMPANY"to perform a search by the company name. Enclose the company name in double quotes (e.g.,companyName:"My Trust A") to treat the company name as a single search term. This is useful when searching for company names that include whitespaces or special characters like "-", "." and "&". If the company name is a single word, the double quotes are optional. If the company name includes whitespaces and double quotes are omitted, each word is treated as a separate search term combined with an implicitORoperator. For example,companyName:My Trust Ais equivalent tocompanyName:My OR *:Trust OR *:A, which searches for filings with the words "My" in thecompanyNamefield, or "Trust" in any field, or "A" in any field. - Search by EDGAR form type:
formType:"FORM TYPE OF INTEREST"orformType:("FORM TYPE A", "FORM TYPE B", ...)to search for filings by one or multiple EDGAR form types. Ensure to enclose form types in double quotes (e.g.,formType:"10-K"). The Query API provides access to the entire EDGAR filings corpus, allowing searches across all form types without exception. A complete list of form types can be found here. An example form type search can be performed in the sandbox. - Search across dates:
filedAt:[START_DATE TO END_DATE]to search for filings filed within a specific date and time range. Use square brackets[ ]to include the start and end dates in the search. The date format isYYYY-MM-DDorYYYY-MM-DDTHH:MM:SSfor specific times. The time component is optional. For example,filedAt:[2021-01-01 TO 2021-12-31]captures all filings from midnight January 1, 2021 to midnight December 31, inclusive. An example with a time component isfiledAt:[2021-01-06T14:00:00 TO 2021-01-06T15:00:00], which returns all filings disclosed on January 6, 2021 between 2:00 PM and 3:00 PM (Eastern Time), inclusive. ThefiledAtvalue in a filing metadata object is reported in Eastern Time in reference to the timezone of the EDGAR system. For example2021-01-12T16:00:54-05:00is 4:00:54 PM Eastern Time on January 12, 2021. When performing date-time queries, there is no need to include the timezone offset ("-05:00" or "-04:00"). The API automatically converts all times to Eastern Time. An example of a date-time query is available in the sandbox here. - Nested Field Search:
documentFormatFiles.type:"EX-21" AND formType:"10-K"- Use nested field search and combine conditions to filter filings where a specific document type is included in a particular form. For example, this query finds 10-K filings that include Exhibit 21 ("EX-21"). Nested fields can be found indocumentFormatFiles,dataFiles,entities,holdings, andseriesAndClassesContractsInformation. Examples of nested field searches are available in our sandbox here (10-K with Exhibit 21), here (10-K with XBRL data) and here (class contract ID).
Request Examples
The following examples demonstrate a range of Query API requests. These queries are designed to help you retrieve specific EDGAR filings based on criteria such as form types, tickers of the filing companies, date ranges, and exhibit types. More examples can be found in the sandbox.
Find the most recent 10-Q filings
Return the 50 most recently filed 10-Q filings, sorted by their publication time filedAt, starting with the newest filings.
Response
| Ticker | Company | CIK | Form Type | Filed At | Period Of Report | Filing | Filing Details Page | Complete Submission File | Entities (CIK, IRS No, State, Fiscal Year End, File No, Film No, SIC) | Attachments | XBRL Files | ... | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pagination: Retrieve more than 10,000 filings
The from parameter is used to paginate through API results and is capped at 10,000. For instance, if a search query like formType:"8-K" AND ticker:AAPL matches 230 filings, but only 50 filings can be returned per API request, the from parameter can be incremented to retrieve all 230 filings. To retrieve all 230 filings:
- Set
"from": "0"for the first 50 filings. - Set
"from": "50"for the next 50, and so on, incrementing by 50 for each subsequent request until no more filings are returned.
Response
| Ticker | Company | CIK | Form Type | Filed At | Period Of Report | Filing | Filing Details Page | Complete Submission File | Entities (CIK, IRS No, State, Fiscal Year End, File No, Film No, SIC) | Attachments | XBRL Files | ... | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
If the total number of filings exceeds 10,000, the from parameter alone will not be sufficient to retrieve all results. For example, a search for all Form 8-K filings between 2010 and 2020 might return 700,000 filings, but paginating only retrieves the first 10,000.
To fetch the entire set of filings, the query should be broken down into multiple queries, each with a different date range filter. For example, start by searching for all 8-Ks between January 1st and 31st, 2010, and then paginate through the results:
Response
| Ticker | Company | CIK | Form Type | Filed At | Period Of Report | Filing | Filing Details Page | Complete Submission File | Entities (CIK, IRS No, State, Fiscal Year End, File No, Film No, SIC) | Attachments | XBRL Files | ... | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Once all filings for January 2010 have been retrieved, the date range can be adjusted to February 2010, March 2010, and so on. The process can then continue month by month, year over year, with pagination applied to each date range, until all relevant filings have been retrieved.
Searching across publication times
Return all S-1 filings published in 2021. The set of all results can be paginated by incrementing the from parameter.
Response
| Ticker | Company | CIK | Form Type | Filed At | Period Of Report | Filing | Filing Details Page | Complete Submission File | Entities (CIK, IRS No, State, Fiscal Year End, File No, Film No, SIC) | Attachments | XBRL Files | ... | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Find Apple's most recent 10-K filings
Return Apple's 10 most recently filed 10-K filings, sorted by filedAt, start with the newest.
Response
| Ticker | Company | CIK | Form Type | Filed At | Period Of Report | Filing | Filing Details Page | Complete Submission File | Entities (CIK, IRS No, State, Fiscal Year End, File No, Film No, SIC) | Attachments | XBRL Files | ... | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Find Form 10-K filings with Exhibit 21
Return the 10 most recently filed 10-Ks that have exhibit 21, sorted by filedAt, start with the newest.
Response
| Ticker | Company | CIK | Form Type | Filed At | Period Of Report | Filing | Filing Details Page | Complete Submission File | Entities (CIK, IRS No, State, Fiscal Year End, File No, Film No, SIC) | Attachments | XBRL Files | ... | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Form 8-K with Item 2.02 - Results of Operations and Financial Condition
Return the 10 most recently filed Form 8-K filings for material events that include Item 2.02 (Results of Operations and Financial Condition).
Response
| Ticker | Company | CIK | Form Type | Filed At | Period Of Report | Filing | Filing Details Page | Complete Submission File | Entities (CIK, IRS No, State, Fiscal Year End, File No, Film No, SIC) | Attachments | XBRL Files | ... | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Form 8-K with Item 7.01 - Regulation FD Disclosures
Return the 10 most recently filed Form 8-K filings for material events that include Item 7.01 (Regulation FD Disclosures).
Response
| Ticker | Company | CIK | Form Type | Filed At | Period Of Report | Filing | Filing Details Page | Complete Submission File | Entities (CIK, IRS No, State, Fiscal Year End, File No, Film No, SIC) | Attachments | XBRL Files | ... | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Response Format
The Query API returns the metadata of filings matching the provided search expression in JSON format. The response object includes two main fields:
total(object) - An object with two fields,valueandrelation.valuerepresents the total number of filings matching the query. Avalueof 10,000 andrelationof "gte" (= greater than or equal), indicates that more than 10,000 filings match the search criteria. The filing count (value) is capped at 10,000 per search query. If a search query identifies more than 10,000 filings, thevaluewill be set to 10,000, and does not reflect the exact number of matching filings. Typically, the number of matching filings is greater than the number of filings that can be returned in a single API response. In such cases, thefromparameter can be incremented on subsequent API calls to paginate through the results. For example, to retrieve all filings matching the query, incrementfromby the value of thesizeparameter (e.g., 50) until no more filings are returned or the 10,000 filing limit is reached.filings(array of objects) - A list of maximum 50 filings matching the provided search criteria. All fields of an object in thefilingsarray are searchable. Filing format:id(string) - System-internal unique ID of the filing object. A filing might reference multiple entities, for example, in case of Form 4 filings which reference at least one reporting person and one issuer company. In such cases, multiple filing objects are created, each with a unique ID, but all with the sameaccessionNo.accessionNo(string) - Accession number of filing, e.g. 0000028917-20-000033.formType(string) - EDGAR filing form type, e.g10-Kor10-K/A. All 150+ form types including SEC correspondences are covered. A complete list of all form types is available here.filedAt(string) - Represents theAcceptedattribute of a filing in ISO 8601 format, and shows the date and time the filing was accepted by the EDGAR system. A filing also contains aFiling Dateattribute that only shows the date. TheAcceptedandFiling Dateattribute do not have to represent the the same date. Format:YYYY-MM-DD HH:mm:SS TZ, e.g. 2019-12-06T14:41:26-05:00. The timezone is always in Eastern Time (ET) and the time is in 24-hour format. During daylight savings time (summer), the timezone offset is -04:00, and during standard time (winter), the offset is -05:00.cik(string) - CIK of the filing issuer with leading0removed, e.g.28917.ticker(string) - Ticker symbol of the filing company, e.g.AMOT. A ticker is not available when non-publicly traded companies report filings, for example, in case of mutual funds or asset-backed securities.companyName(string) - Name of primary filing company or person, e.g. Allied Motion Technologies Inc.companyNameLong(string) - Long version of company name including the filer type (Issuer, Filer, Reporting), e.g. ALLIED MOTION TECHNOLOGIES INC (0000046129) (Issuer)description(string) - Description of the form, e.g. Statement of changes in beneficial ownership of securities. Includes the item numbers reported in 8-K, 8-K/A, D, D/A, ABS-15G, ABS-15G/A, 1-U and 1-U/A filings, e.g. Form 8-K - Current report - Item 1.03 Item 3.03 Item 5.02 Item 9.01".linkToFilingDetails(string) - URL of the actual filing content on sec.gov. Use this link in combination with our Filing Download API to download the filing content.linkToTxt(string) - URL of the plain text .TXT version of the filing. The content of this file includes the entire filing and its exhibits and can exceed several 100MB in size.linkToHtml(string) - URL of the index page (also known as filing detail page) of the filing, e.g. "sec.gov/Archives/.../0001803599-24-000156-index.htm".periodOfReport(string, if reported) - Period of report in the formatYYYY-MM-DD, e.g. 2021-06-08. TheperiodOfReporthas different meanings depending on the form type. For example, in Form 10-K filings, it represents the fiscal year end date. In Form 4 filings, it represents the transaction date, and in Form 13F filings, it represents the quarter end date.effectivenessDate(string, if reported) - Effectiveness date in the formatYYYY-MM-DD, e.g. 2021-06-08. TheeffectivenessDateis only reported on certain form types, such as EFFECT, 18-K, TA-1, and more.effectivenessTime(string, if reported) - Effectiveness time in the formatHH:mm:ss, e.g.16:00:00. TheeffectivenessTimeis only reported for EFFECT forms.registrationForm(string, if reported) - Registration form type as reported on EFFECT forms, e.g. S-1.referenceAccessionNo(string, if reported) - Reference accession number as reported on EFFECT forms, e.g. 0001213900-22-001446.items(array of strings, if reported) - Items represents an array of item strings as reported on form 8-K, 8-K/A, D, D/A, ABS-15G, ABS-15G/A, 1-U, 1-U/A. For example:["Item 3.02: Unregistered Sales of Equity Securities", "Item 9.01: Financial Statements and Exhibits"]groupMembers(array, if reported) - Group members represents an array of member strings as reported on SC 13G, SC 13G/A, SC 13D, SC 13D/A filings, e.g.[ "c N. LITOWITZMAGNETAR CAPITAL PARTNERS LPSUPERNOVA MANAGEMENT LLC" ]entities(array) - A list of all entities referred to in the filing. The first item in the array always represents the filing issuer. Each array element is an object with the following keys:companyName(string) - Company name of the entity, e.g. DILLARD'S, INC. (Issuer)cik(string) - CIK of the entity. Leading0are not removed here, e.g. 0000028917irsNo(string, optional) - IRS number of the entity, e.g. 710388071stateOfIncorporation(string, optional) - State of incorporation of entity, e.g. ARfiscalYearEnd(string, optional) - Fiscal year end of the entity, e.g. 0201sic(string, optional) - SIC of the entity, e.g. 5311 Retail-Department Storestype(string, optional) - Type of the filing being filed. Same asformType, e.g. 4act(string, optional) - The SEC act pursuant to which the filing was filed, e.g. 34fileNo(string, optional) - Filer number of the entity, e.g. 001-06140filmNo(string, optional) - Film number of the entity, e.g. 20575664
documentFormatFiles(array) - An array listing all primary files of the filing, including its exhibits. The first item of the array always represents the filing itself. The last item of the array always represents the text .TXT version of the filing. All other items can represent exhibits, press releases, PDF documents, presentations, graphics, XML files, and more. An array item is represented as follows:sequence(string, optional) - The sequence number of the file indicating the order of the files in the filing, e.g. 1.description(string, optional) - Description of the file, e.g. EXHIBIT 31.1.documentUrl(string) - URL to the file on SEC.gov. The URL includes the file extension, such as .HTML, .PDF, .TXT, .XML, etc.type(string, optional) - Type of the file, e.g. EX-32.1, GRAPHIC or 10-Q.size(string, optional) - Size of the file in bytes, e.g. 6627216.
dataFiles(array) - List of data files primarily used for XBRL filings. Each item has the following fields:sequence(string) - Sequence number of the file indicating its order in the filing, e.g. 1.description(string) - Description of the file, e.g. XBRL INSTANCE DOCUMENTdocumentUrl(string) - URL to the file on SEC.gov. The URL includes the file extension, such as .XSD or .XML.type(string, optional) - Type of the file, e.g. EX-101.INS, EX-101.DEF or EX-101.PREsize(string, optional) - Size of the file in bytes, e.g. 6627216
seriesAndClassesContractsInformation(array) - List of series and classes/contracts information.series(string) - Series ID, e.g. S000001297.name(string) - Name of entity, e.g. PRUDENTIAL ANNUITIES LIFE ASSUR CORP VAR ACCT B CL 1 SUB ACCTSclassesContracts(array) - List of classes/contracts. Each list item has the following keys:classContract(string) - Class/Contract ID, e.g. C000011787.name(string) - Name of class/contract, e.g. Class L.ticker(string) - Ticker of the class/contract, e.g. URTLX.
Response Example
The following example shows the JSON response with the metadata of three filings matching the search criteria. The response includes the total number of filings matching the query and the metadata of the matching filings.
1
{
2
"total": {
3
"value": 10000,
4
"relation": "gte"
5
},
6
"filings": [
7
{
8
"id": "9bb018bb35b26df92204a0afba52c30a",
9
"accessionNo": "0001437749-20-002201",
10
"cik": "924383",
11
"ticker": "GNSS",
12
"companyName": "Genasys Inc.",
13
"companyNameLong": "Genasys Inc. (Filer)",
14
"formType": "10-Q",
15
"periodOfReport": "2019-12-31",
16
"description": "Form 10-Q - Quarterly report [Sections 13 or 15(d)]",
17
"filedAt": "2020-02-10T19:28:05-05:00",
18
"linkToTxt": "https://www.sec.gov/Archives/edgar/data/924383/0001437749-20-002201.txt",
19
"linkToHtml": "https://www.sec.gov/Archives/edgar/data/924383/0001437749-20-002201-index.htm",
20
"linkToFilingDetails": "https://www.sec.gov/Archives/edgar/data/924383/000143774920002201/lrad20191231_10q.htm",
21
"entities": [
22
{
23
"companyName": "Genasys Inc. (Filer)",
24
"cik": "0000924383",
25
"irsNo": "870361799",
26
"stateOfIncorporation": "DE",
27
"fiscalYearEnd": "0930",
28
"type": "10-Q",
29
"act": "34",
30
"fileNo": "000-24248",
31
"filmNo": "20593428",
32
"sic": "3651 Household Audio & Video Equipment"
33
}
34
],
35
"documentFormatFiles": [
36
{
37
"sequence": "1",
38
"description": "FORM 10-Q",
39
"documentUrl": "https://www.sec.gov/Archives/edgar/data/924383/000143774920002201/lrad20191231_10q.htm",
40
"type": "10-Q",
41
"size": "938119"
42
},
43
{
44
"sequence": "2",
45
"description": "EXHIBIT 31.1",
46
"documentUrl": "https://www.sec.gov/Archives/edgar/data/924383/000143774920002201/ex_171266.htm",
47
"type": "EX-31.1",
48
"size": "13563"
49
},
50
{
51
"sequence": "3",
52
"description": "EXHIBIT 31.2",
53
"documentUrl": "https://www.sec.gov/Archives/edgar/data/924383/000143774920002201/ex_171267.htm",
54
"type": "EX-31.2",
55
"size": "13507"
56
},
57
{
58
"sequence": "4",
59
"description": "EXHIBIT 32.1",
60
"documentUrl": "https://www.sec.gov/Archives/edgar/data/924383/000143774920002201/ex_171268.htm",
61
"type": "EX-32.1",
62
"size": "8102"
63
},
64
{
65
"sequence": "11",
66
"documentUrl": "https://www.sec.gov/Archives/edgar/data/924383/000143774920002201/logo.jpg",
67
"type": "GRAPHIC",
68
"size": "5579"
69
},
70
{
71
"sequence": " ",
72
"description": "Complete submission text file",
73
"documentUrl": "https://www.sec.gov/Archives/edgar/data/924383/000143774920002201/0001437749-20-002201.txt",
74
"type": " ",
75
"size": "6627216"
76
}
77
],
78
"dataFiles": [
79
{
80
"sequence": "5",
81
"description": "XBRL INSTANCE DOCUMENT",
82
"documentUrl": "/Archives/edgar/data/924383/000143774920002201/lrad-20191231.xml",
83
"type": "EX-101.INS",
84
"size": "1561458"
85
},
86
{
87
"sequence": "6",
88
"description": "XBRL TAXONOMY EXTENSION SCHEMA",
89
"documentUrl": "/Archives/edgar/data/924383/000143774920002201/lrad-20191231.xsd",
90
"type": "EX-101.SCH",
91
"size": "70974"
92
},
93
{
94
"sequence": "7",
95
"description": "XBRL TAXONOMY EXTENSION CALCULATION LINKBASE",
96
"documentUrl": "/Archives/edgar/data/924383/000143774920002201/lrad-20191231_cal.xml",
97
"type": "EX-101.CAL",
98
"size": "49944"
99
},
100
{
101
"sequence": "8",
102
"description": "XBRL TAXONOMY EXTENSION DEFINITION LINKBASE",
103
"documentUrl": "/Archives/edgar/data/924383/000143774920002201/lrad-20191231_def.xml",
104
"type": "EX-101.DEF",
105
"size": "464656"
106
},
107
{
108
"sequence": "9",
109
"description": "XBRL TAXONOMY EXTENSION LABEL LINKBASE",
110
"documentUrl": "/Archives/edgar/data/924383/000143774920002201/lrad-20191231_lab.xml",
111
"type": "EX-101.LAB",
112
"size": "399474"
113
},
114
{
115
"sequence": "10",
116
"description": "XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE",
117
"documentUrl": "/Archives/edgar/data/924383/000143774920002201/lrad-20191231_pre.xml",
118
"type": "EX-101.PRE",
119
"size": "505337"
120
}
121
]
122
},
123
{
124
"id": "df49e5e7adce70be6673b54d616f51a2",
125
"accessionNo": "0001104659-20-015211",
126
"cik": "1529463",
127
"ticker": "FTSI",
128
"companyName": "FTS International, Inc.",
129
"companyNameLong": "FTS International, Inc. (Issuer)",
130
"formType": "4",
131
"periodOfReport": "2020-02-06",
132
"description": "Form 4 - Statement of changes in beneficial ownership of securities",
133
"filedAt": "2020-02-10T21:49:01-05:00",
134
"linkToTxt": "https://www.sec.gov/Archives/edgar/data/1529463/0001104659-20-015211.txt",
135
"linkToHtml": "https://www.sec.gov/Archives/edgar/data/1529463/0001104659-20-015211-index.htm",
136
"linkToFilingDetails": "https://www.sec.gov/Archives/edgar/data/1529463/000110465920015211/xslF345X03/a4.xml",
137
"entities": [
138
{
139
"companyName": "FTS International, Inc. (Issuer)",
140
"cik": "0001529463",
141
"irsNo": "451610731",
142
"stateOfIncorporation": "DE",
143
"fiscalYearEnd": "1231",
144
"sic": "1389 Oil & Gas Field Services, NEC"
145
},
146
{
147
"companyName": "Petersen Buddy (Reporting)",
148
"cik": "0001700869",
149
"type": "4",
150
"act": "34",
151
"fileNo": "001-38382",
152
"filmNo": "20593681"
153
}
154
],
155
"documentFormatFiles": [
156
{
157
"sequence": "1",
158
"description": "4",
159
"documentUrl": "https://www.sec.gov/Archives/edgar/data/1529463/000110465920015211/xslF345X03/a4.xml",
160
"type": "4",
161
"size": " "
162
},
163
{
164
"sequence": "1",
165
"description": "4",
166
"documentUrl": "https://www.sec.gov/Archives/edgar/data/1529463/000110465920015211/a4.xml",
167
"type": "4",
168
"size": "3459"
169
},
170
{
171
"sequence": " ",
172
"description": "Complete submission text file",
173
"documentUrl": "https://www.sec.gov/Archives/edgar/data/1529463/000110465920015211/0001104659-20-015211.txt",
174
"type": " ",
175
"size": "5101"
176
}
177
],
178
"dataFiles": []
179
},
180
{
181
"id": "b5f3f0e95d890fd3107b83ec2d6bc115",
182
"accessionNo": "0001193125-20-030183",
183
"cik": "814453",
184
"ticker": "NWL",
185
"companyName": "NEWELL BRANDS INC.",
186
"companyNameLong": "NEWELL BRANDS INC. (Filer)",
187
"formType": "8-K/A",
188
"periodOfReport": "2020-02-04",
189
"description": "Form 8-K/A - Current report: [Amend] - Item 5.02",
190
"items": [
191
"Item 5.02: Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain Officers"
192
],
193
"filedAt": "2020-02-10T21:59:39-05:00",
194
"linkToTxt": "https://www.sec.gov/Archives/edgar/data/814453/0001193125-20-030183.txt",
195
"linkToHtml": "https://www.sec.gov/Archives/edgar/data/814453/0001193125-20-030183-index.htm",
196
"linkToFilingDetails": "https://www.sec.gov/ix?doc=/Archives/edgar/data/814453/000119312520030183/d884349d8ka.htm",
197
"entities": [
198
{
199
"companyName": "NEWELL BRANDS INC. (Filer)",
200
"cik": "0000814453",
201
"irsNo": "363514169",
202
"stateOfIncorporation": "DE",
203
"fiscalYearEnd": "1231",
204
"type": "8-K/A",
205
"act": "34",
206
"fileNo": "001-09608",
207
"filmNo": "20593687",
208
"sic": "3089 Plastics Products, NEC"
209
}
210
],
211
"documentFormatFiles": [
212
{
213
"sequence": "1",
214
"description": "FORM 8-K/A",
215
"documentUrl": "https://www.sec.gov/ix?doc=/Archives/edgar/data/814453/000119312520030183/d884349d8ka.htm",
216
"type": "8-K/A",
217
"size": "29035"
218
},
219
{
220
"sequence": " ",
221
"description": "Complete submission text file",
222
"documentUrl": "https://www.sec.gov/Archives/edgar/data/814453/000119312520030183/0001193125-20-030183.txt",
223
"type": " ",
224
"size": "152541"
225
}
226
],
227
"dataFiles": [
228
{
229
"sequence": "2",
230
"description": "XBRL TAXONOMY EXTENSION SCHEMA",
231
"documentUrl": "/Archives/edgar/data/814453/000119312520030183/nwl-20200204.xsd",
232
"type": "EX-101.SCH",
233
"size": "3065"
234
},
235
{
236
"sequence": "3",
237
"description": "XBRL TAXONOMY EXTENSION LABEL LINKBASE",
238
"documentUrl": "/Archives/edgar/data/814453/000119312520030183/nwl-20200204_lab.xml",
239
"type": "EX-101.LAB",
240
"size": "18079"
241
},
242
{
243
"sequence": "4",
244
"description": "XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE",
245
"documentUrl": "/Archives/edgar/data/814453/000119312520030183/nwl-20200204_pre.xml",
246
"type": "EX-101.PRE",
247
"size": "11383"
248
},
249
{
250
"sequence": "9",
251
"description": "EXTRACTED XBRL INSTANCE DOCUMENT",
252
"documentUrl": "/Archives/edgar/data/814453/000119312520030183/d884349d8ka_htm.xml",
253
"type": "XML",
254
"size": "3470"
255
}
256
]
257
}
258
]
259
}
FAQ
Common questions about querying the SEC EDGAR Filing Search API, the response shape, and the bulk archives.
How do I pull the most recent quarterly reports filed with the SEC, sorted by filing time?
To retrieve the latest quarterly reports, use the Query API endpoint (https://api.sec-api.io). The form type filter is the EDGAR code for quarterly reports, so the value of formType should be 10-Q. The endpoint returns filing metadata objects whose formType matches the query, with their accession number (accessionNo), filer identifiers (cik, ticker, companyName), and the EDGAR acceptance timestamp (filedAt).
The default sort already orders results by filedAt in descending order (newest first), so no custom sort is needed unless you want to override it. Set size up to the maximum of 50 per response, and step through pages by increasing from in increments of 50.
How do I retrieve every SEC filing made by a specific company using its ticker symbol?
To pull all filings disclosed by a specific company, search the Query API endpoint (https://api.sec-api.io) for filings whose ticker matches the symbol of interest, for example AAPL for Apple. Ticker matching is case-insensitive, so AAPL and aapl return the same results. Each result includes the filer's identifiers (cik, ticker, companyName) and the EDGAR metadata (accessionNo, formType, filedAt, linkToFilingDetails).
For long historical searches, ticker-based queries can miss filings made when the company traded under a different symbol or filed under a separate share-class ticker. In those cases, resolve the ticker to a CIK first using the /mapping endpoint and then query on cik instead. If the universe contains more than 10,000 filings, split the query by a filedAt date range and paginate within each window using from in steps of size.
How do I look up all filings from a company when I only know its CIK identifier?
To pull every filing for a company by its CIK, query the Query API endpoint (https://api.sec-api.io) with the value of cik set to the issuer's CIK with the leading zeros removed — for example, Apple's CIK 0000320193 should be supplied as 320193. The response returns each filing's accessionNo, formType, filedAt, linkToFilingDetails, and the full entities array describing every party referenced on the filing.
CIK-based searches are the recommended approach for historical work because they survive ticker changes and cover all share classes the company has ever filed under. Use size up to 50 per response and increment from to paginate; if more than 10,000 filings match, split the query by filedAt date ranges.
How do I fetch filings for a basket of companies in one request?
To fetch filings for several companies at once, query the Query API endpoint (https://api.sec-api.io) with the value of ticker set to a parenthesized list of the symbols of interest, for example AAPL, MSFT, NVDA, and TSLA grouped together. The endpoint returns all matching filings interleaved, each carrying its own ticker, cik, companyName, formType, and filedAt.
The same parenthesized-list shape works for cik, which is the safer choice when any of the basket companies has changed ticker over the historical window you are searching. Pagination follows the standard pattern of size up to 50 and from incremented by size.
How do I retrieve the metadata for a single filing when I already know its accession number?
To retrieve a specific filing's metadata, query the Query API endpoint (https://api.sec-api.io) with the value of accessionNo set to the EDGAR accession number of the filing, for example 0001193125-23-265616. The response will return the matching filing object with its formType, filedAt, periodOfReport, linkToFilingDetails, documentFormatFiles, dataFiles, and the full entities array.
Note that the endpoint may return more than one filing object for a single accession number: for filings such as Form 4 that reference multiple parties (issuer and reporting person), the API creates a separate result per entity, each with its own internal id but the same accessionNo.
How do I find all filings published within a specific date range?
To list filings within a date window, query the Query API endpoint (https://api.sec-api.io) and constrain filedAt to the desired window — for instance, restrict filedAt to dates between 2022-01-01 and 2022-12-31 to retrieve every filing accepted by EDGAR during calendar year 2022. The bounds use the YYYY-MM-DD format and are inclusive on both ends.
If the window matches more than 10,000 filings, split it into smaller sub-windows (for example month by month) and paginate within each sub-window using from in steps of size. Each result carries the precise acceptance timestamp on filedAt, which is reported in Eastern Time.
How do I narrow a search down to a one-hour publication window on a specific day?
To target a specific hour of the day, query the Query API endpoint (https://api.sec-api.io) and constrain filedAt with timestamps in the YYYY-MM-DDTHH:MM:SS format — for example, set the lower bound to 2021-09-15T14:00:00 and the upper bound to 2021-09-15T15:00:00 to retrieve filings accepted between 2:00 PM and 3:00 PM on September 15, 2021. Both bounds are inclusive.
You do not need to include a timezone offset: the API automatically interprets the timestamps in Eastern Time (the EDGAR system's reference timezone). The filedAt value returned on each filing carries the explicit offset (for example 2021-09-15T14:30:00-04:00) reflecting daylight savings as applicable.
How do I find all filings from companies operating in a particular industry?
To filter by industry, query the Query API endpoint (https://api.sec-api.io) and constrain the nested SIC code on the entities array — the value of entities.sic should be the four-digit SIC code of the industry, for example 3714 for motor vehicle parts and accessories or 6022 for state commercial banks. The SIC code is reported on the filer entity inside each filing's entities array.
Combine the industry filter with a formType constraint to narrow the scope further — for example, restrict to annual reports so that formType is 10-K. Each result's entities[0].sic field carries the matched SIC code and its plain-text description.
How do I restrict a search to filers incorporated in a specific U.S. state?
To restrict by state of incorporation, query the Query API endpoint (https://api.sec-api.io) and constrain the nested state field on the entities array — the value of entities.stateOfIncorporation should be the two-letter state code, for example DE for Delaware or NJ for New Jersey. The state is recorded on each entity inside the filing's entities array.
This filter matches the state on any entity referenced by the filing, which for most form types is the filer or issuer. Combine it with formType or filedAt to narrow the result set further.
How do I find filings disclosing material corporate events such as quarterly earnings announcements?
To locate quarterly earnings announcements, query the Query API endpoint (https://api.sec-api.io) for current-event reports — the value of formType should be 8-K — and constrain the item codes so that items contains 2.02, the EDGAR item number for Results of Operations and Financial Condition. The endpoint returns Form 8-K filings whose items array includes a string starting with Item 2.02, along with the filer's ticker, cik, companyName, and the link to the filing detail page (linkToFilingDetails).
The earnings release itself is usually attached as Exhibit 99.1; you can spot it in the documentFormatFiles array by looking for an entry whose type is EX-99.1. To fetch the underlying document, pass the documentUrl to the /filing-reader endpoint of the Filing Download API.
How do I list 8-K filings that contain non-public information being selectively disclosed?
To list Regulation FD disclosures, query the Query API endpoint (https://api.sec-api.io) for current-event reports — the value of formType should be 8-K — and constrain the item codes so that items contains 7.01, the EDGAR item number for Regulation FD Disclosure. The endpoint returns Form 8-K filings whose items array includes a string starting with Item 7.01.
The disclosed material is typically attached under Exhibit 99.1 inside the filing's documentFormatFiles array (documentFormatFiles.type set to EX-99.1). Combine the item filter with a filedAt date range or a specific ticker or cik to scope the search.
How do I find 8-Ks announcing multiple specific event categories at once, such as both leadership changes and material agreements?
To find Form 8-K filings that touch on more than one event category, query the Query API endpoint (https://api.sec-api.io) for current-event reports — the value of formType should be 8-K — and constrain the item codes so that items matches any of the EDGAR item numbers of interest, for example 1.01 (Entry into a Material Definitive Agreement) together with 5.02 (Departure or Election of Directors and Certain Officers). The endpoint returns 8-K filings whose items array contains any of the requested item strings.
If you need filings that report all of the listed items rather than any of them, repeat the item constraint for each code so that every required item must be present, rather than only one. Each result's items array shows every event reported on that filing, so you can confirm which categories actually matched.
How do I find all annual reports that include the subsidiary list exhibit?
To pull annual reports that include the list of subsidiaries, query the Query API endpoint (https://api.sec-api.io) for annual reports — the value of formType should be 10-K — and constrain the nested exhibit type so that documentFormatFiles.type is EX-21, the EDGAR exhibit code for the subsidiary list. The endpoint returns the 10-K filings whose documentFormatFiles array contains an item of type EX-21.
Each matching filing's documentFormatFiles carries an entry with documentUrl pointing at the exhibit document on sec.gov. Pass that URL to the /filing-reader endpoint of the Filing Download API to retrieve the subsidiary listing itself.
How do I pull only annual reports that have machine-readable financial data attached?
To restrict to annual reports that include XBRL financials, query the Query API endpoint (https://api.sec-api.io) for annual reports — the value of formType should be 10-K — and constrain the nested data-file type on dataFiles.type to match the XBRL taxonomy file types, which all start with EX-101. (for example EX-101.INS for the instance document, EX-101.SCH for the schema, and EX-101.LAB for the label linkbase). The endpoint returns 10-K filings whose dataFiles array contains at least one entry of those types.
Each matching filing exposes the XBRL files in the dataFiles array, with the file URL on dataFiles.documentUrl and the precise taxonomy role on dataFiles.type. The instance document (EX-101.INS) is the canonical machine-readable record of the financial statements.
How do I find annual reports that contain at least one image or graphic file?
To locate annual reports that include images, query the Query API endpoint (https://api.sec-api.io) for annual reports — the value of formType should be 10-K — and constrain the nested exhibit type so that documentFormatFiles.type is GRAPHIC, the EDGAR type code assigned to image attachments such as JPGs and GIFs. The endpoint returns 10-K filings whose documentFormatFiles array contains at least one entry of type GRAPHIC.
Each graphic entry's URL is available on documentFormatFiles.documentUrl, and its size on documentFormatFiles.size. Filings can include many graphics — charts, logos, photos — and a single match is enough for the filing to surface in the results.
How do I limit a search to a specific exhibit type across all forms, for example consent letters from auditors?
To search by exhibit type across all form types, query the Query API endpoint (https://api.sec-api.io) without a formType filter and constrain documentFormatFiles.type to the exhibit code of interest — for example EX-23.1 or EX-23.2 for auditor consent letters (the EX-23 family). Wildcards are supported, so a pattern that begins with EX-23 and ends with * matches every Exhibit 23 variant. The endpoint returns filings whose documentFormatFiles array contains a matching entry, regardless of the parent formType.
Each matched filing's documentFormatFiles shows the exhibit's documentUrl, description, and size. To fetch the exhibit document itself, pass the URL to the /filing-reader endpoint of the Filing Download API.
How do I find filings disclosed by a mutual fund's specific share class or contract?
To filter by a specific share class or contract, query the Query API endpoint (https://api.sec-api.io) and constrain the nested class/contract identifier so that seriesAndClassesContractsInformation.classesContracts.classContract matches the class/contract ID of interest, for example C000120702. The endpoint returns filings whose seriesAndClassesContractsInformation array contains a classesContracts entry whose classContract matches.
The matched object also carries the human-readable class name on seriesAndClassesContractsInformation.classesContracts.name and, when available, the ticker on seriesAndClassesContractsInformation.classesContracts.ticker. Combine the class/contract filter with formType to narrow to a specific fund form, such as Form N-PORT.
How do I look up filings by the ticker of a specific mutual fund class rather than the parent fund company?
To search by a fund share class ticker, query the Query API endpoint (https://api.sec-api.io) and constrain the nested class/contract ticker so that seriesAndClassesContractsInformation.classesContracts.ticker matches the symbol of interest, for example ABRZX. The endpoint returns filings whose seriesAndClassesContractsInformation array contains a classesContracts entry whose ticker matches the supplied symbol.
Using the class-ticker path is the right approach when you want to scope results to a single share class rather than every class of the parent fund (the top-level ticker field is not populated for many mutual fund filers). Each match carries the parent series identifier on seriesAndClassesContractsInformation.series and the class name on seriesAndClassesContractsInformation.classesContracts.name.
How do I list every N-PORT filing tied to a particular fund share class?
To list N-PORT filings for a specific share class, query the Query API endpoint (https://api.sec-api.io) and combine two constraints: the form type filter so that formType is NPORT-P, and the nested class/contract identifier so that seriesAndClassesContractsInformation.classesContracts.classContract matches the class/contract ID of interest, for example C000120702. The endpoint returns the public N-PORT filings whose class/contract list includes the requested identifier.
The periodOfReport field on each Form N-PORT filing represents the quarter-end date the report covers, which is useful when you want to sort the results chronologically by reporting period rather than by filedAt.
How do I search for filings made by a company using its IRS Employer Identification Number?
To search by IRS Employer Identification Number, query the Query API endpoint (https://api.sec-api.io) and constrain the nested IRS number on the entities array so that entities.irsNo matches the EIN of interest, for example 710388071. The endpoint returns filings whose entities array contains an entry whose irsNo matches.
The EIN is recorded on the filer/issuer entity inside entities and is a stable identifier for the legal entity, which is helpful when ticker or company name searches do not disambiguate. Each result's matching entity also carries companyName, cik, and stateOfIncorporation.
How do I find filings associated with a specific SEC file number assigned to a registrant?
To search by SEC file number, query the Query API endpoint (https://api.sec-api.io) and constrain the nested file number on the entities array so that entities.fileNo matches the file number of interest, for example 001-36743. The endpoint returns filings whose entities array contains an entry whose fileNo matches the supplied value.
File numbers are issued by the SEC at registration and identify the registrant under a specific act (for example 001- prefixed numbers for Exchange Act registrations). The matched entity inside entities also carries the registrant's companyName, cik, and act.
How do I exclude amended versions of a form so I only see original filings?
To exclude amendments, query the Query API endpoint (https://api.sec-api.io) and constrain formType so that it is 10-K but is not 10-K/A. EDGAR uses the /A suffix on the form type to mark an amendment, so excluding any value that ends in /A leaves only the originals. The same approach works for other forms with amendment variants, such as 8-K versus 8-K/A or 13F-HR versus 13F-HR/A.
Each returned filing's formType field carries the exact form code, so you can confirm the result set contains no /A variants. If you instead want only amendments, invert the constraint so that formType is the /A variant.
How do I retrieve all insider transaction reports filed for a particular issuer over the past year?
To pull a year of insider transaction reports for one issuer, query the Query API endpoint (https://api.sec-api.io) and combine three constraints: the form type filter so that formType is any of 3, 4, or 5 (the EDGAR codes for initial, change-of, and annual statements of beneficial ownership); the issuer match so that cik is the issuer's CIK with leading zeros stripped, for example 320193 for Apple; and a filedAt window covering the past twelve months. The endpoint returns the insider filings whose issuer entity matches the supplied CIK within the window.
For Form 4 and similar filings, each filing references both an issuer and one or more reporting persons. The Query API creates a separate metadata object per entity, all sharing the same accessionNo, so the entities array on each result identifies which company is the issuer and which party is the reporting insider. To pull the actual transaction-level detail (codes, share counts, prices), pass the accession number to the Insider Trading dataset; the Query API itself returns only filing-level metadata.
How do I find prospectus supplements filed by a specific issuer for a structured-note program?
To pull prospectus supplements for a single issuer, query the Query API endpoint (https://api.sec-api.io) and combine a form type filter — the value of formType should be 424B2, the EDGAR code for prospectus supplements filed under Rule 424(b)(2) used by many structured-note shelf programs — with the issuer match so that cik equals the issuer's CIK with leading zeros stripped, for example 19617. The endpoint returns the matching 424B2 filings with accessionNo, filedAt, and linkToFilingDetails.
Add a filedAt window if you want to scope the search to a specific calendar window. Related 424 sub-types (424B3, 424B4, 424B5, etc.) cover other Rule 424 variants — supply the appropriate code on formType for those.
How do I retrieve all registration statements that became effective in a given year, including the underlying registration form type?
To list registration statements that became effective in a given year, query the Query API endpoint (https://api.sec-api.io) and combine three constraints: the form type filter so that formType is EFFECT (the notice EDGAR posts when a registration statement becomes effective); the underlying registration form so that registrationForm is the form of interest, for example S-3; and a filedAt window covering the year. The endpoint returns EFFECT notices whose registrationForm matches.
Each EFFECT result also carries effectivenessDate (the date the registration became effective) and, when reported, effectivenessTime. Use effectivenessDate rather than filedAt if you want the calendar of effectiveness rather than the calendar of notice acceptance.
How do I link an EFFECT notice back to the original registration filing it made effective?
To trace an EFFECT notice back to the original registration statement, look at the referenceAccessionNo field on the EFFECT filing — it carries the accession number of the underlying registration that the notice made effective. Take that value and query the Query API endpoint (https://api.sec-api.io) with accessionNo set to the referenced accession number to retrieve the full metadata of the original registration filing.
The original filing's formType will match the registrationForm reported on the EFFECT notice (for example S-3, S-1, or F-3), and linkToFilingDetails gives the URL of the underlying registration document on sec.gov.
How do I check the total number of filings that match a query before deciding how to paginate through them?
To see how many filings match a query before paginating, inspect the total object on the Query API response from the endpoint (https://api.sec-api.io). The numeric count is at total.value and the comparison qualifier is at total.relation. When total.relation is eq, the total.value is the exact match count. When total.relation is gte and total.value is 10000, the true count exceeds 10,000 and the API cannot enumerate beyond that cap.
If the relation is gte at the cap, the pagination strategy needs to slice the query into narrower sub-queries — typically by filedAt windows — and paginate each slice separately. If the value is below 10,000, a single sequence of from increments of size will retrieve the entire set.
How do I retrieve more than 10,000 matching filings for a broad query like all 8-Ks filed over a decade?
The Query API endpoint (https://api.sec-api.io) caps each query at 10,000 matches (from cannot exceed 10,000 and total.value is capped at 10,000). To exhaust a broader universe, split the query along filedAt date ranges into windows that each fall below the cap — for a decade of Form 8-K traffic, narrow windows down to a month at a time (or shorter for high-volume months) so that each window's total.value is comfortably under 10,000.
For each window, page through the results by incrementing from in steps of size (maximum 50) until no more filings come back, then advance to the next window and repeat. Sort by filedAt in ascending or descending order consistently across all windows to keep the global ordering predictable.
How do I paginate efficiently through a large result set, fetching the maximum filings allowed per request?
To paginate as efficiently as possible against the Query API endpoint (https://api.sec-api.io), set size to its maximum of 50 and step from by 50 on each subsequent call — for example 0, 50, 100, and so on — until the response returns fewer than 50 filings or from reaches the hard cap of 10000. The default sort orders results by filedAt in descending order (newest first), which is stable as long as no new filings land mid-pagination at the front of the list.
If the query matches more than 10,000 filings (visible on total.relation set to gte with total.value at 10000), pagination alone cannot reach the rest — slice the query into narrower filedAt windows and paginate each window separately.
How do I sort search results by the period a filing covers rather than when it was filed?
To sort by the reporting period instead of the EDGAR acceptance time, override the default sort against the Query API endpoint (https://api.sec-api.io) and order by periodOfReport in ascending or descending order. The periodOfReport field carries the period covered by the filing in YYYY-MM-DD format and has form-specific meaning — for example, fiscal year end for 10-K filings, transaction date for Form 4 filings, and quarter end for Form 13F filings.
Keep in mind that periodOfReport is only present on filings that report a period, so any matching filings without it will sort to the end. Combine the period sort with a filedAt window if you want a stable, bounded set across a paginated walk.