Filing Full-Text Search API

The SEC Filing Full-Text Search API enables searches across the full text of all EDGAR filings submitted since 2001. Each search scans the entire filing content, including all attachments, such as exhibits. Filing searches by keyword, ticker, company name, CIK, CUSIP number, and more - either individually or in combination - are fully supported. Boolean operators such as AND, OR, and NOT allow flexible search criteria, including requiring all words to appear, matching exact phrases, excluding terms, and using wildcards — all of which can be combined within a single search query. The API returns the metadata, such as the accession number, CIK, form type, URL of the source, and more, of filings and exhibits matching the search criteria.

Dataset size:
All EDGAR filings and exhibits published since 2001 to present, including all form types and all filers.
Data update frequency:
New filings are indexed and searchable in less than 60 seconds after they are published on EDGAR.
Survivorship bias free:
Yes. The Full-Text Search API includes all EDGAR filings and exhibits filed since 2001 to present, from filer entities that are still active and those that are no longer active.

API Endpoint

Full-text search queries are performed by sending a POST HTTP request with the search parameters as the payload to the following endpoint:

https://api.sec-api.io/full-text-search

Supported HTTP methods: POST

Request and response content type: JSON

Authentication

To authenticate requests to the Full-Text Search API, use the API key shown in your user profile. Utilize the API key in one of two ways. Choose the method that best fits your implementation:

  • Authorization Header: Include the API key as an Authorization header in POST requests. For instance, before sending a POST request to https://api.sec-api.io/full-text-search, ensure the header is set as follows: Authorization: YOUR_API_KEY
  • Query Parameter: Alternatively, append the API key directly to the URL as a query parameter. For example, when making POST requests, use the URL https://api.sec-api.io/full-text-search?token=YOUR_API_KEY instead of the base API endpoint.

Request Parameters

To search the content of SEC filings and exhibits, send a HTTP POST request with a JSON-formatted payload to the API endpoint https://api.sec-api.io/full-text-search. The request body includes the search query, and optional parameters such as date range, CIK and form type filters, as well as a pagination parameter, for example:

JSON
1 {
2 "query": "\"substantial doubt\"", // search for the exact phrase "substantial doubt"
3 "formTypes": ["8-K", "10-K"],
4 "startDate": "2024-01-01",
5 "endDate": "2024-03-31",
6 "page": "2"
7 }

Supported parameters:

  • query (string, required) - Defines the case-insensitive search term or phrase used to search the content of filings and their attachments. This can be a single word, phrase, or combination of words and phrases. Supported search features include wildcards (*), Boolean operators (OR, NOT), and exact phrase matching by enclosing phrases in quotation marks ("exact phrase"). By default, all terms are joined by an implicit AND operator.
    • Single term matching: apple returns all filings and attachments mentioning "apple".
    • Exact phrase matching: Enclose a phrase in quotation marks to search for it in the specified order.
      Example: "Fiduciary Product" will retrieve documents containing the exact phrase "Fiduciary Product" in that order.
    • Wildcard searches: Append a * to a keyword to search for variations of that word (e.g., stem words). Wildcards cannot be used at the beginning or middle of a word, nor within exact phrase matches.
      Example: gas* finds documents containing terms like gas or gasoline.
    • Boolean OR: Use OR (capitalized) between terms or phrases to specify that at least one of the terms must appear in the document. By default, all search words and phrases are required unless separated by OR.
      Example: Gasoline "Sacramento CA" OR "San Francisco CA" retrieves documents containing gasoline and either Sacramento CA or San Francisco CA.
    • Exclusions: Use a hyphen (-) or the capitalized NOT keyword immediately before a term to exclude it from search results.
      Example: software -hardware finds documents containing software but excludes any that also contain hardware.
  • startDate (string, optional) - Specifies the start date of a date range search with the startDate denoting the beginning of the range. Used in combination with endDate to find filings and exhibits filed between the two dates. The format is yyyy-mm-dd. Example: 2021-02-19. Default: 30 days ago.
  • endDate (string, optional) - Specifies the end date of the date range search. Uses the same format as startDate: yyyy-mm-dd. Default: today.
  • ciks (array of strings, optional) - Restricts search to filings from specific CIKs. Leading zeros are optional but may be included. Example: [ "0001811414", "1318605" ]. Default: all CIKs.
  • formTypes (array of strings, optional) - Search specific EDGAR form types. If defined, only filings of the specified form types are considered. All other filing types are ignored. Example: [ "8-K", "10-Q", "10-K" ]. Default: all form types.
  • page (string, optional) - Used for pagination. Each request returns 100 matching filings. Increase the page number to retrieve the next set of 100 filings. Example: 3 retrieves the third page. Default: 1.

Full-Text Search Query Examples

The following examples demonstrate how to construct full-text search queries to search EDGAR filings and exhibits containing specific terms or phrases. The search examples are case-insensitive and can be used as values of the query parameter of the Full-Text Search API.

Description
Example Search Query
Search filings and exhibits for the term "SpaceX". The search is case-insensitive, so "spacex" will also match.
SpaceX
Search filings and exhibits for the terms "SpaceX" and "Elon". Both terms must be present in the document. The terms can be in any order.
SpaceX Elon
Search for the exact phrase "substantial doubt". Both words must be present in the document and in the exact order.
"substantial doubt"
Search for the exact phrase "substantial doubt" and "except for". Both phrases must be present in the document. The phrases can be in any order.
"substantial doubt" "except for"
Search for the exact phrase "substantial doubt" but exclude filings that contain the word "opinion"
"substantial doubt" -opinion
Search for filings that contain either the phrase "qualified opinion" or the phrase "In our opinion, except for". One of the phrases must be present in the document.
"qualified opinion" OR "In our opinion, except for"
Search for filings that contain either the phrase "identified material weakness" or the phrase "identified a material weakness". One of the phrases must be present in the document.
"identified material weakness" OR "identified a material weakness"
Search for filings that contain the term "gas" or any word that starts with "gas" (e.g., "gasoline", "gases") and the exact phrase "Sacramento CA" or "San Francisco CA".
gas* "Sacramento CA" OR "San Francisco CA"

Request Examples

Request Example 1

Search for filings and attachments containing the term "SpaceX" filed between January 1, 2020, and December 31, 2023, only considering the EDGAR form types 8-K and 10-Q. The request returns the first page of results, which includes 100 filings.

JSON
1 {
2 "query": "SpaceX",
3 "formTypes": ["8-K", "10-Q"],
4 "startDate": "2020-01-01",
5 "endDate": "2023-12-31"
6 }

Request Example 2

Search for filings and attachments containing the term "gas" or any word that starts with "gas" (e.g., "gasoline", "gases") and the exact phrase "Sacramento CA" or "San Francisco CA" between December 31, 2018, and February 10, 2020, with form types 8-K and 10-Q. The request returns the second page of results, which includes filings 101-200.

JSON
1 {
2 "query": "gas* \"Sacramento CA\" OR \"San Francisco CA\"",
3 "formTypes": ["8-K", "10-Q"],
4 "startDate": "2018-12-31",
5 "endDate": "2020-02-10",
6 "page": "2"
7 }

Request Example 3

Search for filings and attachments containing the exact phrase "model x" filed between October 15, 2020, and October 15, 2021, by the CIKs 0001811414 and 1318605. The request returns the first page of results, which includes 100 filings.

JSON
1 {
2 "query": "\"model x\"",
3 "ciks": ["0001811414", "1318605"],
4 "startDate": "2020-10-15",
5 "endDate": "2021-10-15"
6 }

Response Format

The Full-Text Search API returns a JSON object with two keys: total and filings. Per response, filings contains up to 100 filings that match the search criteria. The maximum number of filings retrievable per search query is limited to 10,000 documents. Filings are sorted by an internal score based on the frequency of the search term in the document. The more frequently a term appears, the higher the score, with the highest-scoring filings returned first.

The response object has the following structure:

  • total (object) - Contains two properties: value and relation. If relation is "gte" (greater than or equal), value is set to 10,000, indicating that over 10,000 filings match the search query. The API returns a maximum of 100 filings per request. To retrieve filings beyond the first 100 matches, increase the page parameter in subsequent API calls. If relation is "eq" (equal), value reflects the exact number of filings matching the query, which will be fewer than 10,000. Exact counts are not calculated for results exceeding 10,000.
  • filings (array) - An array of filing and exhibit metadata objects that meet the search criteria, with each object formatted as follows:
    • accessionNo (string) - Accession number of the filing. Example: 0000065011-21-000020
    • cik (string) - CIK of the filer, with leading zeros removed. Example: 65011
    • companyNameLong (string) - Full name of the filing company. Example: MEREDITH CORP (MDP) (CIK 0000065011)
    • ticker (string) - Ticker symbol of the filer, if available.
    • description (string) - Description of the document. Example: EXHIBIT 99 FY21 Q2 EARNINGS PRESS RELEASE
    • formType (string) - EDGAR filing type. Example: 8-K
    • type (string) - Document type. Example: EX-99
    • filingUrl (string) - URL to the filing or attachment. Example: https://www.sec.gov/Archives/edgar/data/65011/000006501121000020/fy21q2exh99earnings.htm
    • filedAt (string) - Filing date in the format yyyy-mm-dd. Example: 2021-02-04

Response Examples

Response Example 1

JSON
1 {
2 "total": {
3 "value": 86,
4 "relation": "eq"
5 },
6 "filings": [
7 {
8 "accessionNo": "0000320193-20-000008",
9 "cik": "320193",
10 "companyNameLong": "Apple Inc. (AAPL) (CIK 0000320193)",
11 "ticker": "AAPL",
12 "description": "EXHIBIT 99.1",
13 "formType": "8-K",
14 "type": "EX-99.1",
15 "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019320000008/a8-kexhibit991q1202012.htm",
16 "filedAt": "2020-01-28"
17 },
18 {
19 "accessionNo": "0000320193-20-000010",
20 "cik": "320193",
21 "companyNameLong": "Apple Inc. (AAPL) (CIK 0000320193)",
22 "ticker": "AAPL",
23 "description": "10-Q",
24 "formType": "10-Q",
25 "type": "10-Q",
26 "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019320000010/a10-qq1202012282019.htm",
27 "filedAt": "2020-01-29"
28 },
29 {
30 "accessionNo": "0000320193-20-000008",
31 "cik": "320193",
32 "companyNameLong": "Apple Inc. (AAPL) (CIK 0000320193)",
33 "ticker": "AAPL",
34 "description": "8-K",
35 "formType": "8-K",
36 "type": "8-K",
37 "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019320000008/a8-kq1202012282019.htm",
38 "filedAt": "2020-01-28"
39 },
40 {
41 "accessionNo": "0000320193-20-000010",
42 "cik": "320193",
43 "companyNameLong": "Apple Inc. (AAPL) (CIK 0000320193)",
44 "ticker": "AAPL",
45 "description": "EXHIBIT 32.1",
46 "formType": "10-Q",
47 "type": "EX-32.1",
48 "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019320000010/a10-qexhibit32112282019.htm",
49 "filedAt": "2020-01-29"
50 },
51 {
52 "accessionNo": "0001193125-20-013100",
53 "cik": "1730168",
54 "companyNameLong": "Broadcom Inc. (AVGO, AVGOP) (CIK 0001730168)",
55 "ticker": "AVGO",
56 "description": "8-K",
57 "formType": "8-K",
58 "type": "8-K",
59 "filingUrl": "https://www.sec.gov/Archives/edgar/data/1730168/000119312520013100/d873855d8k.htm",
60 "filedAt": "2020-01-23"
61 }
62 ]
63 }

Response Example 2

JSON
1 {
2 "total": {
3 "value": 21,
4 "relation": "eq"
5 },
6 "filings": [
7 {
8 "accessionNo": "0001615774-19-006819",
9 "cik": "778164",
10 "companyNameLong": "Pacific Ethanol, Inc. (PEIX) (CIK 0000778164)",
11 "ticker": "ALTO",
12 "description": "EXHIBIT 99.1",
13 "formType": "8-K",
14 "type": "EX-99.1",
15 "filingUrl": "https://www.sec.gov/Archives/edgar/data/778164/000161577419006819/s117892_ex99-1.htm",
16 "filedAt": "2019-05-01"
17 },
18 {
19 "accessionNo": "0001213900-19-022368",
20 "cik": "778164",
21 "companyNameLong": "Pacific Ethanol, Inc. (PEIX) (CIK 0000778164)",
22 "ticker": "ALTO",
23 "description": "PRESS RELEASE DATED NOVEMBER 7, 2019",
24 "formType": "8-K",
25 "type": "EX-99.1",
26 "filingUrl": "https://www.sec.gov/Archives/edgar/data/778164/000121390019022368/f8k1119ex99-1_pacific.htm",
27 "filedAt": "2019-11-07"
28 },
29 {
30 "accessionNo": "0001564590-19-016638",
31 "cik": "1492422",
32 "companyNameLong": "Apellis Pharmaceuticals, Inc. (APLS) (CIK 0001492422)",
33 "ticker": "APLS",
34 "description": "EX-10.2",
35 "formType": "10-Q",
36 "type": "EX-10.2",
37 "filingUrl": "https://www.sec.gov/Archives/edgar/data/1492422/000156459019016638/apls-ex102_113.htm",
38 "filedAt": "2019-05-07"
39 },
40 {
41 "accessionNo": "0001162194-19-000033",
42 "cik": "1162194",
43 "companyNameLong": "FLUIDIGM CORP (FLDM) (CIK 0001162194)",
44 "ticker": "FLDM",
45 "description": "EXHIBIT 10.1",
46 "formType": "10-Q",
47 "type": "EX-10.1",
48 "filingUrl": "https://www.sec.gov/Archives/edgar/data/1162194/000116219419000033/ex101.htm",
49 "filedAt": "2019-05-07"
50 }
51 ]
52 }